From 195e4afc7e6c6f4da41fdfa254bcf0cc2a0473cb Mon Sep 17 00:00:00 2001 From: Sewmina Date: Sat, 2 Aug 2025 07:09:58 +0530 Subject: [PATCH] dino prod force --- public/UnityBuild/dino/Build/prod.data | Bin 5790146 -> 5790098 bytes .../UnityBuild/dino/Build/prod.framework.js | 2 +- public/UnityBuild/dino/Build/prod.wasm | Bin 22261496 -> 22261468 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/public/UnityBuild/dino/Build/prod.data b/public/UnityBuild/dino/Build/prod.data index 0aab82cc5fc8b2ca22acb36727381a718d6cb186..3ba11e389fa2597a7e0d035fe53392b97111d0e6 100644 GIT binary patch delta 14439 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 diff --git a/public/UnityBuild/dino/Build/prod.framework.js b/public/UnityBuild/dino/Build/prod.framework.js index f5f2444..ef7a782 100644 --- a/public/UnityBuild/dino/Build/prod.framework.js +++ b/public/UnityBuild/dino/Build/prod.framework.js @@ -7,7 +7,7 @@ function(unityFramework) { unityFramework = unityFramework || {}; var Module=typeof unityFramework!="undefined"?unityFramework:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject}); -function Pointer_stringify(s,len){warnOnce("The JavaScript function 'Pointer_stringify(ptrToSomeCString)' is obsoleted and will be removed in a future Unity version. Please call 'UTF8ToString(ptrToSomeCString)' instead.");return UTF8ToString(s,len)}Module["Pointer_stringify"]=Pointer_stringify;var stackTraceReference="(^|\\n)(\\s+at\\s+|)jsStackTrace(\\s+\\(|@)([^\\n]+):\\d+:\\d+(\\)|)(\\n|$)";var stackTraceReferenceMatch=jsStackTrace().match(new RegExp(stackTraceReference));if(stackTraceReferenceMatch)Module.stackTraceRegExp=new RegExp(stackTraceReference.replace("([^\\n]+)",stackTraceReferenceMatch[4].replace(/[\\^${}[\]().*+?|]/g,"\\$&")).replace("jsStackTrace","[^\\n]+"));var abort=function(what){if(ABORT)return;ABORT=true;EXITSTATUS=1;if(typeof ENVIRONMENT_IS_PTHREAD!=="undefined"&&ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}var message="abort("+what+") at "+stackTrace();if(Module.abortHandler&&Module.abortHandler(message))return;throw message};Module["SetFullscreen"]=function(fullscreen){if(typeof runtimeInitialized==="undefined"||!runtimeInitialized){console.log("Runtime not initialized yet.")}else if(typeof JSEvents==="undefined"){console.log("Player not loaded yet.")}else{var tmp=JSEvents.canPerformEventHandlerRequests;JSEvents.canPerformEventHandlerRequests=function(){return 1};Module.ccall("SetFullscreen",null,["number"],[fullscreen]);JSEvents.canPerformEventHandlerRequests=tmp}};if(!Module["ENVIRONMENT_IS_PTHREAD"]){Module["preRun"].push(function(){var unityFileSystemInit=Module["unityFileSystemInit"]||function(){FS.mkdir("/idbfs");FS.mount(IDBFS,{},"/idbfs");Module.addRunDependency("JS_FileSystem_Mount");FS.syncfs(true,function(err){if(err)console.log("IndexedDB is not available. Data will not persist in cache and PlayerPrefs will not be saved.");Module.removeRunDependency("JS_FileSystem_Mount")})};unityFileSystemInit()})}var videoInputDevices=[];var videoInputDevicesEnumerated=false;var removeEnumerateMediaDevicesRunDependency;var enumerateWatchdog=null;function matchToOldDevice(newDevice){var oldDevices=Object.keys(videoInputDevices);for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=(()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}});read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=(filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret});readAsync=((filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})});if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"}}else 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;function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function=="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{tempRet0=value};var getTempRet0=()=>tempRet0;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)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{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&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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"]||33554432;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}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 getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 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)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="build.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);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)&&!isFileURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={3033764:function(){return Module.webglContextAttributes.premultipliedAlpha},3033825:function(){return Module.webglContextAttributes.preserveDrawingBuffer},3033889:function(){return Module.webglContextAttributes.powerPreference}};function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){(function(){dynCall_v.call(null,func)})()}else{(function(a1){dynCall_vi.apply(null,[func,a1])})(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function 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){return dynCallLegacy(sig,ptr,args)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=func}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function _GetJSMemoryInfo(totalJSptr,usedJSptr){if(performance.memory){HEAPF64[totalJSptr>>3]=performance.memory.totalJSHeapSize;HEAPF64[usedJSptr>>3]=performance.memory.usedJSHeapSize}else{HEAPF64[totalJSptr>>3]=NaN;HEAPF64[usedJSptr>>3]=NaN}}var JS_Accelerometer=null;var JS_Accelerometer_callback=0;function _JS_Accelerometer_IsRunning(){return JS_Accelerometer&&JS_Accelerometer.activated||JS_Accelerometer_callback!=0}var JS_Accelerometer_multiplier=1;var JS_Accelerometer_lastValue={x:0,y:0,z:0};function JS_Accelerometer_eventHandler(){JS_Accelerometer_lastValue={x:JS_Accelerometer.x*JS_Accelerometer_multiplier,y:JS_Accelerometer.y*JS_Accelerometer_multiplier,z:JS_Accelerometer.z*JS_Accelerometer_multiplier};if(JS_Accelerometer_callback!=0)dynCall_vfff(JS_Accelerometer_callback,JS_Accelerometer_lastValue.x,JS_Accelerometer_lastValue.y,JS_Accelerometer_lastValue.z)}var JS_Accelerometer_frequencyRequest=0;var JS_Accelerometer_frequency=0;var JS_LinearAccelerationSensor_callback=0;var JS_GravitySensor_callback=0;var JS_Gyroscope_callback=0;function JS_ComputeGravity(accelerometerValue,linearAccelerationValue){var difference={x:accelerometerValue.x-linearAccelerationValue.x,y:accelerometerValue.y-linearAccelerationValue.y,z:accelerometerValue.z-linearAccelerationValue.z};var differenceMagnitudeSq=difference.x*difference.x+difference.y*difference.y+difference.z*difference.z;var sum={x:accelerometerValue.x+linearAccelerationValue.x,y:accelerometerValue.y+linearAccelerationValue.y,z:accelerometerValue.z+linearAccelerationValue.z};var sumMagnitudeSq=sum.x*sum.x+sum.y*sum.y+sum.z*sum.z;return differenceMagnitudeSq<=sumMagnitudeSq?difference:sum}function JS_DeviceMotion_eventHandler(event){var accelerometerValue={x:event.accelerationIncludingGravity.x*JS_Accelerometer_multiplier,y:event.accelerationIncludingGravity.y*JS_Accelerometer_multiplier,z:event.accelerationIncludingGravity.z*JS_Accelerometer_multiplier};if(JS_Accelerometer_callback!=0)dynCall_vfff(JS_Accelerometer_callback,accelerometerValue.x,accelerometerValue.y,accelerometerValue.z);var linearAccelerationValue={x:event.acceleration.x*JS_Accelerometer_multiplier,y:event.acceleration.y*JS_Accelerometer_multiplier,z:event.acceleration.z*JS_Accelerometer_multiplier};if(JS_LinearAccelerationSensor_callback!=0)dynCall_vfff(JS_LinearAccelerationSensor_callback,linearAccelerationValue.x,linearAccelerationValue.y,linearAccelerationValue.z);if(JS_GravitySensor_callback!=0){var gravityValue=JS_ComputeGravity(accelerometerValue,linearAccelerationValue);dynCall_vfff(JS_GravitySensor_callback,gravityValue.x,gravityValue.y,gravityValue.z)}if(JS_Gyroscope_callback!=0){var degToRad=Math.PI/180;dynCall_vfff(JS_Gyroscope_callback,event.rotationRate.alpha*degToRad,event.rotationRate.beta*degToRad,event.rotationRate.gamma*degToRad)}}var JS_DeviceSensorPermissions=0;function JS_RequestDeviceSensorPermissions(permissions){if(permissions&1){if(typeof DeviceOrientationEvent.requestPermission==="function"){DeviceOrientationEvent.requestPermission().then(function(permissionState){if(permissionState==="granted"){JS_DeviceSensorPermissions&=~1}else{warnOnce("DeviceOrientationEvent permission not granted")}}).catch(function(err){warnOnce(err);JS_DeviceSensorPermissions|=1})}}if(permissions&2){if(typeof DeviceMotionEvent.requestPermission==="function"){DeviceMotionEvent.requestPermission().then(function(permissionState){if(permissionState==="granted"){JS_DeviceSensorPermissions&=~2}else{warnOnce("DeviceMotionEvent permission not granted")}}).catch(function(err){warnOnce(err);JS_DeviceSensorPermissions|=2})}}}function JS_DeviceMotion_add(){if(JS_Accelerometer_callback==0&&JS_LinearAccelerationSensor_callback==0&&JS_GravitySensor_callback==0&&JS_Gyroscope_callback==0){JS_RequestDeviceSensorPermissions(2);window.addEventListener("devicemotion",JS_DeviceMotion_eventHandler)}}function JS_DefineAccelerometerMultiplier(){var g=9.80665;JS_Accelerometer_multiplier=/(iPhone|iPad|Macintosh)/i.test(navigator.userAgent)?1/g:-1/g}function _JS_Accelerometer_Start(callback,frequency){JS_DefineAccelerometerMultiplier();if(typeof Accelerometer==="undefined"){JS_DeviceMotion_add();if(callback!=0)JS_Accelerometer_callback=callback;return}if(callback!=0)JS_Accelerometer_callback=callback;function InitializeAccelerometer(frequency){JS_Accelerometer=new Accelerometer({frequency:frequency,referenceFrame:"device"});JS_Accelerometer.addEventListener("reading",JS_Accelerometer_eventHandler);JS_Accelerometer.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_Accelerometer.start();JS_Accelerometer_frequency=frequency}if(JS_Accelerometer){if(JS_Accelerometer_frequency!=frequency){JS_Accelerometer.stop();JS_Accelerometer.removeEventListener("reading",JS_Accelerometer_eventHandler);InitializeAccelerometer(frequency)}}else if(JS_Accelerometer_frequencyRequest!=0){JS_Accelerometer_frequencyRequest=frequency}else{JS_Accelerometer_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeAccelerometer(JS_Accelerometer_frequencyRequest)}else{warnOnce("No permission to use Accelerometer.")}JS_Accelerometer_frequencyRequest=0})}}function JS_DeviceMotion_remove(){if(JS_Accelerometer_callback==0&&JS_LinearAccelerationSensor_callback==0&&JS_GravitySensor_callback==0&&JS_Gyroscope_callback==0){window.removeEventListener("devicemotion",JS_DeviceOrientation_eventHandler)}}function _JS_Accelerometer_Stop(){if(JS_Accelerometer){if(typeof GravitySensor!=="undefined"||JS_GravitySensor_callback==0){JS_Accelerometer.stop();JS_Accelerometer.removeEventListener("reading",JS_Accelerometer_eventHandler);JS_Accelerometer=null}JS_Accelerometer_callback=0;JS_Accelerometer_frequency=0}else if(JS_Accelerometer_callback!=0){JS_Accelerometer_callback=0;JS_DeviceMotion_remove()}}function _JS_Cursor_SetImage(ptr,length){var binary="";for(var i=0;i>2]=viewportX-(rect?rect.left:0);HEAPU32[targetY>>2]=viewportY-(rect?rect.top:0)}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _JS_DOM_UnityCanvasSelector(){var canvasSelector=jsCanvasSelector();if(_JS_DOM_UnityCanvasSelector.selector!=canvasSelector){_free(_JS_DOM_UnityCanvasSelector.ptr);_JS_DOM_UnityCanvasSelector.ptr=stringToNewUTF8(canvasSelector);_JS_DOM_UnityCanvasSelector.selector=canvasSelector}return _JS_DOM_UnityCanvasSelector.ptr}function _JS_Eval_EvalJS(ptr){var str=UTF8ToString(ptr);try{eval(str)}catch(exception){console.error(exception)}}function _JS_Eval_OpenURL(ptr){var str=UTF8ToString(ptr);window.open(str,"_blank","")}var fs={numPendingSync:0,syncInternal:1e3,syncInProgress:false,sync:function(onlyPendingSync){if(onlyPendingSync){if(fs.numPendingSync==0)return}else if(fs.syncInProgress){fs.numPendingSync++;return}fs.syncInProgress=true;FS.syncfs(false,function(err){fs.syncInProgress=false});fs.numPendingSync=0}};function _JS_FileSystem_Initialize(){Module.setInterval(function(){fs.sync(true)},fs.syncInternal)}function _JS_FileSystem_Sync(){fs.sync(false)}var JS_GravitySensor=null;function _JS_GravitySensor_IsRunning(){return typeof GravitySensor!=="undefined"?JS_GravitySensor&&JS_GravitySensor.activated:JS_GravitySensor_callback!=0}function JS_GravitySensor_eventHandler(){if(JS_GravitySensor_callback!=0)dynCall_vfff(JS_GravitySensor_callback,JS_GravitySensor.x*JS_Accelerometer_multiplier,JS_GravitySensor.y*JS_Accelerometer_multiplier,JS_GravitySensor.z*JS_Accelerometer_multiplier)}var JS_GravitySensor_frequencyRequest=0;var JS_LinearAccelerationSensor=null;function JS_LinearAccelerationSensor_eventHandler(){var linearAccelerationValue={x:JS_LinearAccelerationSensor.x*JS_Accelerometer_multiplier,y:JS_LinearAccelerationSensor.y*JS_Accelerometer_multiplier,z:JS_LinearAccelerationSensor.z*JS_Accelerometer_multiplier};if(JS_LinearAccelerationSensor_callback!=0)dynCall_vfff(JS_LinearAccelerationSensor_callback,linearAccelerationValue.x,linearAccelerationValue.y,linearAccelerationValue.z);if(JS_GravitySensor_callback!=0&&typeof GravitySensor==="undefined"){var gravityValue=JS_ComputeGravity(JS_Accelerometer_lastValue,linearAccelerationValue);dynCall_vfff(JS_GravitySensor_callback,gravityValue.x,gravityValue.y,gravityValue.z)}}var JS_LinearAccelerationSensor_frequencyRequest=0;var JS_LinearAccelerationSensor_frequency=0;function _JS_LinearAccelerationSensor_Start(callback,frequency){JS_DefineAccelerometerMultiplier();if(typeof LinearAccelerationSensor==="undefined"){JS_DeviceMotion_add();if(callback!=0)JS_LinearAccelerationSensor_callback=callback;return}if(callback!=0)JS_LinearAccelerationSensor_callback=callback;function InitializeLinearAccelerationSensor(frequency){JS_LinearAccelerationSensor=new LinearAccelerationSensor({frequency:frequency,referenceFrame:"device"});JS_LinearAccelerationSensor.addEventListener("reading",JS_LinearAccelerationSensor_eventHandler);JS_LinearAccelerationSensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_LinearAccelerationSensor.start();JS_LinearAccelerationSensor_frequency=frequency}if(JS_LinearAccelerationSensor){if(JS_LinearAccelerationSensor_frequency!=frequency){JS_LinearAccelerationSensor.stop();JS_LinearAccelerationSensor.removeEventListener("reading",JS_LinearAccelerationSensor_eventHandler);InitializeLinearAccelerationSensor(frequency)}}else if(JS_LinearAccelerationSensor_frequencyRequest!=0){JS_LinearAccelerationSensor_frequencyRequest=frequency}else{JS_LinearAccelerationSensor_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeLinearAccelerationSensor(JS_LinearAccelerationSensor_frequencyRequest)}else{warnOnce("No permission to use LinearAccelerationSensor.")}JS_LinearAccelerationSensor_frequencyRequest=0})}}function _JS_GravitySensor_Start(callback,frequency){if(typeof GravitySensor==="undefined"){_JS_Accelerometer_Start(0,Math.max(frequency,JS_Accelerometer_frequency));_JS_LinearAccelerationSensor_Start(0,Math.max(frequency,JS_LinearAccelerationSensor_frequency));JS_GravitySensor_callback=callback;return}JS_DefineAccelerometerMultiplier();JS_GravitySensor_callback=callback;function InitializeGravitySensor(frequency){JS_GravitySensor=new GravitySensor({frequency:frequency,referenceFrame:"device"});JS_GravitySensor.addEventListener("reading",JS_GravitySensor_eventHandler);JS_GravitySensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_GravitySensor.start()}if(JS_GravitySensor){JS_GravitySensor.stop();JS_GravitySensor.removeEventListener("reading",JS_GravitySensor_eventHandler);InitializeGravitySensor(frequency)}else if(JS_GravitySensor_frequencyRequest!=0){JS_GravitySensor_frequencyRequest=frequency}else{JS_GravitySensor_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeGravitySensor(JS_GravitySensor_frequencyRequest)}else{warnOnce("No permission to use GravitySensor.")}JS_GravitySensor_frequencyRequest=0})}}function _JS_LinearAccelerationSensor_Stop(){if(JS_LinearAccelerationSensor){if(typeof GravitySensor!=="undefined"||JS_GravitySensor_callback==0){JS_LinearAccelerationSensor.stop();JS_LinearAccelerationSensor.removeEventListener("reading",JS_LinearAccelerationSensor_eventHandler);JS_LinearAccelerationSensor=null}JS_LinearAccelerationSensor_callback=0;JS_LinearAccelerationSensor_frequency=0}else if(JS_LinearAccelerationSensor_callback!=0){JS_LinearAccelerationSensor_callback=0;JS_DeviceMotion_remove()}}function _JS_GravitySensor_Stop(){JS_GravitySensor_callback=0;if(typeof GravitySensor==="undefined"){if(JS_Accelerometer_callback==0)_JS_Accelerometer_Stop();if(JS_LinearAccelerationSensor_callback==0)_JS_LinearAccelerationSensor_Stop();return}if(JS_GravitySensor){JS_GravitySensor.stop();JS_GravitySensor.removeEventListener("reading",JS_GravitySensor_eventHandler);JS_GravitySensor=null}}function _JS_GuardAgainstJsExceptions(cb){try{(function(){dynCall_v.call(null,cb)})()}catch(e){console.warn(e)}}var JS_Gyroscope=null;function _JS_Gyroscope_IsRunning(){return JS_Gyroscope&&JS_Gyroscope.activated||JS_Gyroscope_callback!=0}function JS_Gyroscope_eventHandler(){if(JS_Gyroscope_callback!=0)dynCall_vfff(JS_Gyroscope_callback,JS_Gyroscope.x,JS_Gyroscope.y,JS_Gyroscope.z)}var JS_Gyroscope_frequencyRequest=0;function _JS_Gyroscope_Start(callback,frequency){if(typeof Gyroscope==="undefined"){JS_DeviceMotion_add();JS_Gyroscope_callback=callback;return}JS_Gyroscope_callback=callback;function InitializeGyroscope(frequency){JS_Gyroscope=new Gyroscope({frequency:frequency,referenceFrame:"device"});JS_Gyroscope.addEventListener("reading",JS_Gyroscope_eventHandler);JS_Gyroscope.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_Gyroscope.start()}if(JS_Gyroscope){JS_Gyroscope.stop();JS_Gyroscope.removeEventListener("reading",JS_Gyroscope_eventHandler);InitializeGyroscope(frequency)}else if(JS_Gyroscope_frequencyRequest!=0){JS_Gyroscope_frequencyRequest=frequency}else{JS_Gyroscope_frequencyRequest=frequency;navigator.permissions.query({name:"gyroscope"}).then(function(result){if(result.state==="granted"){InitializeGyroscope(JS_Gyroscope_frequencyRequest)}else{warnOnce("No permission to use Gyroscope.")}JS_Gyroscope_frequencyRequest=0})}}function _JS_Gyroscope_Stop(){if(JS_Gyroscope){JS_Gyroscope.stop();JS_Gyroscope.removeEventListener("reading",JS_Gyroscope_eventHandler);JS_Gyroscope=null;JS_Gyroscope_callback=0}else if(JS_Gyroscope_callback!=0){JS_Gyroscope_callback=0;JS_DeviceMotion_remove()}}function _JS_LinearAccelerationSensor_IsRunning(){return JS_LinearAccelerationSensor&&JS_LinearAccelerationSensor.activated||JS_LinearAccelerationSensor_callback!=0}function _JS_Log_Dump(ptr,type){var str=UTF8ToString(ptr);if(typeof dump=="function")dump(str);switch(type){case 0:case 1:case 4:console.error(str);return;case 2:console.warn(str);return;case 3:case 5:console.log(str);return;default:console.error("Unknown console message type!");console.error(str)}}function _JS_Log_StackTrace(buffer,bufferSize){var trace=stackTrace();if(buffer)stringToUTF8(trace,buffer,bufferSize);return lengthBytesUTF8(trace)}var mobile_input_hide_delay=null;var mobile_input_text=null;var mobile_input=null;var mobile_input_ignore_blur_event=false;function _JS_MobileKeybard_GetIgnoreBlurEvent(){return mobile_input_ignore_blur_event}function _JS_MobileKeyboard_GetKeyboardStatus(){var kKeyboardStatusVisible=0;var kKeyboardStatusDone=1;if(!mobile_input)return kKeyboardStatusDone;return kKeyboardStatusVisible}function _JS_MobileKeyboard_GetText(buffer,bufferSize){var text=mobile_input&&mobile_input.input?mobile_input.input.value:mobile_input_text?mobile_input_text:"";if(buffer)stringToUTF8(text,buffer,bufferSize);return lengthBytesUTF8(text)}function _JS_MobileKeyboard_GetTextSelection(outStart,outLength){if(!mobile_input){HEAP32[outStart>>2]=0;HEAP32[outLength>>2]=0;return}HEAP32[outStart>>2]=mobile_input.input.selectionStart;HEAP32[outLength>>2]=mobile_input.input.selectionEnd-mobile_input.input.selectionStart}function _JS_MobileKeyboard_Hide(delay){if(mobile_input_hide_delay)return;mobile_input_ignore_blur_event=true;function hideMobileKeyboard(){if(mobile_input&&mobile_input.input){mobile_input_text=mobile_input.input.value;mobile_input.input=null;if(mobile_input.parentNode&&mobile_input.parentNode){mobile_input.parentNode.removeChild(mobile_input)}}mobile_input=null;mobile_input_hide_delay=null;setTimeout(function(){mobile_input_ignore_blur_event=false},100)}if(delay){var hideDelay=200;mobile_input_hide_delay=setTimeout(hideMobileKeyboard,hideDelay)}else{hideMobileKeyboard()}}function _JS_MobileKeyboard_SetCharacterLimit(limit){if(!mobile_input)return;mobile_input.input.maxLength=limit}function _JS_MobileKeyboard_SetText(text){if(!mobile_input)return;text=UTF8ToString(text);mobile_input.input.value=text}function _JS_MobileKeyboard_SetTextSelection(start,length){if(!mobile_input)return;mobile_input.input.setSelectionRange(start,start+length)}function _JS_MobileKeyboard_Show(text,keyboardType,autocorrection,multiline,secure,alert,placeholder,characterLimit){if(mobile_input_hide_delay){clearTimeout(mobile_input_hide_delay);mobile_input_hide_delay=null}text=UTF8ToString(text);mobile_input_text=text;placeholder=UTF8ToString(placeholder);var container=document.body;var hasExistingMobileInput=!!mobile_input;var input_type;var KEYBOARD_TYPE_NUMBERS_AND_PUNCTUATION=2;var KEYBOARD_TYPE_URL=3;var KEYBOARD_TYPE_NUMBER_PAD=4;var KEYBOARD_TYPE_PHONE_PAD=5;var KEYBOARD_TYPE_EMAIL_ADDRESS=7;if(!secure){switch(keyboardType){case KEYBOARD_TYPE_EMAIL_ADDRESS:input_type="email";break;case KEYBOARD_TYPE_URL:input_type="url";break;case KEYBOARD_TYPE_NUMBERS_AND_PUNCTUATION:case KEYBOARD_TYPE_NUMBER_PAD:case KEYBOARD_TYPE_PHONE_PAD:input_type="number";break;default:input_type="text";break}}else{input_type="password"}if(hasExistingMobileInput){if(mobile_input.multiline!=multiline){_JS_MobileKeyboard_Hide(false);return}}var inputContainer=mobile_input||document.createElement("div");if(!hasExistingMobileInput){inputContainer.style="width:100%; position:fixed; bottom:0px; margin:0px; padding:0px; left:0px; border: 1px solid #000; border-radius: 5px; background-color:#fff; font-size:14pt;";container.appendChild(inputContainer);mobile_input=inputContainer}var input=hasExistingMobileInput?mobile_input.input:document.createElement(multiline?"textarea":"input");mobile_input.multiline=multiline;mobile_input.secure=secure;mobile_input.keyboardType=keyboardType;mobile_input.inputType=input_type;input.type=input_type;input.style="width:calc(100% - 85px); "+(multiline?"height:100px;":"")+"vertical-align:top; border-radius: 5px; outline:none; cursor:default; resize:none; border:0px; padding:10px 0px 10px 10px;";input.spellcheck=autocorrection?true:false;input.maxLength=characterLimit>0?characterLimit:524288;input.value=text;input.placeholder=placeholder;if(!hasExistingMobileInput){inputContainer.appendChild(input);inputContainer.input=input}if(!hasExistingMobileInput){var okButton=document.createElement("button");okButton.innerText="OK";okButton.style="border:0; position:absolute; left:calc(100% - 75px); top:0px; width:75px; height:100%; margin:0; padding:0; border-radius: 5px; background-color:#fff";okButton.addEventListener("touchend",function(){_JS_MobileKeyboard_Hide(true)});inputContainer.appendChild(okButton);inputContainer.okButton=okButton;input.addEventListener("keyup",function(e){if(input.parentNode.multiline)return;if(e.code=="Enter"||e.which==13||e.keyCode==13){_JS_MobileKeyboard_Hide(true)}});input.addEventListener("blur",function(e){_JS_MobileKeyboard_Hide(true);e.stopPropagation();e.preventDefault()});input.select();input.focus()}else{input.select()}}var JS_OrientationSensor=null;var JS_OrientationSensor_callback=0;function _JS_OrientationSensor_IsRunning(){return JS_OrientationSensor&&JS_OrientationSensor.activated||JS_OrientationSensor_callback!=0}function JS_OrientationSensor_eventHandler(){if(JS_OrientationSensor_callback!=0)dynCall_vffff(JS_OrientationSensor_callback,JS_OrientationSensor.quaternion[0],JS_OrientationSensor.quaternion[1],JS_OrientationSensor.quaternion[2],JS_OrientationSensor.quaternion[3])}var JS_OrientationSensor_frequencyRequest=0;function JS_DeviceOrientation_eventHandler(event){if(JS_OrientationSensor_callback){var degToRad=Math.PI/180;var x=event.beta*degToRad;var y=event.gamma*degToRad;var z=event.alpha*degToRad;var cx=Math.cos(x/2);var sx=Math.sin(x/2);var cy=Math.cos(y/2);var sy=Math.sin(y/2);var cz=Math.cos(z/2);var sz=Math.sin(z/2);var qx=sx*cy*cz-cx*sy*sz;var qy=cx*sy*cz+sx*cy*sz;var qz=cx*cy*sz+sx*sy*cz;var qw=cx*cy*cz-sx*sy*sz;dynCall_vffff(JS_OrientationSensor_callback,qx,qy,qz,qw)}}function _JS_OrientationSensor_Start(callback,frequency){if(typeof RelativeOrientationSensor==="undefined"){if(JS_OrientationSensor_callback==0){JS_OrientationSensor_callback=callback;JS_RequestDeviceSensorPermissions(1);window.addEventListener("deviceorientation",JS_DeviceOrientation_eventHandler)}return}JS_OrientationSensor_callback=callback;function InitializeOrientationSensor(frequency){JS_OrientationSensor=new RelativeOrientationSensor({frequency:frequency,referenceFrame:"device"});JS_OrientationSensor.addEventListener("reading",JS_OrientationSensor_eventHandler);JS_OrientationSensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_OrientationSensor.start()}if(JS_OrientationSensor){JS_OrientationSensor.stop();JS_OrientationSensor.removeEventListener("reading",JS_OrientationSensor_eventHandler);InitializeOrientationSensor(frequency)}else if(JS_OrientationSensor_frequencyRequest!=0){JS_OrientationSensor_frequencyRequest=frequency}else{JS_OrientationSensor_frequencyRequest=frequency;Promise.all([navigator.permissions.query({name:"accelerometer"}),navigator.permissions.query({name:"gyroscope"})]).then(function(results){if(results.every(function(result){return result.state==="granted"})){InitializeOrientationSensor(JS_OrientationSensor_frequencyRequest)}else{warnOnce("No permissions to use RelativeOrientationSensor.")}JS_OrientationSensor_frequencyRequest=0})}}function _JS_OrientationSensor_Stop(){if(JS_OrientationSensor){JS_OrientationSensor.stop();JS_OrientationSensor.removeEventListener("reading",JS_OrientationSensor_eventHandler);JS_OrientationSensor=null}else if(JS_OrientationSensor_callback!=0){window.removeEventListener("deviceorientation",JS_DeviceOrientation_eventHandler)}JS_OrientationSensor_callback=0}function _JS_RequestDeviceSensorPermissionsOnTouch(){if(JS_DeviceSensorPermissions==0)return;JS_RequestDeviceSensorPermissions(JS_DeviceSensorPermissions)}function _JS_RunQuitCallbacks(){Module.QuitCleanup()}var JS_ScreenOrientation_callback=0;function JS_ScreenOrientation_eventHandler(){if(JS_ScreenOrientation_callback)dynCall_viii(JS_ScreenOrientation_callback,window.innerWidth,window.innerHeight,screen.orientation?screen.orientation.angle:window.orientation)}function _JS_ScreenOrientation_DeInit(){JS_ScreenOrientation_callback=0;window.removeEventListener("resize",JS_ScreenOrientation_eventHandler);if(screen.orientation){screen.orientation.removeEventListener("change",JS_ScreenOrientation_eventHandler)}}function _JS_ScreenOrientation_Init(callback){if(!JS_ScreenOrientation_callback){if(screen.orientation){screen.orientation.addEventListener("change",JS_ScreenOrientation_eventHandler)}window.addEventListener("resize",JS_ScreenOrientation_eventHandler);JS_ScreenOrientation_callback=callback;setTimeout(JS_ScreenOrientation_eventHandler,0)}}var JS_ScreenOrientation_requestedLockType=-1;var JS_ScreenOrientation_appliedLockType=-1;var JS_ScreenOrientation_timeoutID=-1;function _JS_ScreenOrientation_Lock(orientationLockType){if(!screen.orientation){return}function applyLock(){JS_ScreenOrientation_appliedLockType=JS_ScreenOrientation_requestedLockType;var screenOrientations=["any",0,"landscape","portrait","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var type=screenOrientations[JS_ScreenOrientation_appliedLockType];screen.orientation.lock(type).then(function(){if(JS_ScreenOrientation_requestedLockType!=JS_ScreenOrientation_appliedLockType){JS_ScreenOrientation_timeoutID=setTimeout(applyLock,0)}else{JS_ScreenOrientation_timeoutID=-1}}).catch(function(err){warnOnce(err);JS_ScreenOrientation_timeoutID=-1})}JS_ScreenOrientation_requestedLockType=orientationLockType;if(JS_ScreenOrientation_timeoutID==-1&&orientationLockType!=JS_ScreenOrientation_appliedLockType){JS_ScreenOrientation_timeoutID=setTimeout(applyLock,0)}}var WEBAudio={audioInstanceIdCounter:0,audioInstances:{},audioContext:null,audioWebEnabled:0,audioCache:[],pendingAudioSources:{}};function jsAudioMixinSetPitch(source){source.estimatePlaybackPosition=function(){var t=(WEBAudio.audioContext.currentTime-source.playbackStartTime)*source.playbackRate.value;if(source.loop&&t>=source.loopStart){t=(t-source.loopStart)%(source.loopEnd-source.loopStart)+source.loopStart}return t};source.setPitch=function(newPitch){var curPosition=source.estimatePlaybackPosition();if(curPosition>=0){source.playbackStartTime=WEBAudio.audioContext.currentTime-curPosition/newPitch}if(source.playbackRate.value!==newPitch)source.playbackRate.value=newPitch}}function jsAudioCreateUncompressedSoundClip(buffer,error){var soundClip={buffer:buffer,error:error};soundClip.release=function(){};soundClip.getLength=function(){if(!this.buffer){console.log("Trying to get length of sound which is not loaded.");return 0}var sampleRateRatio=44100/this.buffer.sampleRate;return this.buffer.length*sampleRateRatio};soundClip.getData=function(ptr,length){if(!this.buffer){console.log("Trying to get data of sound which is not loaded.");return 0}var startOutputBuffer=ptr>>2;var output=HEAPF32.subarray(startOutputBuffer,startOutputBuffer+(length>>2));var numMaxSamples=Math.floor((length>>2)/this.buffer.numberOfChannels);var numReadSamples=Math.min(this.buffer.length,numMaxSamples);for(var i=0;istartDelayThresholdMS){source.playTimeout=setTimeout(function(){source.playTimeout=null;source._startPlayback(offset)},startDelayMS)}else{source._startPlayback(offset)}};source.stop=function(stopTime){if(typeof stopTime==="undefined"){stopTime=WEBAudio.audioContext.currentTime}var stopDelayThresholdMS=4;var stopDelayMS=(stopTime-WEBAudio.audioContext.currentTime)*1e3;if(stopDelayMS>stopDelayThresholdMS){setTimeout(function(){source._pauseMediaElement();source.isStopped=true},stopDelayMS)}else{source._pauseMediaElement();source.isStopped=true}};jsAudioMixinSetPitch(source);return source};return soundClip}function _JS_Sound_Load(ptr,length,decompress,fmodSoundType){if(WEBAudio.audioWebEnabled==0)return 0;var audioData=HEAPU8.buffer.slice(ptr,ptr+length);if(length<131072)decompress=1;var sound;if(decompress){sound=jsAudioCreateUncompressedSoundClipFromCompressedAudio(audioData)}else{sound=jsAudioCreateCompressedSoundClip(audioData,fmodSoundType)}WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=sound;return WEBAudio.audioInstanceIdCounter}function jsAudioCreateUncompressedSoundClipFromPCM(channels,length,sampleRate,ptr){var buffer=WEBAudio.audioContext.createBuffer(channels,length,sampleRate);for(var i=0;i>2)+length*i;var copyToChannel=buffer["copyToChannel"]||function(source,channelNumber,startInChannel){var clipped=source.subarray(0,Math.min(source.length,this.length-(startInChannel|0)));this.getChannelData(channelNumber|0).set(clipped,startInChannel|0)};copyToChannel.apply(buffer,[HEAPF32.subarray(offs,offs+length),i,0])}return jsAudioCreateUncompressedSoundClip(buffer,false)}function _JS_Sound_Load_PCM(channels,length,sampleRate,ptr){if(WEBAudio.audioWebEnabled==0)return 0;var sound=jsAudioCreateUncompressedSoundClipFromPCM(channels,length,sampleRate,ptr);WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=sound;return WEBAudio.audioInstanceIdCounter}function _JS_Sound_Play(bufferInstance,channelInstance,offset,delay){if(WEBAudio.audioWebEnabled==0)return;_JS_Sound_Stop(channelInstance,0);var soundClip=WEBAudio.audioInstances[bufferInstance];var channel=WEBAudio.audioInstances[channelInstance];if(!soundClip){console.log("Trying to play sound which is not loaded.");return}try{channel.playSoundClip(soundClip,WEBAudio.audioContext.currentTime+delay,offset)}catch(error){console.error("playSoundClip error. Exception: "+e)}}function _JS_Sound_ReleaseInstance(instance){var object=WEBAudio.audioInstances[instance];if(object){object.release()}delete WEBAudio.audioInstances[instance]}function _JS_Sound_ResumeIfNeeded(){if(WEBAudio.audioWebEnabled==0)return;if(WEBAudio.audioContext.state==="suspended")WEBAudio.audioContext.resume().catch(function(error){console.warn("Could not resume audio context. Exception: "+error)})}function _JS_Sound_Set3D(channelInstance,threeD){var channel=WEBAudio.audioInstances[channelInstance];channel.set3D(threeD)}function _JS_Sound_SetListenerOrientation(x,y,z,xUp,yUp,zUp){if(WEBAudio.audioWebEnabled==0)return;x=-x;y=-y;z=-z;var l=WEBAudio.audioContext.listener;if(l.forwardX){if(l.forwardX.value!==x)l.forwardX.value=x;if(l.forwardY.value!==y)l.forwardY.value=y;if(l.forwardZ.value!==z)l.forwardZ.value=z;if(l.upX.value!==xUp)l.upX.value=xUp;if(l.upY.value!==yUp)l.upY.value=yUp;if(l.upZ.value!==zUp)l.upZ.value=zUp}else if(l._forwardX!==x||l._forwardY!==y||l._forwardZ!==z||l._upX!==xUp||l._upY!==yUp||l._upZ!==zUp){l.setOrientation(x,y,z,xUp,yUp,zUp);l._forwardX=x;l._forwardY=y;l._forwardZ=z;l._upX=xUp;l._upY=yUp;l._upZ=zUp}}function _JS_Sound_SetListenerPosition(x,y,z){if(WEBAudio.audioWebEnabled==0)return;var l=WEBAudio.audioContext.listener;if(l.positionX){if(l.positionX.value!==x)l.positionX.value=x;if(l.positionY.value!==y)l.positionY.value=y;if(l.positionZ.value!==z)l.positionZ.value=z}else if(l._positionX!==x||l._positionY!==y||l._positionZ!==z){l.setPosition(x,y,z);l._positionX=x;l._positionY=y;l._positionZ=z}}function _JS_Sound_SetLoop(channelInstance,loop){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setLoop(loop)}function _JS_Sound_SetLoopPoints(channelInstance,loopStart,loopEnd){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setLoopPoints(loopStart,loopEnd)}function _JS_Sound_SetPaused(channelInstance,paused){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];if(paused!=channel.isPaused()){if(paused)channel.pause();else channel.resume()}}function _JS_Sound_SetPitch(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{var channel=WEBAudio.audioInstances[channelInstance];channel.setPitch(v)}catch(e){console.error("JS_Sound_SetPitch(channel="+channelInstance+", pitch="+v+") threw an exception: "+e)}}function _JS_Sound_SetPosition(channelInstance,x,y,z){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setPosition(x,y,z)}function _JS_Sound_SetVolume(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{var channel=WEBAudio.audioInstances[channelInstance];channel.setVolume(v)}catch(e){console.error("JS_Sound_SetVolume(channel="+channelInstance+", volume="+v+") threw an exception: "+e)}}function _JS_Sound_Stop(channelInstance,delay){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.stop(delay)}function _JS_SystemInfo_GetCanvasClientSize(domElementSelector,outWidth,outHeight){var selector=UTF8ToString(domElementSelector);var canvas=selector=="#canvas"?Module["canvas"]:document.querySelector(selector);var w=0,h=0;if(canvas){var size=canvas.getBoundingClientRect();w=size.width;h=size.height}HEAPF64[outWidth>>3]=w;HEAPF64[outHeight>>3]=h}function _JS_SystemInfo_GetDocumentURL(buffer,bufferSize){if(buffer)stringToUTF8(document.URL,buffer,bufferSize);return lengthBytesUTF8(document.URL)}function _JS_SystemInfo_GetGPUInfo(buffer,bufferSize){var gpuinfo=Module.SystemInfo.gpu;if(buffer)stringToUTF8(gpuinfo,buffer,bufferSize);return lengthBytesUTF8(gpuinfo)}function _JS_SystemInfo_GetMatchWebGLToCanvasSize(){return Module.matchWebGLToCanvasSize||Module.matchWebGLToCanvasSize===undefined}function _JS_SystemInfo_GetMemory(){return HEAPU8.length/(1024*1024)}function _JS_SystemInfo_GetOS(buffer,bufferSize){var browser=Module.SystemInfo.os+" "+Module.SystemInfo.osVersion;if(buffer)stringToUTF8(browser,buffer,bufferSize);return lengthBytesUTF8(browser)}function _JS_SystemInfo_GetPreferredDevicePixelRatio(){return Module.matchWebGLToCanvasSize==false?1:Module.devicePixelRatio||window.devicePixelRatio||1}function _JS_SystemInfo_GetScreenSize(outWidth,outHeight){HEAPF64[outWidth>>3]=Module.SystemInfo.width;HEAPF64[outHeight>>3]=Module.SystemInfo.height}function _JS_SystemInfo_HasAstcHdr(){var ext=GLctx.getExtension("WEBGL_compressed_texture_astc");if(ext&&ext.getSupportedProfiles){return ext.getSupportedProfiles().includes("hdr")}return false}function _JS_SystemInfo_HasCursorLock(){return Module.SystemInfo.hasCursorLock}function _JS_SystemInfo_HasFullscreen(){return Module.SystemInfo.hasFullscreen}function _JS_SystemInfo_HasWebGL(){return Module.SystemInfo.hasWebGL}function _JS_UnityEngineShouldQuit(){return!!Module.shouldQuit}var wr={requests:{},responses:{},abortControllers:{},timer:{},nextRequestId:1};function _JS_WebRequest_Abort(requestId){var abortController=wr.abortControllers[requestId];if(!abortController||abortController.signal.aborted){return}abortController.abort()}function _JS_WebRequest_Create(url,method){var _url=UTF8ToString(url);var _method=UTF8ToString(method);var abortController=new AbortController;var requestOptions={url:_url,init:{method:_method,signal:abortController.signal,headers:{},enableStreamingDownload:true},tempBuffer:null,tempBufferSize:0};wr.abortControllers[wr.nextRequestId]=abortController;wr.requests[wr.nextRequestId]=requestOptions;return wr.nextRequestId++}function jsWebRequestGetResponseHeaderString(requestId){var response=wr.responses[requestId];if(!response){return""}if(response.headerString){return response.headerString}var headers="";var entries=response.headers.entries();for(var result=entries.next();!result.done;result=entries.next()){headers+=result.value[0]+": "+result.value[1]+"\r\n"}response.headerString=headers;return headers}function _JS_WebRequest_GetResponseMetaData(requestId,headerBuffer,headerSize,responseUrlBuffer,responseUrlSize){var response=wr.responses[requestId];if(!response){stringToUTF8("",headerBuffer,headerSize);stringToUTF8("",responseUrlBuffer,responseUrlSize);return}if(headerBuffer){var headers=jsWebRequestGetResponseHeaderString(requestId);stringToUTF8(headers,headerBuffer,headerSize)}if(responseUrlBuffer){stringToUTF8(response.url,responseUrlBuffer,responseUrlSize)}}function _JS_WebRequest_GetResponseMetaDataLengths(requestId,buffer){var response=wr.responses[requestId];if(!response){HEAPU32[buffer>>2]=0;HEAPU32[(buffer>>2)+1]=0;return}var headers=jsWebRequestGetResponseHeaderString(requestId);HEAPU32[buffer>>2]=lengthBytesUTF8(headers);HEAPU32[(buffer>>2)+1]=lengthBytesUTF8(response.url)}function _JS_WebRequest_Release(requestId){if(wr.timer[requestId]){clearTimeout(wr.timer[requestId])}delete wr.requests[requestId];delete wr.responses[requestId];delete wr.abortControllers[requestId];delete wr.timer[requestId]}function _JS_WebRequest_Send(requestId,ptr,length,arg,onresponse,onprogress){var requestOptions=wr.requests[requestId];var abortController=wr.abortControllers[requestId];function getTempBuffer(size){if(!requestOptions.tempBuffer){const initialSize=Math.max(size,1024);requestOptions.tempBuffer=_malloc(initialSize);requestOptions.tempBufferSize=initialSize}if(requestOptions.tempBufferSize0){var postData=HEAPU8.subarray(ptr,ptr+length);requestOptions.init.body=new Blob([postData])}if(requestOptions.timeout){wr.timer[requestId]=setTimeout(function(){requestOptions.isTimedOut=true;abortController.abort()},requestOptions.timeout)}var fetchImpl=Module.fetchWithProgress;requestOptions.init.onProgress=HandleProgress;if(Module.companyName&&Module.productName&&Module.cachedFetch){fetchImpl=Module.cachedFetch;requestOptions.init.companyName=Module.companyName;requestOptions.init.productName=Module.productName;requestOptions.init.productVersion=Module.productVersion;requestOptions.init.control=Module.cacheControl(requestOptions.url)}fetchImpl(requestOptions.url,requestOptions.init).then(function(response){wr.responses[requestId]=response;HandleSuccess(response,response.parsedBody)}).catch(function(error){var kWebErrorUnknown=2;var kWebErrorAborted=17;var kWebErrorTimeout=14;if(requestOptions.isTimedOut){HandleError("Connection timed out.",kWebErrorTimeout)}else if(abortController.signal.aborted){HandleError("Aborted.",kWebErrorAborted)}else{HandleError(error.message,kWebErrorUnknown)}})}catch(error){var kWebErrorUnknown=2;HandleError(error.message,kWebErrorUnknown)}}function _JS_WebRequest_SetRedirectLimit(request,redirectLimit){var requestOptions=wr.requests[request];if(!requestOptions){return}requestOptions.init.redirect=redirectLimit===0?"error":"follow"}function _JS_WebRequest_SetRequestHeader(requestId,header,value){var requestOptions=wr.requests[requestId];if(!requestOptions){return}var _header=UTF8ToString(header);var _value=UTF8ToString(value);requestOptions.init.headers[_header]=_value}function _JS_WebRequest_SetTimeout(requestId,timeout){var requestOptions=wr.requests[requestId];if(!requestOptions){return}requestOptions.timeout=timeout}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){return HEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){HEAP32[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return HEAP32[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){(function(a1){return dynCall_ii.apply(null,[destructor,a1])})(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>{return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={"timestamp":stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(e=>{callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={"timestamp":cursor.key};cursor.continue()})}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{"timestamp":stat.mtime,"mode":stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{"timestamp":stat.mtime,"mode":stat.mode,"contents":node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=(event=>{callback(null,event.target.result)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=(()=>{callback(null)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=(()=>{callback(null)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=(e=>{done(this.error);e.preventDefault()});transaction.oncomplete=(e=>{if(!errored){callback(null)}});create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},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},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_truncate64(path,low,high){try{path=SYSCALLS.getStr(path);var length=SYSCALLS.get64(low,high);FS.truncate(path,length);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var dlopen_main_init=0;function __dlopen_js(handle){var ret=!dlopen_main_init;dlopen_main_init=1;return ret}function __dlsym_js(handle,symbol){return 0}function __emscripten_date_now(){return Date.now()}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function __gmtime_js(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mktime_js(tmPtr){var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}function __mmap_js(addr,len,prot,flags,fd,off,allocated,builtin){try{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;return ptr}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function _tzset_impl(timezone,daylight,tzname){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAP32[tzname+4>>2]=summerNamePtr}else{HEAP32[tzname>>2]=summerNamePtr;HEAP32[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}function mainThreadEM_ASM(code,sigPtr,argbuf,sync){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,1)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());function _exit(status){exit(status)}function maybeExit(){}function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}GL.newRenderingFrameStarted();Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function callUserCallback(func,synchronous){if(ABORT){return}if(synchronous){func();return}try{func()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)});img.onerror=(event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()});img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;out("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){(function(a1,a2,a3){return dynCall_iiii.apply(null,[currentFullscreenStrategy.canvasResizedCallback,a1,a2,a3])})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function _emscripten_get_fullscreen_status(fullscreenStatus){if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else return 1e3}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_html5_remove_all_event_listeners(){JSEvents.removeAllEventListeners()}function _emscripten_is_webgl_context_lost(contextHandle){return!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost()}function reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function reSign(value,bits){if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}function unSign(value,bits){if(value>=0){return value}return bits<=32?2*Math.abs(1<>3]);argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function traverseStack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a=="number"||typeof a=="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&32){warnOnce("EM_LOG_DEMANGLE is deprecated; ignoring")}if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=traverseStack(arguments);while(stack_args[1].includes("_emscripten_"))stack_args=traverseStack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+symbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+symbolName:" at "+symbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==symbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=traverseStack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,format,varargs){var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);_emscripten_log_js(flags,str)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(_JSEvents_requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return _JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen(target,deferUntilInEventHandler){var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}else{return-2}}return requestPointerLock(target)}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=_emscripten_get_heap_max();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}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){callUserCallback(function(){(function(a1){dynCall_vi.apply(null,[cb,a1])})(userData)})},msecs)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=function(){dynCall_v.call(null,func)};setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;fillMouseEventData(JSEvents.mouseEvent,e,target);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(ev){var e=ev||event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>1;var quadIndexes=new Uint16Array(numIndexes);var i=0,v=0;while(1){quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+1;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v+3;if(i>=numIndexes)break;v+=4}context.GLctx.bufferData(34963,quadIndexes,35044);context.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function getTempVertexBuffer(sizeBytes){var idx=GL.log2ceilLookup(sizeBytes);var ringbuffer=GL.currentContext.tempVertexBuffers1[idx];var nextFreeBufferIndex=GL.currentContext.tempVertexBufferCounters1[idx];GL.currentContext.tempVertexBufferCounters1[idx]=GL.currentContext.tempVertexBufferCounters1[idx]+1&GL.numTempVertexBuffersPerSize-1;var vbo=ringbuffer[nextFreeBufferIndex];if(vbo){return vbo}var prevVBO=GLctx.getParameter(34964);ringbuffer[nextFreeBufferIndex]=GLctx.createBuffer();GLctx.bindBuffer(34962,ringbuffer[nextFreeBufferIndex]);GLctx.bufferData(34962,1<>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},calcBufLength:function calcBufLength(size,type,stride,count){if(stride>0){return count*stride}var typeSize=GL.byteSizeByType[type-GL.byteSizeByTypeRoot];return size*typeSize*count},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function preDrawHandleClientVertexAttribBindings(count){GL.resetBufferBinding=false;for(var i=0;i1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}context.maxVertexAttribs=context.GLctx.getParameter(34921);context.clientBuffers=[];for(var i=0;i=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=HEAP32[a+(24>>2)];var contextAttributes={"alpha":!!HEAP32[a+(0>>2)],"depth":!!HEAP32[a+(4>>2)],"stencil":!!HEAP32[a+(8>>2)],"antialias":!!HEAP32[a+(12>>2)],"premultipliedAlpha":!!HEAP32[a+(16>>2)],"preserveDrawingBuffer":!!HEAP32[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!HEAP32[a+(28>>2)],majorVersion:HEAP32[a+(32>>2)],minorVersion:HEAP32[a+(36>>2)],enableExtensionsByDefault:HEAP32[a+(40>>2)],explicitSwapControl:HEAP32[a+(44>>2)],proxyContextToMainThread:HEAP32[a+(48>>2)],renderViaOffscreenBackBuffer:HEAP32[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}function _emscripten_webgl_destroy_context(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}function _emscripten_webgl_enable_extension(contextHandle,extension){var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")__webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")__webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")__webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")__webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")__webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")__webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext}function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}function _emscripten_webgl_get_current_context(){return _emscripten_webgl_do_get_current_context()}function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}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 _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__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();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function getHostByName(name){var ret=_malloc(20);var nameBuf=_malloc(name.length+1);stringToUTF8(name,nameBuf,name.length+1);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=inetPton4(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}function _gethostbyaddr(addr,addrlen,type){if(type!==2){setErrNo(5);return null}addr=HEAP32[addr>>2];var host=inetNtop4(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}return getHostByName(host)}function _gethostbyname(name){return getHostByName(UTF8ToString(name))}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){program=GL.programs[program];shader=GL.shaders[shader];program[shader.shaderType]=shader;GLctx.attachShader(program,shader)}function _glBeginQuery(target,id){GLctx["beginQuery"](target,GL.queries[id])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){if(target==34962){GLctx.currentArrayBufferBinding=buffer}else if(target==34963){GLctx.currentElementArrayBufferBinding=buffer}if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindBufferBase(target,index,buffer){GLctx["bindBufferBase"](target,index,GL.buffers[buffer])}function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx["bindBufferRange"](target,index,GL.buffers[buffer],offset,ptrsize)}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindSampler(unit,sampler){GLctx["bindSampler"](unit,GL.samplers[sampler])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao]);var ibo=GLctx.getParameter(34965);GLctx.currentElementArrayBufferBinding=ibo?ibo.name|0:0}function _glBlendEquation(x0){GLctx["blendEquation"](x0)}function _glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx["blitFramebuffer"](x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}function _glBufferData(target,size,data,usage){if(GL.currentContext.version>=2){if(data){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glBufferSubData(target,offset,size,data){if(GL.currentContext.version>=2){GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearBufferfi(x0,x1,x2,x3){GLctx["clearBufferfi"](x0,x1,x2,x3)}function _glClearBufferfv(buffer,drawbuffer,value){GLctx["clearBufferfv"](buffer,drawbuffer,HEAPF32,value>>2)}function _glClearBufferuiv(buffer,drawbuffer,value){GLctx["clearBufferuiv"](buffer,drawbuffer,HEAPU32,value>>2)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glClearStencil(x0){GLctx["clearStencil"](x0)}function _glClientWaitSync(sync,flags,timeoutLo,timeoutHi){return GLctx.clientWaitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexImage3D"](target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx["compressedTexImage3D"](target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx["compressedTexSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx["copyBufferSubData"](x0,x1,x2,x3,x4)}function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);GL.shaders[id].shaderType=shaderType&1?"vs":"fs";return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentArrayBufferBinding)GLctx.currentArrayBufferBinding=0;if(id==GLctx.currentElementArrayBufferBinding)GLctx.currentElementArrayBufferBinding=0;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx["deleteQuery"](query);GL.queries[id]=null}}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx["deleteSampler"](sampler);sampler.name=0;GL.samplers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDepthMask(flag){GLctx.depthMask(!!flag)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=false;GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GL.preDrawHandleClientVertexAttribBindings(first+count);GLctx.drawArrays(mode,first,count);GL.postDrawHandleClientVertexAttribBindings()}function _glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _glDrawElements(mode,count,type,indices){var buf;if(!GLctx.currentElementArrayBufferBinding){var size=GL.calcBufLength(1,type,0,count);buf=GL.getTempIndexBuffer(size);GLctx.bindBuffer(34963,buf);GLctx.bufferSubData(34963,0,HEAPU8.subarray(indices,indices+size));indices=0}GL.preDrawHandleClientVertexAttribBindings(count);GLctx.drawElements(mode,count,type,indices);GL.postDrawHandleClientVertexAttribBindings(count);if(!GLctx.currentElementArrayBufferBinding){GLctx.bindBuffer(34963,null)}}function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=true;GLctx.enableVertexAttribArray(index)}function _glEndQuery(x0){GLctx["endQuery"](x0)}function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}else{return 0}}function _glFinish(){GLctx["finish"]()}function _glFlush(){GLctx["flush"]()}function emscriptenWebGLGetBufferBinding(target){switch(target){case 34962:target=34964;break;case 34963:target=34965;break;case 35051:target=35053;break;case 35052:target=35055;break;case 35982:target=35983;break;case 36662:target=36662;break;case 36663:target=36663;break;case 35345:target=35368;break}var buffer=GLctx.getParameter(target);if(buffer)return buffer.name|0;else return 0}function emscriptenWebGLValidateMapBufferTarget(target){switch(target){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return true;default:return false}}function _glFlushMappedBufferRange(target,offset,length){if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glFlushMappedBufferRange");return}var mapping=GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)];if(!mapping){GL.recordError(1282);err("buffer was never mapped in glFlushMappedBufferRange");return}if(!(mapping.access&16)){GL.recordError(1282);err("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange");return}if(offset<0||length<0||offset+length>mapping.length){GL.recordError(1281);err("invalid range in glFlushMappedBufferRange");return}GLctx.bufferSubData(target,mapping.offset,HEAPU8.subarray(mapping.mem+offset,mapping.mem+offset+length))}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx["getActiveUniformBlockParameter"](program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx["getActiveUniforms"](program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetBufferSubData(target,offset,size,data){if(!data){GL.recordError(1281);return}GLctx["getBufferSubData"](target,offset,HEAPU8,data,size)}function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx["getIndexedParameter"](target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33390:ret=1048576;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx["getInternalformatParameter"](target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx["getQueryParameter"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getQuery"](target,pname)}function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx["getUniformBlockIndex"](GL.programs[program],UTF8ToString(uniformBlockName))}function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx["getUniformIndices"](program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=uniformSizeAndIdsByName[arrayName]?uniformSizeAndIdsByName[arrayName][1]:program.uniformIdCounter;program.uniformIdCounter=Math.max(id+sz,program.uniformIdCounter);uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){err("glGetVertexAttrib*v on client-side array: not supported, bad data returned")}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateFramebuffer"](target,list)}function _glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={};[program["vs"],program["fs"]].forEach(function(s){Object.keys(s.explicitUniformLocations).forEach(function(shaderLocation){var loc=s.explicitUniformLocations[shaderLocation];program.uniformSizeAndIdsByName[shaderLocation]=[1,loc];program.uniformIdCounter=Math.max(program.uniformIdCounter,loc+1)})});function copyKeys(dst,src){Object.keys(src).forEach(function(key){dst[key]=src[key]})}program.explicitUniformBindings={};program.explicitSamplerBindings={};[program["vs"],program["fs"]].forEach(function(s){copyKeys(program.explicitUniformBindings,s.explicitUniformBindings);copyKeys(program.explicitSamplerBindings,s.explicitSamplerBindings)});program.explicitProgramBindingsApplied=0}function _glMapBufferRange(target,offset,length,access){if(access!=26&&access!=10){err("glMapBufferRange is only supported when access is MAP_WRITE|INVALIDATE_BUFFER");return 0}if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glMapBufferRange");return 0}var mem=_malloc(length);if(!mem)return 0;GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)]={offset:offset,length:length,mem:mem,access:access};return mem}function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}function _glProgramParameteri(program,pname,value){GL.recordError(1280)}function _glReadBuffer(x0){GLctx["readBuffer"](x0)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx["renderbufferStorageMultisample"](x0,x1,x2,x3,x4)}function _glSamplerParameteri(sampler,pname,param){GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function find_closing_parens_index(arr,i,opening="(",closing=")"){for(var nesting=0;i{return defs[args[0]]?1:0});function isWhitespace(str,i){return!(str.charCodeAt(i)>32)}function nextWhitespace(str,i){while(!isWhitespace(str,i))++i;return i}function classifyChar(str,idx){var cc=str.charCodeAt(idx);if(cc>32){if(cc<48)return 1;if(cc<58)return 2;if(cc<65)return 1;if(cc<91||cc==95)return 3;if(cc<97)return 1;if(cc<123)return 3;return 1}return cc<33?0:4}function tokenize(exprString,keepWhitespace){var out=[],len=exprString.length;for(var i=0;i<=len;++i){var kind=classifyChar(exprString,i);if(kind==2||kind==3){for(var j=i+1;j<=len;++j){var kind2=classifyChar(exprString,j);if(kind2!=kind&&(kind2!=2||kind!=3)){out.push(exprString.substring(i,j));i=j-1;break}}}else if(kind==1){var op2=exprString.substr(i,2);if(["<=",">=","==","!=","&&","||"].includes(op2)){out.push(op2);++i}else{out.push(exprString[i])}}}return out}function expandMacros(str,lineStart,lineEnd){if(lineEnd===undefined)lineEnd=str.length;var len=str.length;var out="";for(var i=lineStart;i1||typeof tokens[0]!="function"){tokens=function(tokens){var i,j,p,operatorAndPriority=-2;for(j=0;j",">=","==","!=","&&","||","("].indexOf(tokens[j]))>operatorAndPriority){i=j;operatorAndPriority=p}}if(operatorAndPriority==13){var j=find_closing_parens_index(tokens,i);if(j){tokens.splice(i,j+1-i,buildExprTree(tokens.slice(i+1,j)));return tokens}}if(operatorAndPriority==4){i=tokens.lastIndexOf("!");var innerExpr=buildExprTree(tokens.slice(i+1,i+2));tokens.splice(i,2,function(){return!innerExpr()});return tokens}if(operatorAndPriority>=0){var left=buildExprTree(tokens.slice(0,i));var right=buildExprTree(tokens.slice(i+1));switch(tokens[i]){case"&&":return[function(){return left()&&right()}];case"||":return[function(){return left()||right()}];case"==":return[function(){return left()==right()}];case"!=":return[function(){return left()!=right()}];case"<":return[function(){return left()":return[function(){return left()>right()}];case">=":return[function(){return left()>=right()}];case"+":return[function(){return left()+right()}];case"-":return[function(){return left()-right()}];case"*":return[function(){return left()*right()}];case"/":return[function(){return Math.floor(left()/right())}]}}var num=jstoi_q(tokens[i]);return[function(){return num}]}(tokens)}return tokens[0]}for(;i0){var macroEnd=expression.indexOf(")",macroStart);let params=expression.substring(macroStart+1,macroEnd).split(",").map(x=>x.trim());let value=tokenize(expression.substring(macroEnd+1).trim());defs[expression.substring(0,macroStart)]=(args=>{var ret="";value.forEach(x=>{var argIndex=params.indexOf(x);ret+=argIndex>=0?args[argIndex]:x});return ret})}else{let value=expandMacros(expression.substring(firstWs+1).trim(),0);defs[expression.substring(0,firstWs)]=(()=>value)}}break;case"undef":if(thisLineIsInActivePreprocessingBlock)delete defs[expression];break;default:if(directive!="version"&&directive!="pragma"&&directive!="extension"){}out+=expandMacros(code,lineStart,i)+"\n"}}return out}function remove_cpp_comments_in_shaders(code){var i=0,out="",ch,next,len=code.length;for(;i1,"GL_ES":()=>1,"__VERSION__":()=>source.includes("#version 300")?300:100});var regex=/layout\s*\(\s*location\s*=\s*(-?\d+)\s*\)\s*(uniform\s+((lowp|mediump|highp)\s+)?\w+\s+(\w+))/g,explicitUniformLocations={},match;while(match=regex.exec(source)){explicitUniformLocations[match[5]]=jstoi_q(match[1]);if(!(explicitUniformLocations[match[5]]>=0&&explicitUniformLocations[match[5]]<1048576)){err('Specified an out of range layout(location=x) directive "'+explicitUniformLocations[match[5]]+'"! ('+match[0]+")");GL.recordError(1281);return}}source=source.replace(regex,"$2");GL.shaders[shader].explicitUniformLocations=explicitUniformLocations;var bindingRegex=/layout\s*\(.*?binding\s*=\s*(-?\d+).*?\)\s*uniform\s+(\w+)\s+(\w+)?/g,samplerBindings={},uniformBindings={},bindingMatch;while(bindingMatch=bindingRegex.exec(source)){var arrayLength=1;for(var i=bindingMatch.index;i=0&&binding+arrayLength<=numBindingPoints)){err('Specified an out of range layout(binding=x) directive "'+binding+'"! ('+bindingMatch[0]+"). Valid range is [0, "+numBindingPoints+"-1]");GL.recordError(1281);return}}source=source.replace(/layout\s*\(.*?binding\s*=\s*([-\d]+).*?\)/g,"");source=source.replace(/(layout\s*\((.*?)),\s*binding\s*=\s*([-\d]+)\)/g,"$1)");source=source.replace(/layout\s*\(\s*binding\s*=\s*([-\d]+)\s*,(.*?)\)/g,"layout($2)");GL.shaders[shader].explicitSamplerBindings=samplerBindings;GL.shaders[shader].explicitUniformBindings=uniformBindings;GLctx.shaderSource(GL.shaders[shader],source)}function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _glStencilMask(x0){GLctx["stencilMask"](x0)}function _glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,null)}}function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx["texStorage2D"](x0,x1,x2,x3,x4)}function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx["texStorage3D"](x0,x1,x2,x3,x4,x5)}function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var miniTempWebGLFloatBuffers=[];function _glUniform1fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count);return}if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var __miniTempWebGLIntBuffers=[];function _glUniform1iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}function _glUniform1uiv(location,count,value){GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}function _glUniform2fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}function _glUniform2iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}function _glUniform2uiv(location,count,value){GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}function _glUniform3fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}function _glUniform3iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3);return}if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}function _glUniform3uiv(location,count,value){GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}function _glUniform4fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}function _glUniform4iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4);return}if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}function _glUniform4uiv(location,count,value){GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx["uniformBlockBinding"](program,uniformBlockIndex,uniformBlockBinding)}function _glUniformMatrix3fv(location,count,transpose,value){if(GL.currentContext.version>=2){GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}function _glUniformMatrix4fv(location,count,transpose,value){if(GL.currentContext.version>=2){GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}function _glUnmapBuffer(target){if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glUnmapBuffer");return 0}var buffer=emscriptenWebGLGetBufferBinding(target);var mapping=GL.mappedBuffers[buffer];if(!mapping){GL.recordError(1282);err("buffer was never mapped in glUnmapBuffer");return 0}GL.mappedBuffers[buffer]=null;if(!(mapping.access&16))if(GL.currentContext.version>=2){GLctx.bufferSubData(target,mapping.offset,HEAPU8,mapping.mem,mapping.length)}else{GLctx.bufferSubData(target,mapping.offset,HEAPU8.subarray(mapping.mem,mapping.mem+mapping.length))}_free(mapping.mem);return 1}function webglApplyExplicitProgramBindings(){var p=GLctx.currentProgram;if(!p.explicitProgramBindingsApplied){if(GL.currentContext.version>=2){Object.keys(p.explicitUniformBindings).forEach(function(ubo){var bindings=p.explicitUniformBindings[ubo];for(var i=0;i1?"["+i+"]":""));GLctx.uniformBlockBinding(p,blockIndex,bindings[0]+i)}})}Object.keys(p.explicitSamplerBindings).forEach(function(sampler){var bindings=p.explicitSamplerBindings[sampler];for(var i=0;i>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _glVertexAttribIPointer(index,size,type,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GLctx.currentArrayBufferBinding){cb.size=size;cb.type=type;cb.normalized=false;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;cb.vertexAttribPointerAdaptor=function(index,size,type,normalized,stride,ptr){this.vertexAttribIPointer(index,size,type,stride,ptr)};return}cb.clientside=false;GLctx["vertexAttribIPointer"](index,size,type,stride,ptr)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GLctx.currentArrayBufferBinding){cb.size=size;cb.type=type;cb.normalized=normalized;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;cb.vertexAttribPointerAdaptor=function(index,size,type,normalized,stride,ptr){this.vertexAttribPointer(index,size,type,normalized,stride,ptr)};return}cb.clientside=false;GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"GetJSMemoryInfo":_GetJSMemoryInfo,"JS_Accelerometer_IsRunning":_JS_Accelerometer_IsRunning,"JS_Accelerometer_Start":_JS_Accelerometer_Start,"JS_Accelerometer_Stop":_JS_Accelerometer_Stop,"JS_Cursor_SetImage":_JS_Cursor_SetImage,"JS_Cursor_SetShow":_JS_Cursor_SetShow,"JS_DOM_MapViewportCoordinateToElementLocalCoordinate":_JS_DOM_MapViewportCoordinateToElementLocalCoordinate,"JS_DOM_UnityCanvasSelector":_JS_DOM_UnityCanvasSelector,"JS_Eval_EvalJS":_JS_Eval_EvalJS,"JS_Eval_OpenURL":_JS_Eval_OpenURL,"JS_FileSystem_Initialize":_JS_FileSystem_Initialize,"JS_FileSystem_Sync":_JS_FileSystem_Sync,"JS_GravitySensor_IsRunning":_JS_GravitySensor_IsRunning,"JS_GravitySensor_Start":_JS_GravitySensor_Start,"JS_GravitySensor_Stop":_JS_GravitySensor_Stop,"JS_GuardAgainstJsExceptions":_JS_GuardAgainstJsExceptions,"JS_Gyroscope_IsRunning":_JS_Gyroscope_IsRunning,"JS_Gyroscope_Start":_JS_Gyroscope_Start,"JS_Gyroscope_Stop":_JS_Gyroscope_Stop,"JS_LinearAccelerationSensor_IsRunning":_JS_LinearAccelerationSensor_IsRunning,"JS_LinearAccelerationSensor_Start":_JS_LinearAccelerationSensor_Start,"JS_LinearAccelerationSensor_Stop":_JS_LinearAccelerationSensor_Stop,"JS_Log_Dump":_JS_Log_Dump,"JS_Log_StackTrace":_JS_Log_StackTrace,"JS_MobileKeybard_GetIgnoreBlurEvent":_JS_MobileKeybard_GetIgnoreBlurEvent,"JS_MobileKeyboard_GetKeyboardStatus":_JS_MobileKeyboard_GetKeyboardStatus,"JS_MobileKeyboard_GetText":_JS_MobileKeyboard_GetText,"JS_MobileKeyboard_GetTextSelection":_JS_MobileKeyboard_GetTextSelection,"JS_MobileKeyboard_Hide":_JS_MobileKeyboard_Hide,"JS_MobileKeyboard_SetCharacterLimit":_JS_MobileKeyboard_SetCharacterLimit,"JS_MobileKeyboard_SetText":_JS_MobileKeyboard_SetText,"JS_MobileKeyboard_SetTextSelection":_JS_MobileKeyboard_SetTextSelection,"JS_MobileKeyboard_Show":_JS_MobileKeyboard_Show,"JS_OrientationSensor_IsRunning":_JS_OrientationSensor_IsRunning,"JS_OrientationSensor_Start":_JS_OrientationSensor_Start,"JS_OrientationSensor_Stop":_JS_OrientationSensor_Stop,"JS_RequestDeviceSensorPermissionsOnTouch":_JS_RequestDeviceSensorPermissionsOnTouch,"JS_RunQuitCallbacks":_JS_RunQuitCallbacks,"JS_ScreenOrientation_DeInit":_JS_ScreenOrientation_DeInit,"JS_ScreenOrientation_Init":_JS_ScreenOrientation_Init,"JS_ScreenOrientation_Lock":_JS_ScreenOrientation_Lock,"JS_Sound_Create_Channel":_JS_Sound_Create_Channel,"JS_Sound_GetLength":_JS_Sound_GetLength,"JS_Sound_GetLoadState":_JS_Sound_GetLoadState,"JS_Sound_Init":_JS_Sound_Init,"JS_Sound_Load":_JS_Sound_Load,"JS_Sound_Load_PCM":_JS_Sound_Load_PCM,"JS_Sound_Play":_JS_Sound_Play,"JS_Sound_ReleaseInstance":_JS_Sound_ReleaseInstance,"JS_Sound_ResumeIfNeeded":_JS_Sound_ResumeIfNeeded,"JS_Sound_Set3D":_JS_Sound_Set3D,"JS_Sound_SetListenerOrientation":_JS_Sound_SetListenerOrientation,"JS_Sound_SetListenerPosition":_JS_Sound_SetListenerPosition,"JS_Sound_SetLoop":_JS_Sound_SetLoop,"JS_Sound_SetLoopPoints":_JS_Sound_SetLoopPoints,"JS_Sound_SetPaused":_JS_Sound_SetPaused,"JS_Sound_SetPitch":_JS_Sound_SetPitch,"JS_Sound_SetPosition":_JS_Sound_SetPosition,"JS_Sound_SetVolume":_JS_Sound_SetVolume,"JS_Sound_Stop":_JS_Sound_Stop,"JS_SystemInfo_GetCanvasClientSize":_JS_SystemInfo_GetCanvasClientSize,"JS_SystemInfo_GetDocumentURL":_JS_SystemInfo_GetDocumentURL,"JS_SystemInfo_GetGPUInfo":_JS_SystemInfo_GetGPUInfo,"JS_SystemInfo_GetMatchWebGLToCanvasSize":_JS_SystemInfo_GetMatchWebGLToCanvasSize,"JS_SystemInfo_GetMemory":_JS_SystemInfo_GetMemory,"JS_SystemInfo_GetOS":_JS_SystemInfo_GetOS,"JS_SystemInfo_GetPreferredDevicePixelRatio":_JS_SystemInfo_GetPreferredDevicePixelRatio,"JS_SystemInfo_GetScreenSize":_JS_SystemInfo_GetScreenSize,"JS_SystemInfo_HasAstcHdr":_JS_SystemInfo_HasAstcHdr,"JS_SystemInfo_HasCursorLock":_JS_SystemInfo_HasCursorLock,"JS_SystemInfo_HasFullscreen":_JS_SystemInfo_HasFullscreen,"JS_SystemInfo_HasWebGL":_JS_SystemInfo_HasWebGL,"JS_UnityEngineShouldQuit":_JS_UnityEngineShouldQuit,"JS_WebRequest_Abort":_JS_WebRequest_Abort,"JS_WebRequest_Create":_JS_WebRequest_Create,"JS_WebRequest_GetResponseMetaData":_JS_WebRequest_GetResponseMetaData,"JS_WebRequest_GetResponseMetaDataLengths":_JS_WebRequest_GetResponseMetaDataLengths,"JS_WebRequest_Release":_JS_WebRequest_Release,"JS_WebRequest_Send":_JS_WebRequest_Send,"JS_WebRequest_SetRedirectLimit":_JS_WebRequest_SetRedirectLimit,"JS_WebRequest_SetRequestHeader":_JS_WebRequest_SetRequestHeader,"JS_WebRequest_SetTimeout":_JS_WebRequest_SetTimeout,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_begin_catch":___cxa_begin_catch,"__cxa_end_catch":___cxa_end_catch,"__cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"__cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"__cxa_find_matching_catch_4":___cxa_find_matching_catch_4,"__cxa_free_exception":___cxa_free_exception,"__cxa_rethrow":___cxa_rethrow,"__cxa_throw":___cxa_throw,"__resumeException":___resumeException,"__syscall__newselect":___syscall__newselect,"__syscall_chmod":___syscall_chmod,"__syscall_connect":___syscall_connect,"__syscall_faccessat":___syscall_faccessat,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_getcwd":___syscall_getcwd,"__syscall_getdents64":___syscall_getdents64,"__syscall_ioctl":___syscall_ioctl,"__syscall_lstat64":___syscall_lstat64,"__syscall_mkdir":___syscall_mkdir,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_readlinkat":___syscall_readlinkat,"__syscall_recvfrom":___syscall_recvfrom,"__syscall_renameat":___syscall_renameat,"__syscall_rmdir":___syscall_rmdir,"__syscall_sendto":___syscall_sendto,"__syscall_socket":___syscall_socket,"__syscall_stat64":___syscall_stat64,"__syscall_statfs64":___syscall_statfs64,"__syscall_truncate64":___syscall_truncate64,"__syscall_unlinkat":___syscall_unlinkat,"__syscall_utimensat":___syscall_utimensat,"_dlopen_js":__dlopen_js,"_dlsym_js":__dlsym_js,"_emscripten_date_now":__emscripten_date_now,"_emscripten_get_now_is_monotonic":__emscripten_get_now_is_monotonic,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_gmtime_js":__gmtime_js,"_localtime_js":__localtime_js,"_mktime_js":__mktime_js,"_mmap_js":__mmap_js,"_munmap_js":__munmap_js,"_tzset_js":__tzset_js,"abort":_abort,"emscripten_asm_const_int_sync_on_main_thread":_emscripten_asm_const_int_sync_on_main_thread,"emscripten_cancel_main_loop":_emscripten_cancel_main_loop,"emscripten_clear_interval":_emscripten_clear_interval,"emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"emscripten_get_canvas_element_size":_emscripten_get_canvas_element_size,"emscripten_get_fullscreen_status":_emscripten_get_fullscreen_status,"emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"emscripten_get_heap_max":_emscripten_get_heap_max,"emscripten_get_now":_emscripten_get_now,"emscripten_get_now_res":_emscripten_get_now_res,"emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"emscripten_html5_remove_all_event_listeners":_emscripten_html5_remove_all_event_listeners,"emscripten_is_webgl_context_lost":_emscripten_is_webgl_context_lost,"emscripten_log":_emscripten_log,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_request_fullscreen":_emscripten_request_fullscreen,"emscripten_request_pointerlock":_emscripten_request_pointerlock,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_sample_gamepad_data":_emscripten_sample_gamepad_data,"emscripten_set_blur_callback_on_thread":_emscripten_set_blur_callback_on_thread,"emscripten_set_canvas_element_size":_emscripten_set_canvas_element_size,"emscripten_set_focus_callback_on_thread":_emscripten_set_focus_callback_on_thread,"emscripten_set_fullscreenchange_callback_on_thread":_emscripten_set_fullscreenchange_callback_on_thread,"emscripten_set_gamepadconnected_callback_on_thread":_emscripten_set_gamepadconnected_callback_on_thread,"emscripten_set_gamepaddisconnected_callback_on_thread":_emscripten_set_gamepaddisconnected_callback_on_thread,"emscripten_set_interval":_emscripten_set_interval,"emscripten_set_keydown_callback_on_thread":_emscripten_set_keydown_callback_on_thread,"emscripten_set_keypress_callback_on_thread":_emscripten_set_keypress_callback_on_thread,"emscripten_set_keyup_callback_on_thread":_emscripten_set_keyup_callback_on_thread,"emscripten_set_main_loop":_emscripten_set_main_loop,"emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"emscripten_set_mousedown_callback_on_thread":_emscripten_set_mousedown_callback_on_thread,"emscripten_set_mousemove_callback_on_thread":_emscripten_set_mousemove_callback_on_thread,"emscripten_set_mouseup_callback_on_thread":_emscripten_set_mouseup_callback_on_thread,"emscripten_set_pointerlockchange_callback_on_thread":_emscripten_set_pointerlockchange_callback_on_thread,"emscripten_set_touchcancel_callback_on_thread":_emscripten_set_touchcancel_callback_on_thread,"emscripten_set_touchend_callback_on_thread":_emscripten_set_touchend_callback_on_thread,"emscripten_set_touchmove_callback_on_thread":_emscripten_set_touchmove_callback_on_thread,"emscripten_set_touchstart_callback_on_thread":_emscripten_set_touchstart_callback_on_thread,"emscripten_set_wheel_callback_on_thread":_emscripten_set_wheel_callback_on_thread,"emscripten_webgl_create_context":_emscripten_webgl_create_context,"emscripten_webgl_destroy_context":_emscripten_webgl_destroy_context,"emscripten_webgl_enable_extension":_emscripten_webgl_enable_extension,"emscripten_webgl_get_current_context":_emscripten_webgl_get_current_context,"emscripten_webgl_init_context_attributes":_emscripten_webgl_init_context_attributes,"emscripten_webgl_make_context_current":_emscripten_webgl_make_context_current,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"exit":_exit,"fd_close":_fd_close,"fd_fdstat_get":_fd_fdstat_get,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"getTempRet0":_getTempRet0,"gethostbyaddr":_gethostbyaddr,"gethostbyname":_gethostbyname,"glActiveTexture":_glActiveTexture,"glAttachShader":_glAttachShader,"glBeginQuery":_glBeginQuery,"glBindAttribLocation":_glBindAttribLocation,"glBindBuffer":_glBindBuffer,"glBindBufferBase":_glBindBufferBase,"glBindBufferRange":_glBindBufferRange,"glBindFramebuffer":_glBindFramebuffer,"glBindRenderbuffer":_glBindRenderbuffer,"glBindSampler":_glBindSampler,"glBindTexture":_glBindTexture,"glBindVertexArray":_glBindVertexArray,"glBlendEquation":_glBlendEquation,"glBlendEquationSeparate":_glBlendEquationSeparate,"glBlendFuncSeparate":_glBlendFuncSeparate,"glBlitFramebuffer":_glBlitFramebuffer,"glBufferData":_glBufferData,"glBufferSubData":_glBufferSubData,"glCheckFramebufferStatus":_glCheckFramebufferStatus,"glClear":_glClear,"glClearBufferfi":_glClearBufferfi,"glClearBufferfv":_glClearBufferfv,"glClearBufferuiv":_glClearBufferuiv,"glClearColor":_glClearColor,"glClearDepthf":_glClearDepthf,"glClearStencil":_glClearStencil,"glClientWaitSync":_glClientWaitSync,"glColorMask":_glColorMask,"glCompileShader":_glCompileShader,"glCompressedTexImage2D":_glCompressedTexImage2D,"glCompressedTexImage3D":_glCompressedTexImage3D,"glCompressedTexSubImage2D":_glCompressedTexSubImage2D,"glCompressedTexSubImage3D":_glCompressedTexSubImage3D,"glCopyBufferSubData":_glCopyBufferSubData,"glCopyTexImage2D":_glCopyTexImage2D,"glCopyTexSubImage2D":_glCopyTexSubImage2D,"glCreateProgram":_glCreateProgram,"glCreateShader":_glCreateShader,"glCullFace":_glCullFace,"glDeleteBuffers":_glDeleteBuffers,"glDeleteFramebuffers":_glDeleteFramebuffers,"glDeleteProgram":_glDeleteProgram,"glDeleteQueries":_glDeleteQueries,"glDeleteRenderbuffers":_glDeleteRenderbuffers,"glDeleteSamplers":_glDeleteSamplers,"glDeleteShader":_glDeleteShader,"glDeleteSync":_glDeleteSync,"glDeleteTextures":_glDeleteTextures,"glDeleteVertexArrays":_glDeleteVertexArrays,"glDepthFunc":_glDepthFunc,"glDepthMask":_glDepthMask,"glDetachShader":_glDetachShader,"glDisable":_glDisable,"glDisableVertexAttribArray":_glDisableVertexAttribArray,"glDrawArrays":_glDrawArrays,"glDrawArraysInstanced":_glDrawArraysInstanced,"glDrawBuffers":_glDrawBuffers,"glDrawElements":_glDrawElements,"glDrawElementsInstanced":_glDrawElementsInstanced,"glEnable":_glEnable,"glEnableVertexAttribArray":_glEnableVertexAttribArray,"glEndQuery":_glEndQuery,"glFenceSync":_glFenceSync,"glFinish":_glFinish,"glFlush":_glFlush,"glFlushMappedBufferRange":_glFlushMappedBufferRange,"glFramebufferRenderbuffer":_glFramebufferRenderbuffer,"glFramebufferTexture2D":_glFramebufferTexture2D,"glFramebufferTextureLayer":_glFramebufferTextureLayer,"glFrontFace":_glFrontFace,"glGenBuffers":_glGenBuffers,"glGenFramebuffers":_glGenFramebuffers,"glGenQueries":_glGenQueries,"glGenRenderbuffers":_glGenRenderbuffers,"glGenSamplers":_glGenSamplers,"glGenTextures":_glGenTextures,"glGenVertexArrays":_glGenVertexArrays,"glGenerateMipmap":_glGenerateMipmap,"glGetActiveAttrib":_glGetActiveAttrib,"glGetActiveUniform":_glGetActiveUniform,"glGetActiveUniformBlockName":_glGetActiveUniformBlockName,"glGetActiveUniformBlockiv":_glGetActiveUniformBlockiv,"glGetActiveUniformsiv":_glGetActiveUniformsiv,"glGetAttribLocation":_glGetAttribLocation,"glGetBufferSubData":_glGetBufferSubData,"glGetError":_glGetError,"glGetFramebufferAttachmentParameteriv":_glGetFramebufferAttachmentParameteriv,"glGetIntegeri_v":_glGetIntegeri_v,"glGetIntegerv":_glGetIntegerv,"glGetInternalformativ":_glGetInternalformativ,"glGetProgramBinary":_glGetProgramBinary,"glGetProgramInfoLog":_glGetProgramInfoLog,"glGetProgramiv":_glGetProgramiv,"glGetQueryObjectuiv":_glGetQueryObjectuiv,"glGetQueryiv":_glGetQueryiv,"glGetRenderbufferParameteriv":_glGetRenderbufferParameteriv,"glGetShaderInfoLog":_glGetShaderInfoLog,"glGetShaderPrecisionFormat":_glGetShaderPrecisionFormat,"glGetShaderSource":_glGetShaderSource,"glGetShaderiv":_glGetShaderiv,"glGetString":_glGetString,"glGetStringi":_glGetStringi,"glGetTexParameteriv":_glGetTexParameteriv,"glGetUniformBlockIndex":_glGetUniformBlockIndex,"glGetUniformIndices":_glGetUniformIndices,"glGetUniformLocation":_glGetUniformLocation,"glGetUniformiv":_glGetUniformiv,"glGetVertexAttribiv":_glGetVertexAttribiv,"glInvalidateFramebuffer":_glInvalidateFramebuffer,"glIsEnabled":_glIsEnabled,"glIsVertexArray":_glIsVertexArray,"glLinkProgram":_glLinkProgram,"glMapBufferRange":_glMapBufferRange,"glPixelStorei":_glPixelStorei,"glPolygonOffset":_glPolygonOffset,"glProgramBinary":_glProgramBinary,"glProgramParameteri":_glProgramParameteri,"glReadBuffer":_glReadBuffer,"glReadPixels":_glReadPixels,"glRenderbufferStorage":_glRenderbufferStorage,"glRenderbufferStorageMultisample":_glRenderbufferStorageMultisample,"glSamplerParameteri":_glSamplerParameteri,"glScissor":_glScissor,"glShaderSource":_glShaderSource,"glStencilFuncSeparate":_glStencilFuncSeparate,"glStencilMask":_glStencilMask,"glStencilOpSeparate":_glStencilOpSeparate,"glTexImage2D":_glTexImage2D,"glTexImage3D":_glTexImage3D,"glTexParameterf":_glTexParameterf,"glTexParameteri":_glTexParameteri,"glTexParameteriv":_glTexParameteriv,"glTexStorage2D":_glTexStorage2D,"glTexStorage3D":_glTexStorage3D,"glTexSubImage2D":_glTexSubImage2D,"glTexSubImage3D":_glTexSubImage3D,"glUniform1fv":_glUniform1fv,"glUniform1i":_glUniform1i,"glUniform1iv":_glUniform1iv,"glUniform1uiv":_glUniform1uiv,"glUniform2fv":_glUniform2fv,"glUniform2iv":_glUniform2iv,"glUniform2uiv":_glUniform2uiv,"glUniform3fv":_glUniform3fv,"glUniform3iv":_glUniform3iv,"glUniform3uiv":_glUniform3uiv,"glUniform4fv":_glUniform4fv,"glUniform4iv":_glUniform4iv,"glUniform4uiv":_glUniform4uiv,"glUniformBlockBinding":_glUniformBlockBinding,"glUniformMatrix3fv":_glUniformMatrix3fv,"glUniformMatrix4fv":_glUniformMatrix4fv,"glUnmapBuffer":_glUnmapBuffer,"glUseProgram":_glUseProgram,"glValidateProgram":_glValidateProgram,"glVertexAttrib4f":_glVertexAttrib4f,"glVertexAttrib4fv":_glVertexAttrib4fv,"glVertexAttribIPointer":_glVertexAttribIPointer,"glVertexAttribPointer":_glVertexAttribPointer,"glViewport":_glViewport,"invoke_ddiii":invoke_ddiii,"invoke_dii":invoke_dii,"invoke_diii":invoke_diii,"invoke_fffi":invoke_fffi,"invoke_fi":invoke_fi,"invoke_fii":invoke_fii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iifi":invoke_iifi,"invoke_iii":invoke_iii,"invoke_iiifi":invoke_iiifi,"invoke_iiifii":invoke_iiifii,"invoke_iiii":invoke_iiii,"invoke_iiiidii":invoke_iiiidii,"invoke_iiiifii":invoke_iiiifii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiji":invoke_iiiiiiiiiji,"invoke_iiiijii":invoke_iiiijii,"invoke_iiijii":invoke_iiijii,"invoke_iiijiii":invoke_iiijiii,"invoke_iij":invoke_iij,"invoke_iiji":invoke_iiji,"invoke_iijii":invoke_iijii,"invoke_iijiii":invoke_iijiii,"invoke_iijji":invoke_iijji,"invoke_iji":invoke_iji,"invoke_ijji":invoke_ijji,"invoke_j":invoke_j,"invoke_ji":invoke_ji,"invoke_jii":invoke_jii,"invoke_jiii":invoke_jiii,"invoke_jiiiii":invoke_jiiiii,"invoke_jiiiiiiiiii":invoke_jiiiiiiiiii,"invoke_jiji":invoke_jiji,"invoke_jijii":invoke_jijii,"invoke_jjji":invoke_jjji,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vidi":invoke_vidi,"invoke_viffi":invoke_viffi,"invoke_vifi":invoke_vifi,"invoke_vifii":invoke_vifii,"invoke_vii":invoke_vii,"invoke_viidi":invoke_viidi,"invoke_viiffi":invoke_viiffi,"invoke_viifi":invoke_viifi,"invoke_viifii":invoke_viifii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiifi":invoke_viiiifi,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiji":invoke_viiiji,"invoke_viiji":invoke_viiji,"invoke_viji":invoke_viji,"invoke_vijii":invoke_vijii,"invoke_vijiii":invoke_vijiii,"invoke_vji":invoke_vji,"invoke_vjiiiii":invoke_vjiiiii,"invoke_vjjjiiii":invoke_vjjjiiii,"llvm_eh_typeid_for":_llvm_eh_typeid_for,"setTempRet0":_setTempRet0,"strftime":_strftime};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _getMemInfo=Module["_getMemInfo"]=function(){return(_getMemInfo=Module["_getMemInfo"]=Module["asm"]["getMemInfo"]).apply(null,arguments)};var _SendMessageFloat=Module["_SendMessageFloat"]=function(){return(_SendMessageFloat=Module["_SendMessageFloat"]=Module["asm"]["SendMessageFloat"]).apply(null,arguments)};var _SendMessageString=Module["_SendMessageString"]=function(){return(_SendMessageString=Module["_SendMessageString"]=Module["asm"]["SendMessageString"]).apply(null,arguments)};var _SendMessage=Module["_SendMessage"]=function(){return(_SendMessage=Module["_SendMessage"]=Module["asm"]["SendMessage"]).apply(null,arguments)};var _SetFullscreen=Module["_SetFullscreen"]=function(){return(_SetFullscreen=Module["_SetFullscreen"]=Module["asm"]["SetFullscreen"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["main"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var ___dl_seterr=Module["___dl_seterr"]=function(){return(___dl_seterr=Module["___dl_seterr"]=Module["asm"]["__dl_seterr"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["htonl"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["htons"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["ntohs"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["strlen"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["emscripten_builtin_memalign"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return(_saveSetjmp=Module["_saveSetjmp"]=Module["asm"]["saveSetjmp"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["__cxa_can_catch"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["dynCall_iidiiii"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["dynCall_vii"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["dynCall_iiii"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["dynCall_iii"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["dynCall_ii"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["dynCall_vi"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["dynCall_viii"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["dynCall_iiiii"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["dynCall_v"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["dynCall_viiiiii"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["dynCall_viiiii"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["dynCall_viiii"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["dynCall_iiiiii"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["dynCall_i"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["dynCall_iiiiiiii"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["dynCall_iiijiii"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["dynCall_iiiiiii"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["dynCall_jii"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["dynCall_viiiiiiii"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["dynCall_iiiijii"]).apply(null,arguments)};var dynCall_iiiidii=Module["dynCall_iiiidii"]=function(){return(dynCall_iiiidii=Module["dynCall_iiiidii"]=Module["asm"]["dynCall_iiiidii"]).apply(null,arguments)};var dynCall_iiiifii=Module["dynCall_iiiifii"]=function(){return(dynCall_iiiifii=Module["dynCall_iiiifii"]=Module["asm"]["dynCall_iiiifii"]).apply(null,arguments)};var dynCall_vidi=Module["dynCall_vidi"]=function(){return(dynCall_vidi=Module["dynCall_vidi"]=Module["asm"]["dynCall_vidi"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["dynCall_viidi"]).apply(null,arguments)};var dynCall_vifii=Module["dynCall_vifii"]=function(){return(dynCall_vifii=Module["dynCall_vifii"]=Module["asm"]["dynCall_vifii"]).apply(null,arguments)};var dynCall_viiiji=Module["dynCall_viiiji"]=function(){return(dynCall_viiiji=Module["dynCall_viiiji"]=Module["asm"]["dynCall_viiiji"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["dynCall_viifi"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=function(){return(dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=Module["asm"]["dynCall_iiiiiiiiiji"]).apply(null,arguments)};var dynCall_vji=Module["dynCall_vji"]=function(){return(dynCall_vji=Module["dynCall_vji"]=Module["asm"]["dynCall_vji"]).apply(null,arguments)};var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=function(){return(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["dynCall_viiiiiii"]).apply(null,arguments)};var dynCall_viiffi=Module["dynCall_viiffi"]=function(){return(dynCall_viiffi=Module["dynCall_viiffi"]=Module["asm"]["dynCall_viiffi"]).apply(null,arguments)};var dynCall_iiifii=Module["dynCall_iiifii"]=function(){return(dynCall_iiifii=Module["dynCall_iiifii"]=Module["asm"]["dynCall_iiifii"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["dynCall_viiiifii"]).apply(null,arguments)};var dynCall_iifi=Module["dynCall_iifi"]=function(){return(dynCall_iifi=Module["dynCall_iifi"]=Module["asm"]["dynCall_iifi"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["dynCall_fiii"]).apply(null,arguments)};var dynCall_jiiijii=Module["dynCall_jiiijii"]=function(){return(dynCall_jiiijii=Module["dynCall_jiiijii"]=Module["asm"]["dynCall_jiiijii"]).apply(null,arguments)};var dynCall_viiijiii=Module["dynCall_viiijiii"]=function(){return(dynCall_viiijiii=Module["dynCall_viiijiii"]=Module["asm"]["dynCall_viiijiii"]).apply(null,arguments)};var dynCall_didi=Module["dynCall_didi"]=function(){return(dynCall_didi=Module["dynCall_didi"]=Module["asm"]["dynCall_didi"]).apply(null,arguments)};var dynCall_fifi=Module["dynCall_fifi"]=function(){return(dynCall_fifi=Module["dynCall_fifi"]=Module["asm"]["dynCall_fifi"]).apply(null,arguments)};var dynCall_fffi=Module["dynCall_fffi"]=function(){return(dynCall_fffi=Module["dynCall_fffi"]=Module["asm"]["dynCall_fffi"]).apply(null,arguments)};var dynCall_viifii=Module["dynCall_viifii"]=function(){return(dynCall_viifii=Module["dynCall_viifii"]=Module["asm"]["dynCall_viifii"]).apply(null,arguments)};var dynCall_vifi=Module["dynCall_vifi"]=function(){return(dynCall_vifi=Module["dynCall_vifi"]=Module["asm"]["dynCall_vifi"]).apply(null,arguments)};var dynCall_iiiifi=Module["dynCall_iiiifi"]=function(){return(dynCall_iiiifi=Module["dynCall_iiiifi"]=Module["asm"]["dynCall_iiiifi"]).apply(null,arguments)};var dynCall_fiiffi=Module["dynCall_fiiffi"]=function(){return(dynCall_fiiffi=Module["dynCall_fiiffi"]=Module["asm"]["dynCall_fiiffi"]).apply(null,arguments)};var dynCall_viiififii=Module["dynCall_viiififii"]=function(){return(dynCall_viiififii=Module["dynCall_viiififii"]=Module["asm"]["dynCall_viiififii"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_diidi=Module["dynCall_diidi"]=function(){return(dynCall_diidi=Module["dynCall_diidi"]=Module["asm"]["dynCall_diidi"]).apply(null,arguments)};var dynCall_jiiji=Module["dynCall_jiiji"]=function(){return(dynCall_jiiji=Module["dynCall_jiiji"]=Module["asm"]["dynCall_jiiji"]).apply(null,arguments)};var dynCall_fiifi=Module["dynCall_fiifi"]=function(){return(dynCall_fiifi=Module["dynCall_fiifi"]=Module["asm"]["dynCall_fiifi"]).apply(null,arguments)};var dynCall_iiffi=Module["dynCall_iiffi"]=function(){return(dynCall_iiffi=Module["dynCall_iiffi"]=Module["asm"]["dynCall_iiffi"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["dynCall_fi"]).apply(null,arguments)};var dynCall_iiifi=Module["dynCall_iiifi"]=function(){return(dynCall_iiifi=Module["dynCall_iiifi"]=Module["asm"]["dynCall_iiifi"]).apply(null,arguments)};var dynCall_viiiifi=Module["dynCall_viiiifi"]=function(){return(dynCall_viiiifi=Module["dynCall_viiiifi"]=Module["asm"]["dynCall_viiiifi"]).apply(null,arguments)};var dynCall_viiji=Module["dynCall_viiji"]=function(){return(dynCall_viiji=Module["dynCall_viiji"]=Module["asm"]["dynCall_viiji"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["dynCall_iiijii"]).apply(null,arguments)};var dynCall_iiddi=Module["dynCall_iiddi"]=function(){return(dynCall_iiddi=Module["dynCall_iiddi"]=Module["asm"]["dynCall_iiddi"]).apply(null,arguments)};var dynCall_iijji=Module["dynCall_iijji"]=function(){return(dynCall_iijji=Module["dynCall_iijji"]=Module["asm"]["dynCall_iijji"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiii"]).apply(null,arguments)};var dynCall_vijii=Module["dynCall_vijii"]=function(){return(dynCall_vijii=Module["dynCall_vijii"]=Module["asm"]["dynCall_vijii"]).apply(null,arguments)};var dynCall_iijiii=Module["dynCall_iijiii"]=function(){return(dynCall_iijiii=Module["dynCall_iijiii"]=Module["asm"]["dynCall_iijiii"]).apply(null,arguments)};var dynCall_iji=Module["dynCall_iji"]=function(){return(dynCall_iji=Module["dynCall_iji"]=Module["asm"]["dynCall_iji"]).apply(null,arguments)};var dynCall_jjji=Module["dynCall_jjji"]=function(){return(dynCall_jjji=Module["dynCall_jjji"]=Module["asm"]["dynCall_jjji"]).apply(null,arguments)};var dynCall_jiiiii=Module["dynCall_jiiiii"]=function(){return(dynCall_jiiiii=Module["dynCall_jiiiii"]=Module["asm"]["dynCall_jiiiii"]).apply(null,arguments)};var dynCall_ddiii=Module["dynCall_ddiii"]=function(){return(dynCall_ddiii=Module["dynCall_ddiii"]=Module["asm"]["dynCall_ddiii"]).apply(null,arguments)};var dynCall_iidi=Module["dynCall_iidi"]=function(){return(dynCall_iidi=Module["dynCall_iidi"]=Module["asm"]["dynCall_iidi"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiii"]).apply(null,arguments)};var dynCall_jijii=Module["dynCall_jijii"]=function(){return(dynCall_jijii=Module["dynCall_jijii"]=Module["asm"]["dynCall_jijii"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["dynCall_fii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiii"]).apply(null,arguments)};var dynCall_jiii=Module["dynCall_jiii"]=function(){return(dynCall_jiii=Module["dynCall_jiii"]=Module["asm"]["dynCall_jiii"]).apply(null,arguments)};var dynCall_ijji=Module["dynCall_ijji"]=function(){return(dynCall_ijji=Module["dynCall_ijji"]=Module["asm"]["dynCall_ijji"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["dynCall_j"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["dynCall_iijii"]).apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return(dynCall_dii=Module["dynCall_dii"]=Module["asm"]["dynCall_dii"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["dynCall_iiji"]).apply(null,arguments)};var dynCall_vijiii=Module["dynCall_vijiii"]=function(){return(dynCall_vijiii=Module["dynCall_vijiii"]=Module["asm"]["dynCall_vijiii"]).apply(null,arguments)};var dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=function(){return(dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=Module["asm"]["dynCall_vjjjiiii"]).apply(null,arguments)};var dynCall_vjiiiii=Module["dynCall_vjiiiii"]=function(){return(dynCall_vjiiiii=Module["dynCall_vjiiiii"]=Module["asm"]["dynCall_vjiiiii"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["dynCall_iiiji"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["dynCall_viji"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["dynCall_iiiiji"]).apply(null,arguments)};var dynCall_viiijii=Module["dynCall_viiijii"]=function(){return(dynCall_viiijii=Module["dynCall_viiijii"]=Module["asm"]["dynCall_viiijii"]).apply(null,arguments)};var dynCall_ifi=Module["dynCall_ifi"]=function(){return(dynCall_ifi=Module["dynCall_ifi"]=Module["asm"]["dynCall_ifi"]).apply(null,arguments)};var dynCall_ijjiii=Module["dynCall_ijjiii"]=function(){return(dynCall_ijjiii=Module["dynCall_ijjiii"]=Module["asm"]["dynCall_ijjiii"]).apply(null,arguments)};var dynCall_ijiiii=Module["dynCall_ijiiii"]=function(){return(dynCall_ijiiii=Module["dynCall_ijiiii"]=Module["asm"]["dynCall_ijiiii"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["dynCall_ijiii"]).apply(null,arguments)};var dynCall_viffi=Module["dynCall_viffi"]=function(){return(dynCall_viffi=Module["dynCall_viffi"]=Module["asm"]["dynCall_viffi"]).apply(null,arguments)};var dynCall_diiiii=Module["dynCall_diiiii"]=function(){return(dynCall_diiiii=Module["dynCall_diiiii"]=Module["asm"]["dynCall_diiiii"]).apply(null,arguments)};var dynCall_vijji=Module["dynCall_vijji"]=function(){return(dynCall_vijji=Module["dynCall_vijji"]=Module["asm"]["dynCall_vijji"]).apply(null,arguments)};var dynCall_viffffi=Module["dynCall_viffffi"]=function(){return(dynCall_viffffi=Module["dynCall_viffffi"]=Module["asm"]["dynCall_viffffi"]).apply(null,arguments)};var dynCall_vfffi=Module["dynCall_vfffi"]=function(){return(dynCall_vfffi=Module["dynCall_vfffi"]=Module["asm"]["dynCall_vfffi"]).apply(null,arguments)};var dynCall_vffi=Module["dynCall_vffi"]=function(){return(dynCall_vffi=Module["dynCall_vffi"]=Module["asm"]["dynCall_vffi"]).apply(null,arguments)};var dynCall_vffffi=Module["dynCall_vffffi"]=function(){return(dynCall_vffffi=Module["dynCall_vffffi"]=Module["asm"]["dynCall_vffffi"]).apply(null,arguments)};var dynCall_viiifi=Module["dynCall_viiifi"]=function(){return(dynCall_viiifi=Module["dynCall_viiifi"]=Module["asm"]["dynCall_viiifi"]).apply(null,arguments)};var dynCall_viiiiffi=Module["dynCall_viiiiffi"]=function(){return(dynCall_viiiiffi=Module["dynCall_viiiiffi"]=Module["asm"]["dynCall_viiiiffi"]).apply(null,arguments)};var dynCall_viiiffii=Module["dynCall_viiiffii"]=function(){return(dynCall_viiiffii=Module["dynCall_viiiffii"]=Module["asm"]["dynCall_viiiffii"]).apply(null,arguments)};var dynCall_vifffi=Module["dynCall_vifffi"]=function(){return(dynCall_vifffi=Module["dynCall_vifffi"]=Module["asm"]["dynCall_vifffi"]).apply(null,arguments)};var dynCall_viiiifffi=Module["dynCall_viiiifffi"]=function(){return(dynCall_viiiifffi=Module["dynCall_viiiifffi"]=Module["asm"]["dynCall_viiiifffi"]).apply(null,arguments)};var dynCall_vfiii=Module["dynCall_vfiii"]=function(){return(dynCall_vfiii=Module["dynCall_vfiii"]=Module["asm"]["dynCall_vfiii"]).apply(null,arguments)};var dynCall_ffi=Module["dynCall_ffi"]=function(){return(dynCall_ffi=Module["dynCall_ffi"]=Module["asm"]["dynCall_ffi"]).apply(null,arguments)};var dynCall_ffffi=Module["dynCall_ffffi"]=function(){return(dynCall_ffffi=Module["dynCall_ffffi"]=Module["asm"]["dynCall_ffffi"]).apply(null,arguments)};var dynCall_iffi=Module["dynCall_iffi"]=function(){return(dynCall_iffi=Module["dynCall_iffi"]=Module["asm"]["dynCall_iffi"]).apply(null,arguments)};var dynCall_fffifffi=Module["dynCall_fffifffi"]=function(){return(dynCall_fffifffi=Module["dynCall_fffifffi"]=Module["asm"]["dynCall_fffifffi"]).apply(null,arguments)};var dynCall_fdi=Module["dynCall_fdi"]=function(){return(dynCall_fdi=Module["dynCall_fdi"]=Module["asm"]["dynCall_fdi"]).apply(null,arguments)};var dynCall_idi=Module["dynCall_idi"]=function(){return(dynCall_idi=Module["dynCall_idi"]=Module["asm"]["dynCall_idi"]).apply(null,arguments)};var dynCall_dddi=Module["dynCall_dddi"]=function(){return(dynCall_dddi=Module["dynCall_dddi"]=Module["asm"]["dynCall_dddi"]).apply(null,arguments)};var dynCall_ddi=Module["dynCall_ddi"]=function(){return(dynCall_ddi=Module["dynCall_ddi"]=Module["asm"]["dynCall_ddi"]).apply(null,arguments)};var dynCall_vfii=Module["dynCall_vfii"]=function(){return(dynCall_vfii=Module["dynCall_vfii"]=Module["asm"]["dynCall_vfii"]).apply(null,arguments)};var dynCall_ddddi=Module["dynCall_ddddi"]=function(){return(dynCall_ddddi=Module["dynCall_ddddi"]=Module["asm"]["dynCall_ddddi"]).apply(null,arguments)};var dynCall_jji=Module["dynCall_jji"]=function(){return(dynCall_jji=Module["dynCall_jji"]=Module["asm"]["dynCall_jji"]).apply(null,arguments)};var dynCall_jjjji=Module["dynCall_jjjji"]=function(){return(dynCall_jjjji=Module["dynCall_jjjji"]=Module["asm"]["dynCall_jjjji"]).apply(null,arguments)};var dynCall_vjiiii=Module["dynCall_vjiiii"]=function(){return(dynCall_vjiiii=Module["dynCall_vjiiii"]=Module["asm"]["dynCall_vjiiii"]).apply(null,arguments)};var dynCall_viifffi=Module["dynCall_viifffi"]=function(){return(dynCall_viifffi=Module["dynCall_viifffi"]=Module["asm"]["dynCall_viifffi"]).apply(null,arguments)};var dynCall_vijjii=Module["dynCall_vijjii"]=function(){return(dynCall_vijjii=Module["dynCall_vijjii"]=Module["asm"]["dynCall_vijjii"]).apply(null,arguments)};var dynCall_viiiiiiiijijiii=Module["dynCall_viiiiiiiijijiii"]=function(){return(dynCall_viiiiiiiijijiii=Module["dynCall_viiiiiiiijijiii"]=Module["asm"]["dynCall_viiiiiiiijijiii"]).apply(null,arguments)};var dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=function(){return(dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=Module["asm"]["dynCall_viiiiiffii"]).apply(null,arguments)};var dynCall_viffffii=Module["dynCall_viffffii"]=function(){return(dynCall_viffffii=Module["dynCall_viffffii"]=Module["asm"]["dynCall_viffffii"]).apply(null,arguments)};var dynCall_iiifiii=Module["dynCall_iiifiii"]=function(){return(dynCall_iiifiii=Module["dynCall_iiifiii"]=Module["asm"]["dynCall_iiifiii"]).apply(null,arguments)};var dynCall_iiiifiii=Module["dynCall_iiiifiii"]=function(){return(dynCall_iiiifiii=Module["dynCall_iiiifiii"]=Module["asm"]["dynCall_iiiifiii"]).apply(null,arguments)};var dynCall_iifiii=Module["dynCall_iifiii"]=function(){return(dynCall_iifiii=Module["dynCall_iifiii"]=Module["asm"]["dynCall_iifiii"]).apply(null,arguments)};var dynCall_iifii=Module["dynCall_iifii"]=function(){return(dynCall_iifii=Module["dynCall_iifii"]=Module["asm"]["dynCall_iifii"]).apply(null,arguments)};var dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=function(){return(dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=Module["asm"]["dynCall_iiiiifiii"]).apply(null,arguments)};var dynCall_iiifiiii=Module["dynCall_iiifiiii"]=function(){return(dynCall_iiifiiii=Module["dynCall_iiifiiii"]=Module["asm"]["dynCall_iiifiiii"]).apply(null,arguments)};var dynCall_vifffffi=Module["dynCall_vifffffi"]=function(){return(dynCall_vifffffi=Module["dynCall_vifffffi"]=Module["asm"]["dynCall_vifffffi"]).apply(null,arguments)};var dynCall_viiiiifi=Module["dynCall_viiiiifi"]=function(){return(dynCall_viiiiifi=Module["dynCall_viiiiifi"]=Module["asm"]["dynCall_viiiiifi"]).apply(null,arguments)};var dynCall_viffiiii=Module["dynCall_viffiiii"]=function(){return(dynCall_viffiiii=Module["dynCall_viffiiii"]=Module["asm"]["dynCall_viffiiii"]).apply(null,arguments)};var dynCall_viiiffffiiii=Module["dynCall_viiiffffiiii"]=function(){return(dynCall_viiiffffiiii=Module["dynCall_viiiffffiiii"]=Module["asm"]["dynCall_viiiffffiiii"]).apply(null,arguments)};var dynCall_viifffffffiiiii=Module["dynCall_viifffffffiiiii"]=function(){return(dynCall_viifffffffiiiii=Module["dynCall_viifffffffiiiii"]=Module["asm"]["dynCall_viifffffffiiiii"]).apply(null,arguments)};var dynCall_fiiii=Module["dynCall_fiiii"]=function(){return(dynCall_fiiii=Module["dynCall_fiiii"]=Module["asm"]["dynCall_fiiii"]).apply(null,arguments)};var dynCall_fiiiii=Module["dynCall_fiiiii"]=function(){return(dynCall_fiiiii=Module["dynCall_fiiiii"]=Module["asm"]["dynCall_fiiiii"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiiii"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_viffii=Module["dynCall_viffii"]=function(){return(dynCall_viffii=Module["dynCall_viffii"]=Module["asm"]["dynCall_viffii"]).apply(null,arguments)};var dynCall_vififiii=Module["dynCall_vififiii"]=function(){return(dynCall_vififiii=Module["dynCall_vififiii"]=Module["asm"]["dynCall_vififiii"]).apply(null,arguments)};var dynCall_viififii=Module["dynCall_viififii"]=function(){return(dynCall_viififii=Module["dynCall_viififii"]=Module["asm"]["dynCall_viififii"]).apply(null,arguments)};var dynCall_fiffi=Module["dynCall_fiffi"]=function(){return(dynCall_fiffi=Module["dynCall_fiffi"]=Module["asm"]["dynCall_fiffi"]).apply(null,arguments)};var dynCall_viijji=Module["dynCall_viijji"]=function(){return(dynCall_viijji=Module["dynCall_viijji"]=Module["asm"]["dynCall_viijji"]).apply(null,arguments)};var dynCall_diii=Module["dynCall_diii"]=function(){return(dynCall_diii=Module["dynCall_diii"]=Module["asm"]["dynCall_diii"]).apply(null,arguments)};var dynCall_viiidi=Module["dynCall_viiidi"]=function(){return(dynCall_viiidi=Module["dynCall_viiidi"]=Module["asm"]["dynCall_viiidi"]).apply(null,arguments)};var dynCall_jijji=Module["dynCall_jijji"]=function(){return(dynCall_jijji=Module["dynCall_jijji"]=Module["asm"]["dynCall_jijji"]).apply(null,arguments)};var dynCall_viiffffi=Module["dynCall_viiffffi"]=function(){return(dynCall_viiffffi=Module["dynCall_viiffffi"]=Module["asm"]["dynCall_viiffffi"]).apply(null,arguments)};var dynCall_fifffi=Module["dynCall_fifffi"]=function(){return(dynCall_fifffi=Module["dynCall_fifffi"]=Module["asm"]["dynCall_fifffi"]).apply(null,arguments)};var dynCall_ifffi=Module["dynCall_ifffi"]=function(){return(dynCall_ifffi=Module["dynCall_ifffi"]=Module["asm"]["dynCall_ifffi"]).apply(null,arguments)};var dynCall_viffiii=Module["dynCall_viffiii"]=function(){return(dynCall_viffiii=Module["dynCall_viffiii"]=Module["asm"]["dynCall_viffiii"]).apply(null,arguments)};var dynCall_viffifi=Module["dynCall_viffifi"]=function(){return(dynCall_viffifi=Module["dynCall_viffifi"]=Module["asm"]["dynCall_viffifi"]).apply(null,arguments)};var dynCall_fiffffi=Module["dynCall_fiffffi"]=function(){return(dynCall_fiffffi=Module["dynCall_fiffffi"]=Module["asm"]["dynCall_fiffffi"]).apply(null,arguments)};var dynCall_fffffffi=Module["dynCall_fffffffi"]=function(){return(dynCall_fffffffi=Module["dynCall_fffffffi"]=Module["asm"]["dynCall_fffffffi"]).apply(null,arguments)};var dynCall_viiffifi=Module["dynCall_viiffifi"]=function(){return(dynCall_viiffifi=Module["dynCall_viiffifi"]=Module["asm"]["dynCall_viiffifi"]).apply(null,arguments)};var dynCall_viiiffiiiiiiiii=Module["dynCall_viiiffiiiiiiiii"]=function(){return(dynCall_viiiffiiiiiiiii=Module["dynCall_viiiffiiiiiiiii"]=Module["asm"]["dynCall_viiiffiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiffiiiiii=Module["dynCall_viiiffiiiiii"]=function(){return(dynCall_viiiffiiiiii=Module["dynCall_viiiffiiiiii"]=Module["asm"]["dynCall_viiiffiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiiiiiii=Module["dynCall_viiffiiiiiiiiii"]=function(){return(dynCall_viiffiiiiiiiiii=Module["dynCall_viiffiiiiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=function(){return(dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiii"]).apply(null,arguments)};var dynCall_viffffffi=Module["dynCall_viffffffi"]=function(){return(dynCall_viffffffi=Module["dynCall_viffffffi"]=Module["asm"]["dynCall_viffffffi"]).apply(null,arguments)};var dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=function(){return(dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=Module["asm"]["dynCall_iiiffiiii"]).apply(null,arguments)};var dynCall_fffffi=Module["dynCall_fffffi"]=function(){return(dynCall_fffffi=Module["dynCall_fffffi"]=Module["asm"]["dynCall_fffffi"]).apply(null,arguments)};var dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=function(){return(dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=Module["asm"]["dynCall_iiiiffiiii"]).apply(null,arguments)};var dynCall_fiiiffi=Module["dynCall_fiiiffi"]=function(){return(dynCall_fiiiffi=Module["dynCall_fiiiffi"]=Module["asm"]["dynCall_fiiiffi"]).apply(null,arguments)};var dynCall_diiii=Module["dynCall_diiii"]=function(){return(dynCall_diiii=Module["dynCall_diiii"]=Module["asm"]["dynCall_diiii"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["dynCall_jiiii"]).apply(null,arguments)};var dynCall_ijii=Module["dynCall_ijii"]=function(){return(dynCall_ijii=Module["dynCall_ijii"]=Module["asm"]["dynCall_ijii"]).apply(null,arguments)};var dynCall_vjii=Module["dynCall_vjii"]=function(){return(dynCall_vjii=Module["dynCall_vjii"]=Module["asm"]["dynCall_vjii"]).apply(null,arguments)};var dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=function(){return(dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=Module["asm"]["dynCall_viiiiiiiijiiii"]).apply(null,arguments)};var dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=function(){return(dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=Module["asm"]["dynCall_viiiiiifiiiiii"]).apply(null,arguments)};var dynCall_viffffiii=Module["dynCall_viffffiii"]=function(){return(dynCall_viffffiii=Module["dynCall_viffffiii"]=Module["asm"]["dynCall_viffffiii"]).apply(null,arguments)};var dynCall_viifiii=Module["dynCall_viifiii"]=function(){return(dynCall_viifiii=Module["dynCall_viifiii"]=Module["asm"]["dynCall_viifiii"]).apply(null,arguments)};var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=function(){return(dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=Module["asm"]["dynCall_vifiiiiii"]).apply(null,arguments)};var dynCall_ffii=Module["dynCall_ffii"]=function(){return(dynCall_ffii=Module["dynCall_ffii"]=Module["asm"]["dynCall_ffii"]).apply(null,arguments)};var dynCall_viifiiii=Module["dynCall_viifiiii"]=function(){return(dynCall_viifiiii=Module["dynCall_viifiiii"]=Module["asm"]["dynCall_viifiiii"]).apply(null,arguments)};var dynCall_fifii=Module["dynCall_fifii"]=function(){return(dynCall_fifii=Module["dynCall_fifii"]=Module["asm"]["dynCall_fifii"]).apply(null,arguments)};var dynCall_vifffii=Module["dynCall_vifffii"]=function(){return(dynCall_vifffii=Module["dynCall_vifffii"]=Module["asm"]["dynCall_vifffii"]).apply(null,arguments)};var dynCall_viiiffi=Module["dynCall_viiiffi"]=function(){return(dynCall_viiiffi=Module["dynCall_viiiffi"]=Module["asm"]["dynCall_viiiffi"]).apply(null,arguments)};var dynCall_viiifffi=Module["dynCall_viiifffi"]=function(){return(dynCall_viiifffi=Module["dynCall_viiifffi"]=Module["asm"]["dynCall_viiifffi"]).apply(null,arguments)};var dynCall_fiifii=Module["dynCall_fiifii"]=function(){return(dynCall_fiifii=Module["dynCall_fiifii"]=Module["asm"]["dynCall_fiifii"]).apply(null,arguments)};var dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=function(){return(dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=Module["asm"]["dynCall_iiiifiiii"]).apply(null,arguments)};var dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=function(){return(dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=Module["asm"]["dynCall_viiiiiffi"]).apply(null,arguments)};var dynCall_iifffi=Module["dynCall_iifffi"]=function(){return(dynCall_iifffi=Module["dynCall_iifffi"]=Module["asm"]["dynCall_iifffi"]).apply(null,arguments)};var dynCall_viiifii=Module["dynCall_viiifii"]=function(){return(dynCall_viiifii=Module["dynCall_viiifii"]=Module["asm"]["dynCall_viiifii"]).apply(null,arguments)};var dynCall_viiidii=Module["dynCall_viiidii"]=function(){return(dynCall_viiidii=Module["dynCall_viiidii"]=Module["asm"]["dynCall_viiidii"]).apply(null,arguments)};var dynCall_ijiiiiiiiii=Module["dynCall_ijiiiiiiiii"]=function(){return(dynCall_ijiiiiiiiii=Module["dynCall_ijiiiiiiiii"]=Module["asm"]["dynCall_ijiiiiiiiii"]).apply(null,arguments)};var dynCall_jjjii=Module["dynCall_jjjii"]=function(){return(dynCall_jjjii=Module["dynCall_jjjii"]=Module["asm"]["dynCall_jjjii"]).apply(null,arguments)};var dynCall_iijjijii=Module["dynCall_iijjijii"]=function(){return(dynCall_iijjijii=Module["dynCall_iijjijii"]=Module["asm"]["dynCall_iijjijii"]).apply(null,arguments)};var dynCall_viiiijii=Module["dynCall_viiiijii"]=function(){return(dynCall_viiiijii=Module["dynCall_viiiijii"]=Module["asm"]["dynCall_viiiijii"]).apply(null,arguments)};var dynCall_jiijii=Module["dynCall_jiijii"]=function(){return(dynCall_jiijii=Module["dynCall_jiijii"]=Module["asm"]["dynCall_jiijii"]).apply(null,arguments)};var dynCall_viijiii=Module["dynCall_viijiii"]=function(){return(dynCall_viijiii=Module["dynCall_viijiii"]=Module["asm"]["dynCall_viijiii"]).apply(null,arguments)};var dynCall_jjii=Module["dynCall_jjii"]=function(){return(dynCall_jjii=Module["dynCall_jjii"]=Module["asm"]["dynCall_jjii"]).apply(null,arguments)};var dynCall_viffffffffffffffffi=Module["dynCall_viffffffffffffffffi"]=function(){return(dynCall_viffffffffffffffffi=Module["dynCall_viffffffffffffffffi"]=Module["asm"]["dynCall_viffffffffffffffffi"]).apply(null,arguments)};var dynCall_viiiifiii=Module["dynCall_viiiifiii"]=function(){return(dynCall_viiiifiii=Module["dynCall_viiiifiii"]=Module["asm"]["dynCall_viiiifiii"]).apply(null,arguments)};var dynCall_viifffffi=Module["dynCall_viifffffi"]=function(){return(dynCall_viifffffi=Module["dynCall_viifffffi"]=Module["asm"]["dynCall_viifffffi"]).apply(null,arguments)};var dynCall_viiffffffi=Module["dynCall_viiffffffi"]=function(){return(dynCall_viiffffffi=Module["dynCall_viiffffffi"]=Module["asm"]["dynCall_viiffffffi"]).apply(null,arguments)};var dynCall_viifffffffi=Module["dynCall_viifffffffi"]=function(){return(dynCall_viifffffffi=Module["dynCall_viifffffffi"]=Module["asm"]["dynCall_viifffffffi"]).apply(null,arguments)};var dynCall_viiffffffffi=Module["dynCall_viiffffffffi"]=function(){return(dynCall_viiffffffffi=Module["dynCall_viiffffffffi"]=Module["asm"]["dynCall_viiffffffffi"]).apply(null,arguments)};var dynCall_vifiiii=Module["dynCall_vifiiii"]=function(){return(dynCall_vifiiii=Module["dynCall_vifiiii"]=Module["asm"]["dynCall_vifiiii"]).apply(null,arguments)};var dynCall_vidiii=Module["dynCall_vidiii"]=function(){return(dynCall_vidiii=Module["dynCall_vidiii"]=Module["asm"]["dynCall_vidiii"]).apply(null,arguments)};var dynCall_viiffffffffiii=Module["dynCall_viiffffffffiii"]=function(){return(dynCall_viiffffffffiii=Module["dynCall_viiffffffffiii"]=Module["asm"]["dynCall_viiffffffffiii"]).apply(null,arguments)};var dynCall_viiiiffffii=Module["dynCall_viiiiffffii"]=function(){return(dynCall_viiiiffffii=Module["dynCall_viiiiffffii"]=Module["asm"]["dynCall_viiiiffffii"]).apply(null,arguments)};var dynCall_fiiiiii=Module["dynCall_fiiiiii"]=function(){return(dynCall_fiiiiii=Module["dynCall_fiiiiii"]=Module["asm"]["dynCall_fiiiiii"]).apply(null,arguments)};var dynCall_idiiii=Module["dynCall_idiiii"]=function(){return(dynCall_idiiii=Module["dynCall_idiiii"]=Module["asm"]["dynCall_idiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=function(){return(dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=Module["asm"]["dynCall_vijiiiiiii"]).apply(null,arguments)};var dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=function(){return(dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=Module["asm"]["dynCall_vijiiiiiiii"]).apply(null,arguments)};var dynCall_jijiii=Module["dynCall_jijiii"]=function(){return(dynCall_jijiii=Module["dynCall_jijiii"]=Module["asm"]["dynCall_jijiii"]).apply(null,arguments)};var dynCall_jjiiii=Module["dynCall_jjiiii"]=function(){return(dynCall_jjiiii=Module["dynCall_jjiiii"]=Module["asm"]["dynCall_jjiiii"]).apply(null,arguments)};var dynCall_jjiiiii=Module["dynCall_jjiiiii"]=function(){return(dynCall_jjiiiii=Module["dynCall_jjiiiii"]=Module["asm"]["dynCall_jjiiiii"]).apply(null,arguments)};var dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=function(){return(dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=Module["asm"]["dynCall_viijiiiiii"]).apply(null,arguments)};var dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=function(){return(dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=Module["asm"]["dynCall_iijiiiiii"]).apply(null,arguments)};var dynCall_iiiijjii=Module["dynCall_iiiijjii"]=function(){return(dynCall_iiiijjii=Module["dynCall_iiiijjii"]=Module["asm"]["dynCall_iiiijjii"]).apply(null,arguments)};var dynCall_jijjji=Module["dynCall_jijjji"]=function(){return(dynCall_jijjji=Module["dynCall_jijjji"]=Module["asm"]["dynCall_jijjji"]).apply(null,arguments)};var dynCall_jijjjii=Module["dynCall_jijjjii"]=function(){return(dynCall_jijjjii=Module["dynCall_jijjjii"]=Module["asm"]["dynCall_jijjjii"]).apply(null,arguments)};var dynCall_jjiii=Module["dynCall_jjiii"]=function(){return(dynCall_jjiii=Module["dynCall_jjiii"]=Module["asm"]["dynCall_jjiii"]).apply(null,arguments)};var dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=function(){return(dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=Module["asm"]["dynCall_ijijiiiii"]).apply(null,arguments)};var dynCall_ijjjiii=Module["dynCall_ijjjiii"]=function(){return(dynCall_ijjjiii=Module["dynCall_ijjjiii"]=Module["asm"]["dynCall_ijjjiii"]).apply(null,arguments)};var dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=function(){return(dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=Module["asm"]["dynCall_vijjjiijii"]).apply(null,arguments)};var dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=function(){return(dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=Module["asm"]["dynCall_ijjjiijii"]).apply(null,arguments)};var dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=function(){return(dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=Module["asm"]["dynCall_vijiiiiii"]).apply(null,arguments)};var dynCall_vijiiii=Module["dynCall_vijiiii"]=function(){return(dynCall_vijiiii=Module["dynCall_vijiiii"]=Module["asm"]["dynCall_vijiiii"]).apply(null,arguments)};var dynCall_jdi=Module["dynCall_jdi"]=function(){return(dynCall_jdi=Module["dynCall_jdi"]=Module["asm"]["dynCall_jdi"]).apply(null,arguments)};var dynCall_jfi=Module["dynCall_jfi"]=function(){return(dynCall_jfi=Module["dynCall_jfi"]=Module["asm"]["dynCall_jfi"]).apply(null,arguments)};var dynCall_fji=Module["dynCall_fji"]=function(){return(dynCall_fji=Module["dynCall_fji"]=Module["asm"]["dynCall_fji"]).apply(null,arguments)};var dynCall_dji=Module["dynCall_dji"]=function(){return(dynCall_dji=Module["dynCall_dji"]=Module["asm"]["dynCall_dji"]).apply(null,arguments)};var dynCall_dfi=Module["dynCall_dfi"]=function(){return(dynCall_dfi=Module["dynCall_dfi"]=Module["asm"]["dynCall_dfi"]).apply(null,arguments)};var dynCall_jidii=Module["dynCall_jidii"]=function(){return(dynCall_jidii=Module["dynCall_jidii"]=Module["asm"]["dynCall_jidii"]).apply(null,arguments)};var dynCall_jidi=Module["dynCall_jidi"]=function(){return(dynCall_jidi=Module["dynCall_jidi"]=Module["asm"]["dynCall_jidi"]).apply(null,arguments)};var dynCall_ijiijii=Module["dynCall_ijiijii"]=function(){return(dynCall_ijiijii=Module["dynCall_ijiijii"]=Module["asm"]["dynCall_ijiijii"]).apply(null,arguments)};var dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=function(){return(dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=Module["asm"]["dynCall_vjjiiiii"]).apply(null,arguments)};var dynCall_vjjii=Module["dynCall_vjjii"]=function(){return(dynCall_vjjii=Module["dynCall_vjjii"]=Module["asm"]["dynCall_vjjii"]).apply(null,arguments)};var dynCall_ijiiji=Module["dynCall_ijiiji"]=function(){return(dynCall_ijiiji=Module["dynCall_ijiiji"]=Module["asm"]["dynCall_ijiiji"]).apply(null,arguments)};var dynCall_ijiiiii=Module["dynCall_ijiiiii"]=function(){return(dynCall_ijiiiii=Module["dynCall_ijiiiii"]=Module["asm"]["dynCall_ijiiiii"]).apply(null,arguments)};var dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=function(){return(dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=Module["asm"]["dynCall_ijiiiiji"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_ddii=Module["dynCall_ddii"]=function(){return(dynCall_ddii=Module["dynCall_ddii"]=Module["asm"]["dynCall_ddii"]).apply(null,arguments)};var dynCall_idiii=Module["dynCall_idiii"]=function(){return(dynCall_idiii=Module["dynCall_idiii"]=Module["asm"]["dynCall_idiii"]).apply(null,arguments)};var dynCall_idiiiii=Module["dynCall_idiiiii"]=function(){return(dynCall_idiiiii=Module["dynCall_idiiiii"]=Module["asm"]["dynCall_idiiiii"]).apply(null,arguments)};var dynCall_iidiii=Module["dynCall_iidiii"]=function(){return(dynCall_iidiii=Module["dynCall_iidiii"]=Module["asm"]["dynCall_iidiii"]).apply(null,arguments)};var dynCall_ifiii=Module["dynCall_ifiii"]=function(){return(dynCall_ifiii=Module["dynCall_ifiii"]=Module["asm"]["dynCall_ifiii"]).apply(null,arguments)};var dynCall_ifiiiii=Module["dynCall_ifiiiii"]=function(){return(dynCall_ifiiiii=Module["dynCall_ifiiiii"]=Module["asm"]["dynCall_ifiiiii"]).apply(null,arguments)};var dynCall_vdiii=Module["dynCall_vdiii"]=function(){return(dynCall_vdiii=Module["dynCall_vdiii"]=Module["asm"]["dynCall_vdiii"]).apply(null,arguments)};var dynCall_jdii=Module["dynCall_jdii"]=function(){return(dynCall_jdii=Module["dynCall_jdii"]=Module["asm"]["dynCall_jdii"]).apply(null,arguments)};var dynCall_vijijji=Module["dynCall_vijijji"]=function(){return(dynCall_vijijji=Module["dynCall_vijijji"]=Module["asm"]["dynCall_vijijji"]).apply(null,arguments)};var dynCall_iijjji=Module["dynCall_iijjji"]=function(){return(dynCall_iijjji=Module["dynCall_iijjji"]=Module["asm"]["dynCall_iijjji"]).apply(null,arguments)};var dynCall_viijjji=Module["dynCall_viijjji"]=function(){return(dynCall_viijjji=Module["dynCall_viijjji"]=Module["asm"]["dynCall_viijjji"]).apply(null,arguments)};var dynCall_vdii=Module["dynCall_vdii"]=function(){return(dynCall_vdii=Module["dynCall_vdii"]=Module["asm"]["dynCall_vdii"]).apply(null,arguments)};var dynCall_diddi=Module["dynCall_diddi"]=function(){return(dynCall_diddi=Module["dynCall_diddi"]=Module["asm"]["dynCall_diddi"]).apply(null,arguments)};var dynCall_viiijji=Module["dynCall_viiijji"]=function(){return(dynCall_viiijji=Module["dynCall_viiijji"]=Module["asm"]["dynCall_viiijji"]).apply(null,arguments)};var dynCall_iijjii=Module["dynCall_iijjii"]=function(){return(dynCall_iijjii=Module["dynCall_iijjii"]=Module["asm"]["dynCall_iijjii"]).apply(null,arguments)};var dynCall_viijijii=Module["dynCall_viijijii"]=function(){return(dynCall_viijijii=Module["dynCall_viijijii"]=Module["asm"]["dynCall_viijijii"]).apply(null,arguments)};var dynCall_viijijiii=Module["dynCall_viijijiii"]=function(){return(dynCall_viijijiii=Module["dynCall_viijijiii"]=Module["asm"]["dynCall_viijijiii"]).apply(null,arguments)};var dynCall_vijiji=Module["dynCall_vijiji"]=function(){return(dynCall_vijiji=Module["dynCall_vijiji"]=Module["asm"]["dynCall_vijiji"]).apply(null,arguments)};var dynCall_viijiijiii=Module["dynCall_viijiijiii"]=function(){return(dynCall_viijiijiii=Module["dynCall_viijiijiii"]=Module["asm"]["dynCall_viijiijiii"]).apply(null,arguments)};var dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=function(){return(dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=Module["asm"]["dynCall_viiiijiiii"]).apply(null,arguments)};var dynCall_jiiiiii=Module["dynCall_jiiiiii"]=function(){return(dynCall_jiiiiii=Module["dynCall_jiiiiii"]=Module["asm"]["dynCall_jiiiiii"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["dynCall_di"]).apply(null,arguments)};var dynCall_viijjii=Module["dynCall_viijjii"]=function(){return(dynCall_viijjii=Module["dynCall_viijjii"]=Module["asm"]["dynCall_viijjii"]).apply(null,arguments)};var dynCall_vijjji=Module["dynCall_vijjji"]=function(){return(dynCall_vijjji=Module["dynCall_vijjji"]=Module["asm"]["dynCall_vijjji"]).apply(null,arguments)};var dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=function(){return(dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=Module["asm"]["dynCall_jiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=function(){return(dynCall_iiiiidii=Module["dynCall_iiiiidii"]=Module["asm"]["dynCall_iiiiidii"]).apply(null,arguments)};var dynCall_iiiiifii=Module["dynCall_iiiiifii"]=function(){return(dynCall_iiiiifii=Module["dynCall_iiiiifii"]=Module["asm"]["dynCall_iiiiifii"]).apply(null,arguments)};var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=function(){return(dynCall_iiiiijii=Module["dynCall_iiiiijii"]=Module["asm"]["dynCall_iiiiijii"]).apply(null,arguments)};var dynCall_iddi=Module["dynCall_iddi"]=function(){return(dynCall_iddi=Module["dynCall_iddi"]=Module["asm"]["dynCall_iddi"]).apply(null,arguments)};var dynCall_iiidiii=Module["dynCall_iiidiii"]=function(){return(dynCall_iiidiii=Module["dynCall_iiidiii"]=Module["asm"]["dynCall_iiidiii"]).apply(null,arguments)};var dynCall_iidii=Module["dynCall_iidii"]=function(){return(dynCall_iidii=Module["dynCall_iidii"]=Module["asm"]["dynCall_iidii"]).apply(null,arguments)};var dynCall_viifffiii=Module["dynCall_viifffiii"]=function(){return(dynCall_viifffiii=Module["dynCall_viifffiii"]=Module["asm"]["dynCall_viifffiii"]).apply(null,arguments)};var dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=function(){return(dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=Module["asm"]["dynCall_iiiiffiiiji"]).apply(null,arguments)};var dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=function(){return(dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=Module["asm"]["dynCall_iiiiffiiiii"]).apply(null,arguments)};var dynCall_diiiidi=Module["dynCall_diiiidi"]=function(){return(dynCall_diiiidi=Module["dynCall_diiiidi"]=Module["asm"]["dynCall_diiiidi"]).apply(null,arguments)};var dynCall_jiiiiji=Module["dynCall_jiiiiji"]=function(){return(dynCall_jiiiiji=Module["dynCall_jiiiiji"]=Module["asm"]["dynCall_jiiiiji"]).apply(null,arguments)};var dynCall_fiiiifi=Module["dynCall_fiiiifi"]=function(){return(dynCall_fiiiifi=Module["dynCall_fiiiifi"]=Module["asm"]["dynCall_fiiiifi"]).apply(null,arguments)};var dynCall_iiidi=Module["dynCall_iiidi"]=function(){return(dynCall_iiidi=Module["dynCall_iiidi"]=Module["asm"]["dynCall_iiidi"]).apply(null,arguments)};var dynCall_vdi=Module["dynCall_vdi"]=function(){return(dynCall_vdi=Module["dynCall_vdi"]=Module["asm"]["dynCall_vdi"]).apply(null,arguments)};var dynCall_vfi=Module["dynCall_vfi"]=function(){return(dynCall_vfi=Module["dynCall_vfi"]=Module["asm"]["dynCall_vfi"]).apply(null,arguments)};var dynCall_fff=Module["dynCall_fff"]=function(){return(dynCall_fff=Module["dynCall_fff"]=Module["asm"]["dynCall_fff"]).apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return(dynCall_vif=Module["dynCall_vif"]=Module["asm"]["dynCall_vif"]).apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return(dynCall_viif=Module["dynCall_viif"]=Module["asm"]["dynCall_viif"]).apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return(dynCall_viffff=Module["dynCall_viffff"]=Module["asm"]["dynCall_viffff"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["dynCall_vid"]).apply(null,arguments)};var dynCall_viiiiif=Module["dynCall_viiiiif"]=function(){return(dynCall_viiiiif=Module["dynCall_viiiiif"]=Module["asm"]["dynCall_viiiiif"]).apply(null,arguments)};var dynCall_viiiif=Module["dynCall_viiiif"]=function(){return(dynCall_viiiif=Module["dynCall_viiiif"]=Module["asm"]["dynCall_viiiif"]).apply(null,arguments)};var dynCall_viiiiiif=Module["dynCall_viiiiiif"]=function(){return(dynCall_viiiiiif=Module["dynCall_viiiiiif"]=Module["asm"]["dynCall_viiiiiif"]).apply(null,arguments)};var dynCall_iiiijiii=Module["dynCall_iiiijiii"]=function(){return(dynCall_iiiijiii=Module["dynCall_iiiijiii"]=Module["asm"]["dynCall_iiiijiii"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["dynCall_iiiij"]).apply(null,arguments)};var dynCall_iiif=Module["dynCall_iiif"]=function(){return(dynCall_iiif=Module["dynCall_iiif"]=Module["asm"]["dynCall_iiif"]).apply(null,arguments)};var dynCall_fif=Module["dynCall_fif"]=function(){return(dynCall_fif=Module["dynCall_fif"]=Module["asm"]["dynCall_fif"]).apply(null,arguments)};var dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=function(){return(dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=Module["asm"]["dynCall_iiiiiifff"]).apply(null,arguments)};var dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=function(){return(dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=Module["asm"]["dynCall_iiiiiifiif"]).apply(null,arguments)};var dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=function(){return(dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=Module["asm"]["dynCall_iiiiiifiii"]).apply(null,arguments)};var dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=function(){return(dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=Module["asm"]["dynCall_iiiiiiifiif"]).apply(null,arguments)};var dynCall_fiff=Module["dynCall_fiff"]=function(){return(dynCall_fiff=Module["dynCall_fiff"]=Module["asm"]["dynCall_fiff"]).apply(null,arguments)};var dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=function(){return(dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=Module["asm"]["dynCall_fiiiiiifiifif"]).apply(null,arguments)};var dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=function(){return(dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=Module["asm"]["dynCall_fiiiiiifiiiif"]).apply(null,arguments)};var dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=function(){return(dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=Module["asm"]["dynCall_iifiiiijii"]).apply(null,arguments)};var dynCall_vifif=Module["dynCall_vifif"]=function(){return(dynCall_vifif=Module["dynCall_vifif"]=Module["asm"]["dynCall_vifif"]).apply(null,arguments)};var dynCall_vifijii=Module["dynCall_vifijii"]=function(){return(dynCall_vifijii=Module["dynCall_vifijii"]=Module["asm"]["dynCall_vifijii"]).apply(null,arguments)};var dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=function(){return(dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=Module["asm"]["dynCall_iiiifffiii"]).apply(null,arguments)};var dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=function(){return(dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=Module["asm"]["dynCall_iiiifffffi"]).apply(null,arguments)};var dynCall_viffiiiif=Module["dynCall_viffiiiif"]=function(){return(dynCall_viffiiiif=Module["dynCall_viffiiiif"]=Module["asm"]["dynCall_viffiiiif"]).apply(null,arguments)};var dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=function(){return(dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=Module["asm"]["dynCall_viffiifffffiii"]).apply(null,arguments)};var dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=function(){return(dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=Module["asm"]["dynCall_viffffiifffiiiiif"]).apply(null,arguments)};var dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=function(){return(dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=Module["asm"]["dynCall_iiiifffffii"]).apply(null,arguments)};var dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=function(){return(dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=Module["asm"]["dynCall_viiiiiiiiiiifii"]).apply(null,arguments)};var dynCall_viff=Module["dynCall_viff"]=function(){return(dynCall_viff=Module["dynCall_viff"]=Module["asm"]["dynCall_viff"]).apply(null,arguments)};var dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=function(){return(dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=Module["asm"]["dynCall_iiiifiiiii"]).apply(null,arguments)};var dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=function(){return(dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=Module["asm"]["dynCall_iiiiifiiiiif"]).apply(null,arguments)};var dynCall_viiff=Module["dynCall_viiff"]=function(){return(dynCall_viiff=Module["dynCall_viiff"]=Module["asm"]["dynCall_viiff"]).apply(null,arguments)};var dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=function(){return(dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=Module["asm"]["dynCall_viiifiiiii"]).apply(null,arguments)};var dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=function(){return(dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=Module["asm"]["dynCall_viiiifiiiiif"]).apply(null,arguments)};var dynCall_iifff=Module["dynCall_iifff"]=function(){return(dynCall_iifff=Module["dynCall_iifff"]=Module["asm"]["dynCall_iifff"]).apply(null,arguments)};var dynCall_viiifiii=Module["dynCall_viiifiii"]=function(){return(dynCall_viiifiii=Module["dynCall_viiifiii"]=Module["asm"]["dynCall_viiifiii"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["dynCall_iif"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["dynCall_viij"]).apply(null,arguments)};var dynCall_viijijj=Module["dynCall_viijijj"]=function(){return(dynCall_viijijj=Module["dynCall_viijijj"]=Module["asm"]["dynCall_viijijj"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["dynCall_viijj"]).apply(null,arguments)};var dynCall_viiiij=Module["dynCall_viiiij"]=function(){return(dynCall_viiiij=Module["dynCall_viiiij"]=Module["asm"]["dynCall_viiiij"]).apply(null,arguments)};var dynCall_iiijji=Module["dynCall_iiijji"]=function(){return(dynCall_iiijji=Module["dynCall_iiijji"]=Module["asm"]["dynCall_iiijji"]).apply(null,arguments)};var dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=function(){return(dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=Module["asm"]["dynCall_ijjiiiii"]).apply(null,arguments)};var dynCall_ijj=Module["dynCall_ijj"]=function(){return(dynCall_ijj=Module["dynCall_ijj"]=Module["asm"]["dynCall_ijj"]).apply(null,arguments)};var dynCall_vjji=Module["dynCall_vjji"]=function(){return(dynCall_vjji=Module["dynCall_vjji"]=Module["asm"]["dynCall_vjji"]).apply(null,arguments)};var dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=function(){return(dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=Module["asm"]["dynCall_iiiiiifffiiifiii"]).apply(null,arguments)};var dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=function(){return(dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=Module["asm"]["dynCall_vjiiiiiii"]).apply(null,arguments)};var dynCall_vf=Module["dynCall_vf"]=function(){return(dynCall_vf=Module["dynCall_vf"]=Module["asm"]["dynCall_vf"]).apply(null,arguments)};var dynCall_vffff=Module["dynCall_vffff"]=function(){return(dynCall_vffff=Module["dynCall_vffff"]=Module["asm"]["dynCall_vffff"]).apply(null,arguments)};var dynCall_vff=Module["dynCall_vff"]=function(){return(dynCall_vff=Module["dynCall_vff"]=Module["asm"]["dynCall_vff"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["dynCall_iiij"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vifff=Module["dynCall_vifff"]=function(){return(dynCall_vifff=Module["dynCall_vifff"]=Module["asm"]["dynCall_vifff"]).apply(null,arguments)};var dynCall_viifff=Module["dynCall_viifff"]=function(){return(dynCall_viifff=Module["dynCall_viifff"]=Module["asm"]["dynCall_viifff"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["dynCall_ij"]).apply(null,arguments)};var dynCall_f=Module["dynCall_f"]=function(){return(dynCall_f=Module["dynCall_f"]=Module["asm"]["dynCall_f"]).apply(null,arguments)};var dynCall_vfff=Module["dynCall_vfff"]=function(){return(dynCall_vfff=Module["dynCall_vfff"]=Module["asm"]["dynCall_vfff"]).apply(null,arguments)};var dynCall_viiif=Module["dynCall_viiif"]=function(){return(dynCall_viiif=Module["dynCall_viiif"]=Module["asm"]["dynCall_viiif"]).apply(null,arguments)};var dynCall_ff=Module["dynCall_ff"]=function(){return(dynCall_ff=Module["dynCall_ff"]=Module["asm"]["dynCall_ff"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiii"]).apply(null,arguments)};var dynCall_viififi=Module["dynCall_viififi"]=function(){return(dynCall_viififi=Module["dynCall_viififi"]=Module["asm"]["dynCall_viififi"]).apply(null,arguments)};var dynCall_if=Module["dynCall_if"]=function(){return(dynCall_if=Module["dynCall_if"]=Module["asm"]["dynCall_if"]).apply(null,arguments)};var dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=function(){return(dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiii=Module["dynCall_viiffiiiiii"]=function(){return(dynCall_viiffiiiiii=Module["dynCall_viiffiiiiii"]=Module["asm"]["dynCall_viiffiiiiii"]).apply(null,arguments)};var dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=function(){return(dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=Module["asm"]["dynCall_viiiiiiiijiii"]).apply(null,arguments)};function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_ddiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiidii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiidii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiifii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiifii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vidi(index,a1,a2,a3){var sp=stackSave();try{dynCall_vidi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vifi(index,a1,a2,a3){var sp=stackSave();try{dynCall_vifi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vifii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vifii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viffi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viffi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiffi(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiffi(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iifi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iifi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viifi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viifi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fffi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fffi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viifii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viifii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fii(index,a1,a2){var sp=stackSave();try{return dynCall_fii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return dynCall_fi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiifi(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiifi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiifi(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiifi(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiifii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiifii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jjji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jjji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vji(index,a1,a2,a3){var sp=stackSave();try{dynCall_vji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_ijji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_jiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vjjjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vjiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["stackTrace"]=stackTrace;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["stackTrace"]=stackTrace;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}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();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +function Pointer_stringify(s,len){warnOnce("The JavaScript function 'Pointer_stringify(ptrToSomeCString)' is obsoleted and will be removed in a future Unity version. Please call 'UTF8ToString(ptrToSomeCString)' instead.");return UTF8ToString(s,len)}Module["Pointer_stringify"]=Pointer_stringify;var stackTraceReference="(^|\\n)(\\s+at\\s+|)jsStackTrace(\\s+\\(|@)([^\\n]+):\\d+:\\d+(\\)|)(\\n|$)";var stackTraceReferenceMatch=jsStackTrace().match(new RegExp(stackTraceReference));if(stackTraceReferenceMatch)Module.stackTraceRegExp=new RegExp(stackTraceReference.replace("([^\\n]+)",stackTraceReferenceMatch[4].replace(/[\\^${}[\]().*+?|]/g,"\\$&")).replace("jsStackTrace","[^\\n]+"));var abort=function(what){if(ABORT)return;ABORT=true;EXITSTATUS=1;if(typeof ENVIRONMENT_IS_PTHREAD!=="undefined"&&ENVIRONMENT_IS_PTHREAD)console.error("Pthread aborting at "+(new Error).stack);if(what!==undefined){out(what);err(what);what=JSON.stringify(what)}else{what=""}var message="abort("+what+") at "+stackTrace();if(Module.abortHandler&&Module.abortHandler(message))return;throw message};Module["SetFullscreen"]=function(fullscreen){if(typeof runtimeInitialized==="undefined"||!runtimeInitialized){console.log("Runtime not initialized yet.")}else if(typeof JSEvents==="undefined"){console.log("Player not loaded yet.")}else{var tmp=JSEvents.canPerformEventHandlerRequests;JSEvents.canPerformEventHandlerRequests=function(){return 1};Module.ccall("SetFullscreen",null,["number"],[fullscreen]);JSEvents.canPerformEventHandlerRequests=tmp}};if(!Module["ENVIRONMENT_IS_PTHREAD"]){Module["preRun"].push(function(){var unityFileSystemInit=Module["unityFileSystemInit"]||function(){FS.mkdir("/idbfs");FS.mount(IDBFS,{},"/idbfs");Module.addRunDependency("JS_FileSystem_Mount");FS.syncfs(true,function(err){if(err)console.log("IndexedDB is not available. Data will not persist in cache and PlayerPrefs will not be saved.");Module.removeRunDependency("JS_FileSystem_Mount")})};unityFileSystemInit()})}var videoInputDevices=[];var videoInputDevicesEnumerated=false;var removeEnumerateMediaDevicesRunDependency;var enumerateWatchdog=null;function matchToOldDevice(newDevice){var oldDevices=Object.keys(videoInputDevices);for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=(()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}});read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=(filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret});readAsync=((filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})});if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"}}else 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;function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function convertJsFunctionToWasm(func,sig){if(typeof WebAssembly.Function=="function"){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{tempRet0=value};var getTempRet0=()=>tempRet0;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)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}else{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&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function allocateUTF8OnStack(str){var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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"]||33554432;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}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 getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 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)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="build.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);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)&&!isFileURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={3033748:function(){return Module.webglContextAttributes.premultipliedAlpha},3033809:function(){return Module.webglContextAttributes.preserveDrawingBuffer},3033873:function(){return Module.webglContextAttributes.powerPreference}};function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){(function(){dynCall_v.call(null,func)})()}else{(function(a1){dynCall_vi.apply(null,[func,a1])})(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function 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){return dynCallLegacy(sig,ptr,args)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setWasmTableEntry(idx,func){wasmTable.set(idx,func);wasmTableMirror[idx]=func}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function _GetJSMemoryInfo(totalJSptr,usedJSptr){if(performance.memory){HEAPF64[totalJSptr>>3]=performance.memory.totalJSHeapSize;HEAPF64[usedJSptr>>3]=performance.memory.usedJSHeapSize}else{HEAPF64[totalJSptr>>3]=NaN;HEAPF64[usedJSptr>>3]=NaN}}var JS_Accelerometer=null;var JS_Accelerometer_callback=0;function _JS_Accelerometer_IsRunning(){return JS_Accelerometer&&JS_Accelerometer.activated||JS_Accelerometer_callback!=0}var JS_Accelerometer_multiplier=1;var JS_Accelerometer_lastValue={x:0,y:0,z:0};function JS_Accelerometer_eventHandler(){JS_Accelerometer_lastValue={x:JS_Accelerometer.x*JS_Accelerometer_multiplier,y:JS_Accelerometer.y*JS_Accelerometer_multiplier,z:JS_Accelerometer.z*JS_Accelerometer_multiplier};if(JS_Accelerometer_callback!=0)dynCall_vfff(JS_Accelerometer_callback,JS_Accelerometer_lastValue.x,JS_Accelerometer_lastValue.y,JS_Accelerometer_lastValue.z)}var JS_Accelerometer_frequencyRequest=0;var JS_Accelerometer_frequency=0;var JS_LinearAccelerationSensor_callback=0;var JS_GravitySensor_callback=0;var JS_Gyroscope_callback=0;function JS_ComputeGravity(accelerometerValue,linearAccelerationValue){var difference={x:accelerometerValue.x-linearAccelerationValue.x,y:accelerometerValue.y-linearAccelerationValue.y,z:accelerometerValue.z-linearAccelerationValue.z};var differenceMagnitudeSq=difference.x*difference.x+difference.y*difference.y+difference.z*difference.z;var sum={x:accelerometerValue.x+linearAccelerationValue.x,y:accelerometerValue.y+linearAccelerationValue.y,z:accelerometerValue.z+linearAccelerationValue.z};var sumMagnitudeSq=sum.x*sum.x+sum.y*sum.y+sum.z*sum.z;return differenceMagnitudeSq<=sumMagnitudeSq?difference:sum}function JS_DeviceMotion_eventHandler(event){var accelerometerValue={x:event.accelerationIncludingGravity.x*JS_Accelerometer_multiplier,y:event.accelerationIncludingGravity.y*JS_Accelerometer_multiplier,z:event.accelerationIncludingGravity.z*JS_Accelerometer_multiplier};if(JS_Accelerometer_callback!=0)dynCall_vfff(JS_Accelerometer_callback,accelerometerValue.x,accelerometerValue.y,accelerometerValue.z);var linearAccelerationValue={x:event.acceleration.x*JS_Accelerometer_multiplier,y:event.acceleration.y*JS_Accelerometer_multiplier,z:event.acceleration.z*JS_Accelerometer_multiplier};if(JS_LinearAccelerationSensor_callback!=0)dynCall_vfff(JS_LinearAccelerationSensor_callback,linearAccelerationValue.x,linearAccelerationValue.y,linearAccelerationValue.z);if(JS_GravitySensor_callback!=0){var gravityValue=JS_ComputeGravity(accelerometerValue,linearAccelerationValue);dynCall_vfff(JS_GravitySensor_callback,gravityValue.x,gravityValue.y,gravityValue.z)}if(JS_Gyroscope_callback!=0){var degToRad=Math.PI/180;dynCall_vfff(JS_Gyroscope_callback,event.rotationRate.alpha*degToRad,event.rotationRate.beta*degToRad,event.rotationRate.gamma*degToRad)}}var JS_DeviceSensorPermissions=0;function JS_RequestDeviceSensorPermissions(permissions){if(permissions&1){if(typeof DeviceOrientationEvent.requestPermission==="function"){DeviceOrientationEvent.requestPermission().then(function(permissionState){if(permissionState==="granted"){JS_DeviceSensorPermissions&=~1}else{warnOnce("DeviceOrientationEvent permission not granted")}}).catch(function(err){warnOnce(err);JS_DeviceSensorPermissions|=1})}}if(permissions&2){if(typeof DeviceMotionEvent.requestPermission==="function"){DeviceMotionEvent.requestPermission().then(function(permissionState){if(permissionState==="granted"){JS_DeviceSensorPermissions&=~2}else{warnOnce("DeviceMotionEvent permission not granted")}}).catch(function(err){warnOnce(err);JS_DeviceSensorPermissions|=2})}}}function JS_DeviceMotion_add(){if(JS_Accelerometer_callback==0&&JS_LinearAccelerationSensor_callback==0&&JS_GravitySensor_callback==0&&JS_Gyroscope_callback==0){JS_RequestDeviceSensorPermissions(2);window.addEventListener("devicemotion",JS_DeviceMotion_eventHandler)}}function JS_DefineAccelerometerMultiplier(){var g=9.80665;JS_Accelerometer_multiplier=/(iPhone|iPad|Macintosh)/i.test(navigator.userAgent)?1/g:-1/g}function _JS_Accelerometer_Start(callback,frequency){JS_DefineAccelerometerMultiplier();if(typeof Accelerometer==="undefined"){JS_DeviceMotion_add();if(callback!=0)JS_Accelerometer_callback=callback;return}if(callback!=0)JS_Accelerometer_callback=callback;function InitializeAccelerometer(frequency){JS_Accelerometer=new Accelerometer({frequency:frequency,referenceFrame:"device"});JS_Accelerometer.addEventListener("reading",JS_Accelerometer_eventHandler);JS_Accelerometer.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_Accelerometer.start();JS_Accelerometer_frequency=frequency}if(JS_Accelerometer){if(JS_Accelerometer_frequency!=frequency){JS_Accelerometer.stop();JS_Accelerometer.removeEventListener("reading",JS_Accelerometer_eventHandler);InitializeAccelerometer(frequency)}}else if(JS_Accelerometer_frequencyRequest!=0){JS_Accelerometer_frequencyRequest=frequency}else{JS_Accelerometer_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeAccelerometer(JS_Accelerometer_frequencyRequest)}else{warnOnce("No permission to use Accelerometer.")}JS_Accelerometer_frequencyRequest=0})}}function JS_DeviceMotion_remove(){if(JS_Accelerometer_callback==0&&JS_LinearAccelerationSensor_callback==0&&JS_GravitySensor_callback==0&&JS_Gyroscope_callback==0){window.removeEventListener("devicemotion",JS_DeviceOrientation_eventHandler)}}function _JS_Accelerometer_Stop(){if(JS_Accelerometer){if(typeof GravitySensor!=="undefined"||JS_GravitySensor_callback==0){JS_Accelerometer.stop();JS_Accelerometer.removeEventListener("reading",JS_Accelerometer_eventHandler);JS_Accelerometer=null}JS_Accelerometer_callback=0;JS_Accelerometer_frequency=0}else if(JS_Accelerometer_callback!=0){JS_Accelerometer_callback=0;JS_DeviceMotion_remove()}}function _JS_Cursor_SetImage(ptr,length){var binary="";for(var i=0;i>2]=viewportX-(rect?rect.left:0);HEAPU32[targetY>>2]=viewportY-(rect?rect.top:0)}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _JS_DOM_UnityCanvasSelector(){var canvasSelector=jsCanvasSelector();if(_JS_DOM_UnityCanvasSelector.selector!=canvasSelector){_free(_JS_DOM_UnityCanvasSelector.ptr);_JS_DOM_UnityCanvasSelector.ptr=stringToNewUTF8(canvasSelector);_JS_DOM_UnityCanvasSelector.selector=canvasSelector}return _JS_DOM_UnityCanvasSelector.ptr}function _JS_Eval_EvalJS(ptr){var str=UTF8ToString(ptr);try{eval(str)}catch(exception){console.error(exception)}}function _JS_Eval_OpenURL(ptr){var str=UTF8ToString(ptr);window.open(str,"_blank","")}var fs={numPendingSync:0,syncInternal:1e3,syncInProgress:false,sync:function(onlyPendingSync){if(onlyPendingSync){if(fs.numPendingSync==0)return}else if(fs.syncInProgress){fs.numPendingSync++;return}fs.syncInProgress=true;FS.syncfs(false,function(err){fs.syncInProgress=false});fs.numPendingSync=0}};function _JS_FileSystem_Initialize(){Module.setInterval(function(){fs.sync(true)},fs.syncInternal)}function _JS_FileSystem_Sync(){fs.sync(false)}var JS_GravitySensor=null;function _JS_GravitySensor_IsRunning(){return typeof GravitySensor!=="undefined"?JS_GravitySensor&&JS_GravitySensor.activated:JS_GravitySensor_callback!=0}function JS_GravitySensor_eventHandler(){if(JS_GravitySensor_callback!=0)dynCall_vfff(JS_GravitySensor_callback,JS_GravitySensor.x*JS_Accelerometer_multiplier,JS_GravitySensor.y*JS_Accelerometer_multiplier,JS_GravitySensor.z*JS_Accelerometer_multiplier)}var JS_GravitySensor_frequencyRequest=0;var JS_LinearAccelerationSensor=null;function JS_LinearAccelerationSensor_eventHandler(){var linearAccelerationValue={x:JS_LinearAccelerationSensor.x*JS_Accelerometer_multiplier,y:JS_LinearAccelerationSensor.y*JS_Accelerometer_multiplier,z:JS_LinearAccelerationSensor.z*JS_Accelerometer_multiplier};if(JS_LinearAccelerationSensor_callback!=0)dynCall_vfff(JS_LinearAccelerationSensor_callback,linearAccelerationValue.x,linearAccelerationValue.y,linearAccelerationValue.z);if(JS_GravitySensor_callback!=0&&typeof GravitySensor==="undefined"){var gravityValue=JS_ComputeGravity(JS_Accelerometer_lastValue,linearAccelerationValue);dynCall_vfff(JS_GravitySensor_callback,gravityValue.x,gravityValue.y,gravityValue.z)}}var JS_LinearAccelerationSensor_frequencyRequest=0;var JS_LinearAccelerationSensor_frequency=0;function _JS_LinearAccelerationSensor_Start(callback,frequency){JS_DefineAccelerometerMultiplier();if(typeof LinearAccelerationSensor==="undefined"){JS_DeviceMotion_add();if(callback!=0)JS_LinearAccelerationSensor_callback=callback;return}if(callback!=0)JS_LinearAccelerationSensor_callback=callback;function InitializeLinearAccelerationSensor(frequency){JS_LinearAccelerationSensor=new LinearAccelerationSensor({frequency:frequency,referenceFrame:"device"});JS_LinearAccelerationSensor.addEventListener("reading",JS_LinearAccelerationSensor_eventHandler);JS_LinearAccelerationSensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_LinearAccelerationSensor.start();JS_LinearAccelerationSensor_frequency=frequency}if(JS_LinearAccelerationSensor){if(JS_LinearAccelerationSensor_frequency!=frequency){JS_LinearAccelerationSensor.stop();JS_LinearAccelerationSensor.removeEventListener("reading",JS_LinearAccelerationSensor_eventHandler);InitializeLinearAccelerationSensor(frequency)}}else if(JS_LinearAccelerationSensor_frequencyRequest!=0){JS_LinearAccelerationSensor_frequencyRequest=frequency}else{JS_LinearAccelerationSensor_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeLinearAccelerationSensor(JS_LinearAccelerationSensor_frequencyRequest)}else{warnOnce("No permission to use LinearAccelerationSensor.")}JS_LinearAccelerationSensor_frequencyRequest=0})}}function _JS_GravitySensor_Start(callback,frequency){if(typeof GravitySensor==="undefined"){_JS_Accelerometer_Start(0,Math.max(frequency,JS_Accelerometer_frequency));_JS_LinearAccelerationSensor_Start(0,Math.max(frequency,JS_LinearAccelerationSensor_frequency));JS_GravitySensor_callback=callback;return}JS_DefineAccelerometerMultiplier();JS_GravitySensor_callback=callback;function InitializeGravitySensor(frequency){JS_GravitySensor=new GravitySensor({frequency:frequency,referenceFrame:"device"});JS_GravitySensor.addEventListener("reading",JS_GravitySensor_eventHandler);JS_GravitySensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_GravitySensor.start()}if(JS_GravitySensor){JS_GravitySensor.stop();JS_GravitySensor.removeEventListener("reading",JS_GravitySensor_eventHandler);InitializeGravitySensor(frequency)}else if(JS_GravitySensor_frequencyRequest!=0){JS_GravitySensor_frequencyRequest=frequency}else{JS_GravitySensor_frequencyRequest=frequency;navigator.permissions.query({name:"accelerometer"}).then(function(result){if(result.state==="granted"){InitializeGravitySensor(JS_GravitySensor_frequencyRequest)}else{warnOnce("No permission to use GravitySensor.")}JS_GravitySensor_frequencyRequest=0})}}function _JS_LinearAccelerationSensor_Stop(){if(JS_LinearAccelerationSensor){if(typeof GravitySensor!=="undefined"||JS_GravitySensor_callback==0){JS_LinearAccelerationSensor.stop();JS_LinearAccelerationSensor.removeEventListener("reading",JS_LinearAccelerationSensor_eventHandler);JS_LinearAccelerationSensor=null}JS_LinearAccelerationSensor_callback=0;JS_LinearAccelerationSensor_frequency=0}else if(JS_LinearAccelerationSensor_callback!=0){JS_LinearAccelerationSensor_callback=0;JS_DeviceMotion_remove()}}function _JS_GravitySensor_Stop(){JS_GravitySensor_callback=0;if(typeof GravitySensor==="undefined"){if(JS_Accelerometer_callback==0)_JS_Accelerometer_Stop();if(JS_LinearAccelerationSensor_callback==0)_JS_LinearAccelerationSensor_Stop();return}if(JS_GravitySensor){JS_GravitySensor.stop();JS_GravitySensor.removeEventListener("reading",JS_GravitySensor_eventHandler);JS_GravitySensor=null}}function _JS_GuardAgainstJsExceptions(cb){try{(function(){dynCall_v.call(null,cb)})()}catch(e){console.warn(e)}}var JS_Gyroscope=null;function _JS_Gyroscope_IsRunning(){return JS_Gyroscope&&JS_Gyroscope.activated||JS_Gyroscope_callback!=0}function JS_Gyroscope_eventHandler(){if(JS_Gyroscope_callback!=0)dynCall_vfff(JS_Gyroscope_callback,JS_Gyroscope.x,JS_Gyroscope.y,JS_Gyroscope.z)}var JS_Gyroscope_frequencyRequest=0;function _JS_Gyroscope_Start(callback,frequency){if(typeof Gyroscope==="undefined"){JS_DeviceMotion_add();JS_Gyroscope_callback=callback;return}JS_Gyroscope_callback=callback;function InitializeGyroscope(frequency){JS_Gyroscope=new Gyroscope({frequency:frequency,referenceFrame:"device"});JS_Gyroscope.addEventListener("reading",JS_Gyroscope_eventHandler);JS_Gyroscope.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_Gyroscope.start()}if(JS_Gyroscope){JS_Gyroscope.stop();JS_Gyroscope.removeEventListener("reading",JS_Gyroscope_eventHandler);InitializeGyroscope(frequency)}else if(JS_Gyroscope_frequencyRequest!=0){JS_Gyroscope_frequencyRequest=frequency}else{JS_Gyroscope_frequencyRequest=frequency;navigator.permissions.query({name:"gyroscope"}).then(function(result){if(result.state==="granted"){InitializeGyroscope(JS_Gyroscope_frequencyRequest)}else{warnOnce("No permission to use Gyroscope.")}JS_Gyroscope_frequencyRequest=0})}}function _JS_Gyroscope_Stop(){if(JS_Gyroscope){JS_Gyroscope.stop();JS_Gyroscope.removeEventListener("reading",JS_Gyroscope_eventHandler);JS_Gyroscope=null;JS_Gyroscope_callback=0}else if(JS_Gyroscope_callback!=0){JS_Gyroscope_callback=0;JS_DeviceMotion_remove()}}function _JS_LinearAccelerationSensor_IsRunning(){return JS_LinearAccelerationSensor&&JS_LinearAccelerationSensor.activated||JS_LinearAccelerationSensor_callback!=0}function _JS_Log_Dump(ptr,type){var str=UTF8ToString(ptr);if(typeof dump=="function")dump(str);switch(type){case 0:case 1:case 4:console.error(str);return;case 2:console.warn(str);return;case 3:case 5:console.log(str);return;default:console.error("Unknown console message type!");console.error(str)}}function _JS_Log_StackTrace(buffer,bufferSize){var trace=stackTrace();if(buffer)stringToUTF8(trace,buffer,bufferSize);return lengthBytesUTF8(trace)}var mobile_input_hide_delay=null;var mobile_input_text=null;var mobile_input=null;var mobile_input_ignore_blur_event=false;function _JS_MobileKeybard_GetIgnoreBlurEvent(){return mobile_input_ignore_blur_event}function _JS_MobileKeyboard_GetKeyboardStatus(){var kKeyboardStatusVisible=0;var kKeyboardStatusDone=1;if(!mobile_input)return kKeyboardStatusDone;return kKeyboardStatusVisible}function _JS_MobileKeyboard_GetText(buffer,bufferSize){var text=mobile_input&&mobile_input.input?mobile_input.input.value:mobile_input_text?mobile_input_text:"";if(buffer)stringToUTF8(text,buffer,bufferSize);return lengthBytesUTF8(text)}function _JS_MobileKeyboard_GetTextSelection(outStart,outLength){if(!mobile_input){HEAP32[outStart>>2]=0;HEAP32[outLength>>2]=0;return}HEAP32[outStart>>2]=mobile_input.input.selectionStart;HEAP32[outLength>>2]=mobile_input.input.selectionEnd-mobile_input.input.selectionStart}function _JS_MobileKeyboard_Hide(delay){if(mobile_input_hide_delay)return;mobile_input_ignore_blur_event=true;function hideMobileKeyboard(){if(mobile_input&&mobile_input.input){mobile_input_text=mobile_input.input.value;mobile_input.input=null;if(mobile_input.parentNode&&mobile_input.parentNode){mobile_input.parentNode.removeChild(mobile_input)}}mobile_input=null;mobile_input_hide_delay=null;setTimeout(function(){mobile_input_ignore_blur_event=false},100)}if(delay){var hideDelay=200;mobile_input_hide_delay=setTimeout(hideMobileKeyboard,hideDelay)}else{hideMobileKeyboard()}}function _JS_MobileKeyboard_SetCharacterLimit(limit){if(!mobile_input)return;mobile_input.input.maxLength=limit}function _JS_MobileKeyboard_SetText(text){if(!mobile_input)return;text=UTF8ToString(text);mobile_input.input.value=text}function _JS_MobileKeyboard_SetTextSelection(start,length){if(!mobile_input)return;mobile_input.input.setSelectionRange(start,start+length)}function _JS_MobileKeyboard_Show(text,keyboardType,autocorrection,multiline,secure,alert,placeholder,characterLimit){if(mobile_input_hide_delay){clearTimeout(mobile_input_hide_delay);mobile_input_hide_delay=null}text=UTF8ToString(text);mobile_input_text=text;placeholder=UTF8ToString(placeholder);var container=document.body;var hasExistingMobileInput=!!mobile_input;var input_type;var KEYBOARD_TYPE_NUMBERS_AND_PUNCTUATION=2;var KEYBOARD_TYPE_URL=3;var KEYBOARD_TYPE_NUMBER_PAD=4;var KEYBOARD_TYPE_PHONE_PAD=5;var KEYBOARD_TYPE_EMAIL_ADDRESS=7;if(!secure){switch(keyboardType){case KEYBOARD_TYPE_EMAIL_ADDRESS:input_type="email";break;case KEYBOARD_TYPE_URL:input_type="url";break;case KEYBOARD_TYPE_NUMBERS_AND_PUNCTUATION:case KEYBOARD_TYPE_NUMBER_PAD:case KEYBOARD_TYPE_PHONE_PAD:input_type="number";break;default:input_type="text";break}}else{input_type="password"}if(hasExistingMobileInput){if(mobile_input.multiline!=multiline){_JS_MobileKeyboard_Hide(false);return}}var inputContainer=mobile_input||document.createElement("div");if(!hasExistingMobileInput){inputContainer.style="width:100%; position:fixed; bottom:0px; margin:0px; padding:0px; left:0px; border: 1px solid #000; border-radius: 5px; background-color:#fff; font-size:14pt;";container.appendChild(inputContainer);mobile_input=inputContainer}var input=hasExistingMobileInput?mobile_input.input:document.createElement(multiline?"textarea":"input");mobile_input.multiline=multiline;mobile_input.secure=secure;mobile_input.keyboardType=keyboardType;mobile_input.inputType=input_type;input.type=input_type;input.style="width:calc(100% - 85px); "+(multiline?"height:100px;":"")+"vertical-align:top; border-radius: 5px; outline:none; cursor:default; resize:none; border:0px; padding:10px 0px 10px 10px;";input.spellcheck=autocorrection?true:false;input.maxLength=characterLimit>0?characterLimit:524288;input.value=text;input.placeholder=placeholder;if(!hasExistingMobileInput){inputContainer.appendChild(input);inputContainer.input=input}if(!hasExistingMobileInput){var okButton=document.createElement("button");okButton.innerText="OK";okButton.style="border:0; position:absolute; left:calc(100% - 75px); top:0px; width:75px; height:100%; margin:0; padding:0; border-radius: 5px; background-color:#fff";okButton.addEventListener("touchend",function(){_JS_MobileKeyboard_Hide(true)});inputContainer.appendChild(okButton);inputContainer.okButton=okButton;input.addEventListener("keyup",function(e){if(input.parentNode.multiline)return;if(e.code=="Enter"||e.which==13||e.keyCode==13){_JS_MobileKeyboard_Hide(true)}});input.addEventListener("blur",function(e){_JS_MobileKeyboard_Hide(true);e.stopPropagation();e.preventDefault()});input.select();input.focus()}else{input.select()}}var JS_OrientationSensor=null;var JS_OrientationSensor_callback=0;function _JS_OrientationSensor_IsRunning(){return JS_OrientationSensor&&JS_OrientationSensor.activated||JS_OrientationSensor_callback!=0}function JS_OrientationSensor_eventHandler(){if(JS_OrientationSensor_callback!=0)dynCall_vffff(JS_OrientationSensor_callback,JS_OrientationSensor.quaternion[0],JS_OrientationSensor.quaternion[1],JS_OrientationSensor.quaternion[2],JS_OrientationSensor.quaternion[3])}var JS_OrientationSensor_frequencyRequest=0;function JS_DeviceOrientation_eventHandler(event){if(JS_OrientationSensor_callback){var degToRad=Math.PI/180;var x=event.beta*degToRad;var y=event.gamma*degToRad;var z=event.alpha*degToRad;var cx=Math.cos(x/2);var sx=Math.sin(x/2);var cy=Math.cos(y/2);var sy=Math.sin(y/2);var cz=Math.cos(z/2);var sz=Math.sin(z/2);var qx=sx*cy*cz-cx*sy*sz;var qy=cx*sy*cz+sx*cy*sz;var qz=cx*cy*sz+sx*sy*cz;var qw=cx*cy*cz-sx*sy*sz;dynCall_vffff(JS_OrientationSensor_callback,qx,qy,qz,qw)}}function _JS_OrientationSensor_Start(callback,frequency){if(typeof RelativeOrientationSensor==="undefined"){if(JS_OrientationSensor_callback==0){JS_OrientationSensor_callback=callback;JS_RequestDeviceSensorPermissions(1);window.addEventListener("deviceorientation",JS_DeviceOrientation_eventHandler)}return}JS_OrientationSensor_callback=callback;function InitializeOrientationSensor(frequency){JS_OrientationSensor=new RelativeOrientationSensor({frequency:frequency,referenceFrame:"device"});JS_OrientationSensor.addEventListener("reading",JS_OrientationSensor_eventHandler);JS_OrientationSensor.addEventListener("error",function(e){warnOnce(e.error?e.error:e)});JS_OrientationSensor.start()}if(JS_OrientationSensor){JS_OrientationSensor.stop();JS_OrientationSensor.removeEventListener("reading",JS_OrientationSensor_eventHandler);InitializeOrientationSensor(frequency)}else if(JS_OrientationSensor_frequencyRequest!=0){JS_OrientationSensor_frequencyRequest=frequency}else{JS_OrientationSensor_frequencyRequest=frequency;Promise.all([navigator.permissions.query({name:"accelerometer"}),navigator.permissions.query({name:"gyroscope"})]).then(function(results){if(results.every(function(result){return result.state==="granted"})){InitializeOrientationSensor(JS_OrientationSensor_frequencyRequest)}else{warnOnce("No permissions to use RelativeOrientationSensor.")}JS_OrientationSensor_frequencyRequest=0})}}function _JS_OrientationSensor_Stop(){if(JS_OrientationSensor){JS_OrientationSensor.stop();JS_OrientationSensor.removeEventListener("reading",JS_OrientationSensor_eventHandler);JS_OrientationSensor=null}else if(JS_OrientationSensor_callback!=0){window.removeEventListener("deviceorientation",JS_DeviceOrientation_eventHandler)}JS_OrientationSensor_callback=0}function _JS_RequestDeviceSensorPermissionsOnTouch(){if(JS_DeviceSensorPermissions==0)return;JS_RequestDeviceSensorPermissions(JS_DeviceSensorPermissions)}function _JS_RunQuitCallbacks(){Module.QuitCleanup()}var JS_ScreenOrientation_callback=0;function JS_ScreenOrientation_eventHandler(){if(JS_ScreenOrientation_callback)dynCall_viii(JS_ScreenOrientation_callback,window.innerWidth,window.innerHeight,screen.orientation?screen.orientation.angle:window.orientation)}function _JS_ScreenOrientation_DeInit(){JS_ScreenOrientation_callback=0;window.removeEventListener("resize",JS_ScreenOrientation_eventHandler);if(screen.orientation){screen.orientation.removeEventListener("change",JS_ScreenOrientation_eventHandler)}}function _JS_ScreenOrientation_Init(callback){if(!JS_ScreenOrientation_callback){if(screen.orientation){screen.orientation.addEventListener("change",JS_ScreenOrientation_eventHandler)}window.addEventListener("resize",JS_ScreenOrientation_eventHandler);JS_ScreenOrientation_callback=callback;setTimeout(JS_ScreenOrientation_eventHandler,0)}}var JS_ScreenOrientation_requestedLockType=-1;var JS_ScreenOrientation_appliedLockType=-1;var JS_ScreenOrientation_timeoutID=-1;function _JS_ScreenOrientation_Lock(orientationLockType){if(!screen.orientation){return}function applyLock(){JS_ScreenOrientation_appliedLockType=JS_ScreenOrientation_requestedLockType;var screenOrientations=["any",0,"landscape","portrait","portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"];var type=screenOrientations[JS_ScreenOrientation_appliedLockType];screen.orientation.lock(type).then(function(){if(JS_ScreenOrientation_requestedLockType!=JS_ScreenOrientation_appliedLockType){JS_ScreenOrientation_timeoutID=setTimeout(applyLock,0)}else{JS_ScreenOrientation_timeoutID=-1}}).catch(function(err){warnOnce(err);JS_ScreenOrientation_timeoutID=-1})}JS_ScreenOrientation_requestedLockType=orientationLockType;if(JS_ScreenOrientation_timeoutID==-1&&orientationLockType!=JS_ScreenOrientation_appliedLockType){JS_ScreenOrientation_timeoutID=setTimeout(applyLock,0)}}var WEBAudio={audioInstanceIdCounter:0,audioInstances:{},audioContext:null,audioWebEnabled:0,audioCache:[],pendingAudioSources:{}};function jsAudioMixinSetPitch(source){source.estimatePlaybackPosition=function(){var t=(WEBAudio.audioContext.currentTime-source.playbackStartTime)*source.playbackRate.value;if(source.loop&&t>=source.loopStart){t=(t-source.loopStart)%(source.loopEnd-source.loopStart)+source.loopStart}return t};source.setPitch=function(newPitch){var curPosition=source.estimatePlaybackPosition();if(curPosition>=0){source.playbackStartTime=WEBAudio.audioContext.currentTime-curPosition/newPitch}if(source.playbackRate.value!==newPitch)source.playbackRate.value=newPitch}}function jsAudioCreateUncompressedSoundClip(buffer,error){var soundClip={buffer:buffer,error:error};soundClip.release=function(){};soundClip.getLength=function(){if(!this.buffer){console.log("Trying to get length of sound which is not loaded.");return 0}var sampleRateRatio=44100/this.buffer.sampleRate;return this.buffer.length*sampleRateRatio};soundClip.getData=function(ptr,length){if(!this.buffer){console.log("Trying to get data of sound which is not loaded.");return 0}var startOutputBuffer=ptr>>2;var output=HEAPF32.subarray(startOutputBuffer,startOutputBuffer+(length>>2));var numMaxSamples=Math.floor((length>>2)/this.buffer.numberOfChannels);var numReadSamples=Math.min(this.buffer.length,numMaxSamples);for(var i=0;istartDelayThresholdMS){source.playTimeout=setTimeout(function(){source.playTimeout=null;source._startPlayback(offset)},startDelayMS)}else{source._startPlayback(offset)}};source.stop=function(stopTime){if(typeof stopTime==="undefined"){stopTime=WEBAudio.audioContext.currentTime}var stopDelayThresholdMS=4;var stopDelayMS=(stopTime-WEBAudio.audioContext.currentTime)*1e3;if(stopDelayMS>stopDelayThresholdMS){setTimeout(function(){source._pauseMediaElement();source.isStopped=true},stopDelayMS)}else{source._pauseMediaElement();source.isStopped=true}};jsAudioMixinSetPitch(source);return source};return soundClip}function _JS_Sound_Load(ptr,length,decompress,fmodSoundType){if(WEBAudio.audioWebEnabled==0)return 0;var audioData=HEAPU8.buffer.slice(ptr,ptr+length);if(length<131072)decompress=1;var sound;if(decompress){sound=jsAudioCreateUncompressedSoundClipFromCompressedAudio(audioData)}else{sound=jsAudioCreateCompressedSoundClip(audioData,fmodSoundType)}WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=sound;return WEBAudio.audioInstanceIdCounter}function jsAudioCreateUncompressedSoundClipFromPCM(channels,length,sampleRate,ptr){var buffer=WEBAudio.audioContext.createBuffer(channels,length,sampleRate);for(var i=0;i>2)+length*i;var copyToChannel=buffer["copyToChannel"]||function(source,channelNumber,startInChannel){var clipped=source.subarray(0,Math.min(source.length,this.length-(startInChannel|0)));this.getChannelData(channelNumber|0).set(clipped,startInChannel|0)};copyToChannel.apply(buffer,[HEAPF32.subarray(offs,offs+length),i,0])}return jsAudioCreateUncompressedSoundClip(buffer,false)}function _JS_Sound_Load_PCM(channels,length,sampleRate,ptr){if(WEBAudio.audioWebEnabled==0)return 0;var sound=jsAudioCreateUncompressedSoundClipFromPCM(channels,length,sampleRate,ptr);WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=sound;return WEBAudio.audioInstanceIdCounter}function _JS_Sound_Play(bufferInstance,channelInstance,offset,delay){if(WEBAudio.audioWebEnabled==0)return;_JS_Sound_Stop(channelInstance,0);var soundClip=WEBAudio.audioInstances[bufferInstance];var channel=WEBAudio.audioInstances[channelInstance];if(!soundClip){console.log("Trying to play sound which is not loaded.");return}try{channel.playSoundClip(soundClip,WEBAudio.audioContext.currentTime+delay,offset)}catch(error){console.error("playSoundClip error. Exception: "+e)}}function _JS_Sound_ReleaseInstance(instance){var object=WEBAudio.audioInstances[instance];if(object){object.release()}delete WEBAudio.audioInstances[instance]}function _JS_Sound_ResumeIfNeeded(){if(WEBAudio.audioWebEnabled==0)return;if(WEBAudio.audioContext.state==="suspended")WEBAudio.audioContext.resume().catch(function(error){console.warn("Could not resume audio context. Exception: "+error)})}function _JS_Sound_Set3D(channelInstance,threeD){var channel=WEBAudio.audioInstances[channelInstance];channel.set3D(threeD)}function _JS_Sound_SetListenerOrientation(x,y,z,xUp,yUp,zUp){if(WEBAudio.audioWebEnabled==0)return;x=-x;y=-y;z=-z;var l=WEBAudio.audioContext.listener;if(l.forwardX){if(l.forwardX.value!==x)l.forwardX.value=x;if(l.forwardY.value!==y)l.forwardY.value=y;if(l.forwardZ.value!==z)l.forwardZ.value=z;if(l.upX.value!==xUp)l.upX.value=xUp;if(l.upY.value!==yUp)l.upY.value=yUp;if(l.upZ.value!==zUp)l.upZ.value=zUp}else if(l._forwardX!==x||l._forwardY!==y||l._forwardZ!==z||l._upX!==xUp||l._upY!==yUp||l._upZ!==zUp){l.setOrientation(x,y,z,xUp,yUp,zUp);l._forwardX=x;l._forwardY=y;l._forwardZ=z;l._upX=xUp;l._upY=yUp;l._upZ=zUp}}function _JS_Sound_SetListenerPosition(x,y,z){if(WEBAudio.audioWebEnabled==0)return;var l=WEBAudio.audioContext.listener;if(l.positionX){if(l.positionX.value!==x)l.positionX.value=x;if(l.positionY.value!==y)l.positionY.value=y;if(l.positionZ.value!==z)l.positionZ.value=z}else if(l._positionX!==x||l._positionY!==y||l._positionZ!==z){l.setPosition(x,y,z);l._positionX=x;l._positionY=y;l._positionZ=z}}function _JS_Sound_SetLoop(channelInstance,loop){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setLoop(loop)}function _JS_Sound_SetLoopPoints(channelInstance,loopStart,loopEnd){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setLoopPoints(loopStart,loopEnd)}function _JS_Sound_SetPaused(channelInstance,paused){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];if(paused!=channel.isPaused()){if(paused)channel.pause();else channel.resume()}}function _JS_Sound_SetPitch(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{var channel=WEBAudio.audioInstances[channelInstance];channel.setPitch(v)}catch(e){console.error("JS_Sound_SetPitch(channel="+channelInstance+", pitch="+v+") threw an exception: "+e)}}function _JS_Sound_SetPosition(channelInstance,x,y,z){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.setPosition(x,y,z)}function _JS_Sound_SetVolume(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{var channel=WEBAudio.audioInstances[channelInstance];channel.setVolume(v)}catch(e){console.error("JS_Sound_SetVolume(channel="+channelInstance+", volume="+v+") threw an exception: "+e)}}function _JS_Sound_Stop(channelInstance,delay){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];channel.stop(delay)}function _JS_SystemInfo_GetCanvasClientSize(domElementSelector,outWidth,outHeight){var selector=UTF8ToString(domElementSelector);var canvas=selector=="#canvas"?Module["canvas"]:document.querySelector(selector);var w=0,h=0;if(canvas){var size=canvas.getBoundingClientRect();w=size.width;h=size.height}HEAPF64[outWidth>>3]=w;HEAPF64[outHeight>>3]=h}function _JS_SystemInfo_GetDocumentURL(buffer,bufferSize){if(buffer)stringToUTF8(document.URL,buffer,bufferSize);return lengthBytesUTF8(document.URL)}function _JS_SystemInfo_GetGPUInfo(buffer,bufferSize){var gpuinfo=Module.SystemInfo.gpu;if(buffer)stringToUTF8(gpuinfo,buffer,bufferSize);return lengthBytesUTF8(gpuinfo)}function _JS_SystemInfo_GetMatchWebGLToCanvasSize(){return Module.matchWebGLToCanvasSize||Module.matchWebGLToCanvasSize===undefined}function _JS_SystemInfo_GetMemory(){return HEAPU8.length/(1024*1024)}function _JS_SystemInfo_GetOS(buffer,bufferSize){var browser=Module.SystemInfo.os+" "+Module.SystemInfo.osVersion;if(buffer)stringToUTF8(browser,buffer,bufferSize);return lengthBytesUTF8(browser)}function _JS_SystemInfo_GetPreferredDevicePixelRatio(){return Module.matchWebGLToCanvasSize==false?1:Module.devicePixelRatio||window.devicePixelRatio||1}function _JS_SystemInfo_GetScreenSize(outWidth,outHeight){HEAPF64[outWidth>>3]=Module.SystemInfo.width;HEAPF64[outHeight>>3]=Module.SystemInfo.height}function _JS_SystemInfo_HasAstcHdr(){var ext=GLctx.getExtension("WEBGL_compressed_texture_astc");if(ext&&ext.getSupportedProfiles){return ext.getSupportedProfiles().includes("hdr")}return false}function _JS_SystemInfo_HasCursorLock(){return Module.SystemInfo.hasCursorLock}function _JS_SystemInfo_HasFullscreen(){return Module.SystemInfo.hasFullscreen}function _JS_SystemInfo_HasWebGL(){return Module.SystemInfo.hasWebGL}function _JS_UnityEngineShouldQuit(){return!!Module.shouldQuit}var wr={requests:{},responses:{},abortControllers:{},timer:{},nextRequestId:1};function _JS_WebRequest_Abort(requestId){var abortController=wr.abortControllers[requestId];if(!abortController||abortController.signal.aborted){return}abortController.abort()}function _JS_WebRequest_Create(url,method){var _url=UTF8ToString(url);var _method=UTF8ToString(method);var abortController=new AbortController;var requestOptions={url:_url,init:{method:_method,signal:abortController.signal,headers:{},enableStreamingDownload:true},tempBuffer:null,tempBufferSize:0};wr.abortControllers[wr.nextRequestId]=abortController;wr.requests[wr.nextRequestId]=requestOptions;return wr.nextRequestId++}function jsWebRequestGetResponseHeaderString(requestId){var response=wr.responses[requestId];if(!response){return""}if(response.headerString){return response.headerString}var headers="";var entries=response.headers.entries();for(var result=entries.next();!result.done;result=entries.next()){headers+=result.value[0]+": "+result.value[1]+"\r\n"}response.headerString=headers;return headers}function _JS_WebRequest_GetResponseMetaData(requestId,headerBuffer,headerSize,responseUrlBuffer,responseUrlSize){var response=wr.responses[requestId];if(!response){stringToUTF8("",headerBuffer,headerSize);stringToUTF8("",responseUrlBuffer,responseUrlSize);return}if(headerBuffer){var headers=jsWebRequestGetResponseHeaderString(requestId);stringToUTF8(headers,headerBuffer,headerSize)}if(responseUrlBuffer){stringToUTF8(response.url,responseUrlBuffer,responseUrlSize)}}function _JS_WebRequest_GetResponseMetaDataLengths(requestId,buffer){var response=wr.responses[requestId];if(!response){HEAPU32[buffer>>2]=0;HEAPU32[(buffer>>2)+1]=0;return}var headers=jsWebRequestGetResponseHeaderString(requestId);HEAPU32[buffer>>2]=lengthBytesUTF8(headers);HEAPU32[(buffer>>2)+1]=lengthBytesUTF8(response.url)}function _JS_WebRequest_Release(requestId){if(wr.timer[requestId]){clearTimeout(wr.timer[requestId])}delete wr.requests[requestId];delete wr.responses[requestId];delete wr.abortControllers[requestId];delete wr.timer[requestId]}function _JS_WebRequest_Send(requestId,ptr,length,arg,onresponse,onprogress){var requestOptions=wr.requests[requestId];var abortController=wr.abortControllers[requestId];function getTempBuffer(size){if(!requestOptions.tempBuffer){const initialSize=Math.max(size,1024);requestOptions.tempBuffer=_malloc(initialSize);requestOptions.tempBufferSize=initialSize}if(requestOptions.tempBufferSize0){var postData=HEAPU8.subarray(ptr,ptr+length);requestOptions.init.body=new Blob([postData])}if(requestOptions.timeout){wr.timer[requestId]=setTimeout(function(){requestOptions.isTimedOut=true;abortController.abort()},requestOptions.timeout)}var fetchImpl=Module.fetchWithProgress;requestOptions.init.onProgress=HandleProgress;if(Module.companyName&&Module.productName&&Module.cachedFetch){fetchImpl=Module.cachedFetch;requestOptions.init.companyName=Module.companyName;requestOptions.init.productName=Module.productName;requestOptions.init.productVersion=Module.productVersion;requestOptions.init.control=Module.cacheControl(requestOptions.url)}fetchImpl(requestOptions.url,requestOptions.init).then(function(response){wr.responses[requestId]=response;HandleSuccess(response,response.parsedBody)}).catch(function(error){var kWebErrorUnknown=2;var kWebErrorAborted=17;var kWebErrorTimeout=14;if(requestOptions.isTimedOut){HandleError("Connection timed out.",kWebErrorTimeout)}else if(abortController.signal.aborted){HandleError("Aborted.",kWebErrorAborted)}else{HandleError(error.message,kWebErrorUnknown)}})}catch(error){var kWebErrorUnknown=2;HandleError(error.message,kWebErrorUnknown)}}function _JS_WebRequest_SetRedirectLimit(request,redirectLimit){var requestOptions=wr.requests[request];if(!requestOptions){return}requestOptions.init.redirect=redirectLimit===0?"error":"follow"}function _JS_WebRequest_SetRequestHeader(requestId,header,value){var requestOptions=wr.requests[requestId];if(!requestOptions){return}var _header=UTF8ToString(header);var _value=UTF8ToString(value);requestOptions.init.headers[_header]=_value}function _JS_WebRequest_SetTimeout(requestId,timeout){var requestOptions=wr.requests[requestId];if(!requestOptions){return}requestOptions.timeout=timeout}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){HEAP32[this.ptr+4>>2]=type};this.get_type=function(){return HEAP32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){HEAP32[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return HEAP32[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){HEAP32[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return HEAP32[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return HEAP32[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){(function(a1){return dynCall_ii.apply(null,[destructor,a1])})(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{if(typeof indexedDB!="undefined")return indexedDB;var ret=null;if(typeof window=="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:(mount,populate,callback)=>{IDBFS.getLocalSet(mount,(err,local)=>{if(err)return callback(err);IDBFS.getRemoteSet(mount,(err,remote)=>{if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:(name,callback)=>{var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(e=>{var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(()=>{db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},getLocalSet:(mount,callback)=>{var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return p=>{return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={"timestamp":stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:(mount,callback)=>{var entries={};IDBFS.getDB(mount.mountpoint,(err,db)=>{if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(e=>{callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(event=>{var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={"timestamp":cursor.key};cursor.continue()})}catch(e){return callback(e)}})},loadLocalEntry:(path,callback)=>{var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{"timestamp":stat.mtime,"mode":stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{"timestamp":stat.mtime,"mode":stat.mode,"contents":node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:(path,entry,callback)=>{try{if(FS.isDir(entry["mode"])){FS.mkdirTree(path,entry["mode"])}else if(FS.isFile(entry["mode"])){FS.writeFile(path,entry["contents"],{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry["mode"]);FS.utime(path,entry["timestamp"],entry["timestamp"])}catch(e){return callback(e)}callback(null)},removeLocalEntry:(path,callback)=>{try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:(store,path,callback)=>{var req=store.get(path);req.onsuccess=(event=>{callback(null,event.target.result)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},storeRemoteEntry:(store,path,entry,callback)=>{try{var req=store.put(entry,path)}catch(e){callback(e);return}req.onsuccess=(()=>{callback(null)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},removeRemoteEntry:(store,path,callback)=>{var req=store.delete(path);req.onsuccess=(()=>{callback(null)});req.onerror=(e=>{callback(this.error);e.preventDefault()})},reconcile:(src,dst,callback)=>{var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e["timestamp"].getTime()!=e2["timestamp"].getTime()){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){if(!src.entries[key]){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=(e=>{done(this.error);e.preventDefault()});transaction.oncomplete=(e=>{if(!errored){callback(null)}});create.sort().forEach(path=>{if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(err,entry)=>{if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,(err,entry)=>{if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(path=>{if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},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},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){try{var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>2]=value;return value}function inetNtop4(addr){return(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(HEAPU16[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>2],HEAP32[sa+12>>2],HEAP32[sa+16>>2],HEAP32[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd);if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function writeSockaddr(sa,family,addr,port,addrlen){switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>2]=28}HEAP32[sa>>2]=family;HEAP32[sa+8>>2]=addr[0];HEAP32[sa+12>>2]=addr[1];HEAP32[sa+16>>2]=addr[2];HEAP32[sa+20>>2]=addr[3];HEAP16[sa+2>>1]=_htons(port);break;default:return 5}return 0}function ___syscall_recvfrom(fd,buf,len,flags,addr,addrlen){try{var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf);return msg.buffer.byteLength}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){try{oldpath=SYSCALLS.getStr(oldpath);newpath=SYSCALLS.getStr(newpath);oldpath=SYSCALLS.calculateAt(olddirfd,oldpath);newpath=SYSCALLS.calculateAt(newdirfd,newpath);FS.rename(oldpath,newpath);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){try{var sock=getSocketFromFD(fd);var dest=getSocketAddress(addr,addr_len,true);if(!dest){return FS.write(sock.stream,HEAP8,message,length)}else{return sock.sock_ops.sendmsg(sock,HEAP8,message,length,dest.addr,dest.port)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_statfs64(path,size,buf){try{path=SYSCALLS.getStr(path);HEAP32[buf+4>>2]=4096;HEAP32[buf+40>>2]=4096;HEAP32[buf+8>>2]=1e6;HEAP32[buf+12>>2]=5e5;HEAP32[buf+16>>2]=5e5;HEAP32[buf+20>>2]=FS.nextInode;HEAP32[buf+24>>2]=1e6;HEAP32[buf+28>>2]=42;HEAP32[buf+44>>2]=2;HEAP32[buf+36>>2]=255;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_truncate64(path,low,high){try{path=SYSCALLS.getStr(path);var length=SYSCALLS.get64(low,high);FS.truncate(path,length);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_utimensat(dirfd,path,times,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path,true);if(!times){var atime=Date.now();var mtime=atime}else{var seconds=HEAP32[times>>2];var nanoseconds=HEAP32[times+4>>2];atime=seconds*1e3+nanoseconds/(1e3*1e3);times+=8;seconds=HEAP32[times>>2];nanoseconds=HEAP32[times+4>>2];mtime=seconds*1e3+nanoseconds/(1e3*1e3)}FS.utime(path,atime,mtime);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var dlopen_main_init=0;function __dlopen_js(handle){var ret=!dlopen_main_init;dlopen_main_init=1;return ret}function __dlsym_js(handle,symbol){return 0}function __emscripten_date_now(){return Date.now()}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function __gmtime_js(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mktime_js(tmPtr){var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}function __mmap_js(addr,len,prot,flags,fd,off,allocated,builtin){try{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;return ptr}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function _tzset_impl(timezone,daylight,tzname){var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAP32[tzname+4>>2]=summerNamePtr}else{HEAP32[tzname>>2]=summerNamePtr;HEAP32[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?HEAPF64[buf++>>1]:HEAP32[buf]);++buf}return readAsmConstArgsArray}function mainThreadEM_ASM(code,sigPtr,argbuf,sync){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int_sync_on_main_thread(code,sigPtr,argbuf){return mainThreadEM_ASM(code,sigPtr,argbuf,1)}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else _emscripten_get_now=(()=>performance.now());function _exit(status){exit(status)}function maybeExit(){}function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}GL.newRenderingFrameStarted();Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;if(typeof SDL=="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function callUserCallback(func,synchronous){if(ABORT){return}if(synchronous){func();return}try{func()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining{assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)});img.onerror=(event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()});img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;out("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:typeof WebGL2RenderingContext!="undefined"?2:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_get_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;HEAP32[width>>2]=canvas.width;HEAP32[height>>2]=canvas.height}function getCanvasElementSize(target){return withStackSave(function(){var w=stackAlloc(8);var h=w+4;var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);var ret=_emscripten_get_canvas_element_size(targetInt,w,h);var size=[HEAP32[w>>2],HEAP32[h>>2]];return size})}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function setCanvasElementSize(target,width,height){if(!target.controlTransferredOffscreen){target.width=width;target.height=height}else{withStackSave(function(){var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height)})}}function registerRestoreOldStyle(canvas){var canvasSize=getCanvasElementSize(canvas);var oldWidth=canvasSize[0];var oldHeight=canvasSize[1];var oldCssWidth=canvas.style.width;var oldCssHeight=canvas.style.height;var oldBackgroundColor=canvas.style.backgroundColor;var oldDocumentBackgroundColor=document.body.style.backgroundColor;var oldPaddingLeft=canvas.style.paddingLeft;var oldPaddingRight=canvas.style.paddingRight;var oldPaddingTop=canvas.style.paddingTop;var oldPaddingBottom=canvas.style.paddingBottom;var oldMarginLeft=canvas.style.marginLeft;var oldMarginRight=canvas.style.marginRight;var oldMarginTop=canvas.style.marginTop;var oldMarginBottom=canvas.style.marginBottom;var oldDocumentBodyMargin=document.body.style.margin;var oldDocumentOverflow=document.documentElement.style.overflow;var oldDocumentScroll=document.body.scroll;var oldImageRendering=canvas.style.imageRendering;function restoreOldStyle(){var fullscreenElement=document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement;if(!fullscreenElement){document.removeEventListener("fullscreenchange",restoreOldStyle);document.removeEventListener("webkitfullscreenchange",restoreOldStyle);setCanvasElementSize(canvas,oldWidth,oldHeight);canvas.style.width=oldCssWidth;canvas.style.height=oldCssHeight;canvas.style.backgroundColor=oldBackgroundColor;if(!oldDocumentBackgroundColor)document.body.style.backgroundColor="white";document.body.style.backgroundColor=oldDocumentBackgroundColor;canvas.style.paddingLeft=oldPaddingLeft;canvas.style.paddingRight=oldPaddingRight;canvas.style.paddingTop=oldPaddingTop;canvas.style.paddingBottom=oldPaddingBottom;canvas.style.marginLeft=oldMarginLeft;canvas.style.marginRight=oldMarginRight;canvas.style.marginTop=oldMarginTop;canvas.style.marginBottom=oldMarginBottom;document.body.style.margin=oldDocumentBodyMargin;document.documentElement.style.overflow=oldDocumentOverflow;document.body.scroll=oldDocumentScroll;canvas.style.imageRendering=oldImageRendering;if(canvas.GLctxObject)canvas.GLctxObject.GLctx.viewport(0,0,oldWidth,oldHeight);if(currentFullscreenStrategy.canvasResizedCallback){(function(a1,a2,a3){return dynCall_iiii.apply(null,[currentFullscreenStrategy.canvasResizedCallback,a1,a2,a3])})(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)}}}document.addEventListener("fullscreenchange",restoreOldStyle);document.addEventListener("webkitfullscreenchange",restoreOldStyle);return restoreOldStyle}function setLetterbox(element,topBottom,leftRight){element.style.paddingLeft=element.style.paddingRight=leftRight+"px";element.style.paddingTop=element.style.paddingBottom=topBottom+"px"}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function _JSEvents_resizeCanvasForFullscreen(target,strategy){var restoreOldStyle=registerRestoreOldStyle(target);var cssWidth=strategy.softFullscreen?innerWidth:screen.width;var cssHeight=strategy.softFullscreen?innerHeight:screen.height;var rect=getBoundingClientRect(target);var windowedCssWidth=rect.width;var windowedCssHeight=rect.height;var canvasSize=getCanvasElementSize(target);var windowedRttWidth=canvasSize[0];var windowedRttHeight=canvasSize[1];if(strategy.scaleMode==3){setLetterbox(target,(cssHeight-windowedCssHeight)/2,(cssWidth-windowedCssWidth)/2);cssWidth=windowedCssWidth;cssHeight=windowedCssHeight}else if(strategy.scaleMode==2){if(cssWidth*windowedRttHeight>2]=isFullscreen;HEAP32[eventStruct+4>>2]=JSEvents.fullscreenEnabled();var reportedElement=isFullscreen?fullscreenElement:JSEvents.previousFullscreenElement;var nodeName=JSEvents.getNodeNameForTarget(reportedElement);var id=reportedElement&&reportedElement.id?reportedElement.id:"";stringToUTF8(nodeName,eventStruct+8,128);stringToUTF8(id,eventStruct+136,128);HEAP32[eventStruct+264>>2]=reportedElement?reportedElement.clientWidth:0;HEAP32[eventStruct+268>>2]=reportedElement?reportedElement.clientHeight:0;HEAP32[eventStruct+272>>2]=screen.width;HEAP32[eventStruct+276>>2]=screen.height;if(isFullscreen){JSEvents.previousFullscreenElement=fullscreenElement}}function _emscripten_get_fullscreen_status(fullscreenStatus){if(!JSEvents.fullscreenEnabled())return-1;fillFullscreenChangeEventData(fullscreenStatus);return 0}function fillGamepadEventData(eventStruct,e){HEAPF64[eventStruct>>3]=e.timestamp;for(var i=0;i>3]=e.axes[i]}for(var i=0;i>3]=e.buttons[i].value}else{HEAPF64[eventStruct+i*8+528>>3]=e.buttons[i]}}for(var i=0;i>2]=e.buttons[i].pressed}else{HEAP32[eventStruct+i*4+1040>>2]=e.buttons[i]==1}}HEAP32[eventStruct+1296>>2]=e.connected;HEAP32[eventStruct+1300>>2]=e.index;HEAP32[eventStruct+8>>2]=e.axes.length;HEAP32[eventStruct+12>>2]=e.buttons.length;stringToUTF8(e.id,eventStruct+1304,64);stringToUTF8(e.mapping,eventStruct+1368,64)}function _emscripten_get_gamepad_status(index,gamepadState){if(index<0||index>=JSEvents.lastGamepadState.length)return-5;if(!JSEvents.lastGamepadState[index])return-7;fillGamepadEventData(gamepadState,JSEvents.lastGamepadState[index]);return 0}function _emscripten_get_heap_max(){return 2147483648}function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else return 1e3}function _emscripten_get_num_gamepads(){return JSEvents.lastGamepadState.length}function _emscripten_html5_remove_all_event_listeners(){JSEvents.removeAllEventListeners()}function _emscripten_is_webgl_context_lost(contextHandle){return!GL.contexts[contextHandle]||GL.contexts[contextHandle].GLctx.isContextLost()}function reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function reSign(value,bits){if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}function unSign(value,bits){if(value>=0){return value}return bits<=32?2*Math.abs(1<>3]);argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function traverseStack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a=="number"||typeof a=="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&32){warnOnce("EM_LOG_DEMANGLE is deprecated; ignoring")}if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=traverseStack(arguments);while(stack_args[1].includes("_emscripten_"))stack_args=traverseStack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+symbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+symbolName:" at "+symbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==symbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=traverseStack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,format,varargs){var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);_emscripten_log_js(flags,str)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function doRequestFullscreen(target,strategy){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;if(!target.requestFullscreen&&!target.webkitRequestFullscreen){return-3}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(strategy.deferUntilInEventHandler){JSEvents.deferCall(_JSEvents_requestFullscreen,1,[target,strategy]);return 1}else{return-2}}return _JSEvents_requestFullscreen(target,strategy)}function _emscripten_request_fullscreen(target,deferUntilInEventHandler){var strategy={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:deferUntilInEventHandler,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(target,strategy)}function _emscripten_request_pointerlock(target,deferUntilInEventHandler){target=findEventTarget(target);if(!target)return-4;if(!target.requestPointerLock&&!target.msRequestPointerLock){return-1}var canPerformRequests=JSEvents.canPerformEventHandlerRequests();if(!canPerformRequests){if(deferUntilInEventHandler){JSEvents.deferCall(requestPointerLock,2,[target]);return 1}else{return-2}}return requestPointerLock(target)}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=_emscripten_get_heap_max();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}function _emscripten_sample_gamepad_data(){return(JSEvents.lastGamepadState=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():null)?0:-1}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.fullscreenChangeEvent)JSEvents.fullscreenChangeEvent=_malloc(280);var fullscreenChangeEventhandlerFunc=function(ev){var e=ev||event;var fullscreenChangeEvent=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(fullscreenChangeEvent);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,fullscreenChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:fullscreenChangeEventhandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_fullscreenchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!JSEvents.fullscreenEnabled())return-1;target=findEventTarget(target);if(!target)return-4;registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"fullscreenchange",targetThread);registerFullscreenChangeEventCallback(target,userData,useCapture,callbackfunc,19,"webkitfullscreenchange",targetThread);return 0}function registerGamepadEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.gamepadEvent)JSEvents.gamepadEvent=_malloc(1432);var gamepadEventHandlerFunc=function(ev){var e=ev||event;var gamepadEvent=JSEvents.gamepadEvent;fillGamepadEventData(gamepadEvent,e["gamepad"]);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,gamepadEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:gamepadEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_gamepadconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,26,"gamepadconnected",targetThread);return 0}function _emscripten_set_gamepaddisconnected_callback_on_thread(userData,useCapture,callbackfunc,targetThread){if(!navigator.getGamepads&&!navigator.webkitGetGamepads)return-1;registerGamepadEventCallback(2,userData,useCapture,callbackfunc,27,"gamepaddisconnected",targetThread);return 0}function _emscripten_set_interval(cb,msecs,userData){return setInterval(function(){callUserCallback(function(){(function(a1){dynCall_vi.apply(null,[cb,a1])})(userData)})},msecs)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread);return 0}function _emscripten_set_keypress_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,1,"keypress",targetThread);return 0}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=function(){dynCall_v.call(null,func)};setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(ev){var e=ev||event;fillMouseEventData(JSEvents.mouseEvent,e,target);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function fillPointerlockChangeEventData(eventStruct){var pointerLockElement=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement;var isPointerlocked=!!pointerLockElement;HEAP32[eventStruct>>2]=isPointerlocked;var nodeName=JSEvents.getNodeNameForTarget(pointerLockElement);var id=pointerLockElement&&pointerLockElement.id?pointerLockElement.id:"";stringToUTF8(nodeName,eventStruct+4,128);stringToUTF8(id,eventStruct+132,128)}function registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.pointerlockChangeEvent)JSEvents.pointerlockChangeEvent=_malloc(260);var pointerlockChangeEventHandlerFunc=function(ev){var e=ev||event;var pointerlockChangeEvent=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(pointerlockChangeEvent);if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,pointerlockChangeEvent,userData))e.preventDefault()};var eventHandler={target:target,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:pointerlockChangeEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_pointerlockchange_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){if(!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock){return-1}target=findEventTarget(target);if(!target)return-4;registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"pointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mozpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"webkitpointerlockchange",targetThread);registerPointerlockChangeEventCallback(target,userData,useCapture,callbackfunc,20,"mspointerlockchange",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){var t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchcancel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,25,"touchcancel",targetThread);return 0}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread);return 0}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread);return 0}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread);return 0}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(function(a1,a2,a3){return dynCall_iiii.apply(null,[callbackfunc,a1,a2,a3])}(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>1;var quadIndexes=new Uint16Array(numIndexes);var i=0,v=0;while(1){quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+1;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v;if(i>=numIndexes)break;quadIndexes[i++]=v+2;if(i>=numIndexes)break;quadIndexes[i++]=v+3;if(i>=numIndexes)break;v+=4}context.GLctx.bufferData(34963,quadIndexes,35044);context.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function getTempVertexBuffer(sizeBytes){var idx=GL.log2ceilLookup(sizeBytes);var ringbuffer=GL.currentContext.tempVertexBuffers1[idx];var nextFreeBufferIndex=GL.currentContext.tempVertexBufferCounters1[idx];GL.currentContext.tempVertexBufferCounters1[idx]=GL.currentContext.tempVertexBufferCounters1[idx]+1&GL.numTempVertexBuffersPerSize-1;var vbo=ringbuffer[nextFreeBufferIndex];if(vbo){return vbo}var prevVBO=GLctx.getParameter(34964);ringbuffer[nextFreeBufferIndex]=GLctx.createBuffer();GLctx.bindBuffer(34962,ringbuffer[nextFreeBufferIndex]);GLctx.bufferData(34962,1<>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},calcBufLength:function calcBufLength(size,type,stride,count){if(stride>0){return count*stride}var typeSize=GL.byteSizeByType[type-GL.byteSizeByTypeRoot];return size*typeSize*count},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function preDrawHandleClientVertexAttribBindings(count){GL.resetBufferBinding=false;for(var i=0;i1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}context.maxVertexAttribs=context.GLctx.getParameter(34921);context.clientBuffers=[];for(var i=0;i=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=HEAP32[a+(24>>2)];var contextAttributes={"alpha":!!HEAP32[a+(0>>2)],"depth":!!HEAP32[a+(4>>2)],"stencil":!!HEAP32[a+(8>>2)],"antialias":!!HEAP32[a+(12>>2)],"premultipliedAlpha":!!HEAP32[a+(16>>2)],"preserveDrawingBuffer":!!HEAP32[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!HEAP32[a+(28>>2)],majorVersion:HEAP32[a+(32>>2)],minorVersion:HEAP32[a+(36>>2)],enableExtensionsByDefault:HEAP32[a+(40>>2)],explicitSwapControl:HEAP32[a+(44>>2)],proxyContextToMainThread:HEAP32[a+(48>>2)],renderViaOffscreenBackBuffer:HEAP32[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}function _emscripten_webgl_destroy_context(contextHandle){if(GL.currentContext==contextHandle)GL.currentContext=0;GL.deleteContext(contextHandle)}function _emscripten_webgl_enable_extension(contextHandle,extension){var context=GL.getContext(contextHandle);var extString=UTF8ToString(extension);if(extString.startsWith("GL_"))extString=extString.substr(3);if(extString=="ANGLE_instanced_arrays")__webgl_enable_ANGLE_instanced_arrays(GLctx);if(extString=="OES_vertex_array_object")__webgl_enable_OES_vertex_array_object(GLctx);if(extString=="WEBGL_draw_buffers")__webgl_enable_WEBGL_draw_buffers(GLctx);if(extString=="WEBGL_draw_instanced_base_vertex_base_instance")__webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw_instanced_base_vertex_base_instance")__webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(extString=="WEBGL_multi_draw")__webgl_enable_WEBGL_multi_draw(GLctx);var ext=context.GLctx.getExtension(extString);return!!ext}function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}function _emscripten_webgl_get_current_context(){return _emscripten_webgl_do_get_current_context()}function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){HEAP32[a+i]=0}HEAP32[a+(0>>2)]=HEAP32[a+(4>>2)]=HEAP32[a+(12>>2)]=HEAP32[a+(16>>2)]=HEAP32[a+(32>>2)]=HEAP32[a+(40>>2)]=1}function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}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 _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__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();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream=SYSCALLS.getStreamFromFD(fd);var type=stream.tty?2:FS.isDir(stream.mode)?3:FS.isLink(stream.mode)?7:4;HEAP8[pbuf>>0]=type;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function getHostByName(name){var ret=_malloc(20);var nameBuf=_malloc(name.length+1);stringToUTF8(name,nameBuf,name.length+1);HEAP32[ret>>2]=nameBuf;var aliasesBuf=_malloc(4);HEAP32[aliasesBuf>>2]=0;HEAP32[ret+4>>2]=aliasesBuf;var afinet=2;HEAP32[ret+8>>2]=afinet;HEAP32[ret+12>>2]=4;var addrListBuf=_malloc(12);HEAP32[addrListBuf>>2]=addrListBuf+8;HEAP32[addrListBuf+4>>2]=0;HEAP32[addrListBuf+8>>2]=inetPton4(DNS.lookup_name(name));HEAP32[ret+16>>2]=addrListBuf;return ret}function _gethostbyaddr(addr,addrlen,type){if(type!==2){setErrNo(5);return null}addr=HEAP32[addr>>2];var host=inetNtop4(addr);var lookup=DNS.lookup_addr(host);if(lookup){host=lookup}return getHostByName(host)}function _gethostbyname(name){return getHostByName(UTF8ToString(name))}function _glActiveTexture(x0){GLctx["activeTexture"](x0)}function _glAttachShader(program,shader){program=GL.programs[program];shader=GL.shaders[shader];program[shader.shaderType]=shader;GLctx.attachShader(program,shader)}function _glBeginQuery(target,id){GLctx["beginQuery"](target,GL.queries[id])}function _glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _glBindBuffer(target,buffer){if(target==34962){GLctx.currentArrayBufferBinding=buffer}else if(target==34963){GLctx.currentElementArrayBufferBinding=buffer}if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindBufferBase(target,index,buffer){GLctx["bindBufferBase"](target,index,GL.buffers[buffer])}function _glBindBufferRange(target,index,buffer,offset,ptrsize){GLctx["bindBufferRange"](target,index,GL.buffers[buffer],offset,ptrsize)}function _glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _glBindSampler(unit,sampler){GLctx["bindSampler"](unit,GL.samplers[sampler])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao]);var ibo=GLctx.getParameter(34965);GLctx.currentElementArrayBufferBinding=ibo?ibo.name|0:0}function _glBlendEquation(x0){GLctx["blendEquation"](x0)}function _glBlendEquationSeparate(x0,x1){GLctx["blendEquationSeparate"](x0,x1)}function _glBlendFuncSeparate(x0,x1,x2,x3){GLctx["blendFuncSeparate"](x0,x1,x2,x3)}function _glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx["blitFramebuffer"](x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}function _glBufferData(target,size,data,usage){if(GL.currentContext.version>=2){if(data){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glBufferSubData(target,offset,size,data){if(GL.currentContext.version>=2){GLctx.bufferSubData(target,offset,HEAPU8,data,size);return}GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _glClear(x0){GLctx["clear"](x0)}function _glClearBufferfi(x0,x1,x2,x3){GLctx["clearBufferfi"](x0,x1,x2,x3)}function _glClearBufferfv(buffer,drawbuffer,value){GLctx["clearBufferfv"](buffer,drawbuffer,HEAPF32,value>>2)}function _glClearBufferuiv(buffer,drawbuffer,value){GLctx["clearBufferuiv"](buffer,drawbuffer,HEAPU32,value>>2)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glClearDepthf(x0){GLctx["clearDepth"](x0)}function _glClearStencil(x0){GLctx["clearStencil"](x0)}function _glClientWaitSync(sync,flags,timeoutLo,timeoutHi){return GLctx.clientWaitSync(GL.syncs[sync],flags,convertI32PairToI53(timeoutLo,timeoutHi))}function _glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,HEAPU8,data,imageSize)}return}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCompressedTexImage3D(target,level,internalFormat,width,height,depth,border,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexImage3D"](target,level,internalFormat,width,height,depth,border,imageSize,data)}else{GLctx["compressedTexImage3D"](target,level,internalFormat,width,height,depth,border,HEAPU8,data,imageSize)}}function _glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,HEAPU8,data,imageSize)}return}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?HEAPU8.subarray(data,data+imageSize):null)}function _glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data){if(GLctx.currentPixelUnpackBufferBinding){GLctx["compressedTexSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data)}else{GLctx["compressedTexSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,HEAPU8,data,imageSize)}}function _glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx["copyBufferSubData"](x0,x1,x2,x3,x4)}function _glCopyTexImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);GL.shaders[id].shaderType=shaderType&1?"vs":"fs";return id}function _glCullFace(x0){GLctx["cullFace"](x0)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentArrayBufferBinding)GLctx.currentArrayBufferBinding=0;if(id==GLctx.currentElementArrayBufferBinding)GLctx.currentElementArrayBufferBinding=0;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}function _glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteQueries(n,ids){for(var i=0;i>2];var query=GL.queries[id];if(!query)continue;GLctx["deleteQuery"](query);GL.queries[id]=null}}function _glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx["deleteSampler"](sampler);sampler.name=0;GL.samplers[id]=null}}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _glDepthFunc(x0){GLctx["depthFunc"](x0)}function _glDepthMask(flag){GLctx.depthMask(!!flag)}function _glDetachShader(program,shader){GLctx.detachShader(GL.programs[program],GL.shaders[shader])}function _glDisable(x0){GLctx["disable"](x0)}function _glDisableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=false;GLctx.disableVertexAttribArray(index)}function _glDrawArrays(mode,first,count){GL.preDrawHandleClientVertexAttribBindings(first+count);GLctx.drawArrays(mode,first,count);GL.postDrawHandleClientVertexAttribBindings()}function _glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}var tempFixedLengthArray=[];function _glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _glDrawElements(mode,count,type,indices){var buf;if(!GLctx.currentElementArrayBufferBinding){var size=GL.calcBufLength(1,type,0,count);buf=GL.getTempIndexBuffer(size);GLctx.bindBuffer(34963,buf);GLctx.bufferSubData(34963,0,HEAPU8.subarray(indices,indices+size));indices=0}GL.preDrawHandleClientVertexAttribBindings(count);GLctx.drawElements(mode,count,type,indices);GL.postDrawHandleClientVertexAttribBindings(count);if(!GLctx.currentElementArrayBufferBinding){GLctx.bindBuffer(34963,null)}}function _glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){var cb=GL.currentContext.clientBuffers[index];cb.enabled=true;GLctx.enableVertexAttribArray(index)}function _glEndQuery(x0){GLctx["endQuery"](x0)}function _glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}else{return 0}}function _glFinish(){GLctx["finish"]()}function _glFlush(){GLctx["flush"]()}function emscriptenWebGLGetBufferBinding(target){switch(target){case 34962:target=34964;break;case 34963:target=34965;break;case 35051:target=35053;break;case 35052:target=35055;break;case 35982:target=35983;break;case 36662:target=36662;break;case 36663:target=36663;break;case 35345:target=35368;break}var buffer=GLctx.getParameter(target);if(buffer)return buffer.name|0;else return 0}function emscriptenWebGLValidateMapBufferTarget(target){switch(target){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return true;default:return false}}function _glFlushMappedBufferRange(target,offset,length){if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glFlushMappedBufferRange");return}var mapping=GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)];if(!mapping){GL.recordError(1282);err("buffer was never mapped in glFlushMappedBufferRange");return}if(!(mapping.access&16)){GL.recordError(1282);err("buffer was not mapped with GL_MAP_FLUSH_EXPLICIT_BIT in glFlushMappedBufferRange");return}if(offset<0||length<0||offset+length>mapping.length){GL.recordError(1281);err("invalid range in glFlushMappedBufferRange");return}GLctx.bufferSubData(target,mapping.offset,HEAPU8.subarray(mapping.mem+offset,mapping.mem+offset+length))}function _glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _glFramebufferTextureLayer(target,attachment,texture,level,layer){GLctx.framebufferTextureLayer(target,attachment,GL.textures[texture],level,layer)}function _glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _glGenQueries(n,ids){__glGenObject(n,ids,"createQuery",GL.queries)}function _glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function __glGetActiveAttribOrUniform(funcName,program,index,bufSize,length,size,type,name){program=GL.programs[program];var info=GLctx[funcName](program,index);if(info){var numBytesWrittenExclNull=name&&stringToUTF8(info.name,name,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull;if(size)HEAP32[size>>2]=info.size;if(type)HEAP32[type>>2]=info.type}}function _glGetActiveAttrib(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveAttrib",program,index,bufSize,length,size,type,name)}function _glGetActiveUniform(program,index,bufSize,length,size,type,name){__glGetActiveAttribOrUniform("getActiveUniform",program,index,bufSize,length,size,type,name)}function _glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName){program=GL.programs[program];var result=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);if(!result)return;if(uniformBlockName&&bufSize>0){var numBytesWrittenExclNull=stringToUTF8(result,uniformBlockName,bufSize);if(length)HEAP32[length>>2]=numBytesWrittenExclNull}else{if(length)HEAP32[length>>2]=0}}function _glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params){if(!params){GL.recordError(1281);return}program=GL.programs[program];if(pname==35393){var name=GLctx["getActiveUniformBlockName"](program,uniformBlockIndex);HEAP32[params>>2]=name.length+1;return}var result=GLctx["getActiveUniformBlockParameter"](program,uniformBlockIndex,pname);if(result===null)return;if(pname==35395){for(var i=0;i>2]=result[i]}}else{HEAP32[params>>2]=result}}function _glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params){if(!params){GL.recordError(1281);return}if(uniformCount>0&&uniformIndices==0){GL.recordError(1281);return}program=GL.programs[program];var ids=[];for(var i=0;i>2])}var result=GLctx["getActiveUniforms"](program,ids,pname);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function _glGetAttribLocation(program,name){return GLctx.getAttribLocation(GL.programs[program],UTF8ToString(name))}function _glGetBufferSubData(target,offset,size,data){if(!data){GL.recordError(1281);return}GLctx["getBufferSubData"](target,offset,HEAPU8,data,size)}function _glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function _glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}HEAP32[params>>2]=result}function writeI53ToI64(ptr,num){HEAPU32[ptr>>2]=num;HEAPU32[ptr+4>>2]=(num-HEAPU32[ptr>>2])/4294967296}function emscriptenWebGLGetIndexed(target,index,data,type){if(!data){GL.recordError(1281);return}var result=GLctx["getIndexedParameter"](target,index);var ret;switch(typeof result){case"boolean":ret=result?1:0;break;case"number":ret=result;break;case"object":if(result===null){switch(target){case 35983:case 35368:ret=0;break;default:{GL.recordError(1280);return}}}else if(result instanceof WebGLBuffer){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}switch(type){case 1:writeI53ToI64(data,ret);break;case 0:HEAP32[data>>2]=ret;break;case 2:HEAPF32[data>>2]=ret;break;case 4:HEAP8[data>>0]=ret?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+type}}function _glGetIntegeri_v(target,index,data){emscriptenWebGLGetIndexed(target,index,data,0)}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33390:ret=1048576;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:HEAPF32[p+i*4>>2]=result[i];break;case 4:HEAP8[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:HEAP32[p>>2]=ret;break;case 2:HEAPF32[p>>2]=ret;break;case 4:HEAP8[p>>0]=ret?1:0;break}}function _glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _glGetInternalformativ(target,internalformat,pname,bufSize,params){if(bufSize<0){GL.recordError(1281);return}if(!params){GL.recordError(1281);return}var ret=GLctx["getInternalformatParameter"](target,internalformat,pname);if(ret===null)return;for(var i=0;i>2]=ret[i]}}function _glGetProgramBinary(program,bufSize,length,binaryFormat,binary){GL.recordError(1282)}function _glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";HEAP32[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{HEAP32[p>>2]=GLctx.getProgramParameter(program,pname)}}function _glGetQueryObjectuiv(id,pname,params){if(!params){GL.recordError(1281);return}var query=GL.queries[id];var param=GLctx["getQueryParameter"](query,pname);var ret;if(typeof param=="boolean"){ret=param?1:0}else{ret=param}HEAP32[params>>2]=ret}function _glGetQueryiv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx["getQuery"](target,pname)}function _glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);HEAP32[range>>2]=result.rangeMin;HEAP32[range+4>>2]=result.rangeMax;HEAP32[precision>>2]=result.precision}function _glGetShaderSource(shader,bufSize,length,source){var result=GLctx.getShaderSource(GL.shaders[shader]);if(!result)return;var numBytesWrittenExclNull=bufSize>0&&source?stringToUTF8(result,source,bufSize):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;HEAP32[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;HEAP32[p>>2]=sourceLength}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}function _glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}function _glGetTexParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}HEAP32[params>>2]=GLctx.getTexParameter(target,pname)}function _glGetUniformBlockIndex(program,uniformBlockName){return GLctx["getUniformBlockIndex"](GL.programs[program],UTF8ToString(uniformBlockName))}function _glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices){if(!uniformIndices){GL.recordError(1281);return}if(uniformCount>0&&(uniformNames==0||uniformIndices==0)){GL.recordError(1281);return}program=GL.programs[program];var names=[];for(var i=0;i>2]));var result=GLctx["getUniformIndices"](program,names);if(!result)return;var len=result.length;for(var i=0;i>2]=result[i]}}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=uniformSizeAndIdsByName[arrayName]?uniformSizeAndIdsByName[arrayName][1]:program.uniformIdCounter;program.uniformIdCounter=Math.max(id+sz,program.uniformIdCounter);uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function emscriptenWebGLGetUniform(program,location,params,type){if(!params){GL.recordError(1281);return}program=GL.programs[program];webglPrepareUniformLocationsBeforeFirstUse(program);var data=GLctx.getUniform(program,webglGetUniformLocation(location));if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break}}}}function _glGetUniformiv(program,location,params){emscriptenWebGLGetUniform(program,location,params,0)}function emscriptenWebGLGetVertexAttrib(index,pname,params,type){if(!params){GL.recordError(1281);return}if(GL.currentContext.clientBuffers[index].enabled){err("glGetVertexAttrib*v on client-side array: not supported, bad data returned")}var data=GLctx.getVertexAttrib(index,pname);if(pname==34975){HEAP32[params>>2]=data&&data["name"]}else if(typeof data=="number"||typeof data=="boolean"){switch(type){case 0:HEAP32[params>>2]=data;break;case 2:HEAPF32[params>>2]=data;break;case 5:HEAP32[params>>2]=Math.fround(data);break}}else{for(var i=0;i>2]=data[i];break;case 2:HEAPF32[params+i*4>>2]=data[i];break;case 5:HEAP32[params+i*4>>2]=Math.fround(data[i]);break}}}}function _glGetVertexAttribiv(index,pname,params){emscriptenWebGLGetVertexAttrib(index,pname,params,5)}function _glInvalidateFramebuffer(target,numAttachments,attachments){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateFramebuffer"](target,list)}function _glIsEnabled(x0){return GLctx["isEnabled"](x0)}function _glIsVertexArray(array){var vao=GL.vaos[array];if(!vao)return 0;return GLctx["isVertexArray"](vao)}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={};[program["vs"],program["fs"]].forEach(function(s){Object.keys(s.explicitUniformLocations).forEach(function(shaderLocation){var loc=s.explicitUniformLocations[shaderLocation];program.uniformSizeAndIdsByName[shaderLocation]=[1,loc];program.uniformIdCounter=Math.max(program.uniformIdCounter,loc+1)})});function copyKeys(dst,src){Object.keys(src).forEach(function(key){dst[key]=src[key]})}program.explicitUniformBindings={};program.explicitSamplerBindings={};[program["vs"],program["fs"]].forEach(function(s){copyKeys(program.explicitUniformBindings,s.explicitUniformBindings);copyKeys(program.explicitSamplerBindings,s.explicitSamplerBindings)});program.explicitProgramBindingsApplied=0}function _glMapBufferRange(target,offset,length,access){if(access!=26&&access!=10){err("glMapBufferRange is only supported when access is MAP_WRITE|INVALIDATE_BUFFER");return 0}if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glMapBufferRange");return 0}var mem=_malloc(length);if(!mem)return 0;GL.mappedBuffers[emscriptenWebGLGetBufferBinding(target)]={offset:offset,length:length,mem:mem,access:access};return mem}function _glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _glPolygonOffset(x0,x1){GLctx["polygonOffset"](x0,x1)}function _glProgramBinary(program,binaryFormat,binary,length){GL.recordError(1280)}function _glProgramParameteri(program,pname,value){GL.recordError(1280)}function _glReadBuffer(x0){GLctx["readBuffer"](x0)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx["renderbufferStorageMultisample"](x0,x1,x2,x3,x4)}function _glSamplerParameteri(sampler,pname,param){GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function find_closing_parens_index(arr,i,opening="(",closing=")"){for(var nesting=0;i{return defs[args[0]]?1:0});function isWhitespace(str,i){return!(str.charCodeAt(i)>32)}function nextWhitespace(str,i){while(!isWhitespace(str,i))++i;return i}function classifyChar(str,idx){var cc=str.charCodeAt(idx);if(cc>32){if(cc<48)return 1;if(cc<58)return 2;if(cc<65)return 1;if(cc<91||cc==95)return 3;if(cc<97)return 1;if(cc<123)return 3;return 1}return cc<33?0:4}function tokenize(exprString,keepWhitespace){var out=[],len=exprString.length;for(var i=0;i<=len;++i){var kind=classifyChar(exprString,i);if(kind==2||kind==3){for(var j=i+1;j<=len;++j){var kind2=classifyChar(exprString,j);if(kind2!=kind&&(kind2!=2||kind!=3)){out.push(exprString.substring(i,j));i=j-1;break}}}else if(kind==1){var op2=exprString.substr(i,2);if(["<=",">=","==","!=","&&","||"].includes(op2)){out.push(op2);++i}else{out.push(exprString[i])}}}return out}function expandMacros(str,lineStart,lineEnd){if(lineEnd===undefined)lineEnd=str.length;var len=str.length;var out="";for(var i=lineStart;i1||typeof tokens[0]!="function"){tokens=function(tokens){var i,j,p,operatorAndPriority=-2;for(j=0;j",">=","==","!=","&&","||","("].indexOf(tokens[j]))>operatorAndPriority){i=j;operatorAndPriority=p}}if(operatorAndPriority==13){var j=find_closing_parens_index(tokens,i);if(j){tokens.splice(i,j+1-i,buildExprTree(tokens.slice(i+1,j)));return tokens}}if(operatorAndPriority==4){i=tokens.lastIndexOf("!");var innerExpr=buildExprTree(tokens.slice(i+1,i+2));tokens.splice(i,2,function(){return!innerExpr()});return tokens}if(operatorAndPriority>=0){var left=buildExprTree(tokens.slice(0,i));var right=buildExprTree(tokens.slice(i+1));switch(tokens[i]){case"&&":return[function(){return left()&&right()}];case"||":return[function(){return left()||right()}];case"==":return[function(){return left()==right()}];case"!=":return[function(){return left()!=right()}];case"<":return[function(){return left()":return[function(){return left()>right()}];case">=":return[function(){return left()>=right()}];case"+":return[function(){return left()+right()}];case"-":return[function(){return left()-right()}];case"*":return[function(){return left()*right()}];case"/":return[function(){return Math.floor(left()/right())}]}}var num=jstoi_q(tokens[i]);return[function(){return num}]}(tokens)}return tokens[0]}for(;i0){var macroEnd=expression.indexOf(")",macroStart);let params=expression.substring(macroStart+1,macroEnd).split(",").map(x=>x.trim());let value=tokenize(expression.substring(macroEnd+1).trim());defs[expression.substring(0,macroStart)]=(args=>{var ret="";value.forEach(x=>{var argIndex=params.indexOf(x);ret+=argIndex>=0?args[argIndex]:x});return ret})}else{let value=expandMacros(expression.substring(firstWs+1).trim(),0);defs[expression.substring(0,firstWs)]=(()=>value)}}break;case"undef":if(thisLineIsInActivePreprocessingBlock)delete defs[expression];break;default:if(directive!="version"&&directive!="pragma"&&directive!="extension"){}out+=expandMacros(code,lineStart,i)+"\n"}}return out}function remove_cpp_comments_in_shaders(code){var i=0,out="",ch,next,len=code.length;for(;i1,"GL_ES":()=>1,"__VERSION__":()=>source.includes("#version 300")?300:100});var regex=/layout\s*\(\s*location\s*=\s*(-?\d+)\s*\)\s*(uniform\s+((lowp|mediump|highp)\s+)?\w+\s+(\w+))/g,explicitUniformLocations={},match;while(match=regex.exec(source)){explicitUniformLocations[match[5]]=jstoi_q(match[1]);if(!(explicitUniformLocations[match[5]]>=0&&explicitUniformLocations[match[5]]<1048576)){err('Specified an out of range layout(location=x) directive "'+explicitUniformLocations[match[5]]+'"! ('+match[0]+")");GL.recordError(1281);return}}source=source.replace(regex,"$2");GL.shaders[shader].explicitUniformLocations=explicitUniformLocations;var bindingRegex=/layout\s*\(.*?binding\s*=\s*(-?\d+).*?\)\s*uniform\s+(\w+)\s+(\w+)?/g,samplerBindings={},uniformBindings={},bindingMatch;while(bindingMatch=bindingRegex.exec(source)){var arrayLength=1;for(var i=bindingMatch.index;i=0&&binding+arrayLength<=numBindingPoints)){err('Specified an out of range layout(binding=x) directive "'+binding+'"! ('+bindingMatch[0]+"). Valid range is [0, "+numBindingPoints+"-1]");GL.recordError(1281);return}}source=source.replace(/layout\s*\(.*?binding\s*=\s*([-\d]+).*?\)/g,"");source=source.replace(/(layout\s*\((.*?)),\s*binding\s*=\s*([-\d]+)\)/g,"$1)");source=source.replace(/layout\s*\(\s*binding\s*=\s*([-\d]+)\s*,(.*?)\)/g,"layout($2)");GL.shaders[shader].explicitSamplerBindings=samplerBindings;GL.shaders[shader].explicitUniformBindings=uniformBindings;GLctx.shaderSource(GL.shaders[shader],source)}function _glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _glStencilMask(x0){GLctx["stencilMask"](x0)}function _glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexImage3D(target,level,internalFormat,width,height,depth,border,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texImage3D"](target,level,internalFormat,width,height,depth,border,format,type,null)}}function _glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _glTexParameteriv(target,pname,params){var param=HEAP32[params>>2];GLctx.texParameteri(target,pname,param)}function _glTexStorage2D(x0,x1,x2,x3,x4){GLctx["texStorage2D"](x0,x1,x2,x3,x4)}function _glTexStorage3D(x0,x1,x2,x3,x4,x5){GLctx["texStorage3D"](x0,x1,x2,x3,x4,x5)}function _glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function _glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels){if(GLctx.currentPixelUnpackBufferBinding){GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx["texSubImage3D"](target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,null)}}var miniTempWebGLFloatBuffers=[];function _glUniform1fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform1fv(webglGetUniformLocation(location),HEAPF32,value>>2,count);return}if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}function _glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var __miniTempWebGLIntBuffers=[];function _glUniform1iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform1iv(webglGetUniformLocation(location),HEAP32,value>>2,count);return}if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=HEAP32.subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}function _glUniform1uiv(location,count,value){GLctx.uniform1uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count)}function _glUniform2fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform2fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}function _glUniform2iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform2iv(webglGetUniformLocation(location),HEAP32,value>>2,count*2);return}if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}function _glUniform2uiv(location,count,value){GLctx.uniform2uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*2)}function _glUniform3fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform3fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}function _glUniform3iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform3iv(webglGetUniformLocation(location),HEAP32,value>>2,count*3);return}if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}function _glUniform3uiv(location,count,value){GLctx.uniform3uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*3)}function _glUniform4fv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform4fv(webglGetUniformLocation(location),HEAPF32,value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=HEAPF32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}function _glUniform4iv(location,count,value){if(GL.currentContext.version>=2){GLctx.uniform4iv(webglGetUniformLocation(location),HEAP32,value>>2,count*4);return}if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=HEAP32[value+4*i>>2];view[i+1]=HEAP32[value+(4*i+4)>>2];view[i+2]=HEAP32[value+(4*i+8)>>2];view[i+3]=HEAP32[value+(4*i+12)>>2]}}else{var view=HEAP32.subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}function _glUniform4uiv(location,count,value){GLctx.uniform4uiv(webglGetUniformLocation(location),HEAPU32,value>>2,count*4)}function _glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding){program=GL.programs[program];GLctx["uniformBlockBinding"](program,uniformBlockIndex,uniformBlockBinding)}function _glUniformMatrix3fv(location,count,transpose,value){if(GL.currentContext.version>=2){GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=HEAPF32[value+4*i>>2];view[i+1]=HEAPF32[value+(4*i+4)>>2];view[i+2]=HEAPF32[value+(4*i+8)>>2];view[i+3]=HEAPF32[value+(4*i+12)>>2];view[i+4]=HEAPF32[value+(4*i+16)>>2];view[i+5]=HEAPF32[value+(4*i+20)>>2];view[i+6]=HEAPF32[value+(4*i+24)>>2];view[i+7]=HEAPF32[value+(4*i+28)>>2];view[i+8]=HEAPF32[value+(4*i+32)>>2]}}else{var view=HEAPF32.subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}function _glUniformMatrix4fv(location,count,transpose,value){if(GL.currentContext.version>=2){GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,HEAPF32,value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=HEAPF32;value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}function _glUnmapBuffer(target){if(!emscriptenWebGLValidateMapBufferTarget(target)){GL.recordError(1280);err("GL_INVALID_ENUM in glUnmapBuffer");return 0}var buffer=emscriptenWebGLGetBufferBinding(target);var mapping=GL.mappedBuffers[buffer];if(!mapping){GL.recordError(1282);err("buffer was never mapped in glUnmapBuffer");return 0}GL.mappedBuffers[buffer]=null;if(!(mapping.access&16))if(GL.currentContext.version>=2){GLctx.bufferSubData(target,mapping.offset,HEAPU8,mapping.mem,mapping.length)}else{GLctx.bufferSubData(target,mapping.offset,HEAPU8.subarray(mapping.mem,mapping.mem+mapping.length))}_free(mapping.mem);return 1}function webglApplyExplicitProgramBindings(){var p=GLctx.currentProgram;if(!p.explicitProgramBindingsApplied){if(GL.currentContext.version>=2){Object.keys(p.explicitUniformBindings).forEach(function(ubo){var bindings=p.explicitUniformBindings[ubo];for(var i=0;i1?"["+i+"]":""));GLctx.uniformBlockBinding(p,blockIndex,bindings[0]+i)}})}Object.keys(p.explicitSamplerBindings).forEach(function(sampler){var bindings=p.explicitSamplerBindings[sampler];for(var i=0;i>2],HEAPF32[v+4>>2],HEAPF32[v+8>>2],HEAPF32[v+12>>2])}function _glVertexAttribIPointer(index,size,type,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GLctx.currentArrayBufferBinding){cb.size=size;cb.type=type;cb.normalized=false;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;cb.vertexAttribPointerAdaptor=function(index,size,type,normalized,stride,ptr){this.vertexAttribIPointer(index,size,type,stride,ptr)};return}cb.clientside=false;GLctx["vertexAttribIPointer"](index,size,type,stride,ptr)}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){var cb=GL.currentContext.clientBuffers[index];if(!GLctx.currentArrayBufferBinding){cb.size=size;cb.type=type;cb.normalized=normalized;cb.stride=stride;cb.ptr=ptr;cb.clientside=true;cb.vertexAttribPointerAdaptor=function(index,size,type,normalized,stride,ptr){this.vertexAttribPointer(index,size,type,normalized,stride,ptr)};return}cb.clientside=false;GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var GLctx;for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));var miniTempWebGLFloatBuffersStorage=new Float32Array(288);for(var i=0;i<288;++i){miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i+1)}var __miniTempWebGLIntBuffersStorage=new Int32Array(288);for(var i=0;i<288;++i){__miniTempWebGLIntBuffers[i]=__miniTempWebGLIntBuffersStorage.subarray(0,i+1)}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"GetJSMemoryInfo":_GetJSMemoryInfo,"JS_Accelerometer_IsRunning":_JS_Accelerometer_IsRunning,"JS_Accelerometer_Start":_JS_Accelerometer_Start,"JS_Accelerometer_Stop":_JS_Accelerometer_Stop,"JS_Cursor_SetImage":_JS_Cursor_SetImage,"JS_Cursor_SetShow":_JS_Cursor_SetShow,"JS_DOM_MapViewportCoordinateToElementLocalCoordinate":_JS_DOM_MapViewportCoordinateToElementLocalCoordinate,"JS_DOM_UnityCanvasSelector":_JS_DOM_UnityCanvasSelector,"JS_Eval_EvalJS":_JS_Eval_EvalJS,"JS_Eval_OpenURL":_JS_Eval_OpenURL,"JS_FileSystem_Initialize":_JS_FileSystem_Initialize,"JS_FileSystem_Sync":_JS_FileSystem_Sync,"JS_GravitySensor_IsRunning":_JS_GravitySensor_IsRunning,"JS_GravitySensor_Start":_JS_GravitySensor_Start,"JS_GravitySensor_Stop":_JS_GravitySensor_Stop,"JS_GuardAgainstJsExceptions":_JS_GuardAgainstJsExceptions,"JS_Gyroscope_IsRunning":_JS_Gyroscope_IsRunning,"JS_Gyroscope_Start":_JS_Gyroscope_Start,"JS_Gyroscope_Stop":_JS_Gyroscope_Stop,"JS_LinearAccelerationSensor_IsRunning":_JS_LinearAccelerationSensor_IsRunning,"JS_LinearAccelerationSensor_Start":_JS_LinearAccelerationSensor_Start,"JS_LinearAccelerationSensor_Stop":_JS_LinearAccelerationSensor_Stop,"JS_Log_Dump":_JS_Log_Dump,"JS_Log_StackTrace":_JS_Log_StackTrace,"JS_MobileKeybard_GetIgnoreBlurEvent":_JS_MobileKeybard_GetIgnoreBlurEvent,"JS_MobileKeyboard_GetKeyboardStatus":_JS_MobileKeyboard_GetKeyboardStatus,"JS_MobileKeyboard_GetText":_JS_MobileKeyboard_GetText,"JS_MobileKeyboard_GetTextSelection":_JS_MobileKeyboard_GetTextSelection,"JS_MobileKeyboard_Hide":_JS_MobileKeyboard_Hide,"JS_MobileKeyboard_SetCharacterLimit":_JS_MobileKeyboard_SetCharacterLimit,"JS_MobileKeyboard_SetText":_JS_MobileKeyboard_SetText,"JS_MobileKeyboard_SetTextSelection":_JS_MobileKeyboard_SetTextSelection,"JS_MobileKeyboard_Show":_JS_MobileKeyboard_Show,"JS_OrientationSensor_IsRunning":_JS_OrientationSensor_IsRunning,"JS_OrientationSensor_Start":_JS_OrientationSensor_Start,"JS_OrientationSensor_Stop":_JS_OrientationSensor_Stop,"JS_RequestDeviceSensorPermissionsOnTouch":_JS_RequestDeviceSensorPermissionsOnTouch,"JS_RunQuitCallbacks":_JS_RunQuitCallbacks,"JS_ScreenOrientation_DeInit":_JS_ScreenOrientation_DeInit,"JS_ScreenOrientation_Init":_JS_ScreenOrientation_Init,"JS_ScreenOrientation_Lock":_JS_ScreenOrientation_Lock,"JS_Sound_Create_Channel":_JS_Sound_Create_Channel,"JS_Sound_GetLength":_JS_Sound_GetLength,"JS_Sound_GetLoadState":_JS_Sound_GetLoadState,"JS_Sound_Init":_JS_Sound_Init,"JS_Sound_Load":_JS_Sound_Load,"JS_Sound_Load_PCM":_JS_Sound_Load_PCM,"JS_Sound_Play":_JS_Sound_Play,"JS_Sound_ReleaseInstance":_JS_Sound_ReleaseInstance,"JS_Sound_ResumeIfNeeded":_JS_Sound_ResumeIfNeeded,"JS_Sound_Set3D":_JS_Sound_Set3D,"JS_Sound_SetListenerOrientation":_JS_Sound_SetListenerOrientation,"JS_Sound_SetListenerPosition":_JS_Sound_SetListenerPosition,"JS_Sound_SetLoop":_JS_Sound_SetLoop,"JS_Sound_SetLoopPoints":_JS_Sound_SetLoopPoints,"JS_Sound_SetPaused":_JS_Sound_SetPaused,"JS_Sound_SetPitch":_JS_Sound_SetPitch,"JS_Sound_SetPosition":_JS_Sound_SetPosition,"JS_Sound_SetVolume":_JS_Sound_SetVolume,"JS_Sound_Stop":_JS_Sound_Stop,"JS_SystemInfo_GetCanvasClientSize":_JS_SystemInfo_GetCanvasClientSize,"JS_SystemInfo_GetDocumentURL":_JS_SystemInfo_GetDocumentURL,"JS_SystemInfo_GetGPUInfo":_JS_SystemInfo_GetGPUInfo,"JS_SystemInfo_GetMatchWebGLToCanvasSize":_JS_SystemInfo_GetMatchWebGLToCanvasSize,"JS_SystemInfo_GetMemory":_JS_SystemInfo_GetMemory,"JS_SystemInfo_GetOS":_JS_SystemInfo_GetOS,"JS_SystemInfo_GetPreferredDevicePixelRatio":_JS_SystemInfo_GetPreferredDevicePixelRatio,"JS_SystemInfo_GetScreenSize":_JS_SystemInfo_GetScreenSize,"JS_SystemInfo_HasAstcHdr":_JS_SystemInfo_HasAstcHdr,"JS_SystemInfo_HasCursorLock":_JS_SystemInfo_HasCursorLock,"JS_SystemInfo_HasFullscreen":_JS_SystemInfo_HasFullscreen,"JS_SystemInfo_HasWebGL":_JS_SystemInfo_HasWebGL,"JS_UnityEngineShouldQuit":_JS_UnityEngineShouldQuit,"JS_WebRequest_Abort":_JS_WebRequest_Abort,"JS_WebRequest_Create":_JS_WebRequest_Create,"JS_WebRequest_GetResponseMetaData":_JS_WebRequest_GetResponseMetaData,"JS_WebRequest_GetResponseMetaDataLengths":_JS_WebRequest_GetResponseMetaDataLengths,"JS_WebRequest_Release":_JS_WebRequest_Release,"JS_WebRequest_Send":_JS_WebRequest_Send,"JS_WebRequest_SetRedirectLimit":_JS_WebRequest_SetRedirectLimit,"JS_WebRequest_SetRequestHeader":_JS_WebRequest_SetRequestHeader,"JS_WebRequest_SetTimeout":_JS_WebRequest_SetTimeout,"__cxa_allocate_exception":___cxa_allocate_exception,"__cxa_begin_catch":___cxa_begin_catch,"__cxa_end_catch":___cxa_end_catch,"__cxa_find_matching_catch_2":___cxa_find_matching_catch_2,"__cxa_find_matching_catch_3":___cxa_find_matching_catch_3,"__cxa_find_matching_catch_4":___cxa_find_matching_catch_4,"__cxa_free_exception":___cxa_free_exception,"__cxa_rethrow":___cxa_rethrow,"__cxa_throw":___cxa_throw,"__resumeException":___resumeException,"__syscall__newselect":___syscall__newselect,"__syscall_chmod":___syscall_chmod,"__syscall_connect":___syscall_connect,"__syscall_faccessat":___syscall_faccessat,"__syscall_fcntl64":___syscall_fcntl64,"__syscall_fstat64":___syscall_fstat64,"__syscall_getcwd":___syscall_getcwd,"__syscall_getdents64":___syscall_getdents64,"__syscall_ioctl":___syscall_ioctl,"__syscall_lstat64":___syscall_lstat64,"__syscall_mkdir":___syscall_mkdir,"__syscall_newfstatat":___syscall_newfstatat,"__syscall_openat":___syscall_openat,"__syscall_readlinkat":___syscall_readlinkat,"__syscall_recvfrom":___syscall_recvfrom,"__syscall_renameat":___syscall_renameat,"__syscall_rmdir":___syscall_rmdir,"__syscall_sendto":___syscall_sendto,"__syscall_socket":___syscall_socket,"__syscall_stat64":___syscall_stat64,"__syscall_statfs64":___syscall_statfs64,"__syscall_truncate64":___syscall_truncate64,"__syscall_unlinkat":___syscall_unlinkat,"__syscall_utimensat":___syscall_utimensat,"_dlopen_js":__dlopen_js,"_dlsym_js":__dlsym_js,"_emscripten_date_now":__emscripten_date_now,"_emscripten_get_now_is_monotonic":__emscripten_get_now_is_monotonic,"_emscripten_throw_longjmp":__emscripten_throw_longjmp,"_gmtime_js":__gmtime_js,"_localtime_js":__localtime_js,"_mktime_js":__mktime_js,"_mmap_js":__mmap_js,"_munmap_js":__munmap_js,"_tzset_js":__tzset_js,"abort":_abort,"emscripten_asm_const_int_sync_on_main_thread":_emscripten_asm_const_int_sync_on_main_thread,"emscripten_cancel_main_loop":_emscripten_cancel_main_loop,"emscripten_clear_interval":_emscripten_clear_interval,"emscripten_exit_fullscreen":_emscripten_exit_fullscreen,"emscripten_exit_pointerlock":_emscripten_exit_pointerlock,"emscripten_get_canvas_element_size":_emscripten_get_canvas_element_size,"emscripten_get_fullscreen_status":_emscripten_get_fullscreen_status,"emscripten_get_gamepad_status":_emscripten_get_gamepad_status,"emscripten_get_heap_max":_emscripten_get_heap_max,"emscripten_get_now":_emscripten_get_now,"emscripten_get_now_res":_emscripten_get_now_res,"emscripten_get_num_gamepads":_emscripten_get_num_gamepads,"emscripten_html5_remove_all_event_listeners":_emscripten_html5_remove_all_event_listeners,"emscripten_is_webgl_context_lost":_emscripten_is_webgl_context_lost,"emscripten_log":_emscripten_log,"emscripten_memcpy_big":_emscripten_memcpy_big,"emscripten_request_fullscreen":_emscripten_request_fullscreen,"emscripten_request_pointerlock":_emscripten_request_pointerlock,"emscripten_resize_heap":_emscripten_resize_heap,"emscripten_sample_gamepad_data":_emscripten_sample_gamepad_data,"emscripten_set_blur_callback_on_thread":_emscripten_set_blur_callback_on_thread,"emscripten_set_canvas_element_size":_emscripten_set_canvas_element_size,"emscripten_set_focus_callback_on_thread":_emscripten_set_focus_callback_on_thread,"emscripten_set_fullscreenchange_callback_on_thread":_emscripten_set_fullscreenchange_callback_on_thread,"emscripten_set_gamepadconnected_callback_on_thread":_emscripten_set_gamepadconnected_callback_on_thread,"emscripten_set_gamepaddisconnected_callback_on_thread":_emscripten_set_gamepaddisconnected_callback_on_thread,"emscripten_set_interval":_emscripten_set_interval,"emscripten_set_keydown_callback_on_thread":_emscripten_set_keydown_callback_on_thread,"emscripten_set_keypress_callback_on_thread":_emscripten_set_keypress_callback_on_thread,"emscripten_set_keyup_callback_on_thread":_emscripten_set_keyup_callback_on_thread,"emscripten_set_main_loop":_emscripten_set_main_loop,"emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"emscripten_set_mousedown_callback_on_thread":_emscripten_set_mousedown_callback_on_thread,"emscripten_set_mousemove_callback_on_thread":_emscripten_set_mousemove_callback_on_thread,"emscripten_set_mouseup_callback_on_thread":_emscripten_set_mouseup_callback_on_thread,"emscripten_set_pointerlockchange_callback_on_thread":_emscripten_set_pointerlockchange_callback_on_thread,"emscripten_set_touchcancel_callback_on_thread":_emscripten_set_touchcancel_callback_on_thread,"emscripten_set_touchend_callback_on_thread":_emscripten_set_touchend_callback_on_thread,"emscripten_set_touchmove_callback_on_thread":_emscripten_set_touchmove_callback_on_thread,"emscripten_set_touchstart_callback_on_thread":_emscripten_set_touchstart_callback_on_thread,"emscripten_set_wheel_callback_on_thread":_emscripten_set_wheel_callback_on_thread,"emscripten_webgl_create_context":_emscripten_webgl_create_context,"emscripten_webgl_destroy_context":_emscripten_webgl_destroy_context,"emscripten_webgl_enable_extension":_emscripten_webgl_enable_extension,"emscripten_webgl_get_current_context":_emscripten_webgl_get_current_context,"emscripten_webgl_init_context_attributes":_emscripten_webgl_init_context_attributes,"emscripten_webgl_make_context_current":_emscripten_webgl_make_context_current,"environ_get":_environ_get,"environ_sizes_get":_environ_sizes_get,"exit":_exit,"fd_close":_fd_close,"fd_fdstat_get":_fd_fdstat_get,"fd_read":_fd_read,"fd_seek":_fd_seek,"fd_write":_fd_write,"getTempRet0":_getTempRet0,"gethostbyaddr":_gethostbyaddr,"gethostbyname":_gethostbyname,"glActiveTexture":_glActiveTexture,"glAttachShader":_glAttachShader,"glBeginQuery":_glBeginQuery,"glBindAttribLocation":_glBindAttribLocation,"glBindBuffer":_glBindBuffer,"glBindBufferBase":_glBindBufferBase,"glBindBufferRange":_glBindBufferRange,"glBindFramebuffer":_glBindFramebuffer,"glBindRenderbuffer":_glBindRenderbuffer,"glBindSampler":_glBindSampler,"glBindTexture":_glBindTexture,"glBindVertexArray":_glBindVertexArray,"glBlendEquation":_glBlendEquation,"glBlendEquationSeparate":_glBlendEquationSeparate,"glBlendFuncSeparate":_glBlendFuncSeparate,"glBlitFramebuffer":_glBlitFramebuffer,"glBufferData":_glBufferData,"glBufferSubData":_glBufferSubData,"glCheckFramebufferStatus":_glCheckFramebufferStatus,"glClear":_glClear,"glClearBufferfi":_glClearBufferfi,"glClearBufferfv":_glClearBufferfv,"glClearBufferuiv":_glClearBufferuiv,"glClearColor":_glClearColor,"glClearDepthf":_glClearDepthf,"glClearStencil":_glClearStencil,"glClientWaitSync":_glClientWaitSync,"glColorMask":_glColorMask,"glCompileShader":_glCompileShader,"glCompressedTexImage2D":_glCompressedTexImage2D,"glCompressedTexImage3D":_glCompressedTexImage3D,"glCompressedTexSubImage2D":_glCompressedTexSubImage2D,"glCompressedTexSubImage3D":_glCompressedTexSubImage3D,"glCopyBufferSubData":_glCopyBufferSubData,"glCopyTexImage2D":_glCopyTexImage2D,"glCopyTexSubImage2D":_glCopyTexSubImage2D,"glCreateProgram":_glCreateProgram,"glCreateShader":_glCreateShader,"glCullFace":_glCullFace,"glDeleteBuffers":_glDeleteBuffers,"glDeleteFramebuffers":_glDeleteFramebuffers,"glDeleteProgram":_glDeleteProgram,"glDeleteQueries":_glDeleteQueries,"glDeleteRenderbuffers":_glDeleteRenderbuffers,"glDeleteSamplers":_glDeleteSamplers,"glDeleteShader":_glDeleteShader,"glDeleteSync":_glDeleteSync,"glDeleteTextures":_glDeleteTextures,"glDeleteVertexArrays":_glDeleteVertexArrays,"glDepthFunc":_glDepthFunc,"glDepthMask":_glDepthMask,"glDetachShader":_glDetachShader,"glDisable":_glDisable,"glDisableVertexAttribArray":_glDisableVertexAttribArray,"glDrawArrays":_glDrawArrays,"glDrawArraysInstanced":_glDrawArraysInstanced,"glDrawBuffers":_glDrawBuffers,"glDrawElements":_glDrawElements,"glDrawElementsInstanced":_glDrawElementsInstanced,"glEnable":_glEnable,"glEnableVertexAttribArray":_glEnableVertexAttribArray,"glEndQuery":_glEndQuery,"glFenceSync":_glFenceSync,"glFinish":_glFinish,"glFlush":_glFlush,"glFlushMappedBufferRange":_glFlushMappedBufferRange,"glFramebufferRenderbuffer":_glFramebufferRenderbuffer,"glFramebufferTexture2D":_glFramebufferTexture2D,"glFramebufferTextureLayer":_glFramebufferTextureLayer,"glFrontFace":_glFrontFace,"glGenBuffers":_glGenBuffers,"glGenFramebuffers":_glGenFramebuffers,"glGenQueries":_glGenQueries,"glGenRenderbuffers":_glGenRenderbuffers,"glGenSamplers":_glGenSamplers,"glGenTextures":_glGenTextures,"glGenVertexArrays":_glGenVertexArrays,"glGenerateMipmap":_glGenerateMipmap,"glGetActiveAttrib":_glGetActiveAttrib,"glGetActiveUniform":_glGetActiveUniform,"glGetActiveUniformBlockName":_glGetActiveUniformBlockName,"glGetActiveUniformBlockiv":_glGetActiveUniformBlockiv,"glGetActiveUniformsiv":_glGetActiveUniformsiv,"glGetAttribLocation":_glGetAttribLocation,"glGetBufferSubData":_glGetBufferSubData,"glGetError":_glGetError,"glGetFramebufferAttachmentParameteriv":_glGetFramebufferAttachmentParameteriv,"glGetIntegeri_v":_glGetIntegeri_v,"glGetIntegerv":_glGetIntegerv,"glGetInternalformativ":_glGetInternalformativ,"glGetProgramBinary":_glGetProgramBinary,"glGetProgramInfoLog":_glGetProgramInfoLog,"glGetProgramiv":_glGetProgramiv,"glGetQueryObjectuiv":_glGetQueryObjectuiv,"glGetQueryiv":_glGetQueryiv,"glGetRenderbufferParameteriv":_glGetRenderbufferParameteriv,"glGetShaderInfoLog":_glGetShaderInfoLog,"glGetShaderPrecisionFormat":_glGetShaderPrecisionFormat,"glGetShaderSource":_glGetShaderSource,"glGetShaderiv":_glGetShaderiv,"glGetString":_glGetString,"glGetStringi":_glGetStringi,"glGetTexParameteriv":_glGetTexParameteriv,"glGetUniformBlockIndex":_glGetUniformBlockIndex,"glGetUniformIndices":_glGetUniformIndices,"glGetUniformLocation":_glGetUniformLocation,"glGetUniformiv":_glGetUniformiv,"glGetVertexAttribiv":_glGetVertexAttribiv,"glInvalidateFramebuffer":_glInvalidateFramebuffer,"glIsEnabled":_glIsEnabled,"glIsVertexArray":_glIsVertexArray,"glLinkProgram":_glLinkProgram,"glMapBufferRange":_glMapBufferRange,"glPixelStorei":_glPixelStorei,"glPolygonOffset":_glPolygonOffset,"glProgramBinary":_glProgramBinary,"glProgramParameteri":_glProgramParameteri,"glReadBuffer":_glReadBuffer,"glReadPixels":_glReadPixels,"glRenderbufferStorage":_glRenderbufferStorage,"glRenderbufferStorageMultisample":_glRenderbufferStorageMultisample,"glSamplerParameteri":_glSamplerParameteri,"glScissor":_glScissor,"glShaderSource":_glShaderSource,"glStencilFuncSeparate":_glStencilFuncSeparate,"glStencilMask":_glStencilMask,"glStencilOpSeparate":_glStencilOpSeparate,"glTexImage2D":_glTexImage2D,"glTexImage3D":_glTexImage3D,"glTexParameterf":_glTexParameterf,"glTexParameteri":_glTexParameteri,"glTexParameteriv":_glTexParameteriv,"glTexStorage2D":_glTexStorage2D,"glTexStorage3D":_glTexStorage3D,"glTexSubImage2D":_glTexSubImage2D,"glTexSubImage3D":_glTexSubImage3D,"glUniform1fv":_glUniform1fv,"glUniform1i":_glUniform1i,"glUniform1iv":_glUniform1iv,"glUniform1uiv":_glUniform1uiv,"glUniform2fv":_glUniform2fv,"glUniform2iv":_glUniform2iv,"glUniform2uiv":_glUniform2uiv,"glUniform3fv":_glUniform3fv,"glUniform3iv":_glUniform3iv,"glUniform3uiv":_glUniform3uiv,"glUniform4fv":_glUniform4fv,"glUniform4iv":_glUniform4iv,"glUniform4uiv":_glUniform4uiv,"glUniformBlockBinding":_glUniformBlockBinding,"glUniformMatrix3fv":_glUniformMatrix3fv,"glUniformMatrix4fv":_glUniformMatrix4fv,"glUnmapBuffer":_glUnmapBuffer,"glUseProgram":_glUseProgram,"glValidateProgram":_glValidateProgram,"glVertexAttrib4f":_glVertexAttrib4f,"glVertexAttrib4fv":_glVertexAttrib4fv,"glVertexAttribIPointer":_glVertexAttribIPointer,"glVertexAttribPointer":_glVertexAttribPointer,"glViewport":_glViewport,"invoke_ddiii":invoke_ddiii,"invoke_dii":invoke_dii,"invoke_diii":invoke_diii,"invoke_fffi":invoke_fffi,"invoke_fi":invoke_fi,"invoke_fii":invoke_fii,"invoke_fiii":invoke_fiii,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iifi":invoke_iifi,"invoke_iii":invoke_iii,"invoke_iiifi":invoke_iiifi,"invoke_iiifii":invoke_iiifii,"invoke_iiii":invoke_iiii,"invoke_iiiidii":invoke_iiiidii,"invoke_iiiifii":invoke_iiiifii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiii":invoke_iiiiiiii,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiiiiiiiiiii":invoke_iiiiiiiiiiii,"invoke_iiiiiiiiiji":invoke_iiiiiiiiiji,"invoke_iiiijii":invoke_iiiijii,"invoke_iiijii":invoke_iiijii,"invoke_iiijiii":invoke_iiijiii,"invoke_iij":invoke_iij,"invoke_iiji":invoke_iiji,"invoke_iijii":invoke_iijii,"invoke_iijiii":invoke_iijiii,"invoke_iijji":invoke_iijji,"invoke_iji":invoke_iji,"invoke_ijji":invoke_ijji,"invoke_j":invoke_j,"invoke_ji":invoke_ji,"invoke_jii":invoke_jii,"invoke_jiii":invoke_jiii,"invoke_jiiiii":invoke_jiiiii,"invoke_jiiiiiiiiii":invoke_jiiiiiiiiii,"invoke_jiji":invoke_jiji,"invoke_jijii":invoke_jijii,"invoke_jjji":invoke_jjji,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vidi":invoke_vidi,"invoke_viffi":invoke_viffi,"invoke_vifi":invoke_vifi,"invoke_vifii":invoke_vifii,"invoke_vii":invoke_vii,"invoke_viidi":invoke_viidi,"invoke_viiffi":invoke_viiffi,"invoke_viifi":invoke_viifi,"invoke_viifii":invoke_viifii,"invoke_viii":invoke_viii,"invoke_viiii":invoke_viiii,"invoke_viiiifi":invoke_viiiifi,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_viiiji":invoke_viiiji,"invoke_viiji":invoke_viiji,"invoke_viji":invoke_viji,"invoke_vijii":invoke_vijii,"invoke_vijiii":invoke_vijiii,"invoke_vji":invoke_vji,"invoke_vjiiiii":invoke_vjiiiii,"invoke_vjjjiiii":invoke_vjjjiiii,"llvm_eh_typeid_for":_llvm_eh_typeid_for,"setTempRet0":_setTempRet0,"strftime":_strftime};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["__wasm_call_ctors"]).apply(null,arguments)};var _getMemInfo=Module["_getMemInfo"]=function(){return(_getMemInfo=Module["_getMemInfo"]=Module["asm"]["getMemInfo"]).apply(null,arguments)};var _SendMessageFloat=Module["_SendMessageFloat"]=function(){return(_SendMessageFloat=Module["_SendMessageFloat"]=Module["asm"]["SendMessageFloat"]).apply(null,arguments)};var _SendMessageString=Module["_SendMessageString"]=function(){return(_SendMessageString=Module["_SendMessageString"]=Module["asm"]["SendMessageString"]).apply(null,arguments)};var _SendMessage=Module["_SendMessage"]=function(){return(_SendMessage=Module["_SendMessage"]=Module["asm"]["SendMessage"]).apply(null,arguments)};var _SetFullscreen=Module["_SetFullscreen"]=function(){return(_SetFullscreen=Module["_SetFullscreen"]=Module["asm"]["SetFullscreen"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["main"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["__errno_location"]).apply(null,arguments)};var ___dl_seterr=Module["___dl_seterr"]=function(){return(___dl_seterr=Module["___dl_seterr"]=Module["asm"]["__dl_seterr"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["htonl"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["htons"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["ntohs"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["strlen"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["malloc"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["free"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["emscripten_builtin_memalign"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["setThrew"]).apply(null,arguments)};var _saveSetjmp=Module["_saveSetjmp"]=function(){return(_saveSetjmp=Module["_saveSetjmp"]=Module["asm"]["saveSetjmp"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["stackSave"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["stackRestore"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["stackAlloc"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["__cxa_can_catch"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["__cxa_is_pointer_type"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["dynCall_iidiiii"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["dynCall_vii"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["dynCall_iiii"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["dynCall_iii"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["dynCall_ii"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["dynCall_jiji"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["dynCall_vi"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["dynCall_viii"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["dynCall_iiiii"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["dynCall_v"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["dynCall_viiiiii"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["dynCall_viiiii"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["dynCall_viiii"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["dynCall_iiiiii"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["dynCall_i"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["dynCall_iiiiiiii"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["dynCall_iiijiii"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["dynCall_iij"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["dynCall_iiiiiii"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["dynCall_jii"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["dynCall_viiiiiiii"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["dynCall_iiiijii"]).apply(null,arguments)};var dynCall_iiiidii=Module["dynCall_iiiidii"]=function(){return(dynCall_iiiidii=Module["dynCall_iiiidii"]=Module["asm"]["dynCall_iiiidii"]).apply(null,arguments)};var dynCall_iiiifii=Module["dynCall_iiiifii"]=function(){return(dynCall_iiiifii=Module["dynCall_iiiifii"]=Module["asm"]["dynCall_iiiifii"]).apply(null,arguments)};var dynCall_vidi=Module["dynCall_vidi"]=function(){return(dynCall_vidi=Module["dynCall_vidi"]=Module["asm"]["dynCall_vidi"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["dynCall_viidi"]).apply(null,arguments)};var dynCall_vifii=Module["dynCall_vifii"]=function(){return(dynCall_vifii=Module["dynCall_vifii"]=Module["asm"]["dynCall_vifii"]).apply(null,arguments)};var dynCall_viiiji=Module["dynCall_viiiji"]=function(){return(dynCall_viiiji=Module["dynCall_viiiji"]=Module["asm"]["dynCall_viiiji"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["dynCall_viifi"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=function(){return(dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=Module["asm"]["dynCall_iiiiiiiiiji"]).apply(null,arguments)};var dynCall_vji=Module["dynCall_vji"]=function(){return(dynCall_vji=Module["dynCall_vji"]=Module["asm"]["dynCall_vji"]).apply(null,arguments)};var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=function(){return(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["dynCall_viiiiiii"]).apply(null,arguments)};var dynCall_viiffi=Module["dynCall_viiffi"]=function(){return(dynCall_viiffi=Module["dynCall_viiffi"]=Module["asm"]["dynCall_viiffi"]).apply(null,arguments)};var dynCall_iiifii=Module["dynCall_iiifii"]=function(){return(dynCall_iiifii=Module["dynCall_iiifii"]=Module["asm"]["dynCall_iiifii"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["dynCall_viiiifii"]).apply(null,arguments)};var dynCall_iifi=Module["dynCall_iifi"]=function(){return(dynCall_iifi=Module["dynCall_iifi"]=Module["asm"]["dynCall_iifi"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["dynCall_fiii"]).apply(null,arguments)};var dynCall_jiiijii=Module["dynCall_jiiijii"]=function(){return(dynCall_jiiijii=Module["dynCall_jiiijii"]=Module["asm"]["dynCall_jiiijii"]).apply(null,arguments)};var dynCall_viiijiii=Module["dynCall_viiijiii"]=function(){return(dynCall_viiijiii=Module["dynCall_viiijiii"]=Module["asm"]["dynCall_viiijiii"]).apply(null,arguments)};var dynCall_didi=Module["dynCall_didi"]=function(){return(dynCall_didi=Module["dynCall_didi"]=Module["asm"]["dynCall_didi"]).apply(null,arguments)};var dynCall_fifi=Module["dynCall_fifi"]=function(){return(dynCall_fifi=Module["dynCall_fifi"]=Module["asm"]["dynCall_fifi"]).apply(null,arguments)};var dynCall_fffi=Module["dynCall_fffi"]=function(){return(dynCall_fffi=Module["dynCall_fffi"]=Module["asm"]["dynCall_fffi"]).apply(null,arguments)};var dynCall_viifii=Module["dynCall_viifii"]=function(){return(dynCall_viifii=Module["dynCall_viifii"]=Module["asm"]["dynCall_viifii"]).apply(null,arguments)};var dynCall_vifi=Module["dynCall_vifi"]=function(){return(dynCall_vifi=Module["dynCall_vifi"]=Module["asm"]["dynCall_vifi"]).apply(null,arguments)};var dynCall_iiiifi=Module["dynCall_iiiifi"]=function(){return(dynCall_iiiifi=Module["dynCall_iiiifi"]=Module["asm"]["dynCall_iiiifi"]).apply(null,arguments)};var dynCall_fiiffi=Module["dynCall_fiiffi"]=function(){return(dynCall_fiiffi=Module["dynCall_fiiffi"]=Module["asm"]["dynCall_fiiffi"]).apply(null,arguments)};var dynCall_viiififii=Module["dynCall_viiififii"]=function(){return(dynCall_viiififii=Module["dynCall_viiififii"]=Module["asm"]["dynCall_viiififii"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["dynCall_ji"]).apply(null,arguments)};var dynCall_diidi=Module["dynCall_diidi"]=function(){return(dynCall_diidi=Module["dynCall_diidi"]=Module["asm"]["dynCall_diidi"]).apply(null,arguments)};var dynCall_jiiji=Module["dynCall_jiiji"]=function(){return(dynCall_jiiji=Module["dynCall_jiiji"]=Module["asm"]["dynCall_jiiji"]).apply(null,arguments)};var dynCall_fiifi=Module["dynCall_fiifi"]=function(){return(dynCall_fiifi=Module["dynCall_fiifi"]=Module["asm"]["dynCall_fiifi"]).apply(null,arguments)};var dynCall_iiffi=Module["dynCall_iiffi"]=function(){return(dynCall_iiffi=Module["dynCall_iiffi"]=Module["asm"]["dynCall_iiffi"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["dynCall_fi"]).apply(null,arguments)};var dynCall_iiifi=Module["dynCall_iiifi"]=function(){return(dynCall_iiifi=Module["dynCall_iiifi"]=Module["asm"]["dynCall_iiifi"]).apply(null,arguments)};var dynCall_viiiifi=Module["dynCall_viiiifi"]=function(){return(dynCall_viiiifi=Module["dynCall_viiiifi"]=Module["asm"]["dynCall_viiiifi"]).apply(null,arguments)};var dynCall_viiji=Module["dynCall_viiji"]=function(){return(dynCall_viiji=Module["dynCall_viiji"]=Module["asm"]["dynCall_viiji"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["dynCall_iiijii"]).apply(null,arguments)};var dynCall_iiddi=Module["dynCall_iiddi"]=function(){return(dynCall_iiddi=Module["dynCall_iiddi"]=Module["asm"]["dynCall_iiddi"]).apply(null,arguments)};var dynCall_iijji=Module["dynCall_iijji"]=function(){return(dynCall_iijji=Module["dynCall_iijji"]=Module["asm"]["dynCall_iijji"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiii"]).apply(null,arguments)};var dynCall_vijii=Module["dynCall_vijii"]=function(){return(dynCall_vijii=Module["dynCall_vijii"]=Module["asm"]["dynCall_vijii"]).apply(null,arguments)};var dynCall_iijiii=Module["dynCall_iijiii"]=function(){return(dynCall_iijiii=Module["dynCall_iijiii"]=Module["asm"]["dynCall_iijiii"]).apply(null,arguments)};var dynCall_iji=Module["dynCall_iji"]=function(){return(dynCall_iji=Module["dynCall_iji"]=Module["asm"]["dynCall_iji"]).apply(null,arguments)};var dynCall_jjji=Module["dynCall_jjji"]=function(){return(dynCall_jjji=Module["dynCall_jjji"]=Module["asm"]["dynCall_jjji"]).apply(null,arguments)};var dynCall_jiiiii=Module["dynCall_jiiiii"]=function(){return(dynCall_jiiiii=Module["dynCall_jiiiii"]=Module["asm"]["dynCall_jiiiii"]).apply(null,arguments)};var dynCall_ddiii=Module["dynCall_ddiii"]=function(){return(dynCall_ddiii=Module["dynCall_ddiii"]=Module["asm"]["dynCall_ddiii"]).apply(null,arguments)};var dynCall_iidi=Module["dynCall_iidi"]=function(){return(dynCall_iidi=Module["dynCall_iidi"]=Module["asm"]["dynCall_iidi"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiii"]).apply(null,arguments)};var dynCall_jijii=Module["dynCall_jijii"]=function(){return(dynCall_jijii=Module["dynCall_jijii"]=Module["asm"]["dynCall_jijii"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["dynCall_fii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiii"]).apply(null,arguments)};var dynCall_jiii=Module["dynCall_jiii"]=function(){return(dynCall_jiii=Module["dynCall_jiii"]=Module["asm"]["dynCall_jiii"]).apply(null,arguments)};var dynCall_ijji=Module["dynCall_ijji"]=function(){return(dynCall_ijji=Module["dynCall_ijji"]=Module["asm"]["dynCall_ijji"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["dynCall_j"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["dynCall_iijii"]).apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return(dynCall_dii=Module["dynCall_dii"]=Module["asm"]["dynCall_dii"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["dynCall_iiji"]).apply(null,arguments)};var dynCall_vijiii=Module["dynCall_vijiii"]=function(){return(dynCall_vijiii=Module["dynCall_vijiii"]=Module["asm"]["dynCall_vijiii"]).apply(null,arguments)};var dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=function(){return(dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=Module["asm"]["dynCall_vjjjiiii"]).apply(null,arguments)};var dynCall_vjiiiii=Module["dynCall_vjiiiii"]=function(){return(dynCall_vjiiiii=Module["dynCall_vjiiiii"]=Module["asm"]["dynCall_vjiiiii"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["dynCall_iiiji"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["dynCall_viji"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["dynCall_iiiiji"]).apply(null,arguments)};var dynCall_viiijii=Module["dynCall_viiijii"]=function(){return(dynCall_viiijii=Module["dynCall_viiijii"]=Module["asm"]["dynCall_viiijii"]).apply(null,arguments)};var dynCall_ifi=Module["dynCall_ifi"]=function(){return(dynCall_ifi=Module["dynCall_ifi"]=Module["asm"]["dynCall_ifi"]).apply(null,arguments)};var dynCall_ijjiii=Module["dynCall_ijjiii"]=function(){return(dynCall_ijjiii=Module["dynCall_ijjiii"]=Module["asm"]["dynCall_ijjiii"]).apply(null,arguments)};var dynCall_ijiiii=Module["dynCall_ijiiii"]=function(){return(dynCall_ijiiii=Module["dynCall_ijiiii"]=Module["asm"]["dynCall_ijiiii"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["dynCall_ijiii"]).apply(null,arguments)};var dynCall_viffi=Module["dynCall_viffi"]=function(){return(dynCall_viffi=Module["dynCall_viffi"]=Module["asm"]["dynCall_viffi"]).apply(null,arguments)};var dynCall_diiiii=Module["dynCall_diiiii"]=function(){return(dynCall_diiiii=Module["dynCall_diiiii"]=Module["asm"]["dynCall_diiiii"]).apply(null,arguments)};var dynCall_vijji=Module["dynCall_vijji"]=function(){return(dynCall_vijji=Module["dynCall_vijji"]=Module["asm"]["dynCall_vijji"]).apply(null,arguments)};var dynCall_viffffi=Module["dynCall_viffffi"]=function(){return(dynCall_viffffi=Module["dynCall_viffffi"]=Module["asm"]["dynCall_viffffi"]).apply(null,arguments)};var dynCall_vfffi=Module["dynCall_vfffi"]=function(){return(dynCall_vfffi=Module["dynCall_vfffi"]=Module["asm"]["dynCall_vfffi"]).apply(null,arguments)};var dynCall_vffi=Module["dynCall_vffi"]=function(){return(dynCall_vffi=Module["dynCall_vffi"]=Module["asm"]["dynCall_vffi"]).apply(null,arguments)};var dynCall_vffffi=Module["dynCall_vffffi"]=function(){return(dynCall_vffffi=Module["dynCall_vffffi"]=Module["asm"]["dynCall_vffffi"]).apply(null,arguments)};var dynCall_viiifi=Module["dynCall_viiifi"]=function(){return(dynCall_viiifi=Module["dynCall_viiifi"]=Module["asm"]["dynCall_viiifi"]).apply(null,arguments)};var dynCall_viiiiffi=Module["dynCall_viiiiffi"]=function(){return(dynCall_viiiiffi=Module["dynCall_viiiiffi"]=Module["asm"]["dynCall_viiiiffi"]).apply(null,arguments)};var dynCall_viiiffii=Module["dynCall_viiiffii"]=function(){return(dynCall_viiiffii=Module["dynCall_viiiffii"]=Module["asm"]["dynCall_viiiffii"]).apply(null,arguments)};var dynCall_vifffi=Module["dynCall_vifffi"]=function(){return(dynCall_vifffi=Module["dynCall_vifffi"]=Module["asm"]["dynCall_vifffi"]).apply(null,arguments)};var dynCall_viiiifffi=Module["dynCall_viiiifffi"]=function(){return(dynCall_viiiifffi=Module["dynCall_viiiifffi"]=Module["asm"]["dynCall_viiiifffi"]).apply(null,arguments)};var dynCall_vfiii=Module["dynCall_vfiii"]=function(){return(dynCall_vfiii=Module["dynCall_vfiii"]=Module["asm"]["dynCall_vfiii"]).apply(null,arguments)};var dynCall_ffi=Module["dynCall_ffi"]=function(){return(dynCall_ffi=Module["dynCall_ffi"]=Module["asm"]["dynCall_ffi"]).apply(null,arguments)};var dynCall_ffffi=Module["dynCall_ffffi"]=function(){return(dynCall_ffffi=Module["dynCall_ffffi"]=Module["asm"]["dynCall_ffffi"]).apply(null,arguments)};var dynCall_iffi=Module["dynCall_iffi"]=function(){return(dynCall_iffi=Module["dynCall_iffi"]=Module["asm"]["dynCall_iffi"]).apply(null,arguments)};var dynCall_fffifffi=Module["dynCall_fffifffi"]=function(){return(dynCall_fffifffi=Module["dynCall_fffifffi"]=Module["asm"]["dynCall_fffifffi"]).apply(null,arguments)};var dynCall_fdi=Module["dynCall_fdi"]=function(){return(dynCall_fdi=Module["dynCall_fdi"]=Module["asm"]["dynCall_fdi"]).apply(null,arguments)};var dynCall_idi=Module["dynCall_idi"]=function(){return(dynCall_idi=Module["dynCall_idi"]=Module["asm"]["dynCall_idi"]).apply(null,arguments)};var dynCall_dddi=Module["dynCall_dddi"]=function(){return(dynCall_dddi=Module["dynCall_dddi"]=Module["asm"]["dynCall_dddi"]).apply(null,arguments)};var dynCall_ddi=Module["dynCall_ddi"]=function(){return(dynCall_ddi=Module["dynCall_ddi"]=Module["asm"]["dynCall_ddi"]).apply(null,arguments)};var dynCall_vfii=Module["dynCall_vfii"]=function(){return(dynCall_vfii=Module["dynCall_vfii"]=Module["asm"]["dynCall_vfii"]).apply(null,arguments)};var dynCall_ddddi=Module["dynCall_ddddi"]=function(){return(dynCall_ddddi=Module["dynCall_ddddi"]=Module["asm"]["dynCall_ddddi"]).apply(null,arguments)};var dynCall_jji=Module["dynCall_jji"]=function(){return(dynCall_jji=Module["dynCall_jji"]=Module["asm"]["dynCall_jji"]).apply(null,arguments)};var dynCall_jjjji=Module["dynCall_jjjji"]=function(){return(dynCall_jjjji=Module["dynCall_jjjji"]=Module["asm"]["dynCall_jjjji"]).apply(null,arguments)};var dynCall_vjiiii=Module["dynCall_vjiiii"]=function(){return(dynCall_vjiiii=Module["dynCall_vjiiii"]=Module["asm"]["dynCall_vjiiii"]).apply(null,arguments)};var dynCall_viifffi=Module["dynCall_viifffi"]=function(){return(dynCall_viifffi=Module["dynCall_viifffi"]=Module["asm"]["dynCall_viifffi"]).apply(null,arguments)};var dynCall_vijjii=Module["dynCall_vijjii"]=function(){return(dynCall_vijjii=Module["dynCall_vijjii"]=Module["asm"]["dynCall_vijjii"]).apply(null,arguments)};var dynCall_viiiiiiiijijiii=Module["dynCall_viiiiiiiijijiii"]=function(){return(dynCall_viiiiiiiijijiii=Module["dynCall_viiiiiiiijijiii"]=Module["asm"]["dynCall_viiiiiiiijijiii"]).apply(null,arguments)};var dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=function(){return(dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=Module["asm"]["dynCall_viiiiiffii"]).apply(null,arguments)};var dynCall_viffffii=Module["dynCall_viffffii"]=function(){return(dynCall_viffffii=Module["dynCall_viffffii"]=Module["asm"]["dynCall_viffffii"]).apply(null,arguments)};var dynCall_iiifiii=Module["dynCall_iiifiii"]=function(){return(dynCall_iiifiii=Module["dynCall_iiifiii"]=Module["asm"]["dynCall_iiifiii"]).apply(null,arguments)};var dynCall_iiiifiii=Module["dynCall_iiiifiii"]=function(){return(dynCall_iiiifiii=Module["dynCall_iiiifiii"]=Module["asm"]["dynCall_iiiifiii"]).apply(null,arguments)};var dynCall_iifiii=Module["dynCall_iifiii"]=function(){return(dynCall_iifiii=Module["dynCall_iifiii"]=Module["asm"]["dynCall_iifiii"]).apply(null,arguments)};var dynCall_iifii=Module["dynCall_iifii"]=function(){return(dynCall_iifii=Module["dynCall_iifii"]=Module["asm"]["dynCall_iifii"]).apply(null,arguments)};var dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=function(){return(dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=Module["asm"]["dynCall_iiiiifiii"]).apply(null,arguments)};var dynCall_iiifiiii=Module["dynCall_iiifiiii"]=function(){return(dynCall_iiifiiii=Module["dynCall_iiifiiii"]=Module["asm"]["dynCall_iiifiiii"]).apply(null,arguments)};var dynCall_vifffffi=Module["dynCall_vifffffi"]=function(){return(dynCall_vifffffi=Module["dynCall_vifffffi"]=Module["asm"]["dynCall_vifffffi"]).apply(null,arguments)};var dynCall_viiiiifi=Module["dynCall_viiiiifi"]=function(){return(dynCall_viiiiifi=Module["dynCall_viiiiifi"]=Module["asm"]["dynCall_viiiiifi"]).apply(null,arguments)};var dynCall_viffiiii=Module["dynCall_viffiiii"]=function(){return(dynCall_viffiiii=Module["dynCall_viffiiii"]=Module["asm"]["dynCall_viffiiii"]).apply(null,arguments)};var dynCall_viiiffffiiii=Module["dynCall_viiiffffiiii"]=function(){return(dynCall_viiiffffiiii=Module["dynCall_viiiffffiiii"]=Module["asm"]["dynCall_viiiffffiiii"]).apply(null,arguments)};var dynCall_viifffffffiiiii=Module["dynCall_viifffffffiiiii"]=function(){return(dynCall_viifffffffiiiii=Module["dynCall_viifffffffiiiii"]=Module["asm"]["dynCall_viifffffffiiiii"]).apply(null,arguments)};var dynCall_fiiii=Module["dynCall_fiiii"]=function(){return(dynCall_fiiii=Module["dynCall_fiiii"]=Module["asm"]["dynCall_fiiii"]).apply(null,arguments)};var dynCall_fiiiii=Module["dynCall_fiiiii"]=function(){return(dynCall_fiiiii=Module["dynCall_fiiiii"]=Module["asm"]["dynCall_fiiiii"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiiii"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_viffii=Module["dynCall_viffii"]=function(){return(dynCall_viffii=Module["dynCall_viffii"]=Module["asm"]["dynCall_viffii"]).apply(null,arguments)};var dynCall_vififiii=Module["dynCall_vififiii"]=function(){return(dynCall_vififiii=Module["dynCall_vififiii"]=Module["asm"]["dynCall_vififiii"]).apply(null,arguments)};var dynCall_viififii=Module["dynCall_viififii"]=function(){return(dynCall_viififii=Module["dynCall_viififii"]=Module["asm"]["dynCall_viififii"]).apply(null,arguments)};var dynCall_fiffi=Module["dynCall_fiffi"]=function(){return(dynCall_fiffi=Module["dynCall_fiffi"]=Module["asm"]["dynCall_fiffi"]).apply(null,arguments)};var dynCall_viijji=Module["dynCall_viijji"]=function(){return(dynCall_viijji=Module["dynCall_viijji"]=Module["asm"]["dynCall_viijji"]).apply(null,arguments)};var dynCall_diii=Module["dynCall_diii"]=function(){return(dynCall_diii=Module["dynCall_diii"]=Module["asm"]["dynCall_diii"]).apply(null,arguments)};var dynCall_viiidi=Module["dynCall_viiidi"]=function(){return(dynCall_viiidi=Module["dynCall_viiidi"]=Module["asm"]["dynCall_viiidi"]).apply(null,arguments)};var dynCall_jijji=Module["dynCall_jijji"]=function(){return(dynCall_jijji=Module["dynCall_jijji"]=Module["asm"]["dynCall_jijji"]).apply(null,arguments)};var dynCall_viiffffi=Module["dynCall_viiffffi"]=function(){return(dynCall_viiffffi=Module["dynCall_viiffffi"]=Module["asm"]["dynCall_viiffffi"]).apply(null,arguments)};var dynCall_fifffi=Module["dynCall_fifffi"]=function(){return(dynCall_fifffi=Module["dynCall_fifffi"]=Module["asm"]["dynCall_fifffi"]).apply(null,arguments)};var dynCall_ifffi=Module["dynCall_ifffi"]=function(){return(dynCall_ifffi=Module["dynCall_ifffi"]=Module["asm"]["dynCall_ifffi"]).apply(null,arguments)};var dynCall_viffiii=Module["dynCall_viffiii"]=function(){return(dynCall_viffiii=Module["dynCall_viffiii"]=Module["asm"]["dynCall_viffiii"]).apply(null,arguments)};var dynCall_viffifi=Module["dynCall_viffifi"]=function(){return(dynCall_viffifi=Module["dynCall_viffifi"]=Module["asm"]["dynCall_viffifi"]).apply(null,arguments)};var dynCall_fiffffi=Module["dynCall_fiffffi"]=function(){return(dynCall_fiffffi=Module["dynCall_fiffffi"]=Module["asm"]["dynCall_fiffffi"]).apply(null,arguments)};var dynCall_fffffffi=Module["dynCall_fffffffi"]=function(){return(dynCall_fffffffi=Module["dynCall_fffffffi"]=Module["asm"]["dynCall_fffffffi"]).apply(null,arguments)};var dynCall_viiffifi=Module["dynCall_viiffifi"]=function(){return(dynCall_viiffifi=Module["dynCall_viiffifi"]=Module["asm"]["dynCall_viiffifi"]).apply(null,arguments)};var dynCall_viiiffiiiiiiiii=Module["dynCall_viiiffiiiiiiiii"]=function(){return(dynCall_viiiffiiiiiiiii=Module["dynCall_viiiffiiiiiiiii"]=Module["asm"]["dynCall_viiiffiiiiiiiii"]).apply(null,arguments)};var dynCall_viiiffiiiiii=Module["dynCall_viiiffiiiiii"]=function(){return(dynCall_viiiffiiiiii=Module["dynCall_viiiffiiiiii"]=Module["asm"]["dynCall_viiiffiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiiiiiii=Module["dynCall_viiffiiiiiiiiii"]=function(){return(dynCall_viiffiiiiiiiiii=Module["dynCall_viiffiiiiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=function(){return(dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiii"]).apply(null,arguments)};var dynCall_viffffffi=Module["dynCall_viffffffi"]=function(){return(dynCall_viffffffi=Module["dynCall_viffffffi"]=Module["asm"]["dynCall_viffffffi"]).apply(null,arguments)};var dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=function(){return(dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=Module["asm"]["dynCall_iiiffiiii"]).apply(null,arguments)};var dynCall_fffffi=Module["dynCall_fffffi"]=function(){return(dynCall_fffffi=Module["dynCall_fffffi"]=Module["asm"]["dynCall_fffffi"]).apply(null,arguments)};var dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=function(){return(dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=Module["asm"]["dynCall_iiiiffiiii"]).apply(null,arguments)};var dynCall_fiiiffi=Module["dynCall_fiiiffi"]=function(){return(dynCall_fiiiffi=Module["dynCall_fiiiffi"]=Module["asm"]["dynCall_fiiiffi"]).apply(null,arguments)};var dynCall_diiii=Module["dynCall_diiii"]=function(){return(dynCall_diiii=Module["dynCall_diiii"]=Module["asm"]["dynCall_diiii"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["dynCall_jiiii"]).apply(null,arguments)};var dynCall_ijii=Module["dynCall_ijii"]=function(){return(dynCall_ijii=Module["dynCall_ijii"]=Module["asm"]["dynCall_ijii"]).apply(null,arguments)};var dynCall_vjii=Module["dynCall_vjii"]=function(){return(dynCall_vjii=Module["dynCall_vjii"]=Module["asm"]["dynCall_vjii"]).apply(null,arguments)};var dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=function(){return(dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=Module["asm"]["dynCall_viiiiiiiijiiii"]).apply(null,arguments)};var dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=function(){return(dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=Module["asm"]["dynCall_viiiiiifiiiiii"]).apply(null,arguments)};var dynCall_viffffiii=Module["dynCall_viffffiii"]=function(){return(dynCall_viffffiii=Module["dynCall_viffffiii"]=Module["asm"]["dynCall_viffffiii"]).apply(null,arguments)};var dynCall_viifiii=Module["dynCall_viifiii"]=function(){return(dynCall_viifiii=Module["dynCall_viifiii"]=Module["asm"]["dynCall_viifiii"]).apply(null,arguments)};var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=function(){return(dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=Module["asm"]["dynCall_vifiiiiii"]).apply(null,arguments)};var dynCall_ffii=Module["dynCall_ffii"]=function(){return(dynCall_ffii=Module["dynCall_ffii"]=Module["asm"]["dynCall_ffii"]).apply(null,arguments)};var dynCall_viifiiii=Module["dynCall_viifiiii"]=function(){return(dynCall_viifiiii=Module["dynCall_viifiiii"]=Module["asm"]["dynCall_viifiiii"]).apply(null,arguments)};var dynCall_fifii=Module["dynCall_fifii"]=function(){return(dynCall_fifii=Module["dynCall_fifii"]=Module["asm"]["dynCall_fifii"]).apply(null,arguments)};var dynCall_vifffii=Module["dynCall_vifffii"]=function(){return(dynCall_vifffii=Module["dynCall_vifffii"]=Module["asm"]["dynCall_vifffii"]).apply(null,arguments)};var dynCall_viiiffi=Module["dynCall_viiiffi"]=function(){return(dynCall_viiiffi=Module["dynCall_viiiffi"]=Module["asm"]["dynCall_viiiffi"]).apply(null,arguments)};var dynCall_viiifffi=Module["dynCall_viiifffi"]=function(){return(dynCall_viiifffi=Module["dynCall_viiifffi"]=Module["asm"]["dynCall_viiifffi"]).apply(null,arguments)};var dynCall_fiifii=Module["dynCall_fiifii"]=function(){return(dynCall_fiifii=Module["dynCall_fiifii"]=Module["asm"]["dynCall_fiifii"]).apply(null,arguments)};var dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=function(){return(dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=Module["asm"]["dynCall_iiiifiiii"]).apply(null,arguments)};var dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=function(){return(dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=Module["asm"]["dynCall_viiiiiffi"]).apply(null,arguments)};var dynCall_iifffi=Module["dynCall_iifffi"]=function(){return(dynCall_iifffi=Module["dynCall_iifffi"]=Module["asm"]["dynCall_iifffi"]).apply(null,arguments)};var dynCall_viiifii=Module["dynCall_viiifii"]=function(){return(dynCall_viiifii=Module["dynCall_viiifii"]=Module["asm"]["dynCall_viiifii"]).apply(null,arguments)};var dynCall_viiidii=Module["dynCall_viiidii"]=function(){return(dynCall_viiidii=Module["dynCall_viiidii"]=Module["asm"]["dynCall_viiidii"]).apply(null,arguments)};var dynCall_ijiiiiiiiii=Module["dynCall_ijiiiiiiiii"]=function(){return(dynCall_ijiiiiiiiii=Module["dynCall_ijiiiiiiiii"]=Module["asm"]["dynCall_ijiiiiiiiii"]).apply(null,arguments)};var dynCall_jjjii=Module["dynCall_jjjii"]=function(){return(dynCall_jjjii=Module["dynCall_jjjii"]=Module["asm"]["dynCall_jjjii"]).apply(null,arguments)};var dynCall_iijjijii=Module["dynCall_iijjijii"]=function(){return(dynCall_iijjijii=Module["dynCall_iijjijii"]=Module["asm"]["dynCall_iijjijii"]).apply(null,arguments)};var dynCall_viiiijii=Module["dynCall_viiiijii"]=function(){return(dynCall_viiiijii=Module["dynCall_viiiijii"]=Module["asm"]["dynCall_viiiijii"]).apply(null,arguments)};var dynCall_jiijii=Module["dynCall_jiijii"]=function(){return(dynCall_jiijii=Module["dynCall_jiijii"]=Module["asm"]["dynCall_jiijii"]).apply(null,arguments)};var dynCall_viijiii=Module["dynCall_viijiii"]=function(){return(dynCall_viijiii=Module["dynCall_viijiii"]=Module["asm"]["dynCall_viijiii"]).apply(null,arguments)};var dynCall_jjii=Module["dynCall_jjii"]=function(){return(dynCall_jjii=Module["dynCall_jjii"]=Module["asm"]["dynCall_jjii"]).apply(null,arguments)};var dynCall_viffffffffffffffffi=Module["dynCall_viffffffffffffffffi"]=function(){return(dynCall_viffffffffffffffffi=Module["dynCall_viffffffffffffffffi"]=Module["asm"]["dynCall_viffffffffffffffffi"]).apply(null,arguments)};var dynCall_viiiifiii=Module["dynCall_viiiifiii"]=function(){return(dynCall_viiiifiii=Module["dynCall_viiiifiii"]=Module["asm"]["dynCall_viiiifiii"]).apply(null,arguments)};var dynCall_viifffffi=Module["dynCall_viifffffi"]=function(){return(dynCall_viifffffi=Module["dynCall_viifffffi"]=Module["asm"]["dynCall_viifffffi"]).apply(null,arguments)};var dynCall_viiffffffi=Module["dynCall_viiffffffi"]=function(){return(dynCall_viiffffffi=Module["dynCall_viiffffffi"]=Module["asm"]["dynCall_viiffffffi"]).apply(null,arguments)};var dynCall_viifffffffi=Module["dynCall_viifffffffi"]=function(){return(dynCall_viifffffffi=Module["dynCall_viifffffffi"]=Module["asm"]["dynCall_viifffffffi"]).apply(null,arguments)};var dynCall_viiffffffffi=Module["dynCall_viiffffffffi"]=function(){return(dynCall_viiffffffffi=Module["dynCall_viiffffffffi"]=Module["asm"]["dynCall_viiffffffffi"]).apply(null,arguments)};var dynCall_vifiiii=Module["dynCall_vifiiii"]=function(){return(dynCall_vifiiii=Module["dynCall_vifiiii"]=Module["asm"]["dynCall_vifiiii"]).apply(null,arguments)};var dynCall_vidiii=Module["dynCall_vidiii"]=function(){return(dynCall_vidiii=Module["dynCall_vidiii"]=Module["asm"]["dynCall_vidiii"]).apply(null,arguments)};var dynCall_viiffffffffiii=Module["dynCall_viiffffffffiii"]=function(){return(dynCall_viiffffffffiii=Module["dynCall_viiffffffffiii"]=Module["asm"]["dynCall_viiffffffffiii"]).apply(null,arguments)};var dynCall_viiiiffffii=Module["dynCall_viiiiffffii"]=function(){return(dynCall_viiiiffffii=Module["dynCall_viiiiffffii"]=Module["asm"]["dynCall_viiiiffffii"]).apply(null,arguments)};var dynCall_fiiiiii=Module["dynCall_fiiiiii"]=function(){return(dynCall_fiiiiii=Module["dynCall_fiiiiii"]=Module["asm"]["dynCall_fiiiiii"]).apply(null,arguments)};var dynCall_idiiii=Module["dynCall_idiiii"]=function(){return(dynCall_idiiii=Module["dynCall_idiiii"]=Module["asm"]["dynCall_idiiii"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=Module["asm"]["dynCall_iiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=function(){return(dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=Module["asm"]["dynCall_vijiiiiiii"]).apply(null,arguments)};var dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=function(){return(dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=Module["asm"]["dynCall_vijiiiiiiii"]).apply(null,arguments)};var dynCall_jijiii=Module["dynCall_jijiii"]=function(){return(dynCall_jijiii=Module["dynCall_jijiii"]=Module["asm"]["dynCall_jijiii"]).apply(null,arguments)};var dynCall_jjiiii=Module["dynCall_jjiiii"]=function(){return(dynCall_jjiiii=Module["dynCall_jjiiii"]=Module["asm"]["dynCall_jjiiii"]).apply(null,arguments)};var dynCall_jjiiiii=Module["dynCall_jjiiiii"]=function(){return(dynCall_jjiiiii=Module["dynCall_jjiiiii"]=Module["asm"]["dynCall_jjiiiii"]).apply(null,arguments)};var dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=function(){return(dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=Module["asm"]["dynCall_viijiiiiii"]).apply(null,arguments)};var dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=function(){return(dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=Module["asm"]["dynCall_iijiiiiii"]).apply(null,arguments)};var dynCall_iiiijjii=Module["dynCall_iiiijjii"]=function(){return(dynCall_iiiijjii=Module["dynCall_iiiijjii"]=Module["asm"]["dynCall_iiiijjii"]).apply(null,arguments)};var dynCall_jijjji=Module["dynCall_jijjji"]=function(){return(dynCall_jijjji=Module["dynCall_jijjji"]=Module["asm"]["dynCall_jijjji"]).apply(null,arguments)};var dynCall_jijjjii=Module["dynCall_jijjjii"]=function(){return(dynCall_jijjjii=Module["dynCall_jijjjii"]=Module["asm"]["dynCall_jijjjii"]).apply(null,arguments)};var dynCall_jjiii=Module["dynCall_jjiii"]=function(){return(dynCall_jjiii=Module["dynCall_jjiii"]=Module["asm"]["dynCall_jjiii"]).apply(null,arguments)};var dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=function(){return(dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=Module["asm"]["dynCall_ijijiiiii"]).apply(null,arguments)};var dynCall_ijjjiii=Module["dynCall_ijjjiii"]=function(){return(dynCall_ijjjiii=Module["dynCall_ijjjiii"]=Module["asm"]["dynCall_ijjjiii"]).apply(null,arguments)};var dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=function(){return(dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=Module["asm"]["dynCall_vijjjiijii"]).apply(null,arguments)};var dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=function(){return(dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=Module["asm"]["dynCall_ijjjiijii"]).apply(null,arguments)};var dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=function(){return(dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=Module["asm"]["dynCall_vijiiiiii"]).apply(null,arguments)};var dynCall_vijiiii=Module["dynCall_vijiiii"]=function(){return(dynCall_vijiiii=Module["dynCall_vijiiii"]=Module["asm"]["dynCall_vijiiii"]).apply(null,arguments)};var dynCall_jdi=Module["dynCall_jdi"]=function(){return(dynCall_jdi=Module["dynCall_jdi"]=Module["asm"]["dynCall_jdi"]).apply(null,arguments)};var dynCall_jfi=Module["dynCall_jfi"]=function(){return(dynCall_jfi=Module["dynCall_jfi"]=Module["asm"]["dynCall_jfi"]).apply(null,arguments)};var dynCall_fji=Module["dynCall_fji"]=function(){return(dynCall_fji=Module["dynCall_fji"]=Module["asm"]["dynCall_fji"]).apply(null,arguments)};var dynCall_dji=Module["dynCall_dji"]=function(){return(dynCall_dji=Module["dynCall_dji"]=Module["asm"]["dynCall_dji"]).apply(null,arguments)};var dynCall_dfi=Module["dynCall_dfi"]=function(){return(dynCall_dfi=Module["dynCall_dfi"]=Module["asm"]["dynCall_dfi"]).apply(null,arguments)};var dynCall_jidii=Module["dynCall_jidii"]=function(){return(dynCall_jidii=Module["dynCall_jidii"]=Module["asm"]["dynCall_jidii"]).apply(null,arguments)};var dynCall_jidi=Module["dynCall_jidi"]=function(){return(dynCall_jidi=Module["dynCall_jidi"]=Module["asm"]["dynCall_jidi"]).apply(null,arguments)};var dynCall_ijiijii=Module["dynCall_ijiijii"]=function(){return(dynCall_ijiijii=Module["dynCall_ijiijii"]=Module["asm"]["dynCall_ijiijii"]).apply(null,arguments)};var dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=function(){return(dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=Module["asm"]["dynCall_vjjiiiii"]).apply(null,arguments)};var dynCall_vjjii=Module["dynCall_vjjii"]=function(){return(dynCall_vjjii=Module["dynCall_vjjii"]=Module["asm"]["dynCall_vjjii"]).apply(null,arguments)};var dynCall_ijiiji=Module["dynCall_ijiiji"]=function(){return(dynCall_ijiiji=Module["dynCall_ijiiji"]=Module["asm"]["dynCall_ijiiji"]).apply(null,arguments)};var dynCall_ijiiiii=Module["dynCall_ijiiiii"]=function(){return(dynCall_ijiiiii=Module["dynCall_ijiiiii"]=Module["asm"]["dynCall_ijiiiii"]).apply(null,arguments)};var dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=function(){return(dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=Module["asm"]["dynCall_ijiiiiji"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_ddii=Module["dynCall_ddii"]=function(){return(dynCall_ddii=Module["dynCall_ddii"]=Module["asm"]["dynCall_ddii"]).apply(null,arguments)};var dynCall_idiii=Module["dynCall_idiii"]=function(){return(dynCall_idiii=Module["dynCall_idiii"]=Module["asm"]["dynCall_idiii"]).apply(null,arguments)};var dynCall_idiiiii=Module["dynCall_idiiiii"]=function(){return(dynCall_idiiiii=Module["dynCall_idiiiii"]=Module["asm"]["dynCall_idiiiii"]).apply(null,arguments)};var dynCall_iidiii=Module["dynCall_iidiii"]=function(){return(dynCall_iidiii=Module["dynCall_iidiii"]=Module["asm"]["dynCall_iidiii"]).apply(null,arguments)};var dynCall_ifiii=Module["dynCall_ifiii"]=function(){return(dynCall_ifiii=Module["dynCall_ifiii"]=Module["asm"]["dynCall_ifiii"]).apply(null,arguments)};var dynCall_ifiiiii=Module["dynCall_ifiiiii"]=function(){return(dynCall_ifiiiii=Module["dynCall_ifiiiii"]=Module["asm"]["dynCall_ifiiiii"]).apply(null,arguments)};var dynCall_vdiii=Module["dynCall_vdiii"]=function(){return(dynCall_vdiii=Module["dynCall_vdiii"]=Module["asm"]["dynCall_vdiii"]).apply(null,arguments)};var dynCall_jdii=Module["dynCall_jdii"]=function(){return(dynCall_jdii=Module["dynCall_jdii"]=Module["asm"]["dynCall_jdii"]).apply(null,arguments)};var dynCall_vijijji=Module["dynCall_vijijji"]=function(){return(dynCall_vijijji=Module["dynCall_vijijji"]=Module["asm"]["dynCall_vijijji"]).apply(null,arguments)};var dynCall_iijjji=Module["dynCall_iijjji"]=function(){return(dynCall_iijjji=Module["dynCall_iijjji"]=Module["asm"]["dynCall_iijjji"]).apply(null,arguments)};var dynCall_viijjji=Module["dynCall_viijjji"]=function(){return(dynCall_viijjji=Module["dynCall_viijjji"]=Module["asm"]["dynCall_viijjji"]).apply(null,arguments)};var dynCall_vdii=Module["dynCall_vdii"]=function(){return(dynCall_vdii=Module["dynCall_vdii"]=Module["asm"]["dynCall_vdii"]).apply(null,arguments)};var dynCall_diddi=Module["dynCall_diddi"]=function(){return(dynCall_diddi=Module["dynCall_diddi"]=Module["asm"]["dynCall_diddi"]).apply(null,arguments)};var dynCall_viiijji=Module["dynCall_viiijji"]=function(){return(dynCall_viiijji=Module["dynCall_viiijji"]=Module["asm"]["dynCall_viiijji"]).apply(null,arguments)};var dynCall_iijjii=Module["dynCall_iijjii"]=function(){return(dynCall_iijjii=Module["dynCall_iijjii"]=Module["asm"]["dynCall_iijjii"]).apply(null,arguments)};var dynCall_viijijii=Module["dynCall_viijijii"]=function(){return(dynCall_viijijii=Module["dynCall_viijijii"]=Module["asm"]["dynCall_viijijii"]).apply(null,arguments)};var dynCall_viijijiii=Module["dynCall_viijijiii"]=function(){return(dynCall_viijijiii=Module["dynCall_viijijiii"]=Module["asm"]["dynCall_viijijiii"]).apply(null,arguments)};var dynCall_vijiji=Module["dynCall_vijiji"]=function(){return(dynCall_vijiji=Module["dynCall_vijiji"]=Module["asm"]["dynCall_vijiji"]).apply(null,arguments)};var dynCall_viijiijiii=Module["dynCall_viijiijiii"]=function(){return(dynCall_viijiijiii=Module["dynCall_viijiijiii"]=Module["asm"]["dynCall_viijiijiii"]).apply(null,arguments)};var dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=function(){return(dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=Module["asm"]["dynCall_viiiijiiii"]).apply(null,arguments)};var dynCall_jiiiiii=Module["dynCall_jiiiiii"]=function(){return(dynCall_jiiiiii=Module["dynCall_jiiiiii"]=Module["asm"]["dynCall_jiiiiii"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["dynCall_di"]).apply(null,arguments)};var dynCall_viijjii=Module["dynCall_viijjii"]=function(){return(dynCall_viijjii=Module["dynCall_viijjii"]=Module["asm"]["dynCall_viijjii"]).apply(null,arguments)};var dynCall_vijjji=Module["dynCall_vijjji"]=function(){return(dynCall_vijjji=Module["dynCall_vijjji"]=Module["asm"]["dynCall_vijjji"]).apply(null,arguments)};var dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=function(){return(dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=Module["asm"]["dynCall_jiiiiiiiiii"]).apply(null,arguments)};var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=function(){return(dynCall_iiiiidii=Module["dynCall_iiiiidii"]=Module["asm"]["dynCall_iiiiidii"]).apply(null,arguments)};var dynCall_iiiiifii=Module["dynCall_iiiiifii"]=function(){return(dynCall_iiiiifii=Module["dynCall_iiiiifii"]=Module["asm"]["dynCall_iiiiifii"]).apply(null,arguments)};var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=function(){return(dynCall_iiiiijii=Module["dynCall_iiiiijii"]=Module["asm"]["dynCall_iiiiijii"]).apply(null,arguments)};var dynCall_iddi=Module["dynCall_iddi"]=function(){return(dynCall_iddi=Module["dynCall_iddi"]=Module["asm"]["dynCall_iddi"]).apply(null,arguments)};var dynCall_iiidiii=Module["dynCall_iiidiii"]=function(){return(dynCall_iiidiii=Module["dynCall_iiidiii"]=Module["asm"]["dynCall_iiidiii"]).apply(null,arguments)};var dynCall_iidii=Module["dynCall_iidii"]=function(){return(dynCall_iidii=Module["dynCall_iidii"]=Module["asm"]["dynCall_iidii"]).apply(null,arguments)};var dynCall_viifffiii=Module["dynCall_viifffiii"]=function(){return(dynCall_viifffiii=Module["dynCall_viifffiii"]=Module["asm"]["dynCall_viifffiii"]).apply(null,arguments)};var dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=function(){return(dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=Module["asm"]["dynCall_iiiiffiiiji"]).apply(null,arguments)};var dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=function(){return(dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=Module["asm"]["dynCall_iiiiffiiiii"]).apply(null,arguments)};var dynCall_diiiidi=Module["dynCall_diiiidi"]=function(){return(dynCall_diiiidi=Module["dynCall_diiiidi"]=Module["asm"]["dynCall_diiiidi"]).apply(null,arguments)};var dynCall_jiiiiji=Module["dynCall_jiiiiji"]=function(){return(dynCall_jiiiiji=Module["dynCall_jiiiiji"]=Module["asm"]["dynCall_jiiiiji"]).apply(null,arguments)};var dynCall_fiiiifi=Module["dynCall_fiiiifi"]=function(){return(dynCall_fiiiifi=Module["dynCall_fiiiifi"]=Module["asm"]["dynCall_fiiiifi"]).apply(null,arguments)};var dynCall_iiidi=Module["dynCall_iiidi"]=function(){return(dynCall_iiidi=Module["dynCall_iiidi"]=Module["asm"]["dynCall_iiidi"]).apply(null,arguments)};var dynCall_vdi=Module["dynCall_vdi"]=function(){return(dynCall_vdi=Module["dynCall_vdi"]=Module["asm"]["dynCall_vdi"]).apply(null,arguments)};var dynCall_vfi=Module["dynCall_vfi"]=function(){return(dynCall_vfi=Module["dynCall_vfi"]=Module["asm"]["dynCall_vfi"]).apply(null,arguments)};var dynCall_fff=Module["dynCall_fff"]=function(){return(dynCall_fff=Module["dynCall_fff"]=Module["asm"]["dynCall_fff"]).apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return(dynCall_vif=Module["dynCall_vif"]=Module["asm"]["dynCall_vif"]).apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return(dynCall_viif=Module["dynCall_viif"]=Module["asm"]["dynCall_viif"]).apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return(dynCall_viffff=Module["dynCall_viffff"]=Module["asm"]["dynCall_viffff"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["dynCall_vid"]).apply(null,arguments)};var dynCall_viiiiif=Module["dynCall_viiiiif"]=function(){return(dynCall_viiiiif=Module["dynCall_viiiiif"]=Module["asm"]["dynCall_viiiiif"]).apply(null,arguments)};var dynCall_viiiif=Module["dynCall_viiiif"]=function(){return(dynCall_viiiif=Module["dynCall_viiiif"]=Module["asm"]["dynCall_viiiif"]).apply(null,arguments)};var dynCall_viiiiiif=Module["dynCall_viiiiiif"]=function(){return(dynCall_viiiiiif=Module["dynCall_viiiiiif"]=Module["asm"]["dynCall_viiiiiif"]).apply(null,arguments)};var dynCall_iiiijiii=Module["dynCall_iiiijiii"]=function(){return(dynCall_iiiijiii=Module["dynCall_iiiijiii"]=Module["asm"]["dynCall_iiiijiii"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["dynCall_iiiij"]).apply(null,arguments)};var dynCall_iiif=Module["dynCall_iiif"]=function(){return(dynCall_iiif=Module["dynCall_iiif"]=Module["asm"]["dynCall_iiif"]).apply(null,arguments)};var dynCall_fif=Module["dynCall_fif"]=function(){return(dynCall_fif=Module["dynCall_fif"]=Module["asm"]["dynCall_fif"]).apply(null,arguments)};var dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=function(){return(dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=Module["asm"]["dynCall_iiiiiifff"]).apply(null,arguments)};var dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=function(){return(dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=Module["asm"]["dynCall_iiiiiifiif"]).apply(null,arguments)};var dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=function(){return(dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=Module["asm"]["dynCall_iiiiiifiii"]).apply(null,arguments)};var dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=function(){return(dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=Module["asm"]["dynCall_iiiiiiifiif"]).apply(null,arguments)};var dynCall_fiff=Module["dynCall_fiff"]=function(){return(dynCall_fiff=Module["dynCall_fiff"]=Module["asm"]["dynCall_fiff"]).apply(null,arguments)};var dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=function(){return(dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=Module["asm"]["dynCall_fiiiiiifiifif"]).apply(null,arguments)};var dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=function(){return(dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=Module["asm"]["dynCall_fiiiiiifiiiif"]).apply(null,arguments)};var dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=function(){return(dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=Module["asm"]["dynCall_iifiiiijii"]).apply(null,arguments)};var dynCall_vifif=Module["dynCall_vifif"]=function(){return(dynCall_vifif=Module["dynCall_vifif"]=Module["asm"]["dynCall_vifif"]).apply(null,arguments)};var dynCall_vifijii=Module["dynCall_vifijii"]=function(){return(dynCall_vifijii=Module["dynCall_vifijii"]=Module["asm"]["dynCall_vifijii"]).apply(null,arguments)};var dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=function(){return(dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=Module["asm"]["dynCall_iiiifffiii"]).apply(null,arguments)};var dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=function(){return(dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=Module["asm"]["dynCall_iiiifffffi"]).apply(null,arguments)};var dynCall_viffiiiif=Module["dynCall_viffiiiif"]=function(){return(dynCall_viffiiiif=Module["dynCall_viffiiiif"]=Module["asm"]["dynCall_viffiiiif"]).apply(null,arguments)};var dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=function(){return(dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=Module["asm"]["dynCall_viffiifffffiii"]).apply(null,arguments)};var dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=function(){return(dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=Module["asm"]["dynCall_viffffiifffiiiiif"]).apply(null,arguments)};var dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=function(){return(dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=Module["asm"]["dynCall_iiiifffffii"]).apply(null,arguments)};var dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=function(){return(dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=Module["asm"]["dynCall_viiiiiiiiiiifii"]).apply(null,arguments)};var dynCall_viff=Module["dynCall_viff"]=function(){return(dynCall_viff=Module["dynCall_viff"]=Module["asm"]["dynCall_viff"]).apply(null,arguments)};var dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=function(){return(dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=Module["asm"]["dynCall_iiiifiiiii"]).apply(null,arguments)};var dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=function(){return(dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=Module["asm"]["dynCall_iiiiifiiiiif"]).apply(null,arguments)};var dynCall_viiff=Module["dynCall_viiff"]=function(){return(dynCall_viiff=Module["dynCall_viiff"]=Module["asm"]["dynCall_viiff"]).apply(null,arguments)};var dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=function(){return(dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=Module["asm"]["dynCall_viiifiiiii"]).apply(null,arguments)};var dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=function(){return(dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=Module["asm"]["dynCall_viiiifiiiiif"]).apply(null,arguments)};var dynCall_iifff=Module["dynCall_iifff"]=function(){return(dynCall_iifff=Module["dynCall_iifff"]=Module["asm"]["dynCall_iifff"]).apply(null,arguments)};var dynCall_viiifiii=Module["dynCall_viiifiii"]=function(){return(dynCall_viiifiii=Module["dynCall_viiifiii"]=Module["asm"]["dynCall_viiifiii"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["dynCall_iif"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["dynCall_viij"]).apply(null,arguments)};var dynCall_viijijj=Module["dynCall_viijijj"]=function(){return(dynCall_viijijj=Module["dynCall_viijijj"]=Module["asm"]["dynCall_viijijj"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["dynCall_viijj"]).apply(null,arguments)};var dynCall_viiiij=Module["dynCall_viiiij"]=function(){return(dynCall_viiiij=Module["dynCall_viiiij"]=Module["asm"]["dynCall_viiiij"]).apply(null,arguments)};var dynCall_iiijji=Module["dynCall_iiijji"]=function(){return(dynCall_iiijji=Module["dynCall_iiijji"]=Module["asm"]["dynCall_iiijji"]).apply(null,arguments)};var dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=function(){return(dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=Module["asm"]["dynCall_ijjiiiii"]).apply(null,arguments)};var dynCall_ijj=Module["dynCall_ijj"]=function(){return(dynCall_ijj=Module["dynCall_ijj"]=Module["asm"]["dynCall_ijj"]).apply(null,arguments)};var dynCall_vjji=Module["dynCall_vjji"]=function(){return(dynCall_vjji=Module["dynCall_vjji"]=Module["asm"]["dynCall_vjji"]).apply(null,arguments)};var dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=function(){return(dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=Module["asm"]["dynCall_iiiiiifffiiifiii"]).apply(null,arguments)};var dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=function(){return(dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=Module["asm"]["dynCall_vjiiiiiii"]).apply(null,arguments)};var dynCall_vf=Module["dynCall_vf"]=function(){return(dynCall_vf=Module["dynCall_vf"]=Module["asm"]["dynCall_vf"]).apply(null,arguments)};var dynCall_vffff=Module["dynCall_vffff"]=function(){return(dynCall_vffff=Module["dynCall_vffff"]=Module["asm"]["dynCall_vffff"]).apply(null,arguments)};var dynCall_vff=Module["dynCall_vff"]=function(){return(dynCall_vff=Module["dynCall_vff"]=Module["asm"]["dynCall_vff"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["dynCall_iiij"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=Module["asm"]["dynCall_viiiiiiiiiiiiiiiiii"]).apply(null,arguments)};var dynCall_vifff=Module["dynCall_vifff"]=function(){return(dynCall_vifff=Module["dynCall_vifff"]=Module["asm"]["dynCall_vifff"]).apply(null,arguments)};var dynCall_viifff=Module["dynCall_viifff"]=function(){return(dynCall_viifff=Module["dynCall_viifff"]=Module["asm"]["dynCall_viifff"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["dynCall_vij"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["dynCall_ij"]).apply(null,arguments)};var dynCall_f=Module["dynCall_f"]=function(){return(dynCall_f=Module["dynCall_f"]=Module["asm"]["dynCall_f"]).apply(null,arguments)};var dynCall_vfff=Module["dynCall_vfff"]=function(){return(dynCall_vfff=Module["dynCall_vfff"]=Module["asm"]["dynCall_vfff"]).apply(null,arguments)};var dynCall_viiif=Module["dynCall_viiif"]=function(){return(dynCall_viiif=Module["dynCall_viiif"]=Module["asm"]["dynCall_viiif"]).apply(null,arguments)};var dynCall_ff=Module["dynCall_ff"]=function(){return(dynCall_ff=Module["dynCall_ff"]=Module["asm"]["dynCall_ff"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=Module["asm"]["dynCall_iiiiiiffiiiiiiiiiffffiii"]).apply(null,arguments)};var dynCall_viififi=Module["dynCall_viififi"]=function(){return(dynCall_viififi=Module["dynCall_viififi"]=Module["asm"]["dynCall_viififi"]).apply(null,arguments)};var dynCall_if=Module["dynCall_if"]=function(){return(dynCall_if=Module["dynCall_if"]=Module["asm"]["dynCall_if"]).apply(null,arguments)};var dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=function(){return(dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=Module["asm"]["dynCall_viiffiiiiiiiii"]).apply(null,arguments)};var dynCall_viiffiiiiii=Module["dynCall_viiffiiiiii"]=function(){return(dynCall_viiffiiiiii=Module["dynCall_viiffiiiiii"]=Module["asm"]["dynCall_viiffiiiiii"]).apply(null,arguments)};var dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=function(){return(dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=Module["asm"]["dynCall_viiiiiiiijiii"]).apply(null,arguments)};function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_ddiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiidii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiidii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiifii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiifii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vidi(index,a1,a2,a3){var sp=stackSave();try{dynCall_vidi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vifi(index,a1,a2,a3){var sp=stackSave();try{dynCall_vifi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vifii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vifii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viffi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viffi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiffi(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiffi(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iifi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iifi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viifi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viifi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fffi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fffi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viifii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viifii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fii(index,a1,a2){var sp=stackSave();try{return dynCall_fii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return dynCall_fi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiifi(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiifi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiifi(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiifi(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiifii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiifii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiijiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiijiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jjji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jjji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiijii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiijii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiji(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vji(index,a1,a2,a3){var sp=stackSave();try{dynCall_vji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ijji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_ijji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijji(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iijji(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{return dynCall_jiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjjjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_vjjjiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vjiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vjiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["stackTrace"]=stackTrace;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["stackTrace"]=stackTrace;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){var entryFunction=Module["_main"];args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;try{var ret=entryFunction(argc,argv);exit(ret,true);return ret}catch(e){return handleException(e)}finally{calledMain=true}}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();preMain();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); return unityFramework.ready diff --git a/public/UnityBuild/dino/Build/prod.wasm b/public/UnityBuild/dino/Build/prod.wasm index 6012f4880ea03aeb810449e282524726095f4acb..5043adb2dfcc7a2b8adb62d1844213dd32e375c9 100644 GIT binary patch delta 160979 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�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