From 20a98db6a0a1aacaac778d3edc9e88b7cf7b734b Mon Sep 17 00:00:00 2001 From: Zeqiang Li Date: Fri, 16 Sep 2022 16:07:42 +0800 Subject: [PATCH 1/3] latesst wgpu wasm (#293) --- emscripten/webgpu/webgpu_wasm.js | 2 +- emscripten/webgpu/webgpu_wasm.wasm | Bin 233821 -> 314474 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/emscripten/webgpu/webgpu_wasm.js b/emscripten/webgpu/webgpu_wasm.js index 900e8289..219ee598 100644 --- a/emscripten/webgpu/webgpu_wasm.js +++ b/emscripten/webgpu/webgpu_wasm.js @@ -6,7 +6,7 @@ var wasmDevice = (() => { function(wasmDevice) { wasmDevice = wasmDevice || {}; -var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["Wa"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Ya"];addOnInit(Module["asm"]["Xa"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_new_object(){return Emval.toHandle({})}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuCreateInstance(){}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"w":__embind_finalize_value_object,"Ta":__embind_register_bigint,"ka":__embind_register_bool,"j":__embind_register_class,"I":__embind_register_class_class_function,"n":__embind_register_class_constructor,"f":__embind_register_class_function,"l":__embind_register_class_property,"ja":__embind_register_emval,"O":__embind_register_float,"o":__embind_register_integer,"m":__embind_register_memory_view,"P":__embind_register_std_string,"A":__embind_register_std_wstring,"x":__embind_register_value_object,"k":__embind_register_value_object_field,"la":__embind_register_void,"d":__emval_as,"E":__emval_call_void_method,"a":__emval_decref,"F":__emval_get_method_caller,"b":__emval_get_property,"u":__emval_incref,"r":__emval_new_array,"e":__emval_new_cstring,"t":__emval_new_object,"c":__emval_run_destructors,"i":__emval_set_property,"h":__emval_take_value,"g":_abort,"ia":_emscripten_memcpy_big,"z":_emscripten_resize_heap,"Ea":_emscripten_webgpu_get_device,"ea":_environ_get,"fa":_environ_sizes_get,"ha":_fd_write,"da":_setTempRet0,"Fa":_wgpuAdapterGetProperties,"H":_wgpuAdapterHasFeature,"Ga":_wgpuBindGroupRelease,"wa":_wgpuBufferDestroy,"Ka":_wgpuBufferGetMappedRange,"va":_wgpuBufferRelease,"Y":_wgpuBufferUnmap,"W":_wgpuCommandBufferRelease,"Ia":_wgpuCommandEncoderBeginComputePass,"ma":_wgpuCommandEncoderBeginRenderPass,"_":_wgpuCommandEncoderCopyBufferToBuffer,"Ja":_wgpuCommandEncoderCopyTextureToTexture,"v":_wgpuCommandEncoderFinish,"G":_wgpuCommandEncoderRelease,"Ha":_wgpuComputePassEncoderDispatchWorkgroups,"Z":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"za":_wgpuComputePassEncoderEnd,"ra":_wgpuComputePassEncoderRelease,"Sa":_wgpuComputePassEncoderSetBindGroup,"Ra":_wgpuComputePassEncoderSetPipeline,"R":_wgpuComputePipelineRelease,"Da":_wgpuCreateInstance,"L":_wgpuDeviceCreateBindGroup,"J":_wgpuDeviceCreateBindGroupLayout,"N":_wgpuDeviceCreateBuffer,"K":_wgpuDeviceCreateCommandEncoder,"ya":_wgpuDeviceCreateComputePipeline,"Aa":_wgpuDeviceCreatePipelineLayout,"xa":_wgpuDeviceCreateRenderPipeline,"pa":_wgpuDeviceCreateSampler,"D":_wgpuDeviceCreateShaderModule,"na":_wgpuDeviceCreateSwapChain,"B":_wgpuDeviceCreateTexture,"U":_wgpuDeviceGetQueue,"Ca":_wgpuInstanceCreateSurface,"Ba":_wgpuInstanceRequestAdapter,"T":_wgpuPipelineLayoutRelease,"sa":_wgpuQuerySetDestroy,"qa":_wgpuQuerySetRelease,"Ua":_wgpuQueueOnSubmittedWorkDone,"Q":_wgpuQueueRelease,"M":_wgpuQueueSubmit,"ca":_wgpuQueueWriteBuffer,"V":_wgpuQueueWriteTexture,"La":_wgpuRenderPassEncoderDraw,"X":_wgpuRenderPassEncoderDrawIndexed,"$":_wgpuRenderPassEncoderDrawIndirect,"ga":_wgpuRenderPassEncoderEnd,"Va":_wgpuRenderPassEncoderRelease,"y":_wgpuRenderPassEncoderSetBindGroup,"Pa":_wgpuRenderPassEncoderSetBlendConstant,"aa":_wgpuRenderPassEncoderSetIndexBuffer,"Qa":_wgpuRenderPassEncoderSetPipeline,"Na":_wgpuRenderPassEncoderSetScissorRect,"Ma":_wgpuRenderPassEncoderSetStencilReference,"ba":_wgpuRenderPassEncoderSetVertexBuffer,"Oa":_wgpuRenderPassEncoderSetViewport,"S":_wgpuRenderPipelineRelease,"oa":_wgpuSamplerRelease,"p":_wgpuShaderModuleRelease,"C":_wgpuSwapChainGetCurrentTextureView,"s":_wgpuTextureCreateView,"ua":_wgpuTextureDestroy,"ta":_wgpuTextureRelease,"q":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["Xa"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Za"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["_a"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["$a"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["ab"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["bb"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_a"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ab"];addOnInit(Module["asm"]["$a"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuAdapterRelease(id){WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyBufferToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyBufferToTexture"](WebGPU.makeImageCopyBuffer(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function _wgpuDeviceRelease(id){WebGPU.mgrDevice.release(id)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function _wgpuInstanceRelease(){}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSurfaceRelease(id){WebGPU.mgrSurface.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuSwapChainRelease(id){WebGPU.mgrSwapChain.release(id)}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"h":__embind_finalize_value_object,"Ta":__embind_register_bigint,"na":__embind_register_bool,"m":__embind_register_class,"K":__embind_register_class_class_function,"q":__embind_register_class_constructor,"c":__embind_register_class_function,"d":__embind_register_class_property,"ma":__embind_register_emval,"Q":__embind_register_float,"s":__embind_register_integer,"r":__embind_register_memory_view,"R":__embind_register_std_string,"D":__embind_register_std_wstring,"i":__embind_register_value_object,"a":__embind_register_value_object_field,"oa":__embind_register_void,"k":__emval_as,"V":__emval_call_void_method,"b":__emval_decref,"W":__emval_get_method_caller,"g":__emval_get_property,"l":__emval_incref,"p":__emval_new_array,"n":__emval_new_cstring,"j":__emval_run_destructors,"o":__emval_set_property,"f":__emval_take_value,"e":_abort,"ka":_emscripten_memcpy_big,"C":_emscripten_resize_heap,"Ba":_emscripten_webgpu_get_device,"ha":_environ_get,"ia":_environ_sizes_get,"ja":_fd_write,"P":_setTempRet0,"Ga":_wgpuAdapterGetProperties,"J":_wgpuAdapterHasFeature,"Da":_wgpuAdapterRelease,"Ha":_wgpuBindGroupRelease,"ca":_wgpuBufferDestroy,"O":_wgpuBufferGetMappedRange,"ba":_wgpuBufferRelease,"B":_wgpuBufferUnmap,"N":_wgpuCommandBufferRelease,"Ja":_wgpuCommandEncoderBeginComputePass,"pa":_wgpuCommandEncoderBeginRenderPass,"Wa":_wgpuCommandEncoderCopyBufferToBuffer,"da":_wgpuCommandEncoderCopyBufferToTexture,"Ka":_wgpuCommandEncoderCopyTextureToTexture,"u":_wgpuCommandEncoderFinish,"x":_wgpuCommandEncoderRelease,"Ia":_wgpuComputePassEncoderDispatchWorkgroups,"Va":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"ya":_wgpuComputePassEncoderEnd,"wa":_wgpuComputePassEncoderRelease,"Sa":_wgpuComputePassEncoderSetBindGroup,"Ra":_wgpuComputePassEncoderSetPipeline,"S":_wgpuComputePipelineRelease,"M":_wgpuDeviceCreateBindGroup,"L":_wgpuDeviceCreateBindGroupLayout,"v":_wgpuDeviceCreateBuffer,"y":_wgpuDeviceCreateCommandEncoder,"va":_wgpuDeviceCreateComputePipeline,"xa":_wgpuDeviceCreatePipelineLayout,"ua":_wgpuDeviceCreateRenderPipeline,"ta":_wgpuDeviceCreateSampler,"G":_wgpuDeviceCreateShaderModule,"qa":_wgpuDeviceCreateSwapChain,"E":_wgpuDeviceCreateTexture,"Y":_wgpuDeviceGetQueue,"Ca":_wgpuDeviceRelease,"Aa":_wgpuInstanceCreateSurface,"Ea":_wgpuInstanceRelease,"za":_wgpuInstanceRequestAdapter,"U":_wgpuPipelineLayoutRelease,"_":_wgpuQuerySetDestroy,"Z":_wgpuQuerySetRelease,"Ua":_wgpuQueueOnSubmittedWorkDone,"I":_wgpuQueueRelease,"z":_wgpuQueueSubmit,"ga":_wgpuQueueWriteBuffer,"X":_wgpuQueueWriteTexture,"La":_wgpuRenderPassEncoderDraw,"ea":_wgpuRenderPassEncoderDrawIndexed,"Xa":_wgpuRenderPassEncoderDrawIndirect,"la":_wgpuRenderPassEncoderEnd,"Za":_wgpuRenderPassEncoderRelease,"A":_wgpuRenderPassEncoderSetBindGroup,"Pa":_wgpuRenderPassEncoderSetBlendConstant,"Ya":_wgpuRenderPassEncoderSetIndexBuffer,"Qa":_wgpuRenderPassEncoderSetPipeline,"Na":_wgpuRenderPassEncoderSetScissorRect,"Ma":_wgpuRenderPassEncoderSetStencilReference,"fa":_wgpuRenderPassEncoderSetVertexBuffer,"Oa":_wgpuRenderPassEncoderSetViewport,"T":_wgpuRenderPipelineRelease,"sa":_wgpuSamplerRelease,"H":_wgpuShaderModuleRelease,"Fa":_wgpuSurfaceRelease,"F":_wgpuSwapChainGetCurrentTextureView,"ra":_wgpuSwapChainRelease,"w":_wgpuTextureCreateView,"aa":_wgpuTextureDestroy,"$":_wgpuTextureRelease,"t":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["$a"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["bb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["cb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["db"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["hb"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return wasmDevice.ready diff --git a/emscripten/webgpu/webgpu_wasm.wasm b/emscripten/webgpu/webgpu_wasm.wasm index 046e9bd9660ca44f0877d365c34a3608f586e5e1..c9dde375bc9788ac1c88417e6497b0042a953033 100644 GIT binary patch literal 314474 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 Date: Wed, 28 Sep 2022 09:40:40 +0800 Subject: [PATCH 2/3] update wgpu wasm/js (#298) Co-authored-by: Zeqiang Li --- emscripten/webgpu/webgpu_wasm.js | 2 +- emscripten/webgpu/webgpu_wasm.wasm | Bin 314474 -> 314466 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/emscripten/webgpu/webgpu_wasm.js b/emscripten/webgpu/webgpu_wasm.js index 219ee598..973bfbb9 100644 --- a/emscripten/webgpu/webgpu_wasm.js +++ b/emscripten/webgpu/webgpu_wasm.js @@ -6,7 +6,7 @@ var wasmDevice = (() => { function(wasmDevice) { wasmDevice = wasmDevice || {}; -var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_a"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ab"];addOnInit(Module["asm"]["$a"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuAdapterRelease(id){WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyBufferToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyBufferToTexture"](WebGPU.makeImageCopyBuffer(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function _wgpuDeviceRelease(id){WebGPU.mgrDevice.release(id)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function _wgpuInstanceRelease(){}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSurfaceRelease(id){WebGPU.mgrSurface.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuSwapChainRelease(id){WebGPU.mgrSwapChain.release(id)}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"h":__embind_finalize_value_object,"Ta":__embind_register_bigint,"na":__embind_register_bool,"m":__embind_register_class,"K":__embind_register_class_class_function,"q":__embind_register_class_constructor,"c":__embind_register_class_function,"d":__embind_register_class_property,"ma":__embind_register_emval,"Q":__embind_register_float,"s":__embind_register_integer,"r":__embind_register_memory_view,"R":__embind_register_std_string,"D":__embind_register_std_wstring,"i":__embind_register_value_object,"a":__embind_register_value_object_field,"oa":__embind_register_void,"k":__emval_as,"V":__emval_call_void_method,"b":__emval_decref,"W":__emval_get_method_caller,"g":__emval_get_property,"l":__emval_incref,"p":__emval_new_array,"n":__emval_new_cstring,"j":__emval_run_destructors,"o":__emval_set_property,"f":__emval_take_value,"e":_abort,"ka":_emscripten_memcpy_big,"C":_emscripten_resize_heap,"Ba":_emscripten_webgpu_get_device,"ha":_environ_get,"ia":_environ_sizes_get,"ja":_fd_write,"P":_setTempRet0,"Ga":_wgpuAdapterGetProperties,"J":_wgpuAdapterHasFeature,"Da":_wgpuAdapterRelease,"Ha":_wgpuBindGroupRelease,"ca":_wgpuBufferDestroy,"O":_wgpuBufferGetMappedRange,"ba":_wgpuBufferRelease,"B":_wgpuBufferUnmap,"N":_wgpuCommandBufferRelease,"Ja":_wgpuCommandEncoderBeginComputePass,"pa":_wgpuCommandEncoderBeginRenderPass,"Wa":_wgpuCommandEncoderCopyBufferToBuffer,"da":_wgpuCommandEncoderCopyBufferToTexture,"Ka":_wgpuCommandEncoderCopyTextureToTexture,"u":_wgpuCommandEncoderFinish,"x":_wgpuCommandEncoderRelease,"Ia":_wgpuComputePassEncoderDispatchWorkgroups,"Va":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"ya":_wgpuComputePassEncoderEnd,"wa":_wgpuComputePassEncoderRelease,"Sa":_wgpuComputePassEncoderSetBindGroup,"Ra":_wgpuComputePassEncoderSetPipeline,"S":_wgpuComputePipelineRelease,"M":_wgpuDeviceCreateBindGroup,"L":_wgpuDeviceCreateBindGroupLayout,"v":_wgpuDeviceCreateBuffer,"y":_wgpuDeviceCreateCommandEncoder,"va":_wgpuDeviceCreateComputePipeline,"xa":_wgpuDeviceCreatePipelineLayout,"ua":_wgpuDeviceCreateRenderPipeline,"ta":_wgpuDeviceCreateSampler,"G":_wgpuDeviceCreateShaderModule,"qa":_wgpuDeviceCreateSwapChain,"E":_wgpuDeviceCreateTexture,"Y":_wgpuDeviceGetQueue,"Ca":_wgpuDeviceRelease,"Aa":_wgpuInstanceCreateSurface,"Ea":_wgpuInstanceRelease,"za":_wgpuInstanceRequestAdapter,"U":_wgpuPipelineLayoutRelease,"_":_wgpuQuerySetDestroy,"Z":_wgpuQuerySetRelease,"Ua":_wgpuQueueOnSubmittedWorkDone,"I":_wgpuQueueRelease,"z":_wgpuQueueSubmit,"ga":_wgpuQueueWriteBuffer,"X":_wgpuQueueWriteTexture,"La":_wgpuRenderPassEncoderDraw,"ea":_wgpuRenderPassEncoderDrawIndexed,"Xa":_wgpuRenderPassEncoderDrawIndirect,"la":_wgpuRenderPassEncoderEnd,"Za":_wgpuRenderPassEncoderRelease,"A":_wgpuRenderPassEncoderSetBindGroup,"Pa":_wgpuRenderPassEncoderSetBlendConstant,"Ya":_wgpuRenderPassEncoderSetIndexBuffer,"Qa":_wgpuRenderPassEncoderSetPipeline,"Na":_wgpuRenderPassEncoderSetScissorRect,"Ma":_wgpuRenderPassEncoderSetStencilReference,"fa":_wgpuRenderPassEncoderSetVertexBuffer,"Oa":_wgpuRenderPassEncoderSetViewport,"T":_wgpuRenderPipelineRelease,"sa":_wgpuSamplerRelease,"H":_wgpuShaderModuleRelease,"Fa":_wgpuSurfaceRelease,"F":_wgpuSwapChainGetCurrentTextureView,"ra":_wgpuSwapChainRelease,"w":_wgpuTextureCreateView,"aa":_wgpuTextureDestroy,"$":_wgpuTextureRelease,"t":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["$a"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["bb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["cb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["db"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["hb"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof wasmDevice!="undefined"?wasmDevice:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="webgpu_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["_a"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["ab"];addOnInit(Module["asm"]["$a"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function __embind_finalize_value_object(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>{return getterReturnType["fromWireType"](getter(getterContext,ptr))},write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError('Missing field: "'+fieldName+'"')}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}return[]});return[]})}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>{throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}}else{desc.set=v=>{throwBindingError(humanName+" is a read-only property")}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get:function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var WebGPU={initManagers:function(){if(WebGPU.mgrDevice)return;function Manager(){this.objects={};this.nextId=1;this.create=function(object,wrapper){wrapper=wrapper||{};var id=this.nextId++;wrapper.refcount=1;wrapper.object=object;this.objects[id]=wrapper;return id};this.get=function(id){if(!id)return undefined;var o=this.objects[id];return o.object};this.reference=function(id){var o=this.objects[id];o.refcount++};this.release=function(id){var o=this.objects[id];o.refcount--;if(o.refcount<=0){delete this.objects[id]}}}WebGPU.mgrSurface=WebGPU.mgrSurface||new Manager;WebGPU.mgrSwapChain=WebGPU.mgrSwapChain||new Manager;WebGPU.mgrAdapter=WebGPU.mgrAdapter||new Manager;WebGPU.mgrDevice=WebGPU.mgrDevice||new Manager;WebGPU.mgrQueue=WebGPU.mgrQueue||new Manager;WebGPU.mgrCommandBuffer=WebGPU.mgrCommandBuffer||new Manager;WebGPU.mgrCommandEncoder=WebGPU.mgrCommandEncoder||new Manager;WebGPU.mgrRenderPassEncoder=WebGPU.mgrRenderPassEncoder||new Manager;WebGPU.mgrComputePassEncoder=WebGPU.mgrComputePassEncoder||new Manager;WebGPU.mgrBindGroup=WebGPU.mgrBindGroup||new Manager;WebGPU.mgrBuffer=WebGPU.mgrBuffer||new Manager;WebGPU.mgrSampler=WebGPU.mgrSampler||new Manager;WebGPU.mgrTexture=WebGPU.mgrTexture||new Manager;WebGPU.mgrTextureView=WebGPU.mgrTextureView||new Manager;WebGPU.mgrQuerySet=WebGPU.mgrQuerySet||new Manager;WebGPU.mgrBindGroupLayout=WebGPU.mgrBindGroupLayout||new Manager;WebGPU.mgrPipelineLayout=WebGPU.mgrPipelineLayout||new Manager;WebGPU.mgrRenderPipeline=WebGPU.mgrRenderPipeline||new Manager;WebGPU.mgrComputePipeline=WebGPU.mgrComputePipeline||new Manager;WebGPU.mgrShaderModule=WebGPU.mgrShaderModule||new Manager;WebGPU.mgrRenderBundleEncoder=WebGPU.mgrRenderBundleEncoder||new Manager;WebGPU.mgrRenderBundle=WebGPU.mgrRenderBundle||new Manager},makeColor:function(ptr){return{"r":HEAPF64[ptr>>3],"g":HEAPF64[ptr+8>>3],"b":HEAPF64[ptr+16>>3],"a":HEAPF64[ptr+24>>3]}},makeExtent3D:function(ptr){return{"width":HEAPU32[ptr>>2],"height":HEAPU32[ptr+4>>2],"depthOrArrayLayers":HEAPU32[ptr+8>>2]}},makeOrigin3D:function(ptr){return{"x":HEAPU32[ptr>>2],"y":HEAPU32[ptr+4>>2],"z":HEAPU32[ptr+8>>2]}},makeImageCopyTexture:function(ptr){return{"texture":WebGPU.mgrTexture.get(HEAPU32[ptr+4>>2]),"mipLevel":HEAPU32[ptr+8>>2],"origin":WebGPU.makeOrigin3D(ptr+12),"aspect":WebGPU.TextureAspect[HEAPU32[ptr+24>>2]]}},makeTextureDataLayout:function(ptr){var bytesPerRow=HEAPU32[ptr+16>>2];var rowsPerImage=HEAPU32[ptr+20>>2];return{"offset":HEAPU32[ptr+4+8>>2]*4294967296+HEAPU32[ptr+8>>2],"bytesPerRow":bytesPerRow===4294967295?undefined:bytesPerRow,"rowsPerImage":rowsPerImage===4294967295?undefined:rowsPerImage}},makeImageCopyBuffer:function(ptr){var layoutPtr=ptr+8;var bufferCopyView=WebGPU.makeTextureDataLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.mgrBuffer.get(HEAPU32[ptr+32>>2]);return bufferCopyView},makePipelineConstants:function(constantCount,constantsPtr){if(!constantCount)return;var constants={};for(var i=0;i>2]);constants[key]=HEAPF64[entryPtr+8>>3]}return constants},makeProgrammableStageDescriptor:function(ptr){if(!ptr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[ptr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[ptr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[ptr+12>>2],HEAPU32[ptr+16>>2])}},DeviceLostReason:{undefined:0,destroyed:1},PreferredFormat:{rgba8unorm:18,bgra8unorm:23},AddressMode:["repeat","mirror-repeat","clamp-to-edge"],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"],BlendOperation:["add","subtract","reverse-subtract","min","max"],BufferBindingType:[,"uniform","storage","read-only-storage"],CompareFunction:[,"never","less","less-equal","greater","greater-equal","equal","not-equal","always"],CompilationInfoRequestStatus:["success","error","device-lost","unknown"],ComputePassTimestampLocation:["beginning","end"],CullMode:["none","front","back"],ErrorFilter:["validation","out-of-memory"],FeatureName:{0:undefined,1:"depth-clip-control",2:"depth24unorm-stencil8",3:"depth32float-stencil8",4:"timestamp-query",5:"pipeline-statistics-query",6:"texture-compression-bc",7:"texture-compression-etc2",8:"texture-compression-astc",9:"indirect-first-instance",1e3:"depth-clamping"},FilterMode:["nearest","linear"],FrontFace:["ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"clear","load"],PipelineStatisticName:["vertex-shader-invocations","clipper-invocations","clipper-primitives-out","fragment-shader-invocations","compute-shader-invocations"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb"],PrimitiveTopology:["point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:["occlusion","pipeline-statistics","timestamp"],RenderPassTimestampLocation:["beginning","end"],SamplerBindingType:[,"filtering","non-filtering","comparison"],StencilOperation:["keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:[,"write-only"],StoreOp:[,"store","discard"],TextureAspect:["all","stencil-only","depth-only"],TextureComponentType:["float","sint","uint","depth-comparison"],TextureDimension:["1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth24unorm-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"],VertexFormat:[,"uint8x2","uint8x4","sint8x2","sint8x4","unorm8x2","unorm8x4","snorm8x2","snorm8x4","uint16x2","uint16x4","sint16x2","sint16x4","unorm16x2","unorm16x4","snorm16x2","snorm16x4","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4"],VertexStepMode:["vertex","instance"],FeatureNameString2Enum:{undefined:"0","depth-clip-control":"1","depth24unorm-stencil8":"2","depth32float-stencil8":"3","timestamp-query":"4","pipeline-statistics-query":"5","texture-compression-bc":"6","texture-compression-etc2":"7","texture-compression-astc":"8","indirect-first-instance":"9","depth-clamping":"1000"}};function _emscripten_webgpu_get_device(){var device=Module["preinitializedWebGPUDevice"];var deviceWrapper={queueId:WebGPU.mgrQueue.create(device["queue"])};return WebGPU.mgrDevice.create(device,deviceWrapper)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _setTempRet0(val){setTempRet0(val)}function _wgpuAdapterGetProperties(adapterId,properties){HEAP32[properties+4>>2]=0;HEAP32[properties+8>>2]=0;HEAP32[properties+12>>2]=0;HEAP32[properties+16>>2]=0;HEAP32[properties+20>>2]=3;HEAP32[properties+24>>2]=1}function _wgpuAdapterHasFeature(adapterId,featureEnumValue){var adapter=WebGPU.mgrAdapter.get(adapterId);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}function _wgpuAdapterRelease(id){WebGPU.mgrAdapter.release(id)}function _wgpuBindGroupRelease(id){WebGPU.mgrBindGroup.release(id)}function _wgpuBufferDestroy(bufferId){WebGPU.mgrBuffer.get(bufferId)["destroy"]()}function _wgpuBufferGetMappedRange(bufferId,offset,size){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");size=size>>>0;if(size===4294967295)size=undefined;if(bufferWrapper.mapMode!==2){return 0}var mapped;try{mapped=bufferWrapper.object["getMappedRange"](offset,size)}catch(ex){return 0}var data=_malloc(mapped.byteLength);HEAPU8.fill(0,data,mapped.byteLength);bufferWrapper.onUnmap.push(function(){new Uint8Array(mapped).set(HEAPU8.subarray(data,data+mapped.byteLength));_free(data)});return data}function _wgpuBufferRelease(id){WebGPU.mgrBuffer.release(id)}function _wgpuBufferUnmap(bufferId){var bufferWrapper=WebGPU.mgrBuffer.objects[bufferId];if(!bufferWrapper.onUnmap){return}for(var i=0;i>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.ComputePassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeComputePassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+8>>2];if(timestampWriteCount){desc["timestampWrites"]=makeComputePassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+12>>2])}}var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrComputePassEncoder.create(commandEncoder["beginComputePass"](desc))}function _wgpuCommandEncoderBeginRenderPass(encoderId,descriptor){function makeColorAttachment(caPtr){var viewPtr=HEAPU32[caPtr>>2];if(viewPtr===0){return undefined}var loadOpInt=HEAPU32[caPtr+8>>2];var storeOpInt=HEAPU32[caPtr+12>>2];var clearValue=WebGPU.makeColor(caPtr+16);return{"view":WebGPU.mgrTextureView.get(viewPtr),"resolveTarget":WebGPU.mgrTextureView.get(HEAPU32[caPtr+4>>2]),"clearValue":clearValue,"loadOp":WebGPU.LoadOp[loadOpInt],"storeOp":WebGPU.StoreOp[storeOpInt]}}function makeColorAttachments(count,caPtr){var attachments=[];for(var i=0;i>2]),"depthClearValue":HEAPF32[dsaPtr+12>>2],"depthLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+4>>2]],"depthStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+8>>2]],"depthReadOnly":HEAP8[dsaPtr+16>>0]!==0,"stencilClearValue":HEAPU32[dsaPtr+28>>2],"stencilLoadOp":WebGPU.LoadOp[HEAPU32[dsaPtr+20>>2]],"stencilStoreOp":WebGPU.StoreOp[HEAPU32[dsaPtr+24>>2]],"stencilReadOnly":HEAP8[dsaPtr+32>>0]!==0}}function makeRenderPassTimestampWrite(twPtr){return{"querySet":WebGPU.mgrQuerySet.get(HEAPU32[twPtr>>2]),"queryIndex":HEAPU32[twPtr+4>>2],"location":WebGPU.RenderPassTimestampLocation[HEAPU32[twPtr+8>>2]]}}function makeRenderPassTimestampWrites(count,twPtr){var timestampWrites=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2]),"depthStencilAttachment":makeDepthStencilAttachment(HEAPU32[descriptor+16>>2]),"occlusionQuerySet":WebGPU.mgrQuerySet.get(HEAPU32[descriptor+20>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var timestampWriteCount=HEAPU32[descriptor+24>>2];if(timestampWriteCount){desc["timestampWrites"]=makeRenderPassTimestampWrites(timestampWriteCount,HEAPU32[descriptor+28>>2])}return desc}var desc=makeRenderPassDescriptor(descriptor);var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrRenderPassEncoder.create(commandEncoder["beginRenderPass"](desc))}function _wgpuCommandEncoderCopyBufferToBuffer(encoderId,srcId,srcOffset_low,srcOffset_high,dstId,dstOffset_low,dstOffset_high,size_low,size_high){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var src=WebGPU.mgrBuffer.get(srcId);var dst=WebGPU.mgrBuffer.get(dstId);commandEncoder["copyBufferToBuffer"](src,srcOffset_high*4294967296+srcOffset_low,dst,dstOffset_high*4294967296+dstOffset_low,size_high*4294967296+size_low)}function _wgpuCommandEncoderCopyBufferToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyBufferToTexture"](WebGPU.makeImageCopyBuffer(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderCopyTextureToTexture(encoderId,srcPtr,dstPtr,copySizePtr){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);var copySize=WebGPU.makeExtent3D(copySizePtr);commandEncoder["copyTextureToTexture"](WebGPU.makeImageCopyTexture(srcPtr),WebGPU.makeImageCopyTexture(dstPtr),copySize)}function _wgpuCommandEncoderFinish(encoderId){var commandEncoder=WebGPU.mgrCommandEncoder.get(encoderId);return WebGPU.mgrCommandBuffer.create(commandEncoder["finish"]())}function _wgpuCommandEncoderRelease(id){WebGPU.mgrCommandEncoder.release(id)}function _wgpuComputePassEncoderDispatchWorkgroups(passId,x,y,z){var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroups"]){pass["dispatchWorkgroups"](x,y,z)}else{pass["dispatch"](x,y,z)}}function _wgpuComputePassEncoderDispatchWorkgroupsIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrComputePassEncoder.get(passId);if(pass["dispatchWorkgroupsIndirect"]){pass["dispatchWorkgroupsIndirect"](indirectBuffer,indirectOffset)}else{pass["dispatchIndirect"](indirectBuffer,indirectOffset)}}function _wgpuComputePassEncoderEnd(passId){var pass=WebGPU.mgrComputePassEncoder.get(passId);pass["end"]()}function _wgpuComputePassEncoderRelease(id){WebGPU.mgrComputePassEncoder.release(id)}function _wgpuComputePassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrComputePassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuComputePassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrComputePassEncoder.get(passId);var pipeline=WebGPU.mgrComputePipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuComputePipelineRelease(id){WebGPU.mgrComputePipeline.release(id)}function _wgpuDeviceCreateBindGroup(deviceId,descriptor){function makeEntry(entryPtr){var bufferId=HEAPU32[entryPtr+8>>2];var samplerId=HEAPU32[entryPtr+32>>2];var textureViewId=HEAPU32[entryPtr+36>>2];var binding=HEAPU32[entryPtr+4>>2];if(bufferId){var size_low=HEAPU32[entryPtr+24>>2];var size_high=HEAPU32[entryPtr+28>>2];var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;return{"binding":binding,"resource":{"buffer":WebGPU.mgrBuffer.get(bufferId),"offset":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2],"size":size}}}else if(samplerId){return{"binding":binding,"resource":WebGPU.mgrSampler.get(samplerId)}}else{return{"binding":binding,"resource":WebGPU.mgrTextureView.get(textureViewId)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2]),"entries":makeEntries(HEAPU32[descriptor+12>>2],HEAPU32[descriptor+16>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroup.create(device["createBindGroup"](desc))}function _wgpuDeviceCreateBindGroupLayout(deviceId,descriptor){function makeBufferEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.BufferBindingType[typeInt],"hasDynamicOffset":HEAP8[entryPtr+8>>0]!==0,"minBindingSize":HEAPU32[entryPtr+4+16>>2]*4294967296+HEAPU32[entryPtr+16>>2]}}function makeSamplerEntry(entryPtr){var typeInt=HEAPU32[entryPtr+4>>2];if(!typeInt)return undefined;return{"type":WebGPU.SamplerBindingType[typeInt]}}function makeTextureEntry(entryPtr){var sampleTypeInt=HEAPU32[entryPtr+4>>2];if(!sampleTypeInt)return undefined;return{"sampleType":WebGPU.TextureSampleType[sampleTypeInt],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+8>>2]],"multisampled":HEAP8[entryPtr+12>>0]!==0}}function makeStorageTextureEntry(entryPtr){var accessInt=HEAPU32[entryPtr+4>>2];if(!accessInt)return undefined;return{"access":WebGPU.StorageTextureAccess[accessInt],"format":WebGPU.TextureFormat[HEAPU32[entryPtr+8>>2]],"viewDimension":WebGPU.TextureViewDimension[HEAPU32[entryPtr+12>>2]]}}function makeEntry(entryPtr){return{"binding":HEAPU32[entryPtr+4>>2],"visibility":HEAPU32[entryPtr+8>>2],"buffer":makeBufferEntry(entryPtr+16),"sampler":makeSamplerEntry(entryPtr+40),"texture":makeTextureEntry(entryPtr+48),"storageTexture":makeStorageTextureEntry(entryPtr+64)}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i>2],HEAPU32[descriptor+12>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrBindGroupLayout.create(device["createBindGroupLayout"](desc))}function _wgpuDeviceCreateBuffer(deviceId,descriptor){var mappedAtCreation=HEAP8[descriptor+24>>0]!==0;var desc={"label":undefined,"usage":HEAPU32[descriptor+8>>2],"size":HEAPU32[descriptor+4+16>>2]*4294967296+HEAPU32[descriptor+16>>2],"mappedAtCreation":mappedAtCreation};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);var bufferWrapper={};var id=WebGPU.mgrBuffer.create(device["createBuffer"](desc),bufferWrapper);if(mappedAtCreation){bufferWrapper.mapMode=2;bufferWrapper.onUnmap=[]}return id}function _wgpuDeviceCreateCommandEncoder(deviceId,descriptor){var desc;if(descriptor){desc={"label":undefined};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrCommandEncoder.create(device["createCommandEncoder"](desc))}function _wgpuDeviceCreateComputePipeline(deviceId,descriptor){var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"compute":WebGPU.makeProgrammableStageDescriptor(descriptor+12)};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrComputePipeline.create(device["createComputePipeline"](desc))}function _wgpuDeviceCreatePipelineLayout(deviceId,descriptor){var bglCount=HEAPU32[descriptor+8>>2];var bglPtr=HEAPU32[descriptor+12>>2];var bgls=[];for(var i=0;i>2]))}var desc={"label":undefined,"bindGroupLayouts":bgls};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrPipelineLayout.create(device["createPipelineLayout"](desc))}function _wgpuDeviceCreateRenderPipeline(deviceId,descriptor){function makePrimitiveState(rsPtr){if(!rsPtr)return undefined;return{"topology":WebGPU.PrimitiveTopology[HEAPU32[rsPtr+4>>2]],"stripIndexFormat":WebGPU.IndexFormat[HEAPU32[rsPtr+8>>2]],"frontFace":WebGPU.FrontFace[HEAPU32[rsPtr+12>>2]],"cullMode":WebGPU.CullMode[HEAPU32[rsPtr+16>>2]]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{"operation":WebGPU.BlendOperation[HEAPU32[bdPtr>>2]],"srcFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+4>>2]],"dstFactor":WebGPU.BlendFactor[HEAPU32[bdPtr+8>>2]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{"alpha":makeBlendComponent(bsPtr+12),"color":makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=HEAPU32[csPtr+4>>2];return formatInt===0?undefined:{"format":WebGPU.TextureFormat[formatInt],"blend":makeBlendState(HEAPU32[csPtr+8>>2]),"writeMask":HEAPU32[csPtr+12>>2]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i>2]],"failOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+4>>2]],"depthFailOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+8>>2]],"passOp":WebGPU.StencilOperation[HEAPU32[ssfPtr+12>>2]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{"format":WebGPU.TextureFormat[HEAPU32[dssPtr+4>>2]],"depthWriteEnabled":HEAP8[dssPtr+8>>0]!==0,"depthCompare":WebGPU.CompareFunction[HEAPU32[dssPtr+12>>2]],"stencilFront":makeStencilStateFace(dssPtr+16),"stencilBack":makeStencilStateFace(dssPtr+32),"stencilReadMask":HEAPU32[dssPtr+48>>2],"stencilWriteMask":HEAPU32[dssPtr+52>>2],"depthBias":HEAPU32[dssPtr+56>>2],"depthBiasSlopeScale":HEAPF32[dssPtr+60>>2],"depthBiasClamp":HEAPF32[dssPtr+64>>2]}}function makeVertexAttribute(vaPtr){return{"format":WebGPU.VertexFormat[HEAPU32[vaPtr>>2]],"offset":HEAPU32[vaPtr+4+8>>2]*4294967296+HEAPU32[vaPtr+8>>2],"shaderLocation":HEAPU32[vaPtr+16>>2]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i>2]*4294967296+HEAPU32[vbPtr>>2],"stepMode":WebGPU.VertexStepMode[HEAPU32[vbPtr+8>>2]],"attributes":makeVertexAttributes(HEAPU32[vbPtr+12>>2],HEAPU32[vbPtr+16>>2])}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i>2]),"entryPoint":UTF8ToString(HEAPU32[viPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[viPtr+12>>2],HEAPU32[viPtr+16>>2]),"buffers":makeVertexBuffers(HEAPU32[viPtr+20>>2],HEAPU32[viPtr+24>>2])}}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{"count":HEAPU32[msPtr+4>>2],"mask":HEAPU32[msPtr+8>>2],"alphaToCoverageEnabled":HEAP8[msPtr+12>>0]!==0}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;return{"module":WebGPU.mgrShaderModule.get(HEAPU32[fsPtr+4>>2]),"entryPoint":UTF8ToString(HEAPU32[fsPtr+8>>2]),"constants":WebGPU.makePipelineConstants(HEAPU32[fsPtr+12>>2],HEAPU32[fsPtr+16>>2]),"targets":makeColorStates(HEAPU32[fsPtr+20>>2],HEAPU32[fsPtr+24>>2])}}var desc={"label":undefined,"layout":WebGPU.mgrPipelineLayout.get(HEAPU32[descriptor+8>>2]),"vertex":makeVertexState(descriptor+12),"primitive":makePrimitiveState(descriptor+40),"depthStencil":makeDepthStencilState(HEAPU32[descriptor+60>>2]),"multisample":makeMultisampleState(descriptor+64),"fragment":makeFragmentState(HEAPU32[descriptor+80>>2])};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrRenderPipeline.create(device["createRenderPipeline"](desc))}function _wgpuDeviceCreateSampler(deviceId,descriptor){var desc={"label":undefined,"addressModeU":WebGPU.AddressMode[HEAPU32[descriptor+8>>2]],"addressModeV":WebGPU.AddressMode[HEAPU32[descriptor+12>>2]],"addressModeW":WebGPU.AddressMode[HEAPU32[descriptor+16>>2]],"magFilter":WebGPU.FilterMode[HEAPU32[descriptor+20>>2]],"minFilter":WebGPU.FilterMode[HEAPU32[descriptor+24>>2]],"mipmapFilter":WebGPU.FilterMode[HEAPU32[descriptor+28>>2]],"lodMinClamp":HEAPF32[descriptor+32>>2],"lodMaxClamp":HEAPF32[descriptor+36>>2],"compare":WebGPU.CompareFunction[HEAPU32[descriptor+40>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrSampler.create(device["createSampler"](desc))}function _wgpuDeviceCreateShaderModule(deviceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var sType=HEAPU32[nextInChainPtr+4>>2];var desc={"label":undefined,"code":""};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);switch(sType){case 5:{var count=HEAPU32[nextInChainPtr+8>>2];var start=HEAPU32[nextInChainPtr+12>>2];desc["code"]=HEAPU32.subarray(start>>2,(start>>2)+count);break}case 6:{var sourcePtr=HEAPU32[nextInChainPtr+8>>2];if(sourcePtr){desc["code"]=UTF8ToString(sourcePtr)}break}}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrShaderModule.create(device["createShaderModule"](desc))}function _wgpuDeviceCreateSwapChain(deviceId,surfaceId,descriptor){var device=WebGPU.mgrDevice.get(deviceId);var context=WebGPU.mgrSurface.get(surfaceId);var canvasSize=[HEAPU32[descriptor+16>>2],HEAPU32[descriptor+20>>2]];if(canvasSize[0]!==0){context["canvas"]["width"]=canvasSize[0]}if(canvasSize[1]!==0){context["canvas"]["height"]=canvasSize[1]}var configuration={"device":device,"format":WebGPU.TextureFormat[HEAPU32[descriptor+12>>2]],"usage":HEAPU32[descriptor+8>>2],"alphaMode":"opaque"};context["configure"](configuration);return WebGPU.mgrSwapChain.create(context)}function _wgpuDeviceCreateTexture(deviceId,descriptor){var desc={"label":undefined,"size":WebGPU.makeExtent3D(descriptor+16),"mipLevelCount":HEAPU32[descriptor+32>>2],"sampleCount":HEAPU32[descriptor+36>>2],"dimension":WebGPU.TextureDimension[HEAPU32[descriptor+12>>2]],"format":WebGPU.TextureFormat[HEAPU32[descriptor+28>>2]],"usage":HEAPU32[descriptor+8>>2]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr);var viewFormatCount=HEAPU32[descriptor+40>>2];if(viewFormatCount){var viewFormatsPtr=HEAPU32[descriptor+44>>2];desc["viewFormats"]=Array.from(HEAP32.subarray(viewFormatsPtr>>2,(viewFormatsPtr>>2)+viewFormatCount),function(format){return WebGPU.TextureFormat[format]})}var device=WebGPU.mgrDevice.get(deviceId);return WebGPU.mgrTexture.create(device["createTexture"](desc))}function _wgpuDeviceGetQueue(deviceId){var queueId=WebGPU.mgrDevice.objects[deviceId].queueId;WebGPU.mgrQueue.reference(queueId);return queueId}function _wgpuDeviceRelease(id){WebGPU.mgrDevice.release(id)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,document,window];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||document.querySelector(target);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _wgpuInstanceCreateSurface(instanceId,descriptor){var nextInChainPtr=HEAPU32[descriptor>>2];var descriptorFromCanvasHTMLSelector=nextInChainPtr;var selectorPtr=HEAPU32[descriptorFromCanvasHTMLSelector+8>>2];var canvas=findCanvasEventTarget(selectorPtr);var context=canvas.getContext("webgpu");if(!context)return 0;var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)context.surfaceLabelWebGPU=UTF8ToString(labelPtr);return WebGPU.mgrSurface.create(context)}function _wgpuInstanceRelease(){}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _wgpuInstanceRequestAdapter(instanceId,options,callback,userdata){var opts;if(options){opts={"powerPreference":WebGPU.PowerPreference[HEAPU32[options+8>>2]],"forceFallbackAdapter":HEAP8[options+12>>0]!==0}}if(!("gpu"in navigator)){var messagePtr=allocateUTF8("WebGPU not available on this browser (navigator.gpu is not available)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr);return}navigator["gpu"]["requestAdapter"](opts).then(function(adapter){callUserCallback(function(){if(adapter){var adapterId=WebGPU.mgrAdapter.create(adapter);getWasmTableEntry(callback)(0,adapterId,0,userdata)}else{var messagePtr=allocateUTF8("WebGPU not available on this system (requestAdapter returned null)");getWasmTableEntry(callback)(1,0,messagePtr,userdata);_free(messagePtr)}})},function(ex){callUserCallback(function(){var messagePtr=allocateUTF8(ex.message);getWasmTableEntry(callback)(2,0,messagePtr,userdata);_free(messagePtr)})})}function _wgpuPipelineLayoutRelease(id){WebGPU.mgrPipelineLayout.release(id)}function _wgpuQuerySetDestroy(querySetId){WebGPU.mgrQuerySet.get(querySetId)["destroy"]()}function _wgpuQuerySetRelease(id){WebGPU.mgrQuerySet.release(id)}function _wgpuQueueOnSubmittedWorkDone(queueId,signalValue_low,signalValue_high,callback,userdata){var queue=WebGPU.mgrQueue.get(queueId);queue["onSubmittedWorkDone"]().then(function(){callUserCallback(function(){getWasmTableEntry(callback)(0,userdata)})},function(){callUserCallback(function(){getWasmTableEntry(callback)(1,userdata)})})}function _wgpuQueueRelease(id){WebGPU.mgrQueue.release(id)}function _wgpuQueueSubmit(queueId,commandCount,commands){var queue=WebGPU.mgrQueue.get(queueId);var cmds=Array.from(HEAP32.subarray(commands>>2,(commands>>2)+commandCount),function(id){return WebGPU.mgrCommandBuffer.get(id)});queue["submit"](cmds)}function _wgpuQueueWriteBuffer(queueId,bufferId,bufferOffset_low,bufferOffset_high,data,size){var queue=WebGPU.mgrQueue.get(queueId);var buffer=WebGPU.mgrBuffer.get(bufferId);var bufferOffset=bufferOffset_high*4294967296+bufferOffset_low;var subarray=HEAPU8.subarray(data,data+size);queue["writeBuffer"](buffer,bufferOffset,subarray,0,size)}function _wgpuQueueWriteTexture(queueId,destinationPtr,data,dataSize,dataLayoutPtr,writeSizePtr){var queue=WebGPU.mgrQueue.get(queueId);var destination=WebGPU.makeImageCopyTexture(destinationPtr);var dataLayout=WebGPU.makeTextureDataLayout(dataLayoutPtr);var writeSize=WebGPU.makeExtent3D(writeSizePtr);var subarray=HEAPU8.subarray(data,data+dataSize);queue["writeTexture"](destination,subarray,dataLayout,writeSize)}function _wgpuRenderPassEncoderDraw(passId,vertexCount,instanceCount,firstVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["draw"](vertexCount,instanceCount,firstVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndexed(passId,indexCount,instanceCount,firstIndex,baseVertex,firstInstance){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndexed"](indexCount,instanceCount,firstIndex,baseVertex,firstInstance)}function _wgpuRenderPassEncoderDrawIndirect(passId,indirectBufferId,indirectOffset_low,indirectOffset_high){var indirectBuffer=WebGPU.mgrBuffer.get(indirectBufferId);var indirectOffset=indirectOffset_high*4294967296+indirectOffset_low;var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["drawIndirect"](indirectBuffer,indirectOffset)}function _wgpuRenderPassEncoderEnd(passId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["end"]()}function _wgpuRenderPassEncoderRelease(id){WebGPU.mgrRenderPassEncoder.release(id)}function _wgpuRenderPassEncoderSetBindGroup(passId,groupIndex,groupId,dynamicOffsetCount,dynamicOffsetsPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var group=WebGPU.mgrBindGroup.get(groupId);if(dynamicOffsetCount==0){pass["setBindGroup"](groupIndex,group)}else{var offsets=[];for(var i=0;i>2])}pass["setBindGroup"](groupIndex,group,offsets)}}function _wgpuRenderPassEncoderSetBlendConstant(passId,colorPtr){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var color=WebGPU.makeColor(colorPtr);pass["setBlendConstant"](color)}function _wgpuRenderPassEncoderSetIndexBuffer(passId,bufferId,format,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setIndexBuffer"](buffer,WebGPU.IndexFormat[format],offset,size)}function _wgpuRenderPassEncoderSetPipeline(passId,pipelineId){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var pipeline=WebGPU.mgrRenderPipeline.get(pipelineId);pass["setPipeline"](pipeline)}function _wgpuRenderPassEncoderSetScissorRect(passId,x,y,w,h){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setScissorRect"](x,y,w,h)}function _wgpuRenderPassEncoderSetStencilReference(passId,reference){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setStencilReference"](reference)}function _wgpuRenderPassEncoderSetVertexBuffer(passId,slot,bufferId,offset_low,offset_high,size_low,size_high){var pass=WebGPU.mgrRenderPassEncoder.get(passId);var buffer=WebGPU.mgrBuffer.get(bufferId);var offset=offset_high*4294967296+offset_low;var size=size_high===-1&&size_low===-1?undefined:size_high*4294967296+size_low;pass["setVertexBuffer"](slot,buffer,offset,size)}function _wgpuRenderPassEncoderSetViewport(passId,x,y,w,h,minDepth,maxDepth){var pass=WebGPU.mgrRenderPassEncoder.get(passId);pass["setViewport"](x,y,w,h,minDepth,maxDepth)}function _wgpuRenderPipelineRelease(id){WebGPU.mgrRenderPipeline.release(id)}function _wgpuSamplerRelease(id){WebGPU.mgrSampler.release(id)}function _wgpuShaderModuleRelease(id){WebGPU.mgrShaderModule.release(id)}function _wgpuSurfaceRelease(id){WebGPU.mgrSurface.release(id)}function _wgpuSwapChainGetCurrentTextureView(swapChainId){var context=WebGPU.mgrSwapChain.get(swapChainId);return WebGPU.mgrTextureView.create(context["getCurrentTexture"]()["createView"]())}function _wgpuSwapChainRelease(id){WebGPU.mgrSwapChain.release(id)}function _wgpuTextureCreateView(textureId,descriptor){var desc;if(descriptor){var mipLevelCount=HEAPU32[descriptor+20>>2];var arrayLayerCount=HEAPU32[descriptor+28>>2];desc={"format":WebGPU.TextureFormat[HEAPU32[descriptor+8>>2]],"dimension":WebGPU.TextureViewDimension[HEAPU32[descriptor+12>>2]],"baseMipLevel":HEAPU32[descriptor+16>>2],"mipLevelCount":mipLevelCount===4294967295?undefined:mipLevelCount,"baseArrayLayer":HEAPU32[descriptor+24>>2],"arrayLayerCount":arrayLayerCount===4294967295?undefined:arrayLayerCount,"aspect":WebGPU.TextureAspect[HEAPU32[descriptor+32>>2]]};var labelPtr=HEAPU32[descriptor+4>>2];if(labelPtr)desc["label"]=UTF8ToString(labelPtr)}var texture=WebGPU.mgrTexture.get(textureId);return WebGPU.mgrTextureView.create(texture["createView"](desc))}function _wgpuTextureDestroy(textureId){WebGPU.mgrTexture.get(textureId)["destroy"]()}function _wgpuTextureRelease(id){WebGPU.mgrTexture.release(id)}function _wgpuTextureViewRelease(id){WebGPU.mgrTextureView.release(id)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}InternalError=Module["InternalError"]=extendError(Error,"InternalError");embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();WebGPU.initManagers();var asmLibraryArg={"h":__embind_finalize_value_object,"Ta":__embind_register_bigint,"na":__embind_register_bool,"m":__embind_register_class,"K":__embind_register_class_class_function,"q":__embind_register_class_constructor,"d":__embind_register_class_function,"c":__embind_register_class_property,"ma":__embind_register_emval,"Q":__embind_register_float,"s":__embind_register_integer,"r":__embind_register_memory_view,"R":__embind_register_std_string,"D":__embind_register_std_wstring,"i":__embind_register_value_object,"a":__embind_register_value_object_field,"oa":__embind_register_void,"k":__emval_as,"V":__emval_call_void_method,"b":__emval_decref,"W":__emval_get_method_caller,"g":__emval_get_property,"l":__emval_incref,"p":__emval_new_array,"n":__emval_new_cstring,"j":__emval_run_destructors,"o":__emval_set_property,"f":__emval_take_value,"e":_abort,"ka":_emscripten_memcpy_big,"C":_emscripten_resize_heap,"Ba":_emscripten_webgpu_get_device,"ha":_environ_get,"ia":_environ_sizes_get,"ja":_fd_write,"P":_setTempRet0,"Ga":_wgpuAdapterGetProperties,"J":_wgpuAdapterHasFeature,"Da":_wgpuAdapterRelease,"Ha":_wgpuBindGroupRelease,"ca":_wgpuBufferDestroy,"O":_wgpuBufferGetMappedRange,"ba":_wgpuBufferRelease,"B":_wgpuBufferUnmap,"N":_wgpuCommandBufferRelease,"Ja":_wgpuCommandEncoderBeginComputePass,"pa":_wgpuCommandEncoderBeginRenderPass,"Wa":_wgpuCommandEncoderCopyBufferToBuffer,"da":_wgpuCommandEncoderCopyBufferToTexture,"Ka":_wgpuCommandEncoderCopyTextureToTexture,"u":_wgpuCommandEncoderFinish,"x":_wgpuCommandEncoderRelease,"Ia":_wgpuComputePassEncoderDispatchWorkgroups,"Va":_wgpuComputePassEncoderDispatchWorkgroupsIndirect,"ya":_wgpuComputePassEncoderEnd,"wa":_wgpuComputePassEncoderRelease,"Sa":_wgpuComputePassEncoderSetBindGroup,"Ra":_wgpuComputePassEncoderSetPipeline,"S":_wgpuComputePipelineRelease,"M":_wgpuDeviceCreateBindGroup,"L":_wgpuDeviceCreateBindGroupLayout,"v":_wgpuDeviceCreateBuffer,"y":_wgpuDeviceCreateCommandEncoder,"va":_wgpuDeviceCreateComputePipeline,"xa":_wgpuDeviceCreatePipelineLayout,"ua":_wgpuDeviceCreateRenderPipeline,"ta":_wgpuDeviceCreateSampler,"G":_wgpuDeviceCreateShaderModule,"qa":_wgpuDeviceCreateSwapChain,"E":_wgpuDeviceCreateTexture,"Y":_wgpuDeviceGetQueue,"Ca":_wgpuDeviceRelease,"Aa":_wgpuInstanceCreateSurface,"Ea":_wgpuInstanceRelease,"za":_wgpuInstanceRequestAdapter,"U":_wgpuPipelineLayoutRelease,"_":_wgpuQuerySetDestroy,"Z":_wgpuQuerySetRelease,"Ua":_wgpuQueueOnSubmittedWorkDone,"I":_wgpuQueueRelease,"z":_wgpuQueueSubmit,"ga":_wgpuQueueWriteBuffer,"X":_wgpuQueueWriteTexture,"La":_wgpuRenderPassEncoderDraw,"ea":_wgpuRenderPassEncoderDrawIndexed,"Xa":_wgpuRenderPassEncoderDrawIndirect,"la":_wgpuRenderPassEncoderEnd,"Za":_wgpuRenderPassEncoderRelease,"A":_wgpuRenderPassEncoderSetBindGroup,"Pa":_wgpuRenderPassEncoderSetBlendConstant,"Ya":_wgpuRenderPassEncoderSetIndexBuffer,"Qa":_wgpuRenderPassEncoderSetPipeline,"Na":_wgpuRenderPassEncoderSetScissorRect,"Ma":_wgpuRenderPassEncoderSetStencilReference,"fa":_wgpuRenderPassEncoderSetVertexBuffer,"Oa":_wgpuRenderPassEncoderSetViewport,"T":_wgpuRenderPipelineRelease,"sa":_wgpuSamplerRelease,"H":_wgpuShaderModuleRelease,"Fa":_wgpuSurfaceRelease,"F":_wgpuSwapChainGetCurrentTextureView,"ra":_wgpuSwapChainRelease,"w":_wgpuTextureCreateView,"aa":_wgpuTextureDestroy,"$":_wgpuTextureRelease,"t":_wgpuTextureViewRelease};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["$a"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["bb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["cb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["db"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["hb"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return wasmDevice.ready diff --git a/emscripten/webgpu/webgpu_wasm.wasm b/emscripten/webgpu/webgpu_wasm.wasm index c9dde375bc9788ac1c88417e6497b0042a953033..53b3b034f4a1d5a31503ece0d5cee86c0710fc88 100644 GIT binary patch delta 60083 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 aIhfd-rc@#AiOuC&U%UqpdDA^&{{H~#5=s>S delta 60021 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 Date: Wed, 28 Sep 2022 15:16:42 +0800 Subject: [PATCH 3/3] wgpu default buffer size 256 (#299) --- emscripten/webgpu/webgpu_wasm.wasm | Bin 314466 -> 314466 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/emscripten/webgpu/webgpu_wasm.wasm b/emscripten/webgpu/webgpu_wasm.wasm index 53b3b034f4a1d5a31503ece0d5cee86c0710fc88..b44001d921b4d710965585a2a4a04556b82545ce 100644 GIT binary patch delta 34 pcmaDfL-^4Q;f5B*Eld`-m>Qa|5B~rF delta 34 pcmaDfL-^4Q;f5B*Eld`-m|7a9Tis&H1JdoQZZU0Nb&Gk&M*s?%5CZ@J