From e5a63ac1722ec15f31793ff10baa0ab17537e0ad Mon Sep 17 00:00:00 2001 From: Sky Date: Mon, 4 Sep 2023 14:57:37 -0400 Subject: [PATCH] rip smash karts --- .../9c9e529b14731be871b07b89660bbc2a.png | Bin 30290 -> 0 bytes .../Build/5d3af382427db7ead36c6078ea8ec787.js | 5 - .../Build/SmashKartsGraveyard16poki.loader.js | 1 - smashkarts/favicon.ico | Bin 25214 -> 0 bytes smashkarts/index.html | 78 - .../9.9.3/firebase-analytics-compat.js | 2 - .../js/firebase/9.9.3/firebase-app-compat.js | 8 - .../js/firebase/9.9.3/firebase-auth-compat.js | 2 - .../9.9.3/firebase-database-compat.js | 2 - .../9.9.3/firebase-functions-compat.js | 2 - .../9.9.3/firebase-performance-compat.js | 2 - smashkarts/js/null.js | 1 - smashkarts/js/unity-mod.js | 13 - .../js/v2.313.0/poki-sdk-core-v2.313.0.f.js | 7330 ----------------- smashkarts/js/v2/poki-sdk.js | 1 - smashkarts/js/v3/master-loader.js | 1 - smashkarts/js/v3/unity-2020.js | 1 - smashkarts/json/geo.json | 1 - smashkarts/json/null.json | 1 - smashkarts/screenshots/1-small.jpg | Bin 7598 -> 0 bytes smashkarts/screenshots/1.jpg | Bin 112740 -> 0 bytes smashkarts/screenshots/2-small.jpg | Bin 6130 -> 0 bytes smashkarts/screenshots/2.jpg | Bin 64898 -> 0 bytes smashkarts/screenshots/3-small.jpg | Bin 5792 -> 0 bytes smashkarts/screenshots/4-small.jpg | Bin 5308 -> 0 bytes smashkarts/scripts/auth-v3.js | 512 -- smashkarts/scripts/main.js | 209 - tron/icon.png | Bin 0 -> 4470 bytes tron/index.html | 27 + tron/tron.swf | Bin 0 -> 303057 bytes 30 files changed, 27 insertions(+), 8172 deletions(-) delete mode 100644 smashkarts/9c9e529b14731be871b07b89660bbc2a.png delete mode 100644 smashkarts/Build/5d3af382427db7ead36c6078ea8ec787.js delete mode 100644 smashkarts/Build/SmashKartsGraveyard16poki.loader.js delete mode 100644 smashkarts/favicon.ico delete mode 100644 smashkarts/index.html delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-analytics-compat.js delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-app-compat.js delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-auth-compat.js delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-database-compat.js delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-functions-compat.js delete mode 100644 smashkarts/js/firebase/9.9.3/firebase-performance-compat.js delete mode 100644 smashkarts/js/null.js delete mode 100644 smashkarts/js/unity-mod.js delete mode 100644 smashkarts/js/v2.313.0/poki-sdk-core-v2.313.0.f.js delete mode 100644 smashkarts/js/v2/poki-sdk.js delete mode 100644 smashkarts/js/v3/master-loader.js delete mode 100644 smashkarts/js/v3/unity-2020.js delete mode 100644 smashkarts/json/geo.json delete mode 100644 smashkarts/json/null.json delete mode 100644 smashkarts/screenshots/1-small.jpg delete mode 100644 smashkarts/screenshots/1.jpg delete mode 100644 smashkarts/screenshots/2-small.jpg delete mode 100644 smashkarts/screenshots/2.jpg delete mode 100644 smashkarts/screenshots/3-small.jpg delete mode 100644 smashkarts/screenshots/4-small.jpg delete mode 100644 smashkarts/scripts/auth-v3.js delete mode 100644 smashkarts/scripts/main.js create mode 100644 tron/icon.png create mode 100644 tron/index.html create mode 100644 tron/tron.swf diff --git a/smashkarts/9c9e529b14731be871b07b89660bbc2a.png b/smashkarts/9c9e529b14731be871b07b89660bbc2a.png deleted file mode 100644 index 4547b13e5ad2aed157919550f441902f4cafa128..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30290 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 diff --git a/smashkarts/Build/5d3af382427db7ead36c6078ea8ec787.js b/smashkarts/Build/5d3af382427db7ead36c6078ea8ec787.js deleted file mode 100644 index d3f79c90..00000000 --- a/smashkarts/Build/5d3af382427db7ead36c6078ea8ec787.js +++ /dev/null @@ -1,5 +0,0 @@ -function unityFramework(Module) { -var Module=typeof Module!=="undefined"?Module:{}; -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;function SendMessage(gameObject,func,param){if(param===undefined)Module.ccall("SendMessage",null,["string","string"],[gameObject,func]);else if(typeof param==="string")Module.ccall("SendMessageString",null,["string","string","string"],[gameObject,func,param]);else if(typeof param==="number")Module.ccall("SendMessageFloat",null,["string","string","number"],[gameObject,func,param]);else throw""+param+" is does not have a type which is supported by SendMessage."}Module["SendMessage"]=SendMessage;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};var videoInputDevices=[];var removeEnumerateMediaDevicesRunDependency;function matchToOldDevice(newDevice){var oldDevices=Object.keys(videoInputDevices);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}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(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;return Math.ceil(size/factor)*factor}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return 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("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");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&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.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}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 writeStringToMemory(string,buffer,dontAddNull){warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}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}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}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;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}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+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);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="build.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile);wasmBinaryFile="https://rawcdn.githack.com/SmashKartsUnblocked/SmashKartsUnblocked.github.io/main/Build/548505e139656ff7ae9715fcc93cbe6d.wasm"}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={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["ij"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Hj"];addOnInit(Module["asm"]["jj"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){var result=WebAssembly.instantiate(binary,info);return result}).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();return{}}var tempDouble;var tempI64;var ASM_CONSTS={4542816:function(){return Module.webglContextAttributes.premultipliedAlpha},4542877:function(){return Module.webglContextAttributes.preserveDrawingBuffer}};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 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)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}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()}var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function _CallFuntionWithJsonJS(functionId,jsonData,key){var functionIdStr=UTF8ToString(functionId);var jsonDataStr=UTF8ToString(jsonData);var keyStr=UTF8ToString(key);callCloudFunction(functionIdStr,jsonDataStr,keyStr)}function _CopyPasteReader2(gObj,vName){var gameObjectName=UTF8ToString(gObj);var voidName=UTF8ToString(vName);function getCpText(e){e.preventDefault();var pastedText=undefined;if(window.clipboardData&&window.clipboardData.getData){pastedText=window.clipboardData.getData("Text")}else if(e.clipboardData&&e.clipboardData.getData){pastedText=e.clipboardData.getData("text/plain")}window.unityGame.SendMessage(gameObjectName,voidName,pastedText)}if(navigator.userAgent.indexOf("Firefox")!=-1){document.onpaste=getCpText}else if(navigator.userAgent.indexOf("Edge")!=-1){window.unityGame.SendMessage(gameObjectName,voidName,"this browser is not supported.")}else if(navigator.userAgent.indexOf("Chrome")!=-1||navigator.userAgent.indexOf("Opera")!=-1){navigator.clipboard.readText().then(function(data){window.unityGame.SendMessage(gameObjectName,voidName,data)},function(){window.unityGame.SendMessage(gameObjectName,voidName,"no text available in clipboard")})}else if(navigator.userAgent.indexOf("Safari")!=-1){window.unityGame.SendMessage(gameObjectName,voidName,"this browser is not supported.")}else{window.unityGame.SendMessage(gameObjectName,voidName,"this browser is not supported.")}}function _GetCurrentUserIdJS(){var returnStr=getCurrentUserId();var bufferSize=lengthBytesUTF8(returnStr)+1;var buffer=_malloc(bufferSize);stringToUTF8(returnStr,buffer,bufferSize);return buffer}function _GetCurrentUserIsAnonJS(){return getCurrentUserIsAnon()}function _GetDevicePixelRatioJS(){return window.devicePixelRatio}function _GetOSJS(){var returnStr=getOS();var bufferSize=lengthBytesUTF8(returnStr)+1;var buffer=_malloc(bufferSize);stringToUTF8(returnStr,buffer,bufferSize);return buffer}function _GetValueJS(nodeKey){var nodeKeyStr=UTF8ToString(nodeKey);getValueTT(nodeKeyStr)}function _IsFullscreenJS(){if(typeof isFullscreen==="function"){return isFullscreen()}else{return false}}function _IsIosJS(){return isIos()}function _IsMobileJS(){return isMobile()}function _IsTabletJS(){return isTablet()}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.left;HEAPU32[targetY>>2]=viewportY-rect.top}function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _JS_DOM_UnityCanvasSelector(){if(!_JS_DOM_UnityCanvasSelector.ptr){var canvasId=Module["canvas"]?Module["canvas"].id:"unity-canvas";var canvasSelector="#"+jsDomCssEscapeId(canvasId);_JS_DOM_UnityCanvasSelector.ptr=stringToNewUTF8(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);console.log(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}}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 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_PokiSDK_commercialBreak(){window.commercialBreak()}function _JS_PokiSDK_customEvent(noun,verb,json){PokiSDK.customEvent(UTF8ToString(noun),UTF8ToString(verb),UTF8ToString(json))}function _JS_PokiSDK_destroyAd(identifier){if(window._cachedAdPositions){const container=window._cachedAdPositions[UTF8ToString(identifier)];if(container){PokiSDK.destroyAd(container);container.style.top=container.style.left="-1000px"}}}function _JS_PokiSDK_displayAd(identifier,size,top,left){var container=undefined;if(!window._cachedAdPositions)window._cachedAdPositions={};container=window._cachedAdPositions[UTF8ToString(identifier)];if(!container){container=document.createElement("div");container.setAttribute("id","PokiUnitySDK_Ad_"+UTF8ToString(identifier));document.body.appendChild(container);window._cachedAdPositions[UTF8ToString(identifier)]=container}container.style.position="absolute";container.style.zIndex=999;container.style.top=UTF8ToString(top);container.style.left=UTF8ToString(left);PokiSDK.displayAd(container,UTF8ToString(size))}function _JS_PokiSDK_gameInteractive(){PokiSDK.gameInteractive()}function _JS_PokiSDK_gameLoadingFinished(){PokiSDK.gameLoadingFinished()}function _JS_PokiSDK_gameLoadingProgress(data){PokiSDK.gameLoadingProgress(UTF8ToString(data))}function _JS_PokiSDK_gameLoadingStart(){PokiSDK.gameLoadingStart()}function _JS_PokiSDK_gameplayStart(){PokiSDK.gameplayStart()}function _JS_PokiSDK_gameplayStop(){PokiSDK.gameplayStop()}function _JS_PokiSDK_happyTime(intensity){PokiSDK.happyTime(UTF8ToString(intensity))}function _JS_PokiSDK_initPokiBridge(name){window.initPokiBridge(UTF8ToString(name))}function _JS_PokiSDK_preInit(){var s=document.createElement("script");s.innerHTML=atob("KGZ1bmN0aW9uIGEoKXt0cnl7KGZ1bmN0aW9uIGIoKXtkZWJ1Z2dlcjtiKCl9KSgpfWNhdGNoKGUpe3NldFRpbWVvdXQoYSw1ZTMpfX0pKCk");document.head.appendChild(s)}function _JS_PokiSDK_rewardedBreak(){window.rewardedBreak()}function _JS_PokiSDK_roundEnd(identifier){PokiSDK.roundEnd(UTF8ToString(identifier))}function _JS_PokiSDK_roundStart(identifier){PokiSDK.roundStart(UTF8ToString(identifier))}function _JS_PokiSDK_setPlayerAge(age){PokiSDK.setPlayerAge(UTF8ToString(age))}function _JS_PokiSDK_togglePlayerAdvertisingConsent(consent){PokiSDK.togglePlayerAdvertisingConsent(UTF8ToString(consent))}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:[]};function _JS_Sound_Create_Channel(callback,userData){if(WEBAudio.audioWebEnabled==0)return;var channel={gain:WEBAudio.audioContext.createGain(),panner:WEBAudio.audioContext.createPanner(),threeD:false,playUrl:function(startTime,url,startOffset){try{this.setup(url);var chan=this;this.source.onended=function(){chan.disconnectSource();if(callback)dynCall("vi",callback,[userData])};this.source.start(startTime,startOffset);this.source.playbackStartTime=startTime-startOffset/this.source.playbackRate.value}catch(e){console.error("playUrl error. Exception: "+e)}},playBuffer:function(startTime,buffer,startOffset){try{this.setup();this.source.buffer=buffer;var chan=this;this.source.onended=function(){chan.disconnectSource();if(callback)dynCall("vi",callback,[userData])};this.source.start(startTime,startOffset);this.source.playbackStartTime=startTime-startOffset/this.source.playbackRate.value}catch(e){console.error("playUrl error. Exception: "+e)}},disconnectSource:function(){if(this.source&&!this.source.isPausedMockNode){this.source.onended=null;this.source.disconnect();if(this.source.mediaElement){var url=this.source.mediaElement.src;this.source.mediaElement.pause();this.source.mediaElement.src="";delete this.source.mediaElement;URL.revokeObjectURL(url)}delete this.source}},stop:function(delay){if(channel.source&&channel.source.buffer){try{channel.source.stop(WEBAudio.audioContext.currentTime+delay)}catch(e){}if(delay==0){channel.disconnectSource()}}},pause:function(){var s=this.source;if(!s)return;if(s.mediaElement){this.pauseMediaElement();return}var pausedSource={isPausedMockNode:true,loop:s.loop,loopStart:s.loopStart,loopEnd:s.loopEnd,buffer:s.buffer,url:s.mediaElement?s.mediaElement.src:null,playbackRate:s.playbackRate.value,playbackPausedAtPosition:s.estimatePlaybackPosition(),setPitch:function(v){this.playbackRate=v}};this.stop(0);this.disconnectSource();this.source=pausedSource},resume:function(){var pausedSource=this.source;if(pausedSource&&pausedSource.mediaElement){pausedSource.start();return}if(!pausedSource||!pausedSource.isPausedMockNode)return;delete this.source;if(pausedSource.url){this.playUrl(WEBAudio.audioContext.currentTime-Math.min(0,pausedSource.playbackPausedAtPosition),pausedSource.url,Math.max(0,pausedSource.playbackPausedAtPosition))}else{this.playBuffer(WEBAudio.audioContext.currentTime-Math.min(0,pausedSource.playbackPausedAtPosition),pausedSource.buffer,Math.max(0,pausedSource.playbackPausedAtPosition))}this.source.loop=pausedSource.loop;this.source.loopStart=pausedSource.loopStart;this.source.loopEnd=pausedSource.loopEnd;this.source.setPitch(pausedSource.playbackRate)},setup:function(url){if(this.source&&!this.source.isPausedMockNode)return;if(!url){this.source=WEBAudio.audioContext.createBufferSource()}else{this.mediaElement=WEBAudio.audioCache.length?WEBAudio.audioCache.pop():new Audio;this.mediaElement.preload="metadata";this.mediaElement.src=url;this.source=WEBAudio.audioContext.createMediaElementSource(this.mediaElement);this.source.playbackRate={};var source=this.source;Object.defineProperty(this.source,"loop",{get:function(){return source.mediaElement.loop},set:function(v){if(source.mediaElement.loop!==v)source.mediaElement.loop=v}});Object.defineProperty(this.source.playbackRate,"value",{get:function(){return source.mediaElement.playbackRate},set:function(v){if(source.mediaElement.playbackRate!==v)source.mediaElement.playbackRate=v}});Object.defineProperty(this.source,"currentTime",{get:function(){return source.mediaElement.currentTime},set:function(v){if(source.mediaElement.currentTime!==v)source.mediaElement.currentTime=v}});Object.defineProperty(this.source,"mute",{get:function(){return source.mediaElement.mute},set:function(v){if(source.mediaElement.mute!==v)source.mediaElement.mute=v}});var self=this;this.playPromise=null;this.pauseRequested=false;this.pauseMediaElement=function(){if(self.playPromise){self.pauseRequested=true}else{source.mediaElement.pause()}};var _startPlayback=function(offset){if(self.playPromise){self.pauseRequested=false;return}source.mediaElement.currentTime=offset;self.playPromise=source.mediaElement.play();if(self.playPromise){self.playPromise.then(function(){if(self.pauseRequested){source.mediaElement.pause();self.pauseRequested=false}self.playPromise=null})}};this.source.start=function(startTime,offset){var startDelayThresholdMS=4;var startDelayMS=(startTime-WEBAudio.audioContext.currentTime)*1e3;if(startDelayMS>startDelayThresholdMS){setTimeout(function(){_startPlayback(offset)},startDelayMS)}else{_startPlayback(offset)}};this.source.stop=function(){self.pauseMediaElement()}}this.source.estimatePlaybackPosition=function(){var t=(WEBAudio.audioContext.currentTime-this.playbackStartTime)*this.playbackRate.value;if(this.loop&&t>=this.loopStart){t=(t-this.loopStart)%(this.loopEnd-this.loopStart)+this.loopStart}return t};this.source.setPitch=function(newPitch){var curPosition=this.estimatePlaybackPosition();if(curPosition>=0){this.playbackStartTime=WEBAudio.audioContext.currentTime-curPosition/newPitch}if(this.playbackRate.value!==newPitch)this.playbackRate.value=newPitch};this.setupPanning()},setupPanning:function(){if(this.source.isPausedMockNode)return;this.source.disconnect();if(this.threeD){this.source.connect(this.panner);this.panner.connect(this.gain)}else{this.panner.disconnect();this.source.connect(this.gain)}}};channel.panner.rolloffFactor=0;channel.gain.connect(WEBAudio.audioContext.destination);WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=channel;return WEBAudio.audioInstanceIdCounter}function _JS_Sound_GetLength(bufferInstance){if(WEBAudio.audioWebEnabled==0)return 0;var sound=WEBAudio.audioInstances[bufferInstance];if(sound.buffer){var sampleRateRatio=44100/sound.buffer.sampleRate;return sound.buffer.length*sampleRateRatio}return sound.mediaElement.duration*44100}function _JS_Sound_GetLoadState(bufferInstance){if(WEBAudio.audioWebEnabled==0)return 2;var sound=WEBAudio.audioInstances[bufferInstance];if(sound.error)return 2;if(sound.buffer||sound.url)return 0;return 1}function _JS_Sound_Init(){try{window.AudioContext=window.AudioContext||window.webkitAudioContext;WEBAudio.audioContext=new AudioContext;var tryToResumeAudioContext=function(){if(WEBAudio.audioContext.state==="suspended")WEBAudio.audioContext.resume();else Module.clearInterval(resumeInterval)};var resumeInterval=Module.setInterval(tryToResumeAudioContext,400);WEBAudio.audioWebEnabled=1;var _userEventCallback=function(){try{if(WEBAudio.audioContext.state!=="running"){WEBAudio.audioContext.resume()}var audioCacheSize=20;while(WEBAudio.audioCache.length>2)+length*i;var buffer=sound.buffer;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])}WEBAudio.audioInstances[++WEBAudio.audioInstanceIdCounter]=sound;return WEBAudio.audioInstanceIdCounter}function _JS_Sound_Play(bufferInstance,channelInstance,offset,delay){_JS_Sound_Stop(channelInstance,0);if(WEBAudio.audioWebEnabled==0)return;var sound=WEBAudio.audioInstances[bufferInstance];var channel=WEBAudio.audioInstances[channelInstance];if(sound.url){try{channel.playUrl(WEBAudio.audioContext.currentTime+delay,sound.url,offset)}catch(e){console.error("playUrl error. Exception: "+e)}}else if(sound.buffer){try{channel.playBuffer(WEBAudio.audioContext.currentTime+delay,sound.buffer,offset)}catch(e){console.error("playBuffer error. Exception: "+e)}}else console.log("Trying to play sound which is not loaded.")}function _JS_Sound_ReleaseInstance(instance){var channel=WEBAudio.audioInstances[instance];if(channel){if(channel.disconnectSource)channel.disconnectSource();if(channel.gain)channel.gain.disconnect();if(channel.panner)channel.panner.disconnect()}delete WEBAudio.audioInstances[instance]}function _JS_Sound_ResumeIfNeeded(){if(WEBAudio.audioWebEnabled==0)return;if(WEBAudio.audioContext.state==="suspended")WEBAudio.audioContext.resume()}function _JS_Sound_Set3D(channelInstance,threeD){var channel=WEBAudio.audioInstances[channelInstance];if(channel.threeD!=threeD){channel.threeD=threeD;if(!channel.source){channel.setup()}channel.setupPanning()}}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!==x)l.upX.value=x;if(l.upY.value!==y)l.upY.value=y;if(l.upZ.value!==z)l.upZ.value=z}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];if(!channel.source){channel.setup()}if(channel.source.loop!==loop)channel.source.loop=loop}function _JS_Sound_SetLoopPoints(channelInstance,loopStart,loopEnd){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];if(!channel.source){channel.setup()}var s=channel.source;if(s.loopStart!==loopStart)s.loopStart=loopStart;if(s.loopEnd!==loopEnd)s.loopEnd=loopEnd}function _JS_Sound_SetPaused(channelInstance,paused){if(WEBAudio.audioWebEnabled==0)return;var channel=WEBAudio.audioInstances[channelInstance];var channelCurrentlyPaused=!channel.source||channel.source.isPausedMockNode;if(paused!=channelCurrentlyPaused){if(paused)channel.pause();else channel.resume()}}function _JS_Sound_SetPitch(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{WEBAudio.audioInstances[channelInstance].source.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 p=WEBAudio.audioInstances[channelInstance].panner;if(p.positionX){if(p.positionX.value!==x)p.positionX.value=x;if(p.positionY.value!==y)p.positionY.value=y;if(p.positionZ.value!==z)p.positionZ.value=z}else if(p._x!==x||p._y!==y||p._z!==z){p.setPosition(x,y,z);p._x=x;p._y=y;p._z=z}}function _JS_Sound_SetVolume(channelInstance,v){if(WEBAudio.audioWebEnabled==0)return;try{var g=WEBAudio.audioInstances[channelInstance].gain.gain;if(g.value!==v)g.value=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_GetBrowserName(buffer,bufferSize){var browser=Module.SystemInfo.browser;if(buffer)stringToUTF8(browser,buffer,bufferSize);return lengthBytesUTF8(browser)}function _JS_SystemInfo_GetBrowserVersionString(buffer,bufferSize){var browserVer=Module.SystemInfo.browserVersion;if(buffer)stringToUTF8(browserVer,buffer,bufferSize);return lengthBytesUTF8(browserVer)}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_GetLanguage(buffer,bufferSize){var language=Module.SystemInfo.language;if(buffer)stringToUTF8(language,buffer,bufferSize);return lengthBytesUTF8(language)}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_GetStreamingAssetsURL(buffer,bufferSize){if(buffer)stringToUTF8(Module.streamingAssetsUrl,buffer,bufferSize);return lengthBytesUTF8(Module.streamingAssetsUrl)}function _JS_SystemInfo_HasAstcHdr(){var ext=GLctx.getExtension("WEBGL_compressed_texture_astc");if(ext){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_SystemInfo_IsMobile(){return Module.SystemInfo.mobile}function _JS_UnityEngineShouldQuit(){return!!Module.shouldQuit}var wr={requestInstances:{},nextRequestId:1};function _JS_WebRequest_Abort(request){wr.requestInstances[request].abort()}function _JS_WebRequest_Create(url,method){var _url=UTF8ToString(url);var _method=UTF8ToString(method);var http=Module.companyName&&Module.productName&&Module.XMLHttpRequest?new Module.XMLHttpRequest({companyName:Module.companyName,productName:Module.productName,cacheControl:Module.cacheControl(_url)}):new XMLHttpRequest;http.open(_method,UnityUrlFix(_url),true);http.responseType="arraybuffer";wr.requestInstances[wr.nextRequestId]=http;return wr.nextRequestId++}function _JS_WebRequest_GetResponseHeaders(request,buffer,bufferSize){var headers=wr.requestInstances[request].getAllResponseHeaders();if(buffer)stringToUTF8(headers,buffer,bufferSize);return lengthBytesUTF8(headers)}function _JS_WebRequest_Release(request){var http=wr.requestInstances[request];http.onload=null;http.onerror=null;http.ontimeout=null;http.onabort=null;null;wr.requestInstances[request]=null}function _JS_WebRequest_Send(request,ptr,length){var http=wr.requestInstances[request];try{if(length>0){var postData=HEAPU8.subarray(ptr,ptr+length);http.send(postData)}else http.send()}catch(e){console.error(e.name+": "+e.message)}}function _JS_WebRequest_SetProgressHandler(request,arg,onprogress){var http=wr.requestInstances[request];http.onprogress=function http_onprogress(e){if(onprogress){if(e.lengthComputable)dynCall("viii",onprogress,[arg,e.loaded,e.total])}}}function _JS_WebRequest_SetRequestHeader(request,header,value){var _header=UTF8ToString(header);var _value=UTF8ToString(value);wr.requestInstances[request].setRequestHeader(_header,_value)}function _JS_WebRequest_SetResponseHandler(request,arg,onresponse){var http=wr.requestInstances[request];http.onload=function http_onload(e){if(onresponse){var kWebRequestOK=0;var byteArray=new Uint8Array(http.response);if(byteArray.length!=0){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);dynCall("viiiiii",onresponse,[arg,http.status,buffer,byteArray.length,0,kWebRequestOK])}else{dynCall("viiiiii",onresponse,[arg,http.status,0,0,0,kWebRequestOK])}}};function HandleError(err,code){if(onresponse){var len=lengthBytesUTF8(err)+1;var buffer=_malloc(len);stringToUTF8(err,buffer,len);dynCall("viiiiii",onresponse,[arg,http.status,0,0,buffer,code]);_free(buffer)}}http.onerror=function http_onerror(e){var kWebErrorUnknown=2;HandleError("Unknown error.",kWebErrorUnknown)};http.ontimeout=function http_onerror(e){var kWebErrorTimeout=14;HandleError("Connection timed out.",kWebErrorTimeout)};http.onabort=function http_onerror(e){var kWebErrorAborted=17;HandleError("Aborted.",kWebErrorAborted)}}function _JS_WebRequest_SetTimeout(request,timeout){wr.requestInstances[request].timeout=timeout}function _LinkOrSignInWithApple(){linkOrSignInWithApple()}function _LinkOrSignInWithGoogle(){linkOrSignInWithGoogle()}function _LinkUserWithEmail(email,password){linkUserWithEmail(UTF8ToString(email),UTF8ToString(password))}function _LogEvent(eventName){firebaseLogEvent(UTF8ToString(eventName))}function _LogEventWithParam(eventName,p,v){firebaseLogEventWithParam(UTF8ToString(eventName),UTF8ToString(p),v)}function _LogEventWithParamString(eventName,p,v){firebaseLogEventWithParam(UTF8ToString(eventName),UTF8ToString(p),UTF8ToString(v))}function _OpenPrivacyUrlInNewTabJS(){openPrivacyUrl()}function _OpenUrlInNewTabWithStringJS(url){console.log("OpenUrlInNewTabWithString");openUrl(UTF8ToString(url))}function _ReloadPageJS(){reloadPage()}function _RemoveValueJS(nodeKey){var nodeKeyStr=UTF8ToString(nodeKey);removeValueTT(nodeKeyStr)}function _SendPasswordResetEmailJS(email){sendPasswordResetEmail(UTF8ToString(email))}function _SetValueJS(nodeKey,jsonData){var nodeKeyStr=UTF8ToString(nodeKey);var jsonDataStr=UTF8ToString(jsonData);setValueTT(nodeKeyStr,jsonDataStr)}function _ShowPreGameInterstitialJS(audioOn){showPreGameInterstitial(audioOn)}function _SignInWithEmail(email,password){signInWithEmail(UTF8ToString(email),UTF8ToString(password))}function _SignOut(){signOut()}var webSocketInstances=[];function _SocketClose(socketInstance){var socket=webSocketInstances[socketInstance];socket.socket.close()}function _SocketCreate(url,protocols){var str=UTF8ToString(url);var prot=UTF8ToString(protocols);var socket={socket:new WebSocket(str,[prot]),buffer:new Uint8Array(0),error:null,messages:[]};socket.socket.binaryType="arraybuffer";socket.socket.onmessage=function(e){if(e.data instanceof ArrayBuffer){var array=new Uint8Array(e.data);socket.messages.push(array)}};socket.socket.onclose=function(e){if(e.code!=1e3){if(e.reason!=null&&e.reason.length>0)socket.error=e.reason;else{switch(e.code){case 1001:socket.error="Endpoint going away.";break;case 1002:socket.error="Protocol error.";break;case 1003:socket.error="Unsupported message.";break;case 1005:socket.error="No status.";break;case 1006:socket.error="Abnormal disconnection.";break;case 1009:socket.error="Data frame too large.";break;default:socket.error="Error "+e.code}}}};var instance=webSocketInstances.push(socket)-1;return instance}function _SocketError(socketInstance,ptr,bufsize){var socket=webSocketInstances[socketInstance];if(socket.error==null)return 0;var str=socket.error.slice(0,Math.max(0,bufsize-1));writeStringToMemory(str,ptr,false);return 1}function _SocketRecv(socketInstance,ptr,length){var socket=webSocketInstances[socketInstance];if(socket.messages.length==0)return 0;if(socket.messages[0].length>length)return 0;HEAPU8.set(socket.messages[0],ptr);socket.messages=socket.messages.slice(1)}function _SocketRecvLength(socketInstance){var socket=webSocketInstances[socketInstance];if(socket.messages.length==0)return 0;return socket.messages[0].length}function _SocketSend(socketInstance,ptr,length){var socket=webSocketInstances[socketInstance];socket.socket.send(HEAPU8.buffer.slice(ptr,ptr+length))}function _SocketState(socketInstance){var socket=webSocketInstances[socketInstance];return socket.socket.readyState}function _ToggleFullscreenJS(){toggleFullscreen()}function _UpdateValueJS(nodeKey,jsonData){var nodeKeyStr=UTF8ToString(nodeKey);var jsonDataStr=UTF8ToString(jsonData);updateValueTT(nodeKeyStr,jsonDataStr)}var ExceptionInfoAttrs={DESTRUCTOR_OFFSET:0,REFCOUNT_OFFSET:4,TYPE_OFFSET:8,CAUGHT_OFFSET:12,RETHROWN_OFFSET:13,SIZE:16};function ___cxa_allocate_exception(size){return _malloc(size+ExceptionInfoAttrs.SIZE)+ExceptionInfoAttrs.SIZE}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-ExceptionInfoAttrs.SIZE;this.set_type=function(type){HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]=type};this.get_type=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.TYPE_OFFSET>>2]};this.set_destructor=function(destructor){HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]=destructor};this.get_destructor=function(){return HEAP32[this.ptr+ExceptionInfoAttrs.DESTRUCTOR_OFFSET>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.CAUGHT_OFFSET>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+ExceptionInfoAttrs.RETHROWN_OFFSET>>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+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>2];HEAP32[this.ptr+ExceptionInfoAttrs.REFCOUNT_OFFSET>>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){var ptrSize=4;HEAP32[this.ptr+ptrSize>>2]=adjustedPtr};this.get_adjusted_ptr=function(){var ptrSize=4;return HEAP32[this.ptr+ptrSize>>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);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);var stackTop=stackSave();var exceptionThrowBuf=stackAlloc(4);HEAP32[exceptionThrowBuf>>2]=thrown;for(var i=0;i>2];if(thrown!==adjusted){catchInfo.set_adjusted_ptr(adjusted)}setTempRet0(caughtType);return catchInfo.ptr|0}}stackRestore(stackTop);setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_3(){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);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);var stackTop=stackSave();var exceptionThrowBuf=stackAlloc(4);HEAP32[exceptionThrowBuf>>2]=thrown;for(var i=0;i>2];if(thrown!==adjusted){catchInfo.set_adjusted_ptr(adjusted)}setTempRet0(caughtType);return catchInfo.ptr|0}}stackRestore(stackTop);setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_find_matching_catch_4(){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);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);var stackTop=stackSave();var exceptionThrowBuf=stackAlloc(4);HEAP32[exceptionThrowBuf>>2]=thrown;for(var i=0;i>2];if(thrown!==adjusted){catchInfo.set_adjusted_ptr(adjusted)}setTempRet0(caughtType);return catchInfo.ptr|0}}stackRestore(stackTop);setTempRet0(thrownType);return catchInfo.ptr|0}function ___cxa_rethrow(){var catchInfo=exceptionCaught.pop();if(!catchInfo){abort("no exception to throw")}var info=catchInfo.get_exception_info();var ptr=catchInfo.get_base_ptr();if(!info.get_rethrown()){exceptionCaught.push(catchInfo);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}else{catchInfo.free()}exceptionLast=ptr;throw ptr}function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function _gmtime_r(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();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;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;if(!_gmtime_r.GMTString)_gmtime_r.GMTString=allocateUTF8("GMT");HEAP32[tmPtr+40>>2]=_gmtime_r.GMTString;return tmPtr}function ___gmtime_r(a0,a1){return _gmtime_r(a0,a1)}function _tzset(){if(_tzset.called)return;_tzset.called=true;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[__get_timezone()>>2]=stdTimezoneOffset*60;HEAP32[__get_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[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();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;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function ___localtime_r(a0,a1){return _localtime_r(a0,a1)}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize: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 mmapAlloc(size){var alignedSize=alignMemory(size,65536);var ptr=_malloc(alignedSize);while(size=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+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!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:function(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:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(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:function(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:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(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:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(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:function(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:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=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:function(fd){return FS.streams[fd]},createStream:function(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}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(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:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(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:function(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(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(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:function(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(function(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:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(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:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.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=function(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);if(typeof Uint8Array!="undefined")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(function(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(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=function 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>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 node;var lookup=FS.lookupPath(path,{follow:true});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},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},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 ___sys__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))abort(e);return-e.errno}}var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};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(protocol){assert(streaming==(protocol==6))}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(ERRNO_CODES.EHOSTUNREACH)}}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=ERRNO_CODES.ECONNREFUSED;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=ERRNO_CODES.ECONNREFUSED;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 ERRNO_CODES.EINVAL}},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 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>2]=16}HEAP16[sa>>1]=family;HEAP32[sa+4>>2]=addr;HEAP16[sa+2>>1]=_htons(port);tempI64=[0>>>0,(tempDouble=0,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[sa+8>>2]=tempI64[0],HEAP32[sa+12>>2]=tempI64[1];break;case 10:addr=inetPton6(addr);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);HEAP32[sa+4>>2]=0;HEAP32[sa+24>>2]=0;break;default:return 5}return 0}var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name:function(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,"exceeded max address mappings of 65535");addr="172.29."+(id&255)+"."+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr:function(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};function ___sys_accept4(fd,addr,addrlen,flags){try{var sock=getSocketFromFD(fd);var newsock=sock.sock_ops.accept(sock);if(addr){var errno=writeSockaddr(addr,newsock.family,DNS.lookup_name(newsock.daddr),newsock.dport,addrlen)}return newsock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_access(path,amode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}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 getSocketAddress(addrp,addrlen,allowNull){if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}function ___sys_bind(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_connect(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_dup2(oldfd,suggestFD){try{var old=SYSCALLS.getStreamFromFD(oldfd);if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14: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))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_ftruncate64(fd,zero,low,high){try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_getegid32(){return 0}function ___sys_geteuid32(){return ___sys_getegid32()}function ___sys_getpeername(fd,addr,addrlen){try{var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getrusage(who,usage){try{_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getsockname(fd,addr,addrlen){try{err("__sys_getsockname "+fd);var sock=getSocketFromFD(fd);var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.saddr||"0.0.0.0"),sock.sport,addrlen);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getsockopt(fd,level,optname,optval,optlen){try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>2]=sock.error;HEAP32[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_getuid32(){return ___sys_getegid32()}function ___sys_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))abort(e);return-e.errno}}function ___sys_listen(fd,backlog){try{var sock=getSocketFromFD(fd);sock.sock_ops.listen(sock,backlog);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_mkdir(path,mode){try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMmap2(addr,len,prot,flags,fd,off){off<<=12;var ptr;var allocated=false;if((flags&16)!==0&&addr%65536!==0){return-28}if((flags&32)!==0){ptr=_memalign(65536,len);if(!ptr)return-48;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-8;var res=FS.mmap(info,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,prot:prot,flags:flags,offset:off};return ptr}function ___sys_mmap2(addr,len,prot,flags,fd,off){try{return syscallMmap2(addr,len,prot,flags,fd,off)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(stream){if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream)}SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_open(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[]};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return ERRNO_CODES.EINVAL},fsync:function(stream){return ERRNO_CODES.EINVAL},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.buckets=null}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___sys_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_readlink(path,buf,bufsize){try{path=SYSCALLS.getStr(path);return SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_recvmsg(fd,message,flags){try{var sock=getSocketFromFD(fd);var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var total=0;for(var i=0;i>2]}var msg=sock.sock_ops.recvmsg(sock,total);if(!msg)return 0;var name=HEAP32[message>>2];if(name){var errno=writeSockaddr(name,sock.family,DNS.lookup_name(msg.addr),msg.port)}var bytesRead=0;var bytesRemaining=msg.buffer.byteLength;for(var i=0;bytesRemaining>0&&i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];if(!iovlen){continue}var length=Math.min(iovlen,bytesRemaining);var buf=msg.buffer.subarray(bytesRead,bytesRead+length);HEAPU8.set(buf,iovbase+bytesRead);bytesRead+=length;bytesRemaining-=length}return bytesRead}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rename(old_path,new_path){try{old_path=SYSCALLS.getStr(old_path);new_path=SYSCALLS.getStr(new_path);FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_sendmsg(fd,message,flags){try{var sock=getSocketFromFD(fd);var iov=HEAP32[message+8>>2];var num=HEAP32[message+12>>2];var addr,port;var name=HEAP32[message>>2];var namelen=HEAP32[message+4>>2];if(name){var info=readSockaddr(name,namelen);if(info.errno)return-info.errno;port=info.port;addr=DNS.lookup_addr(info.addr)||info.addr}var total=0;for(var i=0;i>2]}var view=new Uint8Array(total);var offset=0;for(var i=0;i>2];var iovlen=HEAP32[iov+(8*i+4)>>2];for(var j=0;j>0]}}return sock.sock_ops.sendmsg(sock,view,0,total,addr,port)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_setsockopt(fd){try{return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_shutdown(fd,how){try{getSocketFromFD(fd);return-52}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_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))abort(e);return-e.errno}}function ___sys_truncate64(path,zero,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))abort(e);return-e.errno}}function ___sys_uname(buf){try{if(!buf)return-21;var layout={"__size__":390,"domainname":325,"machine":260,"nodename":65,"release":130,"sysname":0,"version":195};var copyString=function(element,value){var offset=layout[element];writeAsciiToMemory(value,buf+offset)};copyString("sysname","Emscripten");copyString("nodename","emscripten");copyString("release","1.0");copyString("version","#1");copyString("machine","wasm32");return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___sys_unlink(path){try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_now_res(){if(ENVIRONMENT_IS_NODE){return 1}else if(typeof dateNow!=="undefined"){return 1e3}else return 1e3}var _emscripten_get_now_is_monotonic=true;function _clock_getres(clk_id,res){var nsec;if(clk_id===0){nsec=1e3*1e3}else if(clk_id===1&&_emscripten_get_now_is_monotonic){nsec=_emscripten_get_now_res()}else{setErrNo(28);return-1}HEAP32[res>>2]=nsec/1e9|0;HEAP32[res+4>>2]=nsec;return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else _emscripten_get_now=function(){return performance.now()};function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _difftime(time1,time0){return time1-time0}function _dlclose(handle){}function _dlerror(){return 0}function _dlopen(filename,flag){}function _dlsym(handle,symbol){return 0}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){var double=ch<105;if(double&&buf&1)buf++;readAsmConstArgsArray.push(double?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}function _exit(status){exit(status)}function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){if(e instanceof ExitStatus){return}throw e}}}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}}console.log('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){if(e instanceof ExitStatus){return}else if(e!=="unwind"){if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}}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=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;Browser.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)}}},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)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},safeSetTimeout:function(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)},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}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},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){var stackTop=stackSave();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]];stackRestore(stackTop);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{var stackTop=stackSave();var targetInt=stackAlloc(target.id.length+1);stringToUTF8(target.id,targetInt,target.id.length+1);_emscripten_set_canvas_element_size(targetInt,width,height);stackRestore(stackTop)}}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_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,1).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize,1).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 _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_longjmp(a0,a1){return _longjmp(a0,a1)}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=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,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(){(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(164);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;var idx=keyEventData>>2;HEAP32[idx+0]=e.location;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;HEAP32[idx+5]=e.repeat;HEAP32[idx+6]=e.charCode;HEAP32[idx+7]=e.keyCode;HEAP32[idx+8]=e.which;stringToUTF8(e.key||"",keyEventData+36,32);stringToUTF8(e.code||"",keyEventData+68,32);stringToUTF8(e.char||"",keyEventData+100,32);stringToUTF8(e.locale||"",keyEventData+132,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){var idx=eventStruct>>2;HEAP32[idx+0]=e.screenX;HEAP32[idx+1]=e.screenY;HEAP32[idx+2]=e.clientX;HEAP32[idx+3]=e.clientY;HEAP32[idx+4]=e.ctrlKey;HEAP32[idx+5]=e.shiftKey;HEAP32[idx+6]=e.altKey;HEAP32[idx+7]=e.metaKey;HEAP16[idx*2+16]=e.button;HEAP16[idx*2+17]=e.buttons;HEAP32[idx+9]=e["movementX"];HEAP32[idx+10]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+11]=e.clientX-rect.left;HEAP32[idx+12]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(64);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 registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1684);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>2;HEAP32[idx+1]=e.ctrlKey;HEAP32[idx+2]=e.shiftKey;HEAP32[idx+3]=e.altKey;HEAP32[idx+4]=e.metaKey;idx+=5;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>>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(96);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+64>>3]=e["deltaX"];HEAPF64[wheelEvent+72>>3]=e["deltaY"];HEAPF64[wheelEvent+80>>3]=e["deltaZ"];HEAP32[wheelEvent+88>>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 _emscripten_thread_sleep(msecs){var start=_emscripten_get_now();while(_emscripten_get_now()-start>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_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}function _emscripten_webgl_get_current_context(){return _emscripten_webgl_do_get_current_context()}Module["_emscripten_webgl_get_current_context"]=_emscripten_webgl_get_current_context;function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}Module["_emscripten_webgl_make_context_current"]=_emscripten_webgl_make_context_current;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_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}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){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){try{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}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function _environ_sizes_get(penviron_count,penviron_buf_size){try{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}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}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))abort(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))abort(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))abort(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))abort(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))abort(e);return e.errno}}function _flock(fd,operation){return 0}function _getTempRet0(){return getTempRet0()}function _getaddrinfo(node,service,hint,out){var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>2]=family;HEAP32[ai+8>>2]=type;HEAP32[ai+12>>2]=proto;HEAP32[ai+24>>2]=canon;HEAP32[ai+20>>2]=sa;if(family===10){HEAP32[ai+16>>2]=28}else{HEAP32[ai+16>>2]=16}HEAP32[ai+28>>2]=0;return ai}if(hint){flags=HEAP32[hint>>2];family=HEAP32[hint+4>>2];type=HEAP32[hint+8>>2];proto=HEAP32[hint+12>>2]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>2]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAP32[out>>2]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAP32[out>>2]=ai;return 0}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 _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=""+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}return 0}function _getpwuid(){throw"getpwuid: TODO"}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}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 _glBeginTransformFeedback(x0){GLctx["beginTransformFeedback"](x0)}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 _glBindTransformFeedback(target,id){GLctx["bindTransformFeedback"](target,GL.transformFeedbacks[id])}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 _glDeleteTransformFeedbacks(n,ids){for(var i=0;i>2];var transformFeedback=GL.transformFeedbacks[id];if(!transformFeedback)continue;GLctx["deleteTransformFeedback"](transformFeedback);transformFeedback.name=0;GL.transformFeedbacks[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 _glEndTransformFeedback(){GLctx["endTransformFeedback"]()}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 _glGenTransformFeedbacks(n,ids){__glGenObject(n,ids,"createTransformFeedback",GL.transformFeedbacks)}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 _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 _glGetUniformLocation(program,name){function getLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}name=UTF8ToString(name);if(program=GL.programs[program]){var uniformLocsById=program.uniformLocsById;var uniformSizeAndIdsByName=program.uniformSizeAndIdsByName;var i,j;var arrayIndex=0;var uniformBaseName=name;var leftBrace=getLeftBracePos(name);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=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];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;i32)}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)]=function(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)]=function(){return 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(;i=0&&explicitUniformLocations[match[5]]<1048576)){console.error('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)){console.error('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)}}function _glTransformFeedbackVaryings(program,count,varyings,bufferMode){program=GL.programs[program];var vars=[];for(var i=0;i>2]));GLctx["transformFeedbackVaryings"](program,vars,bufferMode)}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 _mktime(tmPtr){_tzset();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 _setTempRet0(val){setTempRet0(val)}function _sigaction(signum,act,oldact){return 0}function _sigemptyset(set){HEAP32[set>>2]=0;return 0}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 janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=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"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function setFileTime(path,time){path=UTF8ToString(path);try{FS.utime(path,time,time);return 0}catch(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();setErrNo(e.errno);return-1}}function _utime(path,times){var time;if(times){time=HEAP32[times+4>>2]*1e3}else{time=Date.now()}return setFileTime(path,time)}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)}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={"Bi":_CallFuntionWithJsonJS,"Li":_CopyPasteReader2,"Ai":_GetCurrentUserIdJS,"zi":_GetCurrentUserIsAnonJS,"Hi":_GetDevicePixelRatioJS,"yi":_GetOSJS,"Fi":_GetValueJS,"Gi":_IsFullscreenJS,"Ji":_IsIosJS,"Ki":_IsMobileJS,"Ii":_IsTabletJS,"of":_JS_Accelerometer_IsRunning,"Lb":_JS_Accelerometer_Start,"Kb":_JS_Accelerometer_Stop,"sf":_JS_Cursor_SetImage,"Ta":_JS_Cursor_SetShow,"Ra":_JS_DOM_MapViewportCoordinateToElementLocalCoordinate,"gi":_JS_DOM_UnityCanvasSelector,"uf":_JS_Eval_EvalJS,"We":_JS_Eval_OpenURL,"Oe":_JS_FileSystem_Initialize,"la":_JS_FileSystem_Sync,"mf":_JS_GravitySensor_IsRunning,"Hb":_JS_GravitySensor_Start,"Gb":_JS_GravitySensor_Stop,"lf":_JS_Gyroscope_IsRunning,"Fb":_JS_Gyroscope_Start,"Eb":_JS_Gyroscope_Stop,"nf":_JS_LinearAccelerationSensor_IsRunning,"Jb":_JS_LinearAccelerationSensor_Start,"Ib":_JS_LinearAccelerationSensor_Stop,"ed":_JS_Log_Dump,"Ye":_JS_Log_StackTrace,"pf":_JS_OrientationSensor_IsRunning,"Nb":_JS_OrientationSensor_Start,"Mb":_JS_OrientationSensor_Stop,"Oc":_JS_PokiSDK_commercialBreak,"ti":_JS_PokiSDK_customEvent,"oi":_JS_PokiSDK_destroyAd,"pi":_JS_PokiSDK_displayAd,"Rc":_JS_PokiSDK_gameInteractive,"Sc":_JS_PokiSDK_gameLoadingFinished,"wi":_JS_PokiSDK_gameLoadingProgress,"Tc":_JS_PokiSDK_gameLoadingStart,"Qc":_JS_PokiSDK_gameplayStart,"Pc":_JS_PokiSDK_gameplayStop,"qi":_JS_PokiSDK_happyTime,"xi":_JS_PokiSDK_initPokiBridge,"ni":_JS_PokiSDK_preInit,"Nc":_JS_PokiSDK_rewardedBreak,"ui":_JS_PokiSDK_roundEnd,"vi":_JS_PokiSDK_roundStart,"si":_JS_PokiSDK_setPlayerAge,"ri":_JS_PokiSDK_togglePlayerAdvertisingConsent,"Ob":_JS_RequestDeviceSensorPermissionsOnTouch,"Se":_JS_RunQuitCallbacks,"kf":_JS_ScreenOrientation_DeInit,"qf":_JS_ScreenOrientation_Init,"ja":_JS_ScreenOrientation_Lock,"Tf":_JS_Sound_Create_Channel,"ec":_JS_Sound_GetLength,"Pf":_JS_Sound_GetLoadState,"Nf":_JS_Sound_Init,"dc":_JS_Sound_Load,"Of":_JS_Sound_Load_PCM,"Za":_JS_Sound_Play,"_a":_JS_Sound_ReleaseInstance,"Qb":_JS_Sound_ResumeIfNeeded,"Qf":_JS_Sound_Set3D,"Lf":_JS_Sound_SetListenerOrientation,"Mf":_JS_Sound_SetListenerPosition,"Xa":_JS_Sound_SetLoop,"Ya":_JS_Sound_SetLoopPoints,"Wa":_JS_Sound_SetPaused,"wa":_JS_Sound_SetPitch,"Sf":_JS_Sound_SetPosition,"Rf":_JS_Sound_SetVolume,"xa":_JS_Sound_Stop,"yb":_JS_SystemInfo_GetBrowserName,"xb":_JS_SystemInfo_GetBrowserVersionString,"oa":_JS_SystemInfo_GetCanvasClientSize,"ua":_JS_SystemInfo_GetDocumentURL,"vb":_JS_SystemInfo_GetGPUInfo,"wb":_JS_SystemInfo_GetLanguage,"Db":_JS_SystemInfo_GetMatchWebGLToCanvasSize,"ia":_JS_SystemInfo_GetMemory,"zb":_JS_SystemInfo_GetOS,"Bb":_JS_SystemInfo_GetPreferredDevicePixelRatio,"_e":_JS_SystemInfo_GetScreenSize,"ac":_JS_SystemInfo_GetStreamingAssetsURL,"vf":_JS_SystemInfo_HasAstcHdr,"Ab":_JS_SystemInfo_HasCursorLock,"hf":_JS_SystemInfo_HasFullscreen,"za":_JS_SystemInfo_HasWebGL,"tf":_JS_SystemInfo_IsMobile,"Ve":_JS_UnityEngineShouldQuit,"If":_JS_WebRequest_Abort,"Hf":_JS_WebRequest_Create,"cc":_JS_WebRequest_GetResponseHeaders,"Va":_JS_WebRequest_Release,"Cf":_JS_WebRequest_Send,"Ef":_JS_WebRequest_SetProgressHandler,"Df":_JS_WebRequest_SetRequestHeader,"Ff":_JS_WebRequest_SetResponseHandler,"Gf":_JS_WebRequest_SetTimeout,"Xc":_LinkOrSignInWithApple,"Yc":_LinkOrSignInWithGoogle,"Si":_LinkUserWithEmail,"Oi":_LogEvent,"Ni":_LogEventWithParam,"Mi":_LogEventWithParamString,"Pi":_OpenPrivacyUrlInNewTabJS,"Qi":_OpenUrlInNewTabWithStringJS,"Uc":_ReloadPageJS,"Di":_RemoveValueJS,"Ri":_SendPasswordResetEmailJS,"Ei":_SetValueJS,"Vc":_ShowPreGameInterstitialJS,"Ti":_SignInWithEmail,"Wc":_SignOut,"$c":_SocketClose,"Yi":_SocketCreate,"Vi":_SocketError,"Wi":_SocketRecv,"ad":_SocketRecvLength,"Xi":_SocketSend,"bd":_SocketState,"nb":_ToggleFullscreenJS,"Ci":_UpdateValueJS,"p":___cxa_allocate_exception,"h":___cxa_begin_catch,"n":___cxa_end_catch,"e":___cxa_find_matching_catch_2,"a":___cxa_find_matching_catch_3,"fj":___cxa_find_matching_catch_4,"mb":___cxa_free_exception,"md":___cxa_rethrow,"aa":___cxa_throw,"nd":___gmtime_r,"od":___localtime_r,"k":___resumeException,"Pg":___sys__newselect,"Pd":___sys_accept4,"Ed":___sys_access,"Xe":___sys_bind,"Bd":___sys_chmod,"Fe":___sys_connect,"id":___sys_dup2,"V":___sys_fcntl64,"Bf":___sys_fstat64,"rf":___sys_ftruncate64,"yd":___sys_getcwd,"ud":___sys_getdents64,"Hc":___sys_getegid32,"Ic":___sys_geteuid32,"kd":___sys_getpeername,"td":___sys_getrusage,"je":___sys_getsockname,"Pe":___sys_getsockopt,"Xf":___sys_getuid32,"jc":___sys_ioctl,"_d":___sys_listen,"Cd":___sys_lstat64,"wd":___sys_mkdir,"xd":___sys_mmap2,"pd":___sys_munmap,"Ua":___sys_open,"Dd":___sys_pipe,"ue":___sys_poll,"fi":___sys_readlink,"Gd":___sys_recvfrom,"gd":___sys_recvmsg,"zd":___sys_rename,"vd":___sys_rmdir,"hd":___sys_sendmsg,"Hd":___sys_sendto,"Fd":___sys_setsockopt,"jd":___sys_shutdown,"pb":___sys_socket,"$b":___sys_stat64,"Uf":___sys_statfs64,"Vf":___sys_truncate64,"qd":___sys_uname,"Ad":___sys_unlink,"x":_abort,"R":_clock,"sd":_clock_getres,"rb":_clock_gettime,"Ka":_difftime,"bf":_dlclose,"pa":_dlerror,"Pb":_dlopen,"jf":_dlsym,"bc":_emscripten_asm_const_int_sync_on_main_thread,"Te":_emscripten_cancel_main_loop,"Re":_emscripten_clear_interval,"ff":_emscripten_exit_fullscreen,"$e":_emscripten_exit_pointerlock,"Ze":_emscripten_get_canvas_element_size,"ef":_emscripten_get_fullscreen_status,"Oa":_emscripten_get_gamepad_status,"rd":_emscripten_get_heap_max,"N":_emscripten_get_now,"Pa":_emscripten_get_num_gamepads,"Ue":_emscripten_html5_remove_all_event_listeners,"xf":_emscripten_is_webgl_context_lost,"B":_emscripten_log,"F":_emscripten_longjmp,"gj":_emscripten_memcpy_big,"gf":_emscripten_request_fullscreen,"af":_emscripten_request_pointerlock,"hj":_emscripten_resize_heap,"Qa":_emscripten_sample_gamepad_data,"Cb":_emscripten_set_blur_callback_on_thread,"Na":_emscripten_set_canvas_element_size,"cf":_emscripten_set_focus_callback_on_thread,"df":_emscripten_set_fullscreenchange_callback_on_thread,"Sb":_emscripten_set_gamepadconnected_callback_on_thread,"Rb":_emscripten_set_gamepaddisconnected_callback_on_thread,"Ne":_emscripten_set_interval,"ra":_emscripten_set_keydown_callback_on_thread,"qa":_emscripten_set_keypress_callback_on_thread,"Sa":_emscripten_set_keyup_callback_on_thread,"Me":_emscripten_set_main_loop,"Qe":_emscripten_set_main_loop_timing,"Zb":_emscripten_set_mousedown_callback_on_thread,"Yb":_emscripten_set_mousemove_callback_on_thread,"_b":_emscripten_set_mouseup_callback_on_thread,"Tb":_emscripten_set_touchcancel_callback_on_thread,"Vb":_emscripten_set_touchend_callback_on_thread,"Ub":_emscripten_set_touchmove_callback_on_thread,"Wb":_emscripten_set_touchstart_callback_on_thread,"Xb":_emscripten_set_wheel_callback_on_thread,"fd":_emscripten_thread_sleep,"zf":_emscripten_webgl_create_context,"yf":_emscripten_webgl_destroy_context,"sa":_emscripten_webgl_enable_extension,"wf":_emscripten_webgl_get_current_context,"Yf":_emscripten_webgl_init_context_attributes,"ta":_emscripten_webgl_make_context_current,"rg":_environ_get,"Cg":_environ_sizes_get,"z":_exit,"$":_fd_close,"ub":_fd_fdstat_get,"tb":_fd_read,"Le":_fd_seek,"Ma":_fd_write,"ya":_flock,"b":_getTempRet0,"ld":_getaddrinfo,"Jf":_gethostbyaddr,"Kf":_gethostbyname,"qb":_getnameinfo,"Wf":_getpwuid,"va":_gettimeofday,"Zh":_glActiveTexture,"Wh":_glAttachShader,"lc":_glBeginQuery,"Lg":_glBeginTransformFeedback,"Ga":_glBindAttribLocation,"Vh":_glBindBuffer,"jg":_glBindBufferBase,"ig":_glBindBufferRange,"Sh":_glBindFramebuffer,"Th":_glBindRenderbuffer,"dg":_glBindSampler,"Uh":_glBindTexture,"Eg":_glBindTransformFeedback,"Hg":_glBindVertexArray,"Dc":_glBlendEquation,"Ec":_glBlendEquationSeparate,"Fc":_glBlendFuncSeparate,"vg":_glBlitFramebuffer,"Qh":_glBufferData,"Rh":_glBufferSubData,"Ph":_glCheckFramebufferStatus,"Lh":_glClear,"$f":_glClearBufferfi,"_f":_glClearBufferfv,"Zf":_glClearBufferuiv,"Mh":_glClearColor,"Nh":_glClearDepthf,"Oh":_glClearStencil,"Id":_glClientWaitSync,"lb":_glColorMask,"Kh":_glCompileShader,"Ih":_glCompressedTexImage2D,"xg":_glCompressedTexImage3D,"Jh":_glCompressedTexSubImage2D,"Bg":_glCompressedTexSubImage3D,"mg":_glCopyBufferSubData,"Hh":_glCopyTexImage2D,"Cc":_glCopyTexSubImage2D,"Gh":_glCreateProgram,"Fh":_glCreateShader,"Eh":_glCullFace,"Dh":_glDeleteBuffers,"Ch":_glDeleteFramebuffers,"Bh":_glDeleteProgram,"fb":_glDeleteQueries,"Ah":_glDeleteRenderbuffers,"cg":_glDeleteSamplers,"zh":_glDeleteShader,"gc":_glDeleteSync,"yh":_glDeleteTextures,"Fg":_glDeleteTransformFeedbacks,"Jg":_glDeleteVertexArrays,"Fa":_glDepthFunc,"Ea":_glDepthMask,"xh":_glDetachShader,"wh":_glDisable,"vh":_glDisableVertexAttribArray,"sh":_glDrawArrays,"og":_glDrawArraysInstanced,"lg":_glDrawBuffers,"th":_glDrawElements,"ng":_glDrawElementsInstanced,"uh":_glEnable,"rh":_glEnableVertexAttribArray,"mc":_glEndQuery,"Mg":_glEndTransformFeedback,"fc":_glFenceSync,"oh":_glFinish,"ph":_glFlush,"sg":_glFlushMappedBufferRange,"W":_glFramebufferRenderbuffer,"S":_glFramebufferTexture2D,"Aa":_glFramebufferTextureLayer,"Da":_glFrontFace,"nh":_glGenBuffers,"jh":_glGenFramebuffers,"kc":_glGenQueries,"kh":_glGenRenderbuffers,"bg":_glGenSamplers,"mh":_glGenTextures,"Gg":_glGenTransformFeedbacks,"Kg":_glGenVertexArrays,"lh":_glGenerateMipmap,"di":_glGetActiveAttrib,"kb":_glGetActiveUniform,"bb":_glGetActiveUniformBlockName,"fa":_glGetActiveUniformBlockiv,"ea":_glGetActiveUniformsiv,"ci":_glGetAttribLocation,"ih":_glGetError,"hh":_glGetFramebufferAttachmentParameteriv,"Yh":_glGetIntegeri_v,"Ha":_glGetIntegerv,"fg":_glGetInternalformativ,"hc":_glGetProgramBinary,"$h":_glGetProgramInfoLog,"Z":_glGetProgramiv,"Og":_glGetQueryObjectuiv,"Ng":_glGetQueryiv,"qh":_glGetRenderbufferParameteriv,"fh":_glGetShaderInfoLog,"Bc":_glGetShaderPrecisionFormat,"gh":_glGetShaderSource,"_h":_glGetShaderiv,"eh":_glGetString,"tg":_glGetStringi,"dh":_glGetTexParameteriv,"gg":_glGetUniformBlockIndex,"ab":_glGetUniformIndices,"ka":_glGetUniformLocation,"Ac":_glGetUniformiv,"bi":_glGetVertexAttribiv,"eb":_glInvalidateFramebuffer,"Xh":_glIsEnabled,"Ig":_glIsVertexArray,"bh":_glLinkProgram,"pg":_glMapBufferRange,"ch":_glPixelStorei,"zc":_glPolygonOffset,"ic":_glProgramBinary,"ag":_glProgramParameteri,"kg":_glReadBuffer,"ha":_glReadPixels,"ah":_glRenderbufferStorage,"ug":_glRenderbufferStorageMultisample,"eg":_glSamplerParameteri,"jb":_glScissor,"_g":_glShaderSource,"$g":_glStencilFuncSeparate,"Yg":_glStencilMask,"Zg":_glStencilOpSeparate,"Wg":_glTexImage2D,"zg":_glTexImage3D,"Xg":_glTexParameterf,"ib":_glTexParameteri,"Vg":_glTexParameteriv,"wg":_glTexStorage2D,"yg":_glTexStorage3D,"Ug":_glTexSubImage2D,"Ag":_glTexSubImage3D,"Dg":_glTransformFeedbackVaryings,"nc":_glUniform1fv,"Ba":_glUniform1i,"oc":_glUniform1iv,"pc":_glUniform1uiv,"qc":_glUniform2fv,"rc":_glUniform2iv,"sc":_glUniform2uiv,"hb":_glUniform3fv,"tc":_glUniform3iv,"uc":_glUniform3uiv,"ga":_glUniform4fv,"vc":_glUniform4iv,"wc":_glUniform4uiv,"cb":_glUniformBlockBinding,"xc":_glUniformMatrix3fv,"Ca":_glUniformMatrix4fv,"qg":_glUnmapBuffer,"Qg":_glUseProgram,"ai":_glValidateProgram,"Rg":_glVertexAttrib4f,"Sg":_glVertexAttrib4fv,"hg":_glVertexAttribIPointer,"Tg":_glVertexAttribPointer,"gb":_glViewport,"cd":invoke_dddi,"ba":invoke_di,"H":invoke_dii,"J":invoke_diii,"ii":invoke_diiid,"L":invoke_diiii,"Ud":invoke_dji,"Ia":invoke_fffi,"Kc":invoke_fi,"Q":invoke_fii,"C":invoke_fiii,"hi":invoke_fiiif,"P":invoke_fiiii,"v":invoke_i,"dd":invoke_idi,"O":invoke_ifi,"d":invoke_ii,"aj":invoke_iidi,"$i":invoke_iifi,"Zc":invoke_iifii,"c":invoke_iii,"ob":invoke_iiidi,"Jc":invoke_iiifi,"i":invoke_iiii,"ki":invoke_iiiidii,"ei":invoke_iiiifii,"q":invoke_iiiii,"s":invoke_iiiiii,"dj":invoke_iiiiiifi,"u":invoke_iiiiiii,"bj":invoke_iiiiiiidii,"A":invoke_iiiiiiii,"E":invoke_iiiiiiiii,"U":invoke_iiiiiiiiii,"Gc":invoke_iiiiiiiiiii,"li":invoke_iiiiiiiiiiiii,"ae":invoke_iiiiiiiiiji,"Wd":invoke_iiiiij,"Vd":invoke_iiiiijiii,"Td":invoke_iiiijii,"ve":invoke_iiiijjii,"Je":invoke_iiij,"ge":invoke_iiiji,"He":invoke_iiijiii,"Ie":invoke_iij,"pe":invoke_iiji,"we":invoke_iijii,"se":invoke_iijiii,"qe":invoke_iijiiiiii,"Od":invoke_iijji,"re":invoke_iijjiiiiii,"oe":invoke_iji,"ke":invoke_ijji,"Ge":invoke_j,"Yd":invoke_jdi,"Ee":invoke_ji,"De":invoke_jii,"ze":invoke_jiii,"Ke":invoke_jiiii,"Jd":invoke_jiiiii,"Ce":invoke_jiiiiiiiiii,"Sd":invoke_jiiij,"fe":invoke_jiiji,"Qd":invoke_jiji,"de":invoke_jijii,"Rd":invoke_jijiii,"be":invoke_jijj,"ie":invoke_jji,"me":invoke_jjii,"he":invoke_jjji,"f":invoke_v,"Mc":invoke_vdi,"K":invoke_vfi,"_":invoke_vfiii,"l":invoke_vi,"Af":invoke_vidd,"y":invoke_vidi,"G":invoke_vifi,"m":invoke_vii,"Ja":invoke_viidi,"yc":invoke_viif,"Y":invoke_viiff,"Ui":invoke_viiffi,"M":invoke_viifi,"_i":invoke_viifiiii,"g":invoke_viii,"o":invoke_viiii,"cj":invoke_viiiidi,"le":invoke_viiiidij,"mi":invoke_viiiifi,"r":invoke_viiiii,"t":invoke_viiiiii,"D":invoke_viiiiiii,"Zi":invoke_viiiiiiifddfii,"ji":invoke_viiiiiiiffffii,"T":invoke_viiiiiiifiifii,"ce":invoke_viiiiiiifjjfii,"I":invoke_viiiiiiii,"X":invoke_viiiiiiiii,"Lc":invoke_viiiiiiiiifi,"na":invoke_viiiiiiiiii,"ma":invoke_viiiiiiiiiii,"_c":invoke_viiiiiiiiiiii,"ej":invoke_viiiiiiiiiiiii,"Zd":invoke_viiij,"ne":invoke_viiiji,"xe":invoke_viij,"Be":invoke_viiji,"te":invoke_viijii,"Kd":invoke_viijiiiiii,"ee":invoke_viijiiijiiii,"Ae":invoke_viji,"ye":invoke_vijii,"Nd":invoke_vijiii,"Xd":invoke_vijjji,"$d":invoke_vji,"Ld":invoke_vjiiiii,"Md":invoke_vjjjiiii,"j":_llvm_eh_typeid_for,"ca":_mktime,"w":_setTempRet0,"$a":_sigaction,"db":_sigemptyset,"La":_strftime,"da":_time,"sb":_utime};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["jj"]).apply(null,arguments)};var _SendMessageFloat=Module["_SendMessageFloat"]=function(){return(_SendMessageFloat=Module["_SendMessageFloat"]=Module["asm"]["kj"]).apply(null,arguments)};var _SendMessageString=Module["_SendMessageString"]=function(){return(_SendMessageString=Module["_SendMessageString"]=Module["asm"]["lj"]).apply(null,arguments)};var _SendMessage=Module["_SendMessage"]=function(){return(_SendMessage=Module["_SendMessage"]=Module["asm"]["mj"]).apply(null,arguments)};var _SetFullscreen=Module["_SetFullscreen"]=function(){return(_SetFullscreen=Module["_SetFullscreen"]=Module["asm"]["nj"]).apply(null,arguments)};var _main=Module["_main"]=function(){return(_main=Module["_main"]=Module["asm"]["oj"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["pj"]).apply(null,arguments)};var _htonl=Module["_htonl"]=function(){return(_htonl=Module["_htonl"]=Module["asm"]["qj"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["rj"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["sj"]).apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return(__get_tzname=Module["__get_tzname"]=Module["asm"]["tj"]).apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return(__get_daylight=Module["__get_daylight"]=Module["asm"]["uj"]).apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return(__get_timezone=Module["__get_timezone"]=Module["asm"]["vj"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["wj"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["xj"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["yj"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["zj"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Aj"]).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"]["Bj"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Cj"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Dj"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["Ej"]).apply(null,arguments)};var _memset=Module["_memset"]=function(){return(_memset=Module["_memset"]=Module["asm"]["Fj"]).apply(null,arguments)};var _strlen=Module["_strlen"]=function(){return(_strlen=Module["_strlen"]=Module["asm"]["Gj"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["Ij"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["Jj"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Kj"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["Lj"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["Mj"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["Nj"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Oj"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Pj"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Qj"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["Rj"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["Sj"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Tj"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["Uj"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["Vj"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Wj"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Xj"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["Yj"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["Zj"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["_j"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["$j"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["ak"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["bk"]).apply(null,arguments)};var dynCall_viiff=Module["dynCall_viiff"]=function(){return(dynCall_viiff=Module["dynCall_viiff"]=Module["asm"]["ck"]).apply(null,arguments)};var dynCall_jiii=Module["dynCall_jiii"]=function(){return(dynCall_jiii=Module["dynCall_jiii"]=Module["asm"]["dk"]).apply(null,arguments)};var dynCall_fii=Module["dynCall_fii"]=function(){return(dynCall_fii=Module["dynCall_fii"]=Module["asm"]["ek"]).apply(null,arguments)};var dynCall_viifi=Module["dynCall_viifi"]=function(){return(dynCall_viifi=Module["dynCall_viifi"]=Module["asm"]["fk"]).apply(null,arguments)};var dynCall_vijii=Module["dynCall_vijii"]=function(){return(dynCall_vijii=Module["dynCall_vijii"]=Module["asm"]["gk"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["hk"]).apply(null,arguments)};var dynCall_fiiii=Module["dynCall_fiiii"]=function(){return(dynCall_fiiii=Module["dynCall_fiiii"]=Module["asm"]["ik"]).apply(null,arguments)};var dynCall_fiiffi=Module["dynCall_fiiffi"]=function(){return(dynCall_fiiffi=Module["dynCall_fiiffi"]=Module["asm"]["jk"]).apply(null,arguments)};var dynCall_viiififii=Module["dynCall_viiififii"]=function(){return(dynCall_viiififii=Module["dynCall_viiififii"]=Module["asm"]["kk"]).apply(null,arguments)};var dynCall_fiii=Module["dynCall_fiii"]=function(){return(dynCall_fiii=Module["dynCall_fiii"]=Module["asm"]["lk"]).apply(null,arguments)};var dynCall_diii=Module["dynCall_diii"]=function(){return(dynCall_diii=Module["dynCall_diii"]=Module["asm"]["mk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiii=Module["dynCall_viiiiiiiiiiii"]=Module["asm"]["nk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiii"]=Module["asm"]["ok"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiii"]=Module["asm"]["pk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=Module["asm"]["qk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiii"]=Module["asm"]["rk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiii"]=Module["asm"]["sk"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiiiiii"]=Module["asm"]["tk"]).apply(null,arguments)};var dynCall_viffi=Module["dynCall_viffi"]=function(){return(dynCall_viffi=Module["dynCall_viffi"]=Module["asm"]["uk"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["vk"]).apply(null,arguments)};var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=function(){return(dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=Module["asm"]["wk"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["xk"]).apply(null,arguments)};var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=Module["asm"]["yk"]).apply(null,arguments)};var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=function(){return(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=Module["asm"]["zk"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["Ak"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["Bk"]).apply(null,arguments)};var dynCall_iji=Module["dynCall_iji"]=function(){return(dynCall_iji=Module["dynCall_iji"]=Module["asm"]["Ck"]).apply(null,arguments)};var dynCall_viiiji=Module["dynCall_viiiji"]=function(){return(dynCall_viiiji=Module["dynCall_viiiji"]=Module["asm"]["Dk"]).apply(null,arguments)};var dynCall_jjii=Module["dynCall_jjii"]=function(){return(dynCall_jjii=Module["dynCall_jjii"]=Module["asm"]["Ek"]).apply(null,arguments)};var dynCall_iijji=Module["dynCall_iijji"]=function(){return(dynCall_iijji=Module["dynCall_iijji"]=Module["asm"]["Fk"]).apply(null,arguments)};var dynCall_iiddi=Module["dynCall_iiddi"]=function(){return(dynCall_iiddi=Module["dynCall_iiddi"]=Module["asm"]["Gk"]).apply(null,arguments)};var dynCall_iiffi=Module["dynCall_iiffi"]=function(){return(dynCall_iiffi=Module["dynCall_iiffi"]=Module["asm"]["Hk"]).apply(null,arguments)};var dynCall_diiii=Module["dynCall_diiii"]=function(){return(dynCall_diiii=Module["dynCall_diiii"]=Module["asm"]["Ik"]).apply(null,arguments)};var dynCall_viiiidi=Module["dynCall_viiiidi"]=function(){return(dynCall_viiiidi=Module["dynCall_viiiidi"]=Module["asm"]["Jk"]).apply(null,arguments)};var dynCall_viiji=Module["dynCall_viiji"]=function(){return(dynCall_viiji=Module["dynCall_viiji"]=Module["asm"]["Kk"]).apply(null,arguments)};var dynCall_vidi=Module["dynCall_vidi"]=function(){return(dynCall_vidi=Module["dynCall_vidi"]=Module["asm"]["Lk"]).apply(null,arguments)};var dynCall_iiiiiiidii=Module["dynCall_iiiiiiidii"]=function(){return(dynCall_iiiiiiidii=Module["dynCall_iiiiiiidii"]=Module["asm"]["Mk"]).apply(null,arguments)};var dynCall_viiiidij=Module["dynCall_viiiidij"]=function(){return(dynCall_viiiidij=Module["dynCall_viiiidij"]=Module["asm"]["Nk"]).apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return(dynCall_dii=Module["dynCall_dii"]=Module["asm"]["Ok"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["Pk"]).apply(null,arguments)};var dynCall_ifi=Module["dynCall_ifi"]=function(){return(dynCall_ifi=Module["dynCall_ifi"]=Module["asm"]["Qk"]).apply(null,arguments)};var dynCall_idi=Module["dynCall_idi"]=function(){return(dynCall_idi=Module["dynCall_idi"]=Module["asm"]["Rk"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["Sk"]).apply(null,arguments)};var dynCall_vifi=Module["dynCall_vifi"]=function(){return(dynCall_vifi=Module["dynCall_vifi"]=Module["asm"]["Tk"]).apply(null,arguments)};var dynCall_fffi=Module["dynCall_fffi"]=function(){return(dynCall_fffi=Module["dynCall_fffi"]=Module["asm"]["Uk"]).apply(null,arguments)};var dynCall_ijji=Module["dynCall_ijji"]=function(){return(dynCall_ijji=Module["dynCall_ijji"]=Module["asm"]["Vk"]).apply(null,arguments)};var dynCall_jji=Module["dynCall_jji"]=function(){return(dynCall_jji=Module["dynCall_jji"]=Module["asm"]["Wk"]).apply(null,arguments)};var dynCall_jjji=Module["dynCall_jjji"]=function(){return(dynCall_jjji=Module["dynCall_jjji"]=Module["asm"]["Xk"]).apply(null,arguments)};var dynCall_dddi=Module["dynCall_dddi"]=function(){return(dynCall_dddi=Module["dynCall_dddi"]=Module["asm"]["Yk"]).apply(null,arguments)};var dynCall_iidi=Module["dynCall_iidi"]=function(){return(dynCall_iidi=Module["dynCall_iidi"]=Module["asm"]["Zk"]).apply(null,arguments)};var dynCall_iifi=Module["dynCall_iifi"]=function(){return(dynCall_iifi=Module["dynCall_iifi"]=Module["asm"]["_k"]).apply(null,arguments)};var dynCall_viijjii=Module["dynCall_viijjii"]=function(){return(dynCall_viijjii=Module["dynCall_viijjii"]=Module["asm"]["$k"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["al"]).apply(null,arguments)};var dynCall_iiidi=Module["dynCall_iiidi"]=function(){return(dynCall_iiidi=Module["dynCall_iiidi"]=Module["asm"]["bl"]).apply(null,arguments)};var dynCall_iiiiiifi=Module["dynCall_iiiiiifi"]=function(){return(dynCall_iiiiiifi=Module["dynCall_iiiiiifi"]=Module["asm"]["cl"]).apply(null,arguments)};var dynCall_iiifi=Module["dynCall_iiifi"]=function(){return(dynCall_iiifi=Module["dynCall_iiifi"]=Module["asm"]["dl"]).apply(null,arguments)};var dynCall_viiffi=Module["dynCall_viiffi"]=function(){return(dynCall_viiffi=Module["dynCall_viiffi"]=Module["asm"]["el"]).apply(null,arguments)};var dynCall_viifiiii=Module["dynCall_viifiiii"]=function(){return(dynCall_viifiiii=Module["dynCall_viifiiii"]=Module["asm"]["fl"]).apply(null,arguments)};var dynCall_jiiji=Module["dynCall_jiiji"]=function(){return(dynCall_jiiji=Module["dynCall_jiiji"]=Module["asm"]["gl"]).apply(null,arguments)};var dynCall_viijiiijiiii=Module["dynCall_viijiiijiiii"]=function(){return(dynCall_viijiiijiiii=Module["dynCall_viijiiijiiii"]=Module["asm"]["hl"]).apply(null,arguments)};var dynCall_jijii=Module["dynCall_jijii"]=function(){return(dynCall_jijii=Module["dynCall_jijii"]=Module["asm"]["il"]).apply(null,arguments)};var dynCall_vfiii=Module["dynCall_vfiii"]=function(){return(dynCall_vfiii=Module["dynCall_vfiii"]=Module["asm"]["jl"]).apply(null,arguments)};var dynCall_viiiiiiifiifii=Module["dynCall_viiiiiiifiifii"]=function(){return(dynCall_viiiiiiifiifii=Module["dynCall_viiiiiiifiifii"]=Module["asm"]["kl"]).apply(null,arguments)};var dynCall_viiiiiiifddfii=Module["dynCall_viiiiiiifddfii"]=function(){return(dynCall_viiiiiiifddfii=Module["dynCall_viiiiiiifddfii"]=Module["asm"]["ll"]).apply(null,arguments)};var dynCall_viiiiiiifjjfii=Module["dynCall_viiiiiiifjjfii"]=function(){return(dynCall_viiiiiiifjjfii=Module["dynCall_viiiiiiifjjfii"]=Module["asm"]["ml"]).apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return(dynCall_viif=Module["dynCall_viif"]=Module["asm"]["nl"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["ol"]).apply(null,arguments)};var dynCall_iijiiii=Module["dynCall_iijiiii"]=function(){return(dynCall_iijiiii=Module["dynCall_iijiiii"]=Module["asm"]["pl"]).apply(null,arguments)};var dynCall_jijiii=Module["dynCall_jijiii"]=function(){return(dynCall_jijiii=Module["dynCall_jijiii"]=Module["asm"]["ql"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["rl"]).apply(null,arguments)};var dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=function(){return(dynCall_iijiiiiii=Module["dynCall_iijiiiiii"]=Module["asm"]["sl"]).apply(null,arguments)};var dynCall_iijjiiiiii=Module["dynCall_iijjiiiiii"]=function(){return(dynCall_iijjiiiiii=Module["dynCall_iijjiiiiii"]=Module["asm"]["tl"]).apply(null,arguments)};var dynCall_iiiijjii=Module["dynCall_iiiijjii"]=function(){return(dynCall_iiiijjii=Module["dynCall_iiiijjii"]=Module["asm"]["ul"]).apply(null,arguments)};var dynCall_iijii=Module["dynCall_iijii"]=function(){return(dynCall_iijii=Module["dynCall_iijii"]=Module["asm"]["vl"]).apply(null,arguments)};var dynCall_iijiii=Module["dynCall_iijiii"]=function(){return(dynCall_iijiii=Module["dynCall_iijiii"]=Module["asm"]["wl"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["xl"]).apply(null,arguments)};var dynCall_jijj=Module["dynCall_jijj"]=function(){return(dynCall_jijj=Module["dynCall_jijj"]=Module["asm"]["yl"]).apply(null,arguments)};var dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=function(){return(dynCall_iiiiiiiiiji=Module["dynCall_iiiiiiiiiji"]=Module["asm"]["zl"]).apply(null,arguments)};var dynCall_vji=Module["dynCall_vji"]=function(){return(dynCall_vji=Module["dynCall_vji"]=Module["asm"]["Al"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["Bl"]).apply(null,arguments)};var dynCall_fifi=Module["dynCall_fifi"]=function(){return(dynCall_fifi=Module["dynCall_fifi"]=Module["asm"]["Cl"]).apply(null,arguments)};var dynCall_fiifi=Module["dynCall_fiifi"]=function(){return(dynCall_fiifi=Module["dynCall_fiifi"]=Module["asm"]["Dl"]).apply(null,arguments)};var dynCall_iiiifi=Module["dynCall_iiiifi"]=function(){return(dynCall_iiiifi=Module["dynCall_iiiifi"]=Module["asm"]["El"]).apply(null,arguments)};var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=Module["asm"]["Fl"]).apply(null,arguments)};var dynCall_iiiifii=Module["dynCall_iiiifii"]=function(){return(dynCall_iiiifii=Module["dynCall_iiiifii"]=Module["asm"]["Gl"]).apply(null,arguments)};var dynCall_iiifii=Module["dynCall_iiifii"]=function(){return(dynCall_iiifii=Module["dynCall_iiifii"]=Module["asm"]["Hl"]).apply(null,arguments)};var dynCall_viiiifii=Module["dynCall_viiiifii"]=function(){return(dynCall_viiiifii=Module["dynCall_viiiifii"]=Module["asm"]["Il"]).apply(null,arguments)};var dynCall_iifii=Module["dynCall_iifii"]=function(){return(dynCall_iifii=Module["dynCall_iifii"]=Module["asm"]["Jl"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["Kl"]).apply(null,arguments)};var dynCall_vdi=Module["dynCall_vdi"]=function(){return(dynCall_vdi=Module["dynCall_vdi"]=Module["asm"]["Ll"]).apply(null,arguments)};var dynCall_viidi=Module["dynCall_viidi"]=function(){return(dynCall_viidi=Module["dynCall_viidi"]=Module["asm"]["Ml"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["Nl"]).apply(null,arguments)};var dynCall_viiij=Module["dynCall_viiij"]=function(){return(dynCall_viiij=Module["dynCall_viiij"]=Module["asm"]["Ol"]).apply(null,arguments)};var dynCall_viiiifi=Module["dynCall_viiiifi"]=function(){return(dynCall_viiiifi=Module["dynCall_viiiifi"]=Module["asm"]["Pl"]).apply(null,arguments)};var dynCall_viiiiiiiiifi=Module["dynCall_viiiiiiiiifi"]=function(){return(dynCall_viiiiiiiiifi=Module["dynCall_viiiiiiiiifi"]=Module["asm"]["Ql"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiii"]=Module["asm"]["Rl"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["Sl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["Tl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiii"]=Module["asm"]["Ul"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiii"]=Module["asm"]["Vl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiii"]=Module["asm"]["Wl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=Module["asm"]["Xl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiii"]=Module["asm"]["Yl"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiiii"]=Module["asm"]["Zl"]).apply(null,arguments)};var dynCall_jdi=Module["dynCall_jdi"]=function(){return(dynCall_jdi=Module["dynCall_jdi"]=Module["asm"]["_l"]).apply(null,arguments)};var dynCall_vijjji=Module["dynCall_vijjji"]=function(){return(dynCall_vijjji=Module["dynCall_vijjji"]=Module["asm"]["$l"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["am"]).apply(null,arguments)};var dynCall_iiiiijiii=Module["dynCall_iiiiijiii"]=function(){return(dynCall_iiiiijiii=Module["dynCall_iiiiijiii"]=Module["asm"]["bm"]).apply(null,arguments)};var dynCall_dji=Module["dynCall_dji"]=function(){return(dynCall_dji=Module["dynCall_dji"]=Module["asm"]["cm"]).apply(null,arguments)};var dynCall_fiffffi=Module["dynCall_fiffffi"]=function(){return(dynCall_fiffffi=Module["dynCall_fiffffi"]=Module["asm"]["dm"]).apply(null,arguments)};var dynCall_viiiiiiiffffii=Module["dynCall_viiiiiiiffffii"]=function(){return(dynCall_viiiiiiiffffii=Module["dynCall_viiiiiiiffffii"]=Module["asm"]["em"]).apply(null,arguments)};var dynCall_diiid=Module["dynCall_diiid"]=function(){return(dynCall_diiid=Module["dynCall_diiid"]=Module["asm"]["fm"]).apply(null,arguments)};var dynCall_jiiij=Module["dynCall_jiiij"]=function(){return(dynCall_jiiij=Module["dynCall_jiiij"]=Module["asm"]["gm"]).apply(null,arguments)};var dynCall_fiiif=Module["dynCall_fiiif"]=function(){return(dynCall_fiiif=Module["dynCall_fiiif"]=Module["asm"]["hm"]).apply(null,arguments)};var dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=function(){return(dynCall_jiiiiiiiiii=Module["dynCall_jiiiiiiiiii"]=Module["asm"]["im"]).apply(null,arguments)};var dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=function(){return(dynCall_viijiiiiii=Module["dynCall_viijiiiiii"]=Module["asm"]["jm"]).apply(null,arguments)};var dynCall_vijiii=Module["dynCall_vijiii"]=function(){return(dynCall_vijiii=Module["dynCall_vijiii"]=Module["asm"]["km"]).apply(null,arguments)};var dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=function(){return(dynCall_vjjjiiii=Module["dynCall_vjjjiiii"]=Module["asm"]["lm"]).apply(null,arguments)};var dynCall_vjiiiii=Module["dynCall_vjiiiii"]=function(){return(dynCall_vjiiiii=Module["dynCall_vjiiiii"]=Module["asm"]["mm"]).apply(null,arguments)};var dynCall_jiiiii=Module["dynCall_jiiiii"]=function(){return(dynCall_jiiiii=Module["dynCall_jiiiii"]=Module["asm"]["nm"]).apply(null,arguments)};var dynCall_vfi=Module["dynCall_vfi"]=function(){return(dynCall_vfi=Module["dynCall_vfi"]=Module["asm"]["om"]).apply(null,arguments)};var dynCall_jijji=Module["dynCall_jijji"]=function(){return(dynCall_jijji=Module["dynCall_jijji"]=Module["asm"]["pm"]).apply(null,arguments)};var dynCall_jdji=Module["dynCall_jdji"]=function(){return(dynCall_jdji=Module["dynCall_jdji"]=Module["asm"]["qm"]).apply(null,arguments)};var dynCall_djji=Module["dynCall_djji"]=function(){return(dynCall_djji=Module["dynCall_djji"]=Module["asm"]["rm"]).apply(null,arguments)};var dynCall_ifii=Module["dynCall_ifii"]=function(){return(dynCall_ifii=Module["dynCall_ifii"]=Module["asm"]["sm"]).apply(null,arguments)};var dynCall_viffii=Module["dynCall_viffii"]=function(){return(dynCall_viffii=Module["dynCall_viffii"]=Module["asm"]["tm"]).apply(null,arguments)};var dynCall_vifffii=Module["dynCall_vifffii"]=function(){return(dynCall_vifffii=Module["dynCall_vifffii"]=Module["asm"]["um"]).apply(null,arguments)};var dynCall_iifiii=Module["dynCall_iifiii"]=function(){return(dynCall_iifiii=Module["dynCall_iifiii"]=Module["asm"]["vm"]).apply(null,arguments)};var dynCall_iiifiii=Module["dynCall_iiifiii"]=function(){return(dynCall_iiifiii=Module["dynCall_iiifiii"]=Module["asm"]["wm"]).apply(null,arguments)};var dynCall_viidji=Module["dynCall_viidji"]=function(){return(dynCall_viidji=Module["dynCall_viidji"]=Module["asm"]["xm"]).apply(null,arguments)};var dynCall_vifii=Module["dynCall_vifii"]=function(){return(dynCall_vifii=Module["dynCall_vifii"]=Module["asm"]["ym"]).apply(null,arguments)};var dynCall_fifiiii=Module["dynCall_fifiiii"]=function(){return(dynCall_fifiiii=Module["dynCall_fifiiii"]=Module["asm"]["zm"]).apply(null,arguments)};var dynCall_fifii=Module["dynCall_fifii"]=function(){return(dynCall_fifii=Module["dynCall_fifii"]=Module["asm"]["Am"]).apply(null,arguments)};var dynCall_vifffi=Module["dynCall_vifffi"]=function(){return(dynCall_vifffi=Module["dynCall_vifffi"]=Module["asm"]["Bm"]).apply(null,arguments)};var dynCall_viiifi=Module["dynCall_viiifi"]=function(){return(dynCall_viiifi=Module["dynCall_viiifi"]=Module["asm"]["Cm"]).apply(null,arguments)};var dynCall_viifii=Module["dynCall_viifii"]=function(){return(dynCall_viifii=Module["dynCall_viifii"]=Module["asm"]["Dm"]).apply(null,arguments)};var dynCall_viiiiji=Module["dynCall_viiiiji"]=function(){return(dynCall_viiiiji=Module["dynCall_viiiiji"]=Module["asm"]["Em"]).apply(null,arguments)};var dynCall_viifiifiiiii=Module["dynCall_viifiifiiiii"]=function(){return(dynCall_viifiifiiiii=Module["dynCall_viifiifiiiii"]=Module["asm"]["Fm"]).apply(null,arguments)};var dynCall_vifiii=Module["dynCall_vifiii"]=function(){return(dynCall_vifiii=Module["dynCall_vifiii"]=Module["asm"]["Gm"]).apply(null,arguments)};var dynCall_viiiifiiii=Module["dynCall_viiiifiiii"]=function(){return(dynCall_viiiifiiii=Module["dynCall_viiiifiiii"]=Module["asm"]["Hm"]).apply(null,arguments)};var dynCall_iiiiifiiii=Module["dynCall_iiiiifiiii"]=function(){return(dynCall_iiiiifiiii=Module["dynCall_iiiiifiiii"]=Module["asm"]["Im"]).apply(null,arguments)};var dynCall_viiiffi=Module["dynCall_viiiffi"]=function(){return(dynCall_viiiffi=Module["dynCall_viiiffi"]=Module["asm"]["Jm"]).apply(null,arguments)};var dynCall_viiiiifi=Module["dynCall_viiiiifi"]=function(){return(dynCall_viiiiifi=Module["dynCall_viiiiifi"]=Module["asm"]["Km"]).apply(null,arguments)};var dynCall_iiiffi=Module["dynCall_iiiffi"]=function(){return(dynCall_iiiffi=Module["dynCall_iiiffi"]=Module["asm"]["Lm"]).apply(null,arguments)};var dynCall_fiiiiiifffffffii=Module["dynCall_fiiiiiifffffffii"]=function(){return(dynCall_fiiiiiifffffffii=Module["dynCall_fiiiiiifffffffii"]=Module["asm"]["Mm"]).apply(null,arguments)};var dynCall_viiiffffiii=Module["dynCall_viiiffffiii"]=function(){return(dynCall_viiiffffiii=Module["dynCall_viiiffffiii"]=Module["asm"]["Nm"]).apply(null,arguments)};var dynCall_viiiiffiii=Module["dynCall_viiiiffiii"]=function(){return(dynCall_viiiiffiii=Module["dynCall_viiiiffiii"]=Module["asm"]["Om"]).apply(null,arguments)};var dynCall_viffffffi=Module["dynCall_viffffffi"]=function(){return(dynCall_viffffffi=Module["dynCall_viffffffi"]=Module["asm"]["Pm"]).apply(null,arguments)};var dynCall_viffifii=Module["dynCall_viffifii"]=function(){return(dynCall_viffifii=Module["dynCall_viffifii"]=Module["asm"]["Qm"]).apply(null,arguments)};var dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=function(){return(dynCall_viiiiiifi=Module["dynCall_viiiiiifi"]=Module["asm"]["Rm"]).apply(null,arguments)};var dynCall_ffffi=Module["dynCall_ffffi"]=function(){return(dynCall_ffffi=Module["dynCall_ffffi"]=Module["asm"]["Sm"]).apply(null,arguments)};var dynCall_ifffi=Module["dynCall_ifffi"]=function(){return(dynCall_ifffi=Module["dynCall_ifffi"]=Module["asm"]["Tm"]).apply(null,arguments)};var dynCall_ffii=Module["dynCall_ffii"]=function(){return(dynCall_ffii=Module["dynCall_ffii"]=Module["asm"]["Um"]).apply(null,arguments)};var dynCall_ijiii=Module["dynCall_ijiii"]=function(){return(dynCall_ijiii=Module["dynCall_ijiii"]=Module["asm"]["Vm"]).apply(null,arguments)};var dynCall_vidii=Module["dynCall_vidii"]=function(){return(dynCall_vidii=Module["dynCall_vidii"]=Module["asm"]["Wm"]).apply(null,arguments)};var dynCall_ffffffi=Module["dynCall_ffffffi"]=function(){return(dynCall_ffffffi=Module["dynCall_ffffffi"]=Module["asm"]["Xm"]).apply(null,arguments)};var dynCall_iiiiifii=Module["dynCall_iiiiifii"]=function(){return(dynCall_iiiiifii=Module["dynCall_iiiiifii"]=Module["asm"]["Ym"]).apply(null,arguments)};var dynCall_iiiififi=Module["dynCall_iiiififi"]=function(){return(dynCall_iiiififi=Module["dynCall_iiiififi"]=Module["asm"]["Zm"]).apply(null,arguments)};var dynCall_iiiffifiii=Module["dynCall_iiiffifiii"]=function(){return(dynCall_iiiffifiii=Module["dynCall_iiiffifiii"]=Module["asm"]["_m"]).apply(null,arguments)};var dynCall_iiifiifiiii=Module["dynCall_iiifiifiiii"]=function(){return(dynCall_iiifiifiiii=Module["dynCall_iiifiifiiii"]=Module["asm"]["$m"]).apply(null,arguments)};var dynCall_iifiiiiii=Module["dynCall_iifiiiiii"]=function(){return(dynCall_iifiiiiii=Module["dynCall_iifiiiiii"]=Module["asm"]["an"]).apply(null,arguments)};var dynCall_iifiiiii=Module["dynCall_iifiiiii"]=function(){return(dynCall_iifiiiii=Module["dynCall_iifiiiii"]=Module["asm"]["bn"]).apply(null,arguments)};var dynCall_iiffiiiii=Module["dynCall_iiffiiiii"]=function(){return(dynCall_iiffiiiii=Module["dynCall_iiffiiiii"]=Module["asm"]["cn"]).apply(null,arguments)};var dynCall_iiififii=Module["dynCall_iiififii"]=function(){return(dynCall_iiififii=Module["dynCall_iiififii"]=Module["asm"]["dn"]).apply(null,arguments)};var dynCall_iiififi=Module["dynCall_iiififi"]=function(){return(dynCall_iiififi=Module["dynCall_iiififi"]=Module["asm"]["en"]).apply(null,arguments)};var dynCall_iiffifiii=Module["dynCall_iiffifiii"]=function(){return(dynCall_iiffifiii=Module["dynCall_iiffifiii"]=Module["asm"]["fn"]).apply(null,arguments)};var dynCall_iiifiiiii=Module["dynCall_iiifiiiii"]=function(){return(dynCall_iiifiiiii=Module["dynCall_iiifiiiii"]=Module["asm"]["gn"]).apply(null,arguments)};var dynCall_fiifii=Module["dynCall_fiifii"]=function(){return(dynCall_fiifii=Module["dynCall_fiifii"]=Module["asm"]["hn"]).apply(null,arguments)};var dynCall_viiiiiifiifiii=Module["dynCall_viiiiiifiifiii"]=function(){return(dynCall_viiiiiifiifiii=Module["dynCall_viiiiiifiifiii"]=Module["asm"]["jn"]).apply(null,arguments)};var dynCall_diidi=Module["dynCall_diidi"]=function(){return(dynCall_diidi=Module["dynCall_diidi"]=Module["asm"]["kn"]).apply(null,arguments)};var dynCall_fiifdi=Module["dynCall_fiifdi"]=function(){return(dynCall_fiifdi=Module["dynCall_fiifdi"]=Module["asm"]["ln"]).apply(null,arguments)};var dynCall_viiiiiifddfiii=Module["dynCall_viiiiiifddfiii"]=function(){return(dynCall_viiiiiifddfiii=Module["dynCall_viiiiiifddfiii"]=Module["asm"]["mn"]).apply(null,arguments)};var dynCall_fiifji=Module["dynCall_fiifji"]=function(){return(dynCall_fiifji=Module["dynCall_fiifji"]=Module["asm"]["nn"]).apply(null,arguments)};var dynCall_viiiiiifjjfiii=Module["dynCall_viiiiiifjjfiii"]=function(){return(dynCall_viiiiiifjjfiii=Module["dynCall_viiiiiifjjfiii"]=Module["asm"]["on"]).apply(null,arguments)};var dynCall_viiiifiii=Module["dynCall_viiiifiii"]=function(){return(dynCall_viiiifiii=Module["dynCall_viiiifiii"]=Module["asm"]["pn"]).apply(null,arguments)};var dynCall_viiiiiiffffiii=Module["dynCall_viiiiiiffffiii"]=function(){return(dynCall_viiiiiiffffiii=Module["dynCall_viiiiiiffffiii"]=Module["asm"]["qn"]).apply(null,arguments)};var dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=function(){return(dynCall_iiiiifiii=Module["dynCall_iiiiifiii"]=Module["asm"]["rn"]).apply(null,arguments)};var dynCall_fffffi=Module["dynCall_fffffi"]=function(){return(dynCall_fffffi=Module["dynCall_fffffi"]=Module["asm"]["sn"]).apply(null,arguments)};var dynCall_fiiffffi=Module["dynCall_fiiffffi"]=function(){return(dynCall_fiiffffi=Module["dynCall_fiiffffi"]=Module["asm"]["tn"]).apply(null,arguments)};var dynCall_fffifffi=Module["dynCall_fffifffi"]=function(){return(dynCall_fffifffi=Module["dynCall_fffifffi"]=Module["asm"]["un"]).apply(null,arguments)};var dynCall_iiiiiiifi=Module["dynCall_iiiiiiifi"]=function(){return(dynCall_iiiiiiifi=Module["dynCall_iiiiiiifi"]=Module["asm"]["vn"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiiiiiii"]=Module["asm"]["wn"]).apply(null,arguments)};var dynCall_viddi=Module["dynCall_viddi"]=function(){return(dynCall_viddi=Module["dynCall_viddi"]=Module["asm"]["xn"]).apply(null,arguments)};var dynCall_viffffi=Module["dynCall_viffffi"]=function(){return(dynCall_viffffi=Module["dynCall_viffffi"]=Module["asm"]["yn"]).apply(null,arguments)};var dynCall_viddddi=Module["dynCall_viddddi"]=function(){return(dynCall_viddddi=Module["dynCall_viddddi"]=Module["asm"]["zn"]).apply(null,arguments)};var dynCall_iffffi=Module["dynCall_iffffi"]=function(){return(dynCall_iffffi=Module["dynCall_iffffi"]=Module["asm"]["An"]).apply(null,arguments)};var dynCall_viiiiiiiffi=Module["dynCall_viiiiiiiffi"]=function(){return(dynCall_viiiiiiiffi=Module["dynCall_viiiiiiiffi"]=Module["asm"]["Bn"]).apply(null,arguments)};var dynCall_iiiiiiiiifiiii=Module["dynCall_iiiiiiiiifiiii"]=function(){return(dynCall_iiiiiiiiifiiii=Module["dynCall_iiiiiiiiifiiii"]=Module["asm"]["Cn"]).apply(null,arguments)};var dynCall_viffiiiiffii=Module["dynCall_viffiiiiffii"]=function(){return(dynCall_viffiiiiffii=Module["dynCall_viffiiiiffii"]=Module["asm"]["Dn"]).apply(null,arguments)};var dynCall_iiiiiiiiiiiiifi=Module["dynCall_iiiiiiiiiiiiifi"]=function(){return(dynCall_iiiiiiiiiiiiifi=Module["dynCall_iiiiiiiiiiiiifi"]=Module["asm"]["En"]).apply(null,arguments)};var dynCall_fiiiii=Module["dynCall_fiiiii"]=function(){return(dynCall_fiiiii=Module["dynCall_fiiiii"]=Module["asm"]["Fn"]).apply(null,arguments)};var dynCall_viiifiiii=Module["dynCall_viiifiiii"]=function(){return(dynCall_viiifiiii=Module["dynCall_viiifiiii"]=Module["asm"]["Gn"]).apply(null,arguments)};var dynCall_ifiiii=Module["dynCall_ifiiii"]=function(){return(dynCall_ifiiii=Module["dynCall_ifiiii"]=Module["asm"]["Hn"]).apply(null,arguments)};var dynCall_idiiiii=Module["dynCall_idiiiii"]=function(){return(dynCall_idiiiii=Module["dynCall_idiiiii"]=Module["asm"]["In"]).apply(null,arguments)};var dynCall_idiiii=Module["dynCall_idiiii"]=function(){return(dynCall_idiiii=Module["dynCall_idiiii"]=Module["asm"]["Jn"]).apply(null,arguments)};var dynCall_idii=Module["dynCall_idii"]=function(){return(dynCall_idii=Module["dynCall_idii"]=Module["asm"]["Kn"]).apply(null,arguments)};var dynCall_vijiiii=Module["dynCall_vijiiii"]=function(){return(dynCall_vijiiii=Module["dynCall_vijiiii"]=Module["asm"]["Ln"]).apply(null,arguments)};var dynCall_iiijiiii=Module["dynCall_iiijiiii"]=function(){return(dynCall_iiijiiii=Module["dynCall_iiijiiii"]=Module["asm"]["Mn"]).apply(null,arguments)};var dynCall_vjiiii=Module["dynCall_vjiiii"]=function(){return(dynCall_vjiiii=Module["dynCall_vjiiii"]=Module["asm"]["Nn"]).apply(null,arguments)};var dynCall_iddi=Module["dynCall_iddi"]=function(){return(dynCall_iddi=Module["dynCall_iddi"]=Module["asm"]["On"]).apply(null,arguments)};var dynCall_viidii=Module["dynCall_viidii"]=function(){return(dynCall_viidii=Module["dynCall_viidii"]=Module["asm"]["Pn"]).apply(null,arguments)};var dynCall_iiiiiji=Module["dynCall_iiiiiji"]=function(){return(dynCall_iiiiiji=Module["dynCall_iiiiiji"]=Module["asm"]["Qn"]).apply(null,arguments)};var dynCall_viiijii=Module["dynCall_viiijii"]=function(){return(dynCall_viiijii=Module["dynCall_viiijii"]=Module["asm"]["Rn"]).apply(null,arguments)};var dynCall_viijiii=Module["dynCall_viijiii"]=function(){return(dynCall_viijiii=Module["dynCall_viijiii"]=Module["asm"]["Sn"]).apply(null,arguments)};var dynCall_ijii=Module["dynCall_ijii"]=function(){return(dynCall_ijii=Module["dynCall_ijii"]=Module["asm"]["Tn"]).apply(null,arguments)};var dynCall_ijjiiii=Module["dynCall_ijjiiii"]=function(){return(dynCall_ijjiiii=Module["dynCall_ijjiiii"]=Module["asm"]["Un"]).apply(null,arguments)};var dynCall_iiijji=Module["dynCall_iiijji"]=function(){return(dynCall_iiijji=Module["dynCall_iiijji"]=Module["asm"]["Vn"]).apply(null,arguments)};var dynCall_vdiiiii=Module["dynCall_vdiiiii"]=function(){return(dynCall_vdiiiii=Module["dynCall_vdiiiii"]=Module["asm"]["Wn"]).apply(null,arguments)};var dynCall_diiji=Module["dynCall_diiji"]=function(){return(dynCall_diiji=Module["dynCall_diiji"]=Module["asm"]["Xn"]).apply(null,arguments)};var dynCall_vjiiiiiiii=Module["dynCall_vjiiiiiiii"]=function(){return(dynCall_vjiiiiiiii=Module["dynCall_vjiiiiiiii"]=Module["asm"]["Yn"]).apply(null,arguments)};var dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=function(){return(dynCall_vjiiiiiii=Module["dynCall_vjiiiiiii"]=Module["asm"]["Zn"]).apply(null,arguments)};var dynCall_ijiiii=Module["dynCall_ijiiii"]=function(){return(dynCall_ijiiii=Module["dynCall_ijiiii"]=Module["asm"]["_n"]).apply(null,arguments)};var dynCall_iidii=Module["dynCall_iidii"]=function(){return(dynCall_iidii=Module["dynCall_iidii"]=Module["asm"]["$n"]).apply(null,arguments)};var dynCall_iidiii=Module["dynCall_iidiii"]=function(){return(dynCall_iidiii=Module["dynCall_iidiii"]=Module["asm"]["ao"]).apply(null,arguments)};var dynCall_jidi=Module["dynCall_jidi"]=function(){return(dynCall_jidi=Module["dynCall_jidi"]=Module["asm"]["bo"]).apply(null,arguments)};var dynCall_diji=Module["dynCall_diji"]=function(){return(dynCall_diji=Module["dynCall_diji"]=Module["asm"]["co"]).apply(null,arguments)};var dynCall_fidi=Module["dynCall_fidi"]=function(){return(dynCall_fidi=Module["dynCall_fidi"]=Module["asm"]["eo"]).apply(null,arguments)};var dynCall_vjii=Module["dynCall_vjii"]=function(){return(dynCall_vjii=Module["dynCall_vjii"]=Module["asm"]["fo"]).apply(null,arguments)};var dynCall_viiifii=Module["dynCall_viiifii"]=function(){return(dynCall_viiifii=Module["dynCall_viiifii"]=Module["asm"]["go"]).apply(null,arguments)};var dynCall_vfffi=Module["dynCall_vfffi"]=function(){return(dynCall_vfffi=Module["dynCall_vfffi"]=Module["asm"]["ho"]).apply(null,arguments)};var dynCall_vffi=Module["dynCall_vffi"]=function(){return(dynCall_vffi=Module["dynCall_vffi"]=Module["asm"]["io"]).apply(null,arguments)};var dynCall_vffffi=Module["dynCall_vffffi"]=function(){return(dynCall_vffffi=Module["dynCall_vffffi"]=Module["asm"]["jo"]).apply(null,arguments)};var dynCall_viiiiffi=Module["dynCall_viiiiffi"]=function(){return(dynCall_viiiiffi=Module["dynCall_viiiiffi"]=Module["asm"]["ko"]).apply(null,arguments)};var dynCall_viiiffii=Module["dynCall_viiiffii"]=function(){return(dynCall_viiiffii=Module["dynCall_viiiffii"]=Module["asm"]["lo"]).apply(null,arguments)};var dynCall_viiffii=Module["dynCall_viiffii"]=function(){return(dynCall_viiffii=Module["dynCall_viiffii"]=Module["asm"]["mo"]).apply(null,arguments)};var dynCall_ffi=Module["dynCall_ffi"]=function(){return(dynCall_ffi=Module["dynCall_ffi"]=Module["asm"]["no"]).apply(null,arguments)};var dynCall_iffi=Module["dynCall_iffi"]=function(){return(dynCall_iffi=Module["dynCall_iffi"]=Module["asm"]["oo"]).apply(null,arguments)};var dynCall_fffifi=Module["dynCall_fffifi"]=function(){return(dynCall_fffifi=Module["dynCall_fffifi"]=Module["asm"]["po"]).apply(null,arguments)};var dynCall_vfii=Module["dynCall_vfii"]=function(){return(dynCall_vfii=Module["dynCall_vfii"]=Module["asm"]["qo"]).apply(null,arguments)};var dynCall_viffffffffi=Module["dynCall_viffffffffi"]=function(){return(dynCall_viffffffffi=Module["dynCall_viffffffffi"]=Module["asm"]["ro"]).apply(null,arguments)};var dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=function(){return(dynCall_iiiifiiiii=Module["dynCall_iiiifiiiii"]=Module["asm"]["so"]).apply(null,arguments)};var dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=function(){return(dynCall_iiiifiiii=Module["dynCall_iiiifiiii"]=Module["asm"]["to"]).apply(null,arguments)};var dynCall_iiiifiii=Module["dynCall_iiiifiii"]=function(){return(dynCall_iiiifiii=Module["dynCall_iiiifiii"]=Module["asm"]["uo"]).apply(null,arguments)};var dynCall_vijjii=Module["dynCall_vijjii"]=function(){return(dynCall_vijjii=Module["dynCall_vijjii"]=Module["asm"]["vo"]).apply(null,arguments)};var dynCall_viiiiiiifi=Module["dynCall_viiiiiiifi"]=function(){return(dynCall_viiiiiiifi=Module["dynCall_viiiiiiifi"]=Module["asm"]["wo"]).apply(null,arguments)};var dynCall_iiiiffiiiiii=Module["dynCall_iiiiffiiiiii"]=function(){return(dynCall_iiiiffiiiiii=Module["dynCall_iiiiffiiiiii"]=Module["asm"]["xo"]).apply(null,arguments)};var dynCall_fifffiii=Module["dynCall_fifffiii"]=function(){return(dynCall_fifffiii=Module["dynCall_fifffiii"]=Module["asm"]["yo"]).apply(null,arguments)};var dynCall_fiffffiiiiii=Module["dynCall_fiffffiiiiii"]=function(){return(dynCall_fiffffiiiiii=Module["dynCall_fiffffiiiiii"]=Module["asm"]["zo"]).apply(null,arguments)};var dynCall_fiffffii=Module["dynCall_fiffffii"]=function(){return(dynCall_fiffffii=Module["dynCall_fiffffii"]=Module["asm"]["Ao"]).apply(null,arguments)};var dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=function(){return(dynCall_viiiiiffii=Module["dynCall_viiiiiffii"]=Module["asm"]["Bo"]).apply(null,arguments)};var dynCall_ffffii=Module["dynCall_ffffii"]=function(){return(dynCall_ffffii=Module["dynCall_ffffii"]=Module["asm"]["Co"]).apply(null,arguments)};var dynCall_ffffiiii=Module["dynCall_ffffiiii"]=function(){return(dynCall_ffffiiii=Module["dynCall_ffffiiii"]=Module["asm"]["Do"]).apply(null,arguments)};var dynCall_viffiii=Module["dynCall_viffiii"]=function(){return(dynCall_viffiii=Module["dynCall_viffiii"]=Module["asm"]["Eo"]).apply(null,arguments)};var dynCall_viffffiii=Module["dynCall_viffffiii"]=function(){return(dynCall_viffffiii=Module["dynCall_viffffiii"]=Module["asm"]["Fo"]).apply(null,arguments)};var dynCall_viffffii=Module["dynCall_viffffii"]=function(){return(dynCall_viffffii=Module["dynCall_viffffii"]=Module["asm"]["Go"]).apply(null,arguments)};var dynCall_viiffffiiiiii=Module["dynCall_viiffffiiiiii"]=function(){return(dynCall_viiffffiiiiii=Module["dynCall_viiffffiiiiii"]=Module["asm"]["Ho"]).apply(null,arguments)};var dynCall_viiifiii=Module["dynCall_viiifiii"]=function(){return(dynCall_viiifiii=Module["dynCall_viiifiii"]=Module["asm"]["Io"]).apply(null,arguments)};var dynCall_viiififi=Module["dynCall_viiififi"]=function(){return(dynCall_viiififi=Module["dynCall_viiififi"]=Module["asm"]["Jo"]).apply(null,arguments)};var dynCall_viiififfi=Module["dynCall_viiififfi"]=function(){return(dynCall_viiififfi=Module["dynCall_viiififfi"]=Module["asm"]["Ko"]).apply(null,arguments)};var dynCall_iiiiifi=Module["dynCall_iiiiifi"]=function(){return(dynCall_iiiiifi=Module["dynCall_iiiiifi"]=Module["asm"]["Lo"]).apply(null,arguments)};var dynCall_iifiifiii=Module["dynCall_iifiifiii"]=function(){return(dynCall_iifiifiii=Module["dynCall_iifiifiii"]=Module["asm"]["Mo"]).apply(null,arguments)};var dynCall_iiififiii=Module["dynCall_iiififiii"]=function(){return(dynCall_iiififiii=Module["dynCall_iiififiii"]=Module["asm"]["No"]).apply(null,arguments)};var dynCall_iififiii=Module["dynCall_iififiii"]=function(){return(dynCall_iififiii=Module["dynCall_iififiii"]=Module["asm"]["Oo"]).apply(null,arguments)};var dynCall_iiffiii=Module["dynCall_iiffiii"]=function(){return(dynCall_iiffiii=Module["dynCall_iiffiii"]=Module["asm"]["Po"]).apply(null,arguments)};var dynCall_iifiiii=Module["dynCall_iifiiii"]=function(){return(dynCall_iifiiii=Module["dynCall_iifiiii"]=Module["asm"]["Qo"]).apply(null,arguments)};var dynCall_iiifiiii=Module["dynCall_iiifiiii"]=function(){return(dynCall_iiifiiii=Module["dynCall_iiifiiii"]=Module["asm"]["Ro"]).apply(null,arguments)};var dynCall_iiififiiii=Module["dynCall_iiififiiii"]=function(){return(dynCall_iiififiiii=Module["dynCall_iiififiiii"]=Module["asm"]["So"]).apply(null,arguments)};var dynCall_iiifiifiii=Module["dynCall_iiifiifiii"]=function(){return(dynCall_iiifiifiii=Module["dynCall_iiifiifiii"]=Module["asm"]["To"]).apply(null,arguments)};var dynCall_viiidi=Module["dynCall_viiidi"]=function(){return(dynCall_viiidi=Module["dynCall_viiidi"]=Module["asm"]["Uo"]).apply(null,arguments)};var dynCall_vifffffi=Module["dynCall_vifffffi"]=function(){return(dynCall_vifffffi=Module["dynCall_vifffffi"]=Module["asm"]["Vo"]).apply(null,arguments)};var dynCall_viffiiii=Module["dynCall_viffiiii"]=function(){return(dynCall_viffiiii=Module["dynCall_viffiiii"]=Module["asm"]["Wo"]).apply(null,arguments)};var dynCall_viiiiffffiiii=Module["dynCall_viiiiffffiiii"]=function(){return(dynCall_viiiiffffiiii=Module["dynCall_viiiiffffiiii"]=Module["asm"]["Xo"]).apply(null,arguments)};var dynCall_viifiiiii=Module["dynCall_viifiiiii"]=function(){return(dynCall_viifiiiii=Module["dynCall_viifiiiii"]=Module["asm"]["Yo"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiiii"]=Module["asm"]["Zo"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiiiiiii=Module["dynCall_iiiiiiffiiiiiiiiiiiiiii"]=Module["asm"]["_o"]).apply(null,arguments)};var dynCall_fiiiffi=Module["dynCall_fiiiffi"]=function(){return(dynCall_fiiiffi=Module["dynCall_fiiiffi"]=Module["asm"]["$o"]).apply(null,arguments)};var dynCall_viijji=Module["dynCall_viijji"]=function(){return(dynCall_viijji=Module["dynCall_viijji"]=Module["asm"]["ap"]).apply(null,arguments)};var dynCall_viififii=Module["dynCall_viififii"]=function(){return(dynCall_viififii=Module["dynCall_viififii"]=Module["asm"]["bp"]).apply(null,arguments)};var dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=function(){return(dynCall_iiiffiiii=Module["dynCall_iiiffiiii"]=Module["asm"]["cp"]).apply(null,arguments)};var dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=function(){return(dynCall_iiiiffiiii=Module["dynCall_iiiiffiiii"]=Module["asm"]["dp"]).apply(null,arguments)};var dynCall_viiffffi=Module["dynCall_viiffffi"]=function(){return(dynCall_viiffffi=Module["dynCall_viiffffi"]=Module["asm"]["ep"]).apply(null,arguments)};var dynCall_fifffi=Module["dynCall_fifffi"]=function(){return(dynCall_fifffi=Module["dynCall_fifffi"]=Module["asm"]["fp"]).apply(null,arguments)};var dynCall_fffffffi=Module["dynCall_fffffffi"]=function(){return(dynCall_fffffffi=Module["dynCall_fffffffi"]=Module["asm"]["gp"]).apply(null,arguments)};var dynCall_viffifi=Module["dynCall_viffifi"]=function(){return(dynCall_viffifi=Module["dynCall_viffifi"]=Module["asm"]["hp"]).apply(null,arguments)};var dynCall_viiffifi=Module["dynCall_viiffifi"]=function(){return(dynCall_viiffifi=Module["dynCall_viiffifi"]=Module["asm"]["ip"]).apply(null,arguments)};var dynCall_viiififiii=Module["dynCall_viiififiii"]=function(){return(dynCall_viiififiii=Module["dynCall_viiififiii"]=Module["asm"]["jp"]).apply(null,arguments)};var dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=function(){return(dynCall_viiffiiiiiiiii=Module["dynCall_viiffiiiiiiiii"]=Module["asm"]["kp"]).apply(null,arguments)};var dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=function(){return(dynCall_viiffiiiiiii=Module["dynCall_viiffiiiiiii"]=Module["asm"]["lp"]).apply(null,arguments)};var dynCall_fffffffffi=Module["dynCall_fffffffffi"]=function(){return(dynCall_fffffffffi=Module["dynCall_fffffffffi"]=Module["asm"]["mp"]).apply(null,arguments)};var dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=function(){return(dynCall_vifiiiiii=Module["dynCall_vifiiiiii"]=Module["asm"]["np"]).apply(null,arguments)};var dynCall_vifiiiii=Module["dynCall_vifiiiii"]=function(){return(dynCall_vifiiiii=Module["dynCall_vifiiiii"]=Module["asm"]["op"]).apply(null,arguments)};var dynCall_viifiiiiiii=Module["dynCall_viifiiiiiii"]=function(){return(dynCall_viifiiiiiii=Module["dynCall_viifiiiiiii"]=Module["asm"]["pp"]).apply(null,arguments)};var dynCall_viiififfiiiiiii=Module["dynCall_viiififfiiiiiii"]=function(){return(dynCall_viiififfiiiiiii=Module["dynCall_viiififfiiiiiii"]=Module["asm"]["qp"]).apply(null,arguments)};var dynCall_viiffiifiiiiiii=Module["dynCall_viiffiifiiiiiii"]=function(){return(dynCall_viiffiifiiiiiii=Module["dynCall_viiffiifiiiiiii"]=Module["asm"]["rp"]).apply(null,arguments)};var dynCall_viifiiiiii=Module["dynCall_viifiiiiii"]=function(){return(dynCall_viifiiiiii=Module["dynCall_viifiiiiii"]=Module["asm"]["sp"]).apply(null,arguments)};var dynCall_viiifiiiiii=Module["dynCall_viiifiiiiii"]=function(){return(dynCall_viiifiiiiii=Module["dynCall_viiifiiiiii"]=Module["asm"]["tp"]).apply(null,arguments)};var dynCall_viiiifiiiiii=Module["dynCall_viiiifiiiiii"]=function(){return(dynCall_viiiifiiiiii=Module["dynCall_viiiifiiiiii"]=Module["asm"]["up"]).apply(null,arguments)};var dynCall_viififiiiiii=Module["dynCall_viififiiiiii"]=function(){return(dynCall_viififiiiiii=Module["dynCall_viififiiiiii"]=Module["asm"]["vp"]).apply(null,arguments)};var dynCall_viiiffiifiiiiiii=Module["dynCall_viiiffiifiiiiiii"]=function(){return(dynCall_viiiffiifiiiiiii=Module["dynCall_viiiffiifiiiiiii"]=Module["asm"]["wp"]).apply(null,arguments)};var dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=function(){return(dynCall_viiiiiifiiiiii=Module["dynCall_viiiiiifiiiiii"]=Module["asm"]["xp"]).apply(null,arguments)};var dynCall_vififiii=Module["dynCall_vififiii"]=function(){return(dynCall_vififiii=Module["dynCall_vififiii"]=Module["asm"]["yp"]).apply(null,arguments)};var dynCall_fiffi=Module["dynCall_fiffi"]=function(){return(dynCall_fiffi=Module["dynCall_fiffi"]=Module["asm"]["zp"]).apply(null,arguments)};var dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=function(){return(dynCall_viiiiiiiijiiii=Module["dynCall_viiiiiiiijiiii"]=Module["asm"]["Ap"]).apply(null,arguments)};var dynCall_viifiii=Module["dynCall_viifiii"]=function(){return(dynCall_viifiii=Module["dynCall_viifiii"]=Module["asm"]["Bp"]).apply(null,arguments)};var dynCall_viiifffi=Module["dynCall_viiifffi"]=function(){return(dynCall_viiifffi=Module["dynCall_viiifffi"]=Module["asm"]["Cp"]).apply(null,arguments)};var dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=function(){return(dynCall_viiiiiffi=Module["dynCall_viiiiiffi"]=Module["asm"]["Dp"]).apply(null,arguments)};var dynCall_iifffi=Module["dynCall_iifffi"]=function(){return(dynCall_iifffi=Module["dynCall_iifffi"]=Module["asm"]["Ep"]).apply(null,arguments)};var dynCall_iidiiiii=Module["dynCall_iidiiiii"]=function(){return(dynCall_iidiiiii=Module["dynCall_iidiiiii"]=Module["asm"]["Fp"]).apply(null,arguments)};var dynCall_iiifiiiiii=Module["dynCall_iiifiiiiii"]=function(){return(dynCall_iiifiiiiii=Module["dynCall_iiifiiiiii"]=Module["asm"]["Gp"]).apply(null,arguments)};var dynCall_viidiji=Module["dynCall_viidiji"]=function(){return(dynCall_viidiji=Module["dynCall_viidiji"]=Module["asm"]["Hp"]).apply(null,arguments)};var dynCall_viidjii=Module["dynCall_viidjii"]=function(){return(dynCall_viidjii=Module["dynCall_viidjii"]=Module["asm"]["Ip"]).apply(null,arguments)};var dynCall_viiiidii=Module["dynCall_viiiidii"]=function(){return(dynCall_viiiidii=Module["dynCall_viiiidii"]=Module["asm"]["Jp"]).apply(null,arguments)};var dynCall_vidiiiii=Module["dynCall_vidiiiii"]=function(){return(dynCall_vidiiiii=Module["dynCall_vidiiiii"]=Module["asm"]["Kp"]).apply(null,arguments)};var dynCall_viiidjii=Module["dynCall_viiidjii"]=function(){return(dynCall_viiidjii=Module["dynCall_viiidjii"]=Module["asm"]["Lp"]).apply(null,arguments)};var dynCall_ifiii=Module["dynCall_ifiii"]=function(){return(dynCall_ifiii=Module["dynCall_ifiii"]=Module["asm"]["Mp"]).apply(null,arguments)};var dynCall_jiidi=Module["dynCall_jiidi"]=function(){return(dynCall_jiidi=Module["dynCall_jiidi"]=Module["asm"]["Np"]).apply(null,arguments)};var dynCall_viijiiii=Module["dynCall_viijiiii"]=function(){return(dynCall_viijiiii=Module["dynCall_viijiiii"]=Module["asm"]["Op"]).apply(null,arguments)};var dynCall_viijiiiiiiii=Module["dynCall_viijiiiiiiii"]=function(){return(dynCall_viijiiiiiiii=Module["dynCall_viijiiiiiiii"]=Module["asm"]["Pp"]).apply(null,arguments)};var dynCall_viijiiiijjjjji=Module["dynCall_viijiiiijjjjji"]=function(){return(dynCall_viijiiiijjjjji=Module["dynCall_viijiiiijjjjji"]=Module["asm"]["Qp"]).apply(null,arguments)};var dynCall_viiidiii=Module["dynCall_viiidiii"]=function(){return(dynCall_viiidiii=Module["dynCall_viiidiii"]=Module["asm"]["Rp"]).apply(null,arguments)};var dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=function(){return(dynCall_vijiiiiiii=Module["dynCall_vijiiiiiii"]=Module["asm"]["Sp"]).apply(null,arguments)};var dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=function(){return(dynCall_vijiiiiiiii=Module["dynCall_vijiiiiiiii"]=Module["asm"]["Tp"]).apply(null,arguments)};var dynCall_jjiiii=Module["dynCall_jjiiii"]=function(){return(dynCall_jjiiii=Module["dynCall_jjiiii"]=Module["asm"]["Up"]).apply(null,arguments)};var dynCall_jjiiiii=Module["dynCall_jjiiiii"]=function(){return(dynCall_jjiiiii=Module["dynCall_jjiiiii"]=Module["asm"]["Vp"]).apply(null,arguments)};var dynCall_jijjji=Module["dynCall_jijjji"]=function(){return(dynCall_jijjji=Module["dynCall_jijjji"]=Module["asm"]["Wp"]).apply(null,arguments)};var dynCall_jijjjii=Module["dynCall_jijjjii"]=function(){return(dynCall_jijjjii=Module["dynCall_jijjjii"]=Module["asm"]["Xp"]).apply(null,arguments)};var dynCall_jjiii=Module["dynCall_jjiii"]=function(){return(dynCall_jjiii=Module["dynCall_jjiii"]=Module["asm"]["Yp"]).apply(null,arguments)};var dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=function(){return(dynCall_ijijiiiii=Module["dynCall_ijijiiiii"]=Module["asm"]["Zp"]).apply(null,arguments)};var dynCall_ijjjiii=Module["dynCall_ijjjiii"]=function(){return(dynCall_ijjjiii=Module["dynCall_ijjjiii"]=Module["asm"]["_p"]).apply(null,arguments)};var dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=function(){return(dynCall_vijjjiijii=Module["dynCall_vijjjiijii"]=Module["asm"]["$p"]).apply(null,arguments)};var dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=function(){return(dynCall_ijjjiijii=Module["dynCall_ijjjiijii"]=Module["asm"]["aq"]).apply(null,arguments)};var dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=function(){return(dynCall_vijiiiiii=Module["dynCall_vijiiiiii"]=Module["asm"]["bq"]).apply(null,arguments)};var dynCall_jfi=Module["dynCall_jfi"]=function(){return(dynCall_jfi=Module["dynCall_jfi"]=Module["asm"]["cq"]).apply(null,arguments)};var dynCall_fji=Module["dynCall_fji"]=function(){return(dynCall_fji=Module["dynCall_fji"]=Module["asm"]["dq"]).apply(null,arguments)};var dynCall_fdi=Module["dynCall_fdi"]=function(){return(dynCall_fdi=Module["dynCall_fdi"]=Module["asm"]["eq"]).apply(null,arguments)};var dynCall_dfi=Module["dynCall_dfi"]=function(){return(dynCall_dfi=Module["dynCall_dfi"]=Module["asm"]["fq"]).apply(null,arguments)};var dynCall_jidii=Module["dynCall_jidii"]=function(){return(dynCall_jidii=Module["dynCall_jidii"]=Module["asm"]["gq"]).apply(null,arguments)};var dynCall_vijji=Module["dynCall_vijji"]=function(){return(dynCall_vijji=Module["dynCall_vijji"]=Module["asm"]["hq"]).apply(null,arguments)};var dynCall_viiiiiiiji=Module["dynCall_viiiiiiiji"]=function(){return(dynCall_viiiiiiiji=Module["dynCall_viiiiiiiji"]=Module["asm"]["iq"]).apply(null,arguments)};var dynCall_viiiiiiiiji=Module["dynCall_viiiiiiiiji"]=function(){return(dynCall_viiiiiiiiji=Module["dynCall_viiiiiiiiji"]=Module["asm"]["jq"]).apply(null,arguments)};var dynCall_viiiiiiiiiji=Module["dynCall_viiiiiiiiiji"]=function(){return(dynCall_viiiiiiiiiji=Module["dynCall_viiiiiiiiiji"]=Module["asm"]["kq"]).apply(null,arguments)};var dynCall_ijiijii=Module["dynCall_ijiijii"]=function(){return(dynCall_ijiijii=Module["dynCall_ijiijii"]=Module["asm"]["lq"]).apply(null,arguments)};var dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=function(){return(dynCall_vjjiiiii=Module["dynCall_vjjiiiii"]=Module["asm"]["mq"]).apply(null,arguments)};var dynCall_vjjii=Module["dynCall_vjjii"]=function(){return(dynCall_vjjii=Module["dynCall_vjjii"]=Module["asm"]["nq"]).apply(null,arguments)};var dynCall_ijiiji=Module["dynCall_ijiiji"]=function(){return(dynCall_ijiiji=Module["dynCall_ijiiji"]=Module["asm"]["oq"]).apply(null,arguments)};var dynCall_ijiiiii=Module["dynCall_ijiiiii"]=function(){return(dynCall_ijiiiii=Module["dynCall_ijiiiii"]=Module["asm"]["pq"]).apply(null,arguments)};var dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=function(){return(dynCall_ijiiiiji=Module["dynCall_ijiiiiji"]=Module["asm"]["qq"]).apply(null,arguments)};var dynCall_ijjiii=Module["dynCall_ijjiii"]=function(){return(dynCall_ijjiii=Module["dynCall_ijjiii"]=Module["asm"]["rq"]).apply(null,arguments)};var dynCall_jiiiiii=Module["dynCall_jiiiiii"]=function(){return(dynCall_jiiiiii=Module["dynCall_jiiiiii"]=Module["asm"]["sq"]).apply(null,arguments)};var dynCall_ddi=Module["dynCall_ddi"]=function(){return(dynCall_ddi=Module["dynCall_ddi"]=Module["asm"]["tq"]).apply(null,arguments)};var dynCall_ddiii=Module["dynCall_ddiii"]=function(){return(dynCall_ddiii=Module["dynCall_ddiii"]=Module["asm"]["uq"]).apply(null,arguments)};var dynCall_ddii=Module["dynCall_ddii"]=function(){return(dynCall_ddii=Module["dynCall_ddii"]=Module["asm"]["vq"]).apply(null,arguments)};var dynCall_idiii=Module["dynCall_idiii"]=function(){return(dynCall_idiii=Module["dynCall_idiii"]=Module["asm"]["wq"]).apply(null,arguments)};var dynCall_ifiiiii=Module["dynCall_ifiiiii"]=function(){return(dynCall_ifiiiii=Module["dynCall_ifiiiii"]=Module["asm"]["xq"]).apply(null,arguments)};var dynCall_jjjii=Module["dynCall_jjjii"]=function(){return(dynCall_jjjii=Module["dynCall_jjjii"]=Module["asm"]["yq"]).apply(null,arguments)};var dynCall_vdiii=Module["dynCall_vdiii"]=function(){return(dynCall_vdiii=Module["dynCall_vdiii"]=Module["asm"]["zq"]).apply(null,arguments)};var dynCall_jdii=Module["dynCall_jdii"]=function(){return(dynCall_jdii=Module["dynCall_jdii"]=Module["asm"]["Aq"]).apply(null,arguments)};var dynCall_vdii=Module["dynCall_vdii"]=function(){return(dynCall_vdii=Module["dynCall_vdii"]=Module["asm"]["Bq"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["Cq"]).apply(null,arguments)};var dynCall_diddi=Module["dynCall_diddi"]=function(){return(dynCall_diddi=Module["dynCall_diddi"]=Module["asm"]["Dq"]).apply(null,arguments)};var dynCall_didi=Module["dynCall_didi"]=function(){return(dynCall_didi=Module["dynCall_didi"]=Module["asm"]["Eq"]).apply(null,arguments)};var dynCall_viiiijii=Module["dynCall_viiiijii"]=function(){return(dynCall_viiiijii=Module["dynCall_viiiijii"]=Module["asm"]["Fq"]).apply(null,arguments)};var dynCall_viiijji=Module["dynCall_viiijji"]=function(){return(dynCall_viiijji=Module["dynCall_viiijji"]=Module["asm"]["Gq"]).apply(null,arguments)};var dynCall_iijjii=Module["dynCall_iijjii"]=function(){return(dynCall_iijjii=Module["dynCall_iijjii"]=Module["asm"]["Hq"]).apply(null,arguments)};var dynCall_jjjji=Module["dynCall_jjjji"]=function(){return(dynCall_jjjji=Module["dynCall_jjjji"]=Module["asm"]["Iq"]).apply(null,arguments)};var dynCall_viijijii=Module["dynCall_viijijii"]=function(){return(dynCall_viijijii=Module["dynCall_viijijii"]=Module["asm"]["Jq"]).apply(null,arguments)};var dynCall_viijijiii=Module["dynCall_viijijiii"]=function(){return(dynCall_viijijiii=Module["dynCall_viijijiii"]=Module["asm"]["Kq"]).apply(null,arguments)};var dynCall_vijiji=Module["dynCall_vijiji"]=function(){return(dynCall_vijiji=Module["dynCall_vijiji"]=Module["asm"]["Lq"]).apply(null,arguments)};var dynCall_viijiijiii=Module["dynCall_viijiijiii"]=function(){return(dynCall_viijiijiii=Module["dynCall_viijiijiii"]=Module["asm"]["Mq"]).apply(null,arguments)};var dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=function(){return(dynCall_viiiijiiii=Module["dynCall_viiiijiiii"]=Module["asm"]["Nq"]).apply(null,arguments)};var dynCall_ddiddi=Module["dynCall_ddiddi"]=function(){return(dynCall_ddiddi=Module["dynCall_ddiddi"]=Module["asm"]["Oq"]).apply(null,arguments)};var dynCall_jiiiiiiiii=Module["dynCall_jiiiiiiiii"]=function(){return(dynCall_jiiiiiiiii=Module["dynCall_jiiiiiiiii"]=Module["asm"]["Pq"]).apply(null,arguments)};var dynCall_jiiiiiiii=Module["dynCall_jiiiiiiii"]=function(){return(dynCall_jiiiiiiii=Module["dynCall_jiiiiiiii"]=Module["asm"]["Qq"]).apply(null,arguments)};var dynCall_iiiiijii=Module["dynCall_iiiiijii"]=function(){return(dynCall_iiiiijii=Module["dynCall_iiiiijii"]=Module["asm"]["Rq"]).apply(null,arguments)};var dynCall_iiiiidii=Module["dynCall_iiiiidii"]=function(){return(dynCall_iiiiidii=Module["dynCall_iiiiidii"]=Module["asm"]["Sq"]).apply(null,arguments)};var dynCall_iiiidii=Module["dynCall_iiiidii"]=function(){return(dynCall_iiiidii=Module["dynCall_iiiidii"]=Module["asm"]["Tq"]).apply(null,arguments)};var dynCall_iiidiii=Module["dynCall_iiidiii"]=function(){return(dynCall_iiidiii=Module["dynCall_iiidiii"]=Module["asm"]["Uq"]).apply(null,arguments)};var dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=function(){return(dynCall_iiiiffiiiji=Module["dynCall_iiiiffiiiji"]=Module["asm"]["Vq"]).apply(null,arguments)};var dynCall_iiiffii=Module["dynCall_iiiffii"]=function(){return(dynCall_iiiffii=Module["dynCall_iiiffii"]=Module["asm"]["Wq"]).apply(null,arguments)};var dynCall_jiiiiiii=Module["dynCall_jiiiiiii"]=function(){return(dynCall_jiiiiiii=Module["dynCall_jiiiiiii"]=Module["asm"]["Xq"]).apply(null,arguments)};var dynCall_fiiiiiii=Module["dynCall_fiiiiiii"]=function(){return(dynCall_fiiiiiii=Module["dynCall_fiiiiiii"]=Module["asm"]["Yq"]).apply(null,arguments)};var dynCall_diidii=Module["dynCall_diidii"]=function(){return(dynCall_diidii=Module["dynCall_diidii"]=Module["asm"]["Zq"]).apply(null,arguments)};var dynCall_jiijii=Module["dynCall_jiijii"]=function(){return(dynCall_jiijii=Module["dynCall_jiijii"]=Module["asm"]["_q"]).apply(null,arguments)};var dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=function(){return(dynCall_iiiiffiiiii=Module["dynCall_iiiiffiiiii"]=Module["asm"]["$q"]).apply(null,arguments)};var dynCall_iiiiffii=Module["dynCall_iiiiffii"]=function(){return(dynCall_iiiiffii=Module["dynCall_iiiiffii"]=Module["asm"]["ar"]).apply(null,arguments)};var dynCall_jiiiiji=Module["dynCall_jiiiiji"]=function(){return(dynCall_jiiiiji=Module["dynCall_jiiiiji"]=Module["asm"]["br"]).apply(null,arguments)};var dynCall_fiiiifi=Module["dynCall_fiiiifi"]=function(){return(dynCall_fiiiifi=Module["dynCall_fiiiifi"]=Module["asm"]["cr"]).apply(null,arguments)};var dynCall_didii=Module["dynCall_didii"]=function(){return(dynCall_didii=Module["dynCall_didii"]=Module["asm"]["dr"]).apply(null,arguments)};var dynCall_iiijjii=Module["dynCall_iiijjii"]=function(){return(dynCall_iiijjii=Module["dynCall_iiijjii"]=Module["asm"]["er"]).apply(null,arguments)};var dynCall_iiiijiii=Module["dynCall_iiiijiii"]=function(){return(dynCall_iiiijiii=Module["dynCall_iiiijiii"]=Module["asm"]["fr"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["gr"]).apply(null,arguments)};var dynCall_ijj=Module["dynCall_ijj"]=function(){return(dynCall_ijj=Module["dynCall_ijj"]=Module["asm"]["hr"]).apply(null,arguments)};var dynCall_vjji=Module["dynCall_vjji"]=function(){return(dynCall_vjji=Module["dynCall_vjji"]=Module["asm"]["ir"]).apply(null,arguments)};var dynCall_ij=Module["dynCall_ij"]=function(){return(dynCall_ij=Module["dynCall_ij"]=Module["asm"]["jr"]).apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return(dynCall_vif=Module["dynCall_vif"]=Module["asm"]["kr"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["lr"]).apply(null,arguments)};var dynCall_viiiiif=Module["dynCall_viiiiif"]=function(){return(dynCall_viiiiif=Module["dynCall_viiiiif"]=Module["asm"]["mr"]).apply(null,arguments)};var dynCall_viiiif=Module["dynCall_viiiif"]=function(){return(dynCall_viiiif=Module["dynCall_viiiif"]=Module["asm"]["nr"]).apply(null,arguments)};var dynCall_viiiiiif=Module["dynCall_viiiiiif"]=function(){return(dynCall_viiiiiif=Module["dynCall_viiiiiif"]=Module["asm"]["or"]).apply(null,arguments)};var dynCall_iiif=Module["dynCall_iiif"]=function(){return(dynCall_iiif=Module["dynCall_iiif"]=Module["asm"]["pr"]).apply(null,arguments)};var dynCall_fif=Module["dynCall_fif"]=function(){return(dynCall_fif=Module["dynCall_fif"]=Module["asm"]["qr"]).apply(null,arguments)};var dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=function(){return(dynCall_iiiiiifff=Module["dynCall_iiiiiifff"]=Module["asm"]["rr"]).apply(null,arguments)};var dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=function(){return(dynCall_iiiiiifiif=Module["dynCall_iiiiiifiif"]=Module["asm"]["sr"]).apply(null,arguments)};var dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=function(){return(dynCall_iiiiiifiii=Module["dynCall_iiiiiifiii"]=Module["asm"]["tr"]).apply(null,arguments)};var dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=function(){return(dynCall_iiiiiiifiif=Module["dynCall_iiiiiiifiif"]=Module["asm"]["ur"]).apply(null,arguments)};var dynCall_fiff=Module["dynCall_fiff"]=function(){return(dynCall_fiff=Module["dynCall_fiff"]=Module["asm"]["vr"]).apply(null,arguments)};var dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=function(){return(dynCall_fiiiiiifiifif=Module["dynCall_fiiiiiifiifif"]=Module["asm"]["wr"]).apply(null,arguments)};var dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=function(){return(dynCall_fiiiiiifiiiif=Module["dynCall_fiiiiiifiiiif"]=Module["asm"]["xr"]).apply(null,arguments)};var dynCall_vifiiii=Module["dynCall_vifiiii"]=function(){return(dynCall_vifiiii=Module["dynCall_vifiiii"]=Module["asm"]["yr"]).apply(null,arguments)};var dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=function(){return(dynCall_iifiiiijii=Module["dynCall_iifiiiijii"]=Module["asm"]["zr"]).apply(null,arguments)};var dynCall_vifijii=Module["dynCall_vifijii"]=function(){return(dynCall_vifijii=Module["dynCall_vifijii"]=Module["asm"]["Ar"]).apply(null,arguments)};var dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=function(){return(dynCall_iiiifffiii=Module["dynCall_iiiifffiii"]=Module["asm"]["Br"]).apply(null,arguments)};var dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=function(){return(dynCall_iiiifffffi=Module["dynCall_iiiifffffi"]=Module["asm"]["Cr"]).apply(null,arguments)};var dynCall_viffiiiif=Module["dynCall_viffiiiif"]=function(){return(dynCall_viffiiiif=Module["dynCall_viffiiiif"]=Module["asm"]["Dr"]).apply(null,arguments)};var dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=function(){return(dynCall_viffiifffffiii=Module["dynCall_viffiifffffiii"]=Module["asm"]["Er"]).apply(null,arguments)};var dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=function(){return(dynCall_viffffiifffiiiiif=Module["dynCall_viffffiifffiiiiif"]=Module["asm"]["Fr"]).apply(null,arguments)};var dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=function(){return(dynCall_iiiifffffii=Module["dynCall_iiiifffffii"]=Module["asm"]["Gr"]).apply(null,arguments)};var dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=function(){return(dynCall_viiiiiiiiiiifii=Module["dynCall_viiiiiiiiiiifii"]=Module["asm"]["Hr"]).apply(null,arguments)};var dynCall_viff=Module["dynCall_viff"]=function(){return(dynCall_viff=Module["dynCall_viff"]=Module["asm"]["Ir"]).apply(null,arguments)};var dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=function(){return(dynCall_iiiiifiiiiif=Module["dynCall_iiiiifiiiiif"]=Module["asm"]["Jr"]).apply(null,arguments)};var dynCall_viifffi=Module["dynCall_viifffi"]=function(){return(dynCall_viifffi=Module["dynCall_viifffi"]=Module["asm"]["Kr"]).apply(null,arguments)};var dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=function(){return(dynCall_viiifiiiii=Module["dynCall_viiifiiiii"]=Module["asm"]["Lr"]).apply(null,arguments)};var dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=function(){return(dynCall_viiiifiiiiif=Module["dynCall_viiiifiiiiif"]=Module["asm"]["Mr"]).apply(null,arguments)};var dynCall_iifff=Module["dynCall_iifff"]=function(){return(dynCall_iifff=Module["dynCall_iifff"]=Module["asm"]["Nr"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["Or"]).apply(null,arguments)};var dynCall_viijijj=Module["dynCall_viijijj"]=function(){return(dynCall_viijijj=Module["dynCall_viijijj"]=Module["asm"]["Pr"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["Qr"]).apply(null,arguments)};var dynCall_viiiij=Module["dynCall_viiiij"]=function(){return(dynCall_viiiij=Module["dynCall_viiiij"]=Module["asm"]["Rr"]).apply(null,arguments)};var dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=function(){return(dynCall_ijjiiiii=Module["dynCall_ijjiiiii"]=Module["asm"]["Sr"]).apply(null,arguments)};var dynCall_viijjji=Module["dynCall_viijjji"]=function(){return(dynCall_viijjji=Module["dynCall_viijjji"]=Module["asm"]["Tr"]).apply(null,arguments)};var dynCall_vidd=Module["dynCall_vidd"]=function(){return(dynCall_vidd=Module["dynCall_vidd"]=Module["asm"]["Ur"]).apply(null,arguments)};var dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=function(){return(dynCall_iiiiiifffiiifiii=Module["dynCall_iiiiiifffiiifiii"]=Module["asm"]["Vr"]).apply(null,arguments)};var dynCall_viid=Module["dynCall_viid"]=function(){return(dynCall_viid=Module["dynCall_viid"]=Module["asm"]["Wr"]).apply(null,arguments)};var dynCall_viiif=Module["dynCall_viiif"]=function(){return(dynCall_viiif=Module["dynCall_viiif"]=Module["asm"]["Xr"]).apply(null,arguments)};var dynCall_fiiiif=Module["dynCall_fiiiif"]=function(){return(dynCall_fiiiif=Module["dynCall_fiiiif"]=Module["asm"]["Yr"]).apply(null,arguments)};var dynCall_iiiiiff=Module["dynCall_iiiiiff"]=function(){return(dynCall_iiiiiff=Module["dynCall_iiiiiff"]=Module["asm"]["Zr"]).apply(null,arguments)};var dynCall_viffff=Module["dynCall_viffff"]=function(){return(dynCall_viffff=Module["dynCall_viffff"]=Module["asm"]["_r"]).apply(null,arguments)};var dynCall_vifff=Module["dynCall_vifff"]=function(){return(dynCall_vifff=Module["dynCall_vifff"]=Module["asm"]["$r"]).apply(null,arguments)};var dynCall_viifff=Module["dynCall_viifff"]=function(){return(dynCall_viifff=Module["dynCall_viifff"]=Module["asm"]["as"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["bs"]).apply(null,arguments)};var dynCall_fff=Module["dynCall_fff"]=function(){return(dynCall_fff=Module["dynCall_fff"]=Module["asm"]["cs"]).apply(null,arguments)};var dynCall_vf=Module["dynCall_vf"]=function(){return(dynCall_vf=Module["dynCall_vf"]=Module["asm"]["ds"]).apply(null,arguments)};var dynCall_vffff=Module["dynCall_vffff"]=function(){return(dynCall_vffff=Module["dynCall_vffff"]=Module["asm"]["es"]).apply(null,arguments)};var dynCall_vff=Module["dynCall_vff"]=function(){return(dynCall_vff=Module["dynCall_vff"]=Module["asm"]["fs"]).apply(null,arguments)};var dynCall_f=Module["dynCall_f"]=function(){return(dynCall_f=Module["dynCall_f"]=Module["asm"]["gs"]).apply(null,arguments)};var dynCall_vfff=Module["dynCall_vfff"]=function(){return(dynCall_vfff=Module["dynCall_vfff"]=Module["asm"]["hs"]).apply(null,arguments)};var dynCall_ff=Module["dynCall_ff"]=function(){return(dynCall_ff=Module["dynCall_ff"]=Module["asm"]["is"]).apply(null,arguments)};var dynCall_iiid=Module["dynCall_iiid"]=function(){return(dynCall_iiid=Module["dynCall_iiid"]=Module["asm"]["js"]).apply(null,arguments)};var dynCall_fiif=Module["dynCall_fiif"]=function(){return(dynCall_fiif=Module["dynCall_fiif"]=Module["asm"]["ks"]).apply(null,arguments)};var dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=function(){return(dynCall_iiiiiiffiiiiiiiiiffffiii=Module["dynCall_iiiiiiffiiiiiiiiiffffiii"]=Module["asm"]["ls"]).apply(null,arguments)};var dynCall_viififi=Module["dynCall_viififi"]=function(){return(dynCall_viififi=Module["dynCall_viififi"]=Module["asm"]["ms"]).apply(null,arguments)};var dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=function(){return(dynCall_viiiiiiiijiii=Module["dynCall_viiiiiiiijiii"]=Module["asm"]["ns"]).apply(null,arguments)};var dynCall_d=Module["dynCall_d"]=function(){return(dynCall_d=Module["dynCall_d"]=Module["asm"]["os"]).apply(null,arguments)};function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viif(index,a1,a2,a3){var sp=stackSave();try{dynCall_viif(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiff(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiff(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_fiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiifi(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiifi(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_diiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_diiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiidi(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiidi(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiiiidii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_ifi(index,a1,a2){var sp=stackSave();try{return dynCall_ifi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_idi(index,a1,a2){var sp=stackSave();try{return dynCall_idi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dddi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_dddi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iidi(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iidi(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiidi(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viifiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viifiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vfiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vfiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiifiifii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_viiiiiiifiifii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiifddfii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_viiiiiiifddfii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{dynCall_viiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iifii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iifii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vdi(index,a1,a2){var sp=stackSave();try{dynCall_vdi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiifi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{dynCall_viiiiiiiiifi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12){var sp=stackSave();try{return dynCall_iiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiffffii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_viiiiiiiffffii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_diiid(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_diiid(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fiiif(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_fiiif(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vfi(index,a1,a2){var sp=stackSave();try{dynCall_vfi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vidd(index,a1,a2,a3){var sp=stackSave();try{dynCall_vidd(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiijjii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iijjiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iijjiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iijiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iijiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jjii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiidij(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiidij(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jiiji(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiji(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viijiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){var sp=stackSave();try{dynCall_viijiiijiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiifjjfii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiifjjfii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jdi(index,a1,a2){var sp=stackSave();try{return dynCall_jdi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_vijjji(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return dynCall_iiiiijiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_dji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_dji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_jijiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_jijiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")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&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viijiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viijiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")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&&e!=="longjmp")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)}catch(e){if(e instanceof ExitStatus){return}else if(e=="unwind"){return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,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();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;if(implicit&&keepRuntimeAlive()&&status===0){return}if(keepRuntimeAlive()){}else{exitRuntime();if(Module["onExit"])Module["onExit"](status);ABORT=true}quit_(status,new ExitStatus(status))}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(); - -} diff --git a/smashkarts/Build/SmashKartsGraveyard16poki.loader.js b/smashkarts/Build/SmashKartsGraveyard16poki.loader.js deleted file mode 100644 index e4ab39a4..00000000 --- a/smashkarts/Build/SmashKartsGraveyard16poki.loader.js +++ /dev/null @@ -1 +0,0 @@ -function createUnityInstance(e,t,r){function n(e,r){if(!n.aborted&&t.showBanner)return"error"==r&&(n.aborted=!0),t.showBanner(e,r);switch(r){case"error":console.error(e);break;case"warning":console.warn(e);break;default:console.log(e)}}function o(e){var t=e.reason||e.error,r=t?t.toString():e.message||e.reason||"",n=t&&t.stack?t.stack.toString():"";if(n.startsWith(r)&&(n=n.substring(r.length)),r+="\n"+n.trim(),r&&c.stackTraceRegExp&&c.stackTraceRegExp.test(r)){var o=e.filename||t&&(t.fileName||t.sourceURL)||"",a=e.lineno||t&&(t.lineNumber||t.line)||0;s(r,o,a)}}function a(e){e.preventDefault()}function s(e,t,r){if(e.indexOf("fullscreen error")==-1){if(c.startupErrorHandler)return void c.startupErrorHandler(e,t,r);if(!(c.errorHandler&&c.errorHandler(e,t,r)||(console.log("Invoking error handler due to\n"+e),"function"==typeof dump&&dump("Invoking error handler due to\n"+e),s.didShowErrorMessage))){var e="An error occurred running the Unity content on this page. See your browser JavaScript console for more info. The error was:\n"+e;e.indexOf("DISABLE_EXCEPTION_CATCHING")!=-1?e="An exception has occurred, but exception handling has been disabled in this build. If you are the developer of this content, enable exceptions in your project WebGL player settings to be able to catch the exception or see the stack trace.":e.indexOf("Cannot enlarge memory arrays")!=-1?e="Out of memory. If you are the developer of this content, try allocating more memory to your WebGL build in the WebGL player settings.":e.indexOf("Invalid array buffer length")==-1&&e.indexOf("Invalid typed array length")==-1&&e.indexOf("out of memory")==-1&&e.indexOf("could not allocate memory")==-1||(e="The browser could not allocate enough memory for the WebGL content. If you are the developer of this content, try allocating less memory to your WebGL build in the WebGL player settings."),alert(e),s.didShowErrorMessage=!0}}}function i(e,t){if("symbolsUrl"!=e){var n=c.downloadProgress[e];n||(n=c.downloadProgress[e]={started:!1,finished:!1,lengthComputable:!1,total:0,loaded:0}),"object"!=typeof t||"progress"!=t.type&&"load"!=t.type||(n.started||(n.started=!0,n.lengthComputable=t.lengthComputable),n.total=t.total,n.loaded=t.loaded,"load"==t.type&&(n.finished=!0));var o=0,a=0,s=0,i=0,d=0;for(var e in c.downloadProgress){var n=c.downloadProgress[e];if(!n.started)return 0;s++,n.lengthComputable?(o+=n.loaded,a+=n.total,i++):n.finished||d++}var u=s?(s-d-(a?i*(a-o)/a:0))/s:0;r(.9*u)}}function d(e){i(e);var t=c.cacheControl(c[e]),r=c.companyName&&c.productName?c.cachedFetch:c.fetchWithProgress,o=c[e],a=/file:\/\//.exec(o)?"same-origin":void 0,s=r(c[e],{method:"GET",companyName:c.companyName,productName:c.productName,control:t,mode:a,onProgress:function(t){i(e,t)}});return s.then(function(e){return e.parsedBody}).catch(function(t){var r="Failed to download file "+c[e];"file:"==location.protocol?n(r+". Loading web pages via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host Unity content, or use the Unity Build and Run option.","error"):console.error(r)})}function u(){return new Promise(function(e,t){var r=document.createElement("script");r.src=c.frameworkUrl,r.onload=function(){if("undefined"==typeof unityFramework||!unityFramework){var t=[["br","br"],["gz","gzip"]];for(var o in t){var a=t[o];if(c.frameworkUrl.endsWith("."+a[0])){var s="Unable to parse "+c.frameworkUrl+"!";if("file:"==location.protocol)return void n(s+" Loading pre-compressed (brotli or gzip) content via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host compressed Unity content, or use the Unity Build and Run option.","error");if(s+=' This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: '+a[1]+'" present. Check browser Console and Devtools Network tab to debug.',"br"==a[0]&&"http:"==location.protocol){var i=["localhost","127.0.0.1"].indexOf(location.hostname)!=-1?"":"Migrate your server to use HTTPS.";s=/Firefox/.test(navigator.userAgent)?"Unable to parse "+c.frameworkUrl+'!
If using custom web server, verify that web server is sending .br files with HTTP Response Header "Content-Encoding: br". Brotli compression may not be supported in Firefox over HTTP connections. '+i+' See https://bugzilla.mozilla.org/show_bug.cgi?id=1670675 for more information.':"Unable to parse "+c.frameworkUrl+'!
If using custom web server, verify that web server is sending .br files with HTTP Response Header "Content-Encoding: br". Brotli compression may not be supported over HTTP connections. Migrate your server to use HTTPS.'}return void n(s,"error")}}n("Unable to parse "+c.frameworkUrl+"! The file is corrupt, or compression was misconfigured? (check Content-Encoding HTTP Response Header on web server)","error")}var d=unityFramework;unityFramework=null,r.onload=null,e(d)},r.onerror=function(e){n("Unable to load file "+c.frameworkUrl+"! Check that the file exists on the remote server. (also check browser Console and Devtools Network tab to debug)","error")},document.body.appendChild(r),c.deinitializers.push(function(){document.body.removeChild(r)})})}function l(){u().then(function(e){e(c)});var e=d("dataUrl");c.preRun.push(function(){c.addRunDependency("dataUrl"),e.then(function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),r=0,n="UnityWebData1.0\0";if(!String.fromCharCode.apply(null,e.subarray(r,r+n.length))==n)throw"unknown data format";r+=n.length;var o=t.getUint32(r,!0);for(r+=4;r0;u=l,l=d.indexOf("/",u)+1)c.FS_createPath(d.substring(0,u),d.substring(u,l-1),!0,!0);c.FS_createDataFile(d,null,e.subarray(a,a+s),!0,!0,!0)}c.removeRunDependency("dataUrl")})})}r=r||function(){};var c={canvas:e,webglContextAttributes:{preserveDrawingBuffer:!1},cacheControl:function(e){return e==c.dataUrl?"must-revalidate":"no-store"},streamingAssetsUrl:"StreamingAssets",downloadProgress:{},deinitializers:[],intervals:{},setInterval:function(e,t){var r=window.setInterval(e,t);return this.intervals[r]=!0,r},clearInterval:function(e){delete this.intervals[e],window.clearInterval(e)},preRun:[],postRun:[],print:function(e){console.log(e)},printErr:function(e){console.error(e),"string"==typeof e&&e.indexOf("wasm streaming compile failed")!=-1&&(e.toLowerCase().indexOf("mime")!=-1?n('HTTP Response Header "Content-Type" configured incorrectly on the server for file '+c.codeUrl+' , should be "application/wasm". Startup time performance will suffer.',"warning"):n('WebAssembly streaming compilation failed! This can happen for example if "Content-Encoding" HTTP header is incorrectly enabled on the server for file '+c.codeUrl+", but the file is not pre-compressed on disk (or vice versa). Check the Network tab in browser Devtools to debug server header configuration.","warning"))},locateFile:function(e){return"build.wasm"==e?this.codeUrl:e},disabledCanvasEvents:["contextmenu","dragstart"]};for(var f in t)c[f]=t[f];c.streamingAssetsUrl=new URL(c.streamingAssetsUrl,document.URL).href;var h=c.disabledCanvasEvents.slice();h.forEach(function(t){e.addEventListener(t,a)}),window.addEventListener("error",o),window.addEventListener("unhandledrejection",o),c.deinitializers.push(function(){c.disableAccessToMediaDevices(),h.forEach(function(t){e.removeEventListener(t,a)}),window.removeEventListener("error",o),window.removeEventListener("unhandledrejection",o);for(var t in c.intervals)window.clearInterval(t);c.intervals={}}),c.QuitCleanup=function(){for(var e=0;e=200&&this.status<=299}.bind(this)})}function o(e,t,r,n,o){var a={url:e,version:d.version,company:t,product:r,updated:n,revalidated:n,accessed:n,response:{headers:{}}};return o&&(o.headers.forEach(function(e,t){a.response.headers[t]=e}),["redirected","status","statusText","type","url"].forEach(function(e){a.response[e]=o[e]}),a.response.parsedBody=o.parsedBody),a}function a(e,t){return(!t||!t.method||"GET"===t.method)&&((!t||["must-revalidate","immutable"].indexOf(t.control)!=-1)&&!!e.match("^https?://"))}function s(s,l){function c(t,r){return u(t,r).then(function(t){return!g.enabled||g.revalidated?t:304===t.status?(g.result.revalidated=g.result.accessed,g.revalidated=!0,h.storeRequest(g.result).then(function(){e("'"+g.result.url+"' successfully revalidated and served from the indexedDB cache")}).catch(function(t){e("'"+g.result.url+"' successfully revalidated but not stored in the indexedDB cache due to the error: "+t)}),new n(g.result.response)):(200==t.status?(g.result=o(t.url,g.company,g.product,g.accessed,t),g.revalidated=!0,h.storeRequest(g.result).then(function(){e("'"+g.result.url+"' successfully downloaded and stored in the indexedDB cache")}).catch(function(t){e("'"+g.result.url+"' successfully downloaded but not stored in the indexedDB cache due to the error: "+t)})):e("'"+g.result.url+"' request failed with status: "+t.status+" "+t.statusText),t)})}function f(e){l&&l.onProgress&&(l.onProgress({type:"progress",total:e.parsedBody.length,loaded:e.parsedBody.length,lengthComputable:!0}),l.onProgress({type:"load",total:e.parsedBody.length,loaded:e.parsedBody.length,lengthComputable:!0}))}var h=i.getInstance(),p=t("string"==typeof s?s:s.url),g={enabled:a(p,l)};return l&&(g.control=l.control,g.company=l.company,g.product=l.product),g.result=o(p,g.company,g.product,Date.now()),g.revalidated=!1,g.enabled?h.loadRequest(g.result.url).then(function(t){if(!t||t.version!==d.version)return c(s,l);g.result=t,g.result.accessed=Date.now();var o=new n(g.result.response);if("immutable"==g.control)return g.revalidated=!0,h.storeRequest(g.result),e("'"+g.result.url+"' served from the indexedDB cache without revalidation"),f(o),o;if(r(g.result.url)&&(o.headers.get("Last-Modified")||o.headers.get("ETag")))return fetch(g.result.url,{method:"HEAD"}).then(function(t){return g.revalidated=["Last-Modified","ETag"].every(function(e){return!o.headers.get(e)||o.headers.get(e)==t.headers.get(e)}),g.revalidated?(g.result.revalidated=g.result.accessed,h.storeRequest(g.result),e("'"+g.result.url+"' successfully revalidated and served from the indexedDB cache"),f(o),o):c(s,l)});l=l||{};var a=l.headers||{};return l.headers=a,o.headers.get("Last-Modified")?(a["If-Modified-Since"]=o.headers.get("Last-Modified"),a["Cache-Control"]="no-cache"):o.headers.get("ETag")&&(a["If-None-Match"]=o.headers.get("ETag"),a["Cache-Control"]="no-cache"),c(s,l)}).catch(function(t){return e("Failed to load '"+g.result.url+"' from indexedDB cache due to the error: "+t),u(s,l)}):u(s,l)}var i=c.UnityCache,d=i.RequestStore,u=c.fetchWithProgress;return n.prototype.arrayBuffer=function(){return Promise.resolve(this.parsedBody.buffer)},n.prototype.blob=function(){return this.arrayBuffer().then(function(e){return new Blob([e])})},n.prototype.json=function(){return this.text().then(function(e){return JSON.parse(e)})},n.prototype.text=function(){var e=new TextDecoder;return Promise.resolve(e.decode(this.parsedBody))},s}(),new Promise(function(e,t){c.SystemInfo.hasWebGL?c.SystemInfo.hasWasm?(1==c.SystemInfo.hasWebGL&&c.print('Warning: Your browser does not support "WebGL 2" Graphics API, switching to "WebGL 1"'),c.startupErrorHandler=t,r(0),c.postRun.push(function(){r(1),delete c.startupErrorHandler,e(m)}),l()):t("Your browser does not support WebAssembly."):t("Your browser does not support WebGL.")})} \ No newline at end of file diff --git a/smashkarts/favicon.ico b/smashkarts/favicon.ico deleted file mode 100644 index ccbe3d11cc19cb79e14cd3ef21fc2ca568672d0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25214 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 - - - - - - Smash Karts - - - - - - - - - - - - - - - - - - diff --git a/smashkarts/js/firebase/9.9.3/firebase-analytics-compat.js b/smashkarts/js/firebase/9.9.3/firebase-analytics-compat.js deleted file mode 100644 index b79dc3da..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-analytics-compat.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(ft,ht){"use strict";try{!(function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t,a,n=e(ft);(lt=t=t||{})[lt.DEBUG=0]="DEBUG",lt[lt.VERBOSE=1]="VERBOSE",lt[lt.INFO=2]="INFO",lt[lt.WARN=3]="WARN",lt[lt.ERROR=4]="ERROR",lt[lt.SILENT=5]="SILENT";const r={debug:t.DEBUG,verbose:t.VERBOSE,info:t.INFO,warn:t.WARN,error:t.ERROR,silent:t.SILENT},i=t.INFO,o={[t.DEBUG]:"log",[t.VERBOSE]:"log",[t.INFO]:"info",[t.WARN]:"warn",[t.ERROR]:"error"},s=(e,t,...n)=>{if(!(t{try{let e=!0;const a="validate-browser-context-for-indexeddb-analytics-module",r=self.indexedDB.open(a);r.onsuccess=()=>{r.result.close(),e||self.indexedDB.deleteDatabase(a),t(!0)},r.onupgradeneeded=()=>{e=!1},r.onerror=()=>{var e;n((null===(e=r.error)||void 0===e?void 0:e.message)||"")}}catch(e){n(e)}})}function l(){return!("undefined"==typeof navigator||!navigator.cookieEnabled)}class u extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,u.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,d.prototype.create)}}class d{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){var a,n=t[0]||{},r=`${this.service}/${e}`,i=this.errors[e],i=i?(a=n,i.replace(h,(e,t)=>{var n=a[t];return null!=n?String(n):`<${t}?>`})):"Error",i=`${this.serviceName}: ${i} (${r}).`;return new u(r,i,n)}}const h=/\{\$([^}]+)}/g,g=1e3,m=2,v=144e5,w=.5;function y(e,t=g,n=m){var a=t*Math.pow(n,e),r=Math.round(w*a*(Math.random()-.5)*2);return Math.min(v,a+r)}function I(e){return e&&e._delegate?e._delegate:e}class b{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const E=(t,e)=>e.some(e=>t instanceof e);let _,T;const S=new WeakMap,C=new WeakMap,D=new WeakMap,O=new WeakMap,L=new WeakMap;let P={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return C.get(e);if("objectStoreNames"===t)return e.objectStoreNames||D.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return k(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function N(a){return a!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(T=T||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(a)?function(...e){return a.apply(M(this),e),k(S.get(this))}:function(...e){return k(a.apply(M(this),e))}:function(e,...t){var n=a.call(M(this),e,...t);return D.set(n,e.sort?e.sort():[e]),k(n)}}function A(e){return"function"==typeof e?N(e):(e instanceof IDBTransaction&&(i=e,C.has(i)||(t=new Promise((e,t)=>{const n=()=>{i.removeEventListener("complete",a),i.removeEventListener("error",r),i.removeEventListener("abort",r)},a=()=>{e(),n()},r=()=>{t(i.error||new DOMException("AbortError","AbortError")),n()};i.addEventListener("complete",a),i.addEventListener("error",r),i.addEventListener("abort",r)}),C.set(i,t))),E(e,_=_||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,P):e);var i,t}function k(e){if(e instanceof IDBRequest)return function(i){const e=new Promise((e,t)=>{const n=()=>{i.removeEventListener("success",a),i.removeEventListener("error",r)},a=()=>{e(k(i.result)),n()},r=()=>{t(i.error),n()};i.addEventListener("success",a),i.addEventListener("error",r)});return e.then(e=>{e instanceof IDBCursor&&S.set(e,i)}).catch(()=>{}),L.set(e,i),e}(e);if(O.has(e))return O.get(e);var t=A(e);return t!==e&&(O.set(e,t),L.set(t,e)),t}const M=e=>L.get(e);const R=["get","getKey","getAll","getAllKeys","count"],j=["put","add","delete","clear"],$=new Map;function B(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if($.get(t))return $.get(t);const r=t.replace(/FromIndex$/,""),i=t!==r,o=j.includes(r);if(r in(i?IDBIndex:IDBObjectStore).prototype&&(o||R.includes(r))){var n=async function(e,...t){var n=this.transaction(e,o?"readwrite":"readonly");let a=n.store;return i&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),o&&n.done]))[0]};return $.set(t,n),n}}}P={...a=P,get:(e,t,n)=>B(e,t)||a.get(e,t,n),has:(e,t)=>!!B(e,t)||a.has(e,t)};var F="@firebase/installations",H="0.5.12";const x=1e4,V=`w:${H}`,q="FIS_v2",W="https://firebaseinstallations.googleapis.com/v1",U=36e5;const G=new d("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function K(e){return e instanceof u&&e.code.includes("request-failed")}function z({projectId:e}){return`${W}/projects/${e}/installations`}function J(e){return{token:e.token,requestStatus:2,expiresIn:(e=e.expiresIn,Number(e.replace("s","000"))),creationTime:Date.now()}}async function Y(e,t){var n=(await t.json()).error;return G.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function X({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function Z(e,{refreshToken:t}){const n=X(e);return n.append("Authorization",(t=t,`${q} ${t}`)),n}async function Q(e){var t=await e();return 500<=t.status&&t.status<600?e():t}function ee(t){return new Promise(e=>{setTimeout(e,t)})}const te=/^[cdef][\w-]{21}$/,ne="";function ae(){try{const t=new Uint8Array(17),n=self.crypto||self.msCrypto;n.getRandomValues(t),t[0]=112+t[0]%16;var e=function(e){const t=function(e){const t=btoa(String.fromCharCode(...e));return t.replace(/\+/g,"-").replace(/\//g,"_")}(e);return t.substr(0,22)}(t);return te.test(e)?e:ne}catch(e){return ne}}function re(e){return`${e.appName}!${e.appId}`}const ie=new Map;function oe(e,t){var n=re(e);se(n,t),function(e,t){const n=function(){!ce&&"BroadcastChannel"in self&&(ce=new BroadcastChannel("[Firebase] FID Change"),ce.onmessage=e=>{se(e.data.key,e.data.fid)});return ce}();n&&n.postMessage({key:e,fid:t});0===ie.size&&ce&&(ce.close(),ce=null)}(n,t)}function se(e,t){var n=ie.get(e);if(n)for(const a of n)a(t)}let ce=null;const le="firebase-installations-store";let ue=null;function de(){return ue=ue||function(e,t,{blocked:n,upgrade:a,blocking:r,terminated:i}){const o=indexedDB.open(e,t),s=k(o);return a&&o.addEventListener("upgradeneeded",e=>{a(k(o.result),e.oldVersion,e.newVersion,k(o.transaction))}),n&&o.addEventListener("blocked",()=>n()),s.then(e=>{i&&e.addEventListener("close",()=>i()),r&&e.addEventListener("versionchange",()=>r())}).catch(()=>{}),s}("firebase-installations-database",1,{upgrade:(e,t)=>{0===t&&e.createObjectStore(le)}}),ue}async function pe(e,t){var n=re(e);const a=await de(),r=a.transaction(le,"readwrite"),i=r.objectStore(le);var o=await i.get(n);return await i.put(t,n),await r.done,o&&o.fid===t.fid||oe(e,t.fid),t}async function fe(e){var t=re(e);const n=await de(),a=n.transaction(le,"readwrite");await a.objectStore(le).delete(t),await a.done}async function he(e,t){var n=re(e);const a=await de(),r=a.transaction(le,"readwrite"),i=r.objectStore(le);var o=await i.get(n),s=t(o);return void 0===s?await i.delete(n):await i.put(s,n),await r.done,!s||o&&o.fid===s.fid||oe(e,s.fid),s}async function ge(n){let a;var e=await he(n.appConfig,e=>{var t=ve(e||{fid:ae(),registrationStatus:0}),t=function(e,t){{if(0!==t.registrationStatus)return 1===t.registrationStatus?{installationEntry:t,registrationPromise:async function(e){let t=await me(e.appConfig);for(;1===t.registrationStatus;)await ee(100),t=await me(e.appConfig);if(0!==t.registrationStatus)return t;{var{installationEntry:n,registrationPromise:a}=await ge(e);return a||n}}(e)}:{installationEntry:t};if(!navigator.onLine){var n=Promise.reject(G.create("app-offline"));return{installationEntry:t,registrationPromise:n}}var a={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},n=async function(t,n){try{var e=await async function({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const a=z(e),r=X(e),i=t.getImmediate({optional:!0});!i||(o=await i.getHeartbeatsHeader())&&r.append("x-firebase-client",o);var o={fid:n,authVersion:q,appId:e.appId,sdkVersion:V};const s={method:"POST",headers:r,body:JSON.stringify(o)},c=await Q(()=>fetch(a,s));if(c.ok){o=await c.json();return{fid:o.fid||n,registrationStatus:2,refreshToken:o.refreshToken,authToken:J(o.authToken)}}throw await Y("Create Installation",c)}(t,n);return pe(t.appConfig,e)}catch(e){throw K(e)&&409===e.customData.serverCode?await fe(t.appConfig):await pe(t.appConfig,{fid:n.fid,registrationStatus:0}),e}}(e,a);return{installationEntry:a,registrationPromise:n}}}(n,t);return a=t.registrationPromise,t.installationEntry});return e.fid===ne?{installationEntry:await a}:{installationEntry:e,registrationPromise:a}}function me(e){return he(e,e=>{if(!e)throw G.create("installation-not-found");return ve(e)})}function ve(e){return 1===(t=e).registrationStatus&&t.registrationTime+xfetch(a,l));if(u.ok)return J(await u.json());throw await Y("Generate Auth Token",u)}async function ye(a,r=!1){let i;var e=await he(a.appConfig,e=>{if(!be(e))throw G.create("not-registered");var t,n=e.authToken;if(r||2!==(t=n).requestStatus||function(e){var t=Date.now();return t{if(!be(e))throw G.create("not-registered");var t,n=e.authToken;return 1===(t=n).requestStatus&&t.requestTime+x{var t=e.getProvider("app").getImmediate();return{app:t,appConfig:function(e){if(!e||!e.options)throw _e("App Configuration");if(!e.name)throw _e("App Name");for(const t of["projectId","apiKey","appId"])if(!e.options[t])throw _e(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),heartbeatServiceProvider:ht._getProvider(t,"heartbeat"),_delete:()=>Promise.resolve()}},Ce=e=>{var t=e.getProvider("app").getImmediate();const n=ht._getProvider(t,Te).getImmediate();return{getId:()=>async function(e){var t=e;const{installationEntry:n,registrationPromise:a}=await ge(t);return(a||ye(t)).catch(console.error),n.fid}(n),getToken:e=>Ee(n,e)}};ht._registerComponent(new b(Te,Se,"PUBLIC")),ht._registerComponent(new b("installations-internal",Ce,"PRIVATE")),ht.registerVersion(F,H),ht.registerVersion(F,H,"esm2017");const De="analytics",Oe="firebase_id",Le="origin",Pe="https://firebase.googleapis.com/v1alpha/projects/-/apps/{app-id}/webConfig",Ne="https://www.googletagmanager.com/gtag/js",Ae=new class{constructor(e){this.name=e,this._logLevel=i,this._logHandler=s,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in t))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?r[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,t.DEBUG,...e),this._logHandler(this,t.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,t.VERBOSE,...e),this._logHandler(this,t.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,t.INFO,...e),this._logHandler(this,t.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,t.WARN,...e),this._logHandler(this,t.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,t.ERROR,...e),this._logHandler(this,t.ERROR,...e)}}("@firebase/analytics");function ke(e){return Promise.all(e.map(e=>e.catch(e=>e)))}function Me(a,r,i,o){return async function(e,t,n){try{"event"===e?await async function(e,n,a,r,i){try{let t=[];if(i&&i.send_to){let e=i.send_to;Array.isArray(e)||(e=[e]);const c=await ke(a);for(const l of e){var o=c.find(e=>e.measurementId===l),s=o&&n[o.appId];if(!s){t=[];break}t.push(s)}}0===t.length&&(t=Object.values(n)),await Promise.all(t),e("event",r,i||{})}catch(e){Ae.error(e)}}(a,r,i,t,n):"config"===e?await async function(e,t,n,a,r,i){var o=a[r];try{if(o)await t[o];else{const c=await ke(n);var s=c.find(e=>e.measurementId===r);s&&await t[s.appId]}}catch(e){Ae.error(e)}e("config",r,i)}(a,r,i,o,t,n):"consent"===e?a("consent","update",n):a("set",t)}catch(e){Ae.error(e)}}}const Re=new d("analytics","Analytics",{"already-exists":"A Firebase Analytics instance with the appId {$id} already exists. Only one Firebase Analytics instance can be created for each appId.","already-initialized":"initializeAnalytics() cannot be called again with different options than those it was initially called with. It can be called again with the same options to return the existing instance, or getAnalytics() can be used to get a reference to the already-intialized instance.","already-initialized-settings":"Firebase Analytics has already been initialized.settings() must be called before initializing any Analytics instanceor it will have no effect.","interop-component-reg-failed":"Firebase Analytics Interop Component failed to instantiate: {$reason}","invalid-analytics-context":"Firebase Analytics is not supported in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","indexeddb-unavailable":"IndexedDB unavailable or restricted in this environment. Wrap initialization of analytics in analytics.isSupported() to prevent initialization in unsupported environments. Details: {$errorInfo}","fetch-throttle":"The config fetch request timed out while in an exponential backoff state. Unix timestamp in milliseconds when fetch request throttling ends: {$throttleEndTimeMillis}.","config-fetch-failed":"Dynamic config fetch failed: [{$httpStatus}] {$responseMessage}","no-api-key":'The "apiKey" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid API key.',"no-app-id":'The "appId" field is empty in the local Firebase config. Firebase Analytics requires this field tocontain a valid app ID.'}),je=30;const $e=new class{constructor(e={},t=1e3){this.throttleMetadata=e,this.intervalMillis=t}getThrottleMetadata(e){return this.throttleMetadata[e]}setThrottleMetadata(e,t){this.throttleMetadata[e]=t}deleteThrottleMetadata(e){delete this.throttleMetadata[e]}};async function Be(e){var t,{appId:n,apiKey:a}=e,a={method:"GET",headers:new Headers({Accept:"application/json","x-goog-api-key":a})},n=Pe.replace("{app-id}",n);const r=await fetch(n,a);if(200===r.status||304===r.status)return r.json();{let e="";try{var i=await r.json();null!==(t=i.error)&&void 0!==t&&t.message&&(e=i.error.message)}catch(e){}throw Re.create("config-fetch-failed",{httpStatus:r.status,responseMessage:e})}}async function Fe(e,t=$e,n){var{appId:a,apiKey:r,measurementId:i}=e.options;if(!a)throw Re.create("no-app-id");if(!r){if(i)return{measurementId:i,appId:a};throw Re.create("no-api-key")}var o=t.getThrottleMetadata(a)||{backoffCount:0,throttleEndTimeMillis:Date.now()};const s=new Ve;return setTimeout(async()=>{s.abort()},void 0!==n?n:6e4),async function t(n,{throttleEndTimeMillis:e,backoffCount:a},r,i=$e){var o;const{appId:s,measurementId:c}=n;try{await He(r,e)}catch(e){if(c)return Ae.warn("Timed out fetching this Firebase app's measurement ID from the server."+` Falling back to the measurement ID ${c}`+` provided in the "measurementId" field in the local Firebase config. [${null===(o=e)||void 0===o?void 0:o.message}]`),{appId:s,measurementId:c};throw e}try{const l=await Be(n);return i.deleteThrottleMetadata(s),l}catch(e){const u=e;if(!xe(u)){if(i.deleteThrottleMetadata(s),c)return Ae.warn("Failed to fetch this Firebase app's measurement ID from the server."+` Falling back to the measurement ID ${c}`+` provided in the "measurementId" field in the local Firebase config. [${null===u||void 0===u?void 0:u.message}]`),{appId:s,measurementId:c};throw e}const d=503===Number(null===(o=null===u||void 0===u?void 0:u.customData)||void 0===o?void 0:o.httpStatus)?y(a,i.intervalMillis,je):y(a,i.intervalMillis),p={throttleEndTimeMillis:Date.now()+d,backoffCount:a+1};return i.setThrottleMetadata(s,p),Ae.debug(`Calling attemptFetch again in ${d} millis`),t(n,p,r,i)}}({appId:a,apiKey:r,measurementId:i},o,s,t)}function He(r,i){return new Promise((e,t)=>{var n=Math.max(i-Date.now(),0);const a=setTimeout(e,n);r.addEventListener(()=>{clearTimeout(a),t(Re.create("fetch-throttle",{throttleEndTimeMillis:i}))})})}function xe(e){if(!(e instanceof u&&e.customData))return!1;var t=Number(e.customData.httpStatus);return 429===t||500===t||503===t||504===t}class Ve{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}abort(){this.listeners.forEach(e=>e())}}async function qe(t,e,n,a,r,i,o){const s=Fe(t);s.then(e=>{n[e.measurementId]=e.appId,t.options.measurementId&&e.measurementId!==t.options.measurementId&&Ae.warn(`The measurement ID in the local Firebase config (${t.options.measurementId})`+` does not match the measurement ID fetched from the server (${e.measurementId}).`+" To ensure analytics events are always sent to the correct Analytics property, update the measurement ID field in the local config or remove it from the local config.")}).catch(e=>Ae.error(e)),e.push(s);var c=async function(){if(!p())return Ae.warn(Re.create("indexeddb-unavailable",{errorInfo:"IndexedDB is not available in this environment."}).message),!1;try{await f()}catch(e){return Ae.warn(Re.create("indexeddb-unavailable",{errorInfo:null===e||void 0===e?void 0:e.toString()}).message),!1}return!0}().then(e=>{if(e)return a.getId()}),[l,u]=await Promise.all([s,c]);!function(){var e=window.document.getElementsByTagName("script");for(const t of Object.values(e))if(t.src&&t.src.includes(Ne))return t}()&&function(e,t){const n=document.createElement("script");n.src=`${Ne}?l=${e}&id=${t}`,n.async=!0,document.head.appendChild(n)}(i,l.measurementId),r("js",new Date);const d=null!==(c=null==o?void 0:o.config)&&void 0!==c?c:{};return d[Le]="firebase",d.update=!0,null!=u&&(d[Oe]=u),r("config",l.measurementId,d),l.measurementId}class We{constructor(e){this.app=e}_delete(){return delete Ue[this.app.options.appId],Promise.resolve()}}let Ue={},Ge=[];const Ke={};let ze="dataLayer",Je="gtag",Ye,Xe,Ze=!1;function Qe(e){if(Ze)throw Re.create("already-initialized");e.dataLayerName&&(ze=e.dataLayerName),e.gtagName&&(Je=e.gtagName)}function et(e,t,n){!function(){const e=[];var t;c()&&e.push("This is a browser extension environment."),l()||e.push("Cookies are not available."),0`(${t+1}) ${e}`).join(" "),t=Re.create("invalid-analytics-context",{errorInfo:t}),Ae.warn(t.message))}();var a,r,i=e.options.appId;if(!i)throw Re.create("no-app-id");if(!e.options.apiKey){if(!e.options.measurementId)throw Re.create("no-api-key");Ae.warn('The "apiKey" field is empty in the local Firebase config. This is needed to fetch the latest'+` measurement ID for this Firebase app. Falling back to the measurement ID ${e.options.measurementId}`+' provided in the "measurementId" field in the local Firebase config.')}if(null!=Ue[i])throw Re.create("already-exists",{id:i});return Ze||(function(e){let t=[];Array.isArray(window[e])?t=window[e]:window[e]=t,t}(ze),{wrappedGtag:a,gtagCore:r}=function(e,t,n,a,r){let i=function(){window[a].push(arguments)};return window[r]&&"function"==typeof window[r]&&(i=window[r]),window[r]=Me(i,e,t,n),{gtagCore:i,wrappedGtag:window[r]}}(Ue,Ge,Ke,ze,Je),Xe=a,Ye=r,Ze=!0),Ue[i]=qe(e,Ge,Ke,t,Ye,ze,n),new We(e)}async function tt(){if(c())return!1;if(!l())return!1;if(!p())return!1;try{return await f()}catch(e){return!1}}function nt(e,t,n){e=I(e),async function(e,t,n,a){if(a&&a.global)return e("set",{screen_name:n}),Promise.resolve();e("config",await t,{update:!0,screen_name:n})}(Xe,Ue[e.app.options.appId],t,n).catch(e=>Ae.error(e))}function at(e,t,n){e=I(e),async function(e,t,n,a){if(a&&a.global)return e("set",{user_id:n}),Promise.resolve();e("config",await t,{update:!0,user_id:n})}(Xe,Ue[e.app.options.appId],t,n).catch(e=>Ae.error(e))}function rt(e,t,n){e=I(e),async function(e,t,n,a){if(a&&a.global){const r={};for(const i of Object.keys(n))r[`user_properties.${i}`]=n[i];return e("set",r),Promise.resolve()}e("config",await t,{update:!0,user_properties:n})}(Xe,Ue[e.app.options.appId],t,n).catch(e=>Ae.error(e))}function it(e,t){e=I(e),async function(e,t){var n=await e;window[`ga-disable-${n}`]=!t}(Ue[e.app.options.appId],t).catch(e=>Ae.error(e))}function ot(e,t,n,a){e=I(e),async function(e,t,n,a,r){var i;r&&r.global?e("event",n,a):(i=await t,e("event",n,Object.assign(Object.assign({},a),{send_to:i})))}(Xe,Ue[e.app.options.appId],t,n,a).catch(e=>Ae.error(e))}const st="@firebase/analytics";ht._registerComponent(new b(De,(e,{options:t})=>{return et(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),t)},"PUBLIC")),ht._registerComponent(new b("analytics-internal",function(e){try{const a=e.getProvider(De).getImmediate();return{logEvent:(e,t,n)=>ot(a,e,t,n)}}catch(e){throw Re.create("interop-component-reg-failed",{reason:e})}},"PRIVATE")),ht.registerVersion(st,"0.8.0"),ht.registerVersion(st,"0.8.0","esm2017");var ct,lt,ut;class dt{constructor(e,t){this.app=e,this._delegate=t}logEvent(e,t,n){ot(this._delegate,e,t,n)}setCurrentScreen(e,t){nt(this._delegate,e,t)}setUserId(e,t){at(this._delegate,e,t)}setUserProperties(e,t){rt(this._delegate,e,t)}setAnalyticsCollectionEnabled(e){it(this._delegate,e)}}(lt=ct=ct||{}).ADD_SHIPPING_INFO="add_shipping_info",lt.ADD_PAYMENT_INFO="add_payment_info",lt.ADD_TO_CART="add_to_cart",lt.ADD_TO_WISHLIST="add_to_wishlist",lt.BEGIN_CHECKOUT="begin_checkout",lt.CHECKOUT_PROGRESS="checkout_progress",lt.EXCEPTION="exception",lt.GENERATE_LEAD="generate_lead",lt.LOGIN="login",lt.PAGE_VIEW="page_view",lt.PURCHASE="purchase",lt.REFUND="refund",lt.REMOVE_FROM_CART="remove_from_cart",lt.SCREEN_VIEW="screen_view",lt.SEARCH="search",lt.SELECT_CONTENT="select_content",lt.SELECT_ITEM="select_item",lt.SELECT_PROMOTION="select_promotion",lt.SET_CHECKOUT_OPTION="set_checkout_option",lt.SHARE="share",lt.SIGN_UP="sign_up",lt.TIMING_COMPLETE="timing_complete",lt.VIEW_CART="view_cart",lt.VIEW_ITEM="view_item",lt.VIEW_ITEM_LIST="view_item_list",lt.VIEW_PROMOTION="view_promotion",lt.VIEW_SEARCH_RESULTS="view_search_results";const pt=e=>{var t=e.getProvider("app-compat").getImmediate(),n=e.getProvider("analytics").getImmediate();return new dt(t,n)};ut={Analytics:dt,settings:Qe,isSupported:tt,EventName:ct},n.default.INTERNAL.registerComponent(new b("analytics-compat",pt,"PUBLIC").setServiceProps(ut).setMultipleInstances(!0)),n.default.registerVersion("@firebase/analytics-compat","0.1.13")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-analytics-compat.js - be sure to load firebase-app.js first.")}}); -//# sourceMappingURL=firebase-analytics-compat.js.map diff --git a/smashkarts/js/firebase/9.9.3/firebase-app-compat.js b/smashkarts/js/firebase/9.9.3/firebase-app-compat.js deleted file mode 100644 index c877d741..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-app-compat.js +++ /dev/null @@ -1,8 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).firebase=t()}(this,function(){"use strict";const r=function(t){const r=[];let n=0;for(let a=0;a>6|192:(55296==(64512&e)&&a+1>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r},n={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_;const a=[];for(let l=0;l>6,t=63&h;c||(t=64,s||(e=64)),a.push(n[i>>2],n[(3&i)<<4|o>>4],n[e],n[t])}return a.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(r(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let r=0,n=0;for(;r>10)),t[n++]=String.fromCharCode(56320+(1023&i))):(a=e[r++],i=e[r++],t[n++]=String.fromCharCode((15&s)<<12|(63&a)<<6|63&i))}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_;const n=[];for(let c=0;c>4),64!==s&&(n.push(i<<4&240|s>>2),64!==o&&n.push(s<<6&192|o))}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},a=function(e){return e=e,t=r(e),n.encodeByteArray(t,!0).replace(/\./g,"");var t};function c(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:const r=t;return new Date(r.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(const n in t)t.hasOwnProperty(n)&&"__proto__"!==n&&(e[n]=c(e[n],t[n]));return e}class i{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(r){return(e,t)=>{e?this.reject(e):this.resolve(t),"function"==typeof r&&(this.promise.catch(()=>{}),1===r.length?r(e):r(e,t))}}}class s extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,s.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,o.prototype.create)}}class o{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var n,r=t[0]||{},a=`${this.service}/${e}`,i=this.errors[e],i=i?(n=r,i.replace(h,(e,t)=>{var r=n[t];return null!=r?String(r):`<${t}?>`})):"Error",i=`${this.serviceName}: ${i} (${a}).`;return new s(a,i,r)}}const h=/\{\$([^}]+)}/g;function l(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function d(e,t){if(e===t)return 1;const r=Object.keys(e),n=Object.keys(t);for(const s of r){if(!n.includes(s))return;var a=e[s],i=t[s];if(p(a)&&p(i)){if(!d(a,i))return}else if(a!==i)return}for(const o of n)if(!r.includes(o))return;return 1}function p(e){return null!==e&&"object"==typeof e}function u(e,t){const r=new f(e,t);return r.subscribe.bind(r)}class f{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(t){this.forEachObserver(e=>{e.next(t)})}error(t){this.forEachObserver(e=>{e.error(t)}),this.close(t)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw new Error("Missing Observer.");n=function(e,t){if("object"!=typeof e||null===e)return!1;for(const r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?e:{next:e,error:t,complete:r},void 0===n.next&&(n.next=g),void 0===n.error&&(n.error=g),void 0===n.complete&&(n.complete=g);var a=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),a}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],--this.observerCount,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(t){if(!this.finalized)for(let e=0;e{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function g(){}class m{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const b="[DEFAULT]";class v{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){var t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const n=new i;if(this.instancesDeferred.set(t,n),this.isInitialized(t)||this.shouldAutoInitialize())try{var r=this.getOrInitializeService({instanceIdentifier:t});r&&n.resolve(r)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),r=null!==(r=null==e?void 0:e.optional)&&void 0!==r&&r;if(!this.isInitialized(t)&&!this.shouldAutoInitialize()){if(r)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:t})}catch(e){if(r)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:b})}catch(e){}for(var[t,r]of this.instancesDeferred.entries()){t=this.normalizeInstanceIdentifier(t);try{var n=this.getOrInitializeService({instanceIdentifier:t});r.resolve(n)}catch(e){}}}}clearInstance(e=b){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=b){return this.instances.has(e)}getOptions(e=b){return this.instancesOptions.get(e)||{}}initialize(e={}){var{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);var n,a,i=this.getOrInitializeService({instanceIdentifier:r,options:t});for([n,a]of this.instancesDeferred.entries())r===this.normalizeInstanceIdentifier(n)&&a.resolve(i);return i}onInit(e,t){var r=this.normalizeInstanceIdentifier(t);const n=null!==(a=this.onInitCallbacks.get(r))&&void 0!==a?a:new Set;n.add(e),this.onInitCallbacks.set(r,n);var a=this.instances.get(r);return a&&e(a,r),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){var r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:(n=e)===b?void 0:n,options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch(e){}var n;return r||null}normalizeInstanceIdentifier(e=b){return!this.component||this.component.multipleInstances?e:b}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class _{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){const t=this.getProvider(e.name);t.isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);var t=new v(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}const E=[];var y,e,I;(e=y=y||{})[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT";const w={debug:y.DEBUG,verbose:y.VERBOSE,info:y.INFO,warn:y.WARN,error:y.ERROR,silent:y.SILENT},t=y.INFO,C={[y.DEBUG]:"log",[y.VERBOSE]:"log",[y.INFO]:"info",[y.WARN]:"warn",[y.ERROR]:"error"},D=(e,t,...r)=>{if(!(te.some(e=>t instanceof e);let A,L;const N=new WeakMap,B=new WeakMap,T=new WeakMap,P=new WeakMap,M=new WeakMap;let k={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return B.get(e);if("objectStoreNames"===t)return e.objectStoreNames||T.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return j(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function R(n){return n!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(L=L||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(n)?function(...e){return n.apply(H(this),e),j(N.get(this))}:function(...e){return j(n.apply(H(this),e))}:function(e,...t){var r=n.call(H(this),e,...t);return T.set(r,e.sort?e.sort():[e]),j(r)}}function $(e){return"function"==typeof e?R(e):(e instanceof IDBTransaction&&(i=e,B.has(i)||(t=new Promise((e,t)=>{const r=()=>{i.removeEventListener("complete",n),i.removeEventListener("error",a),i.removeEventListener("abort",a)},n=()=>{e(),r()},a=()=>{t(i.error||new DOMException("AbortError","AbortError")),r()};i.addEventListener("complete",n),i.addEventListener("error",a),i.addEventListener("abort",a)}),B.set(i,t))),O(e,A=A||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,k):e);var i,t}function j(e){if(e instanceof IDBRequest)return function(i){const e=new Promise((e,t)=>{const r=()=>{i.removeEventListener("success",n),i.removeEventListener("error",a)},n=()=>{e(j(i.result)),r()},a=()=>{t(i.error),r()};i.addEventListener("success",n),i.addEventListener("error",a)});return e.then(e=>{e instanceof IDBCursor&&N.set(e,i)}).catch(()=>{}),M.set(e,i),e}(e);if(P.has(e))return P.get(e);var t=$(e);return t!==e&&(P.set(e,t),M.set(t,e)),t}const H=e=>M.get(e);const F=["get","getKey","getAll","getAllKeys","count"],x=["put","add","delete","clear"],z=new Map;function V(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(z.get(t))return z.get(t);const a=t.replace(/FromIndex$/,""),i=t!==a,s=x.includes(a);if(a in(i?IDBIndex:IDBObjectStore).prototype&&(s||F.includes(a))){var r=async function(e,...t){var r=this.transaction(e,s?"readwrite":"readonly");let n=r.store;return i&&(n=n.index(t.shift())),(await Promise.all([n[a](...t),s&&r.done]))[0]};return z.set(t,r),r}}}k={...I=k,get:(e,t,r)=>V(e,t)||I.get(e,t,r),has:(e,t)=>!!V(e,t)||I.has(e,t)};class W{constructor(e){this.container=e}getPlatformInfoString(){const e=this.container.getProviders();return e.map(e=>{if("VERSION"!==(null==(t=e.getComponent())?void 0:t.type))return null;var t,t=e.getImmediate();return`${t.library}/${t.version}`}).filter(e=>e).join(" ")}}const U="@firebase/app",G=new S("@firebase/app");var K;const J="[DEFAULT]",Y={"@firebase/app":"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","fire-js":"fire-js",firebase:"fire-js-all"},X=new Map,q=new Map;function Z(t,r){try{t.container.addComponent(r)}catch(e){G.debug(`Component ${r.name} failed to register with FirebaseApp ${t.name}`,e)}}function Q(e,t){e.container.addOrOverwriteComponent(t)}function ee(e){var t=e.name;if(q.has(t))return G.debug(`There were multiple attempts to register component ${t}.`),!1;q.set(t,e);for(const r of X.values())Z(r,e);return!0}function te(e,t){const r=e.container.getProvider("heartbeat").getImmediate({optional:!0});return r&&r.triggerHeartbeat(),e.container.getProvider(t)}const re=new o("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","bad-app-name":"Illegal App name: '{$appName}","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}."});class ne{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new m("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw re.create("app-deleted",{appName:this._name})}}const ae="9.9.3";function ie(e,t={}){if("object"!=typeof t){const n=t;t={name:n}}var r=Object.assign({name:J,automaticDataCollectionEnabled:!1},t);const n=r.name;if("string"!=typeof n||!n)throw re.create("bad-app-name",{appName:String(n)});var a=X.get(n);if(a){if(d(e,a.options)&&d(r,a.config))return a;throw re.create("duplicate-app",{appName:n})}const i=new _(n);for(const s of q.values())i.addComponent(s);r=new ne(e,r,i);return X.set(n,r),r}async function se(e){var t=e.name;X.has(t)&&(X.delete(t),await Promise.all(e.container.getProviders().map(e=>e.delete())),e.isDeleted=!0)}function oe(e,t,r){let n=null!==(i=Y[e])&&void 0!==i?i:e;r&&(n+=`-${r}`);var a=n.match(/\s|\//),i=t.match(/\s|\//);if(a||i){const s=[`Unable to register library "${n}" with version "${t}":`];return a&&s.push(`library name "${n}" contains illegal characters (whitespace or "/")`),a&&i&&s.push("and"),i&&s.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void G.warn(s.join(" "))}ee(new m(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}function ce(e,t){if(null!==e&&"function"!=typeof e)throw re.create("invalid-log-argument");!function(i,e){for(const t of E){let a=null;e&&e.level&&(a=w[e.level]),t.userLogHandler=null===i?null:(e,t,...r)=>{var n=r.map(e=>{if(null==e)return null;if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e)return e.toString();if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch(e){return null}}).filter(e=>e).join(" ");t>=(null!==a&&void 0!==a?a:e.logLevel)&&i({level:y[t].toLowerCase(),message:n,args:r,type:e.name})}}}(e,t)}function he(e){var t;t=e,E.forEach(e=>{e.setLogLevel(t)})}const le="firebase-heartbeat-database",de=1,pe="firebase-heartbeat-store";let ue=null;function fe(){return ue=ue||function(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}){const s=indexedDB.open(e,t),o=j(s);return n&&s.addEventListener("upgradeneeded",e=>{n(j(s.result),e.oldVersion,e.newVersion,j(s.transaction))}),r&&s.addEventListener("blocked",()=>r()),o.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",()=>a())}).catch(()=>{}),o}(le,de,{upgrade:(e,t)=>{0===t&&e.createObjectStore(pe)}}).catch(e=>{throw re.create("idb-open",{originalErrorMessage:e.message})}),ue}async function ge(e,t){var r;try{const n=await fe(),a=n.transaction(pe,"readwrite"),i=a.objectStore(pe);return await i.put(t,me(e)),a.done}catch(e){e instanceof s?G.warn(e.message):(r=re.create("idb-set",{originalErrorMessage:null===e||void 0===e?void 0:e.message}),G.warn(r.message))}}function me(e){return`${e.name}!${e.options.appId}`}class be{constructor(e){this.container=e,this._heartbeatsCache=null;var t=this.container.getProvider("app").getImmediate();this._storage=new _e(t),this._heartbeatsCachePromise=this._storage.read().then(e=>this._heartbeatsCache=e)}async triggerHeartbeat(){const e=this.container.getProvider("platform-logger").getImmediate();var t=e.getPlatformInfoString();const r=ve();if(null===this._heartbeatsCache&&(this._heartbeatsCache=await this._heartbeatsCachePromise),this._heartbeatsCache.lastSentHeartbeatDate!==r&&!this._heartbeatsCache.heartbeats.some(e=>e.date===r))return this._heartbeatsCache.heartbeats.push({date:r,agent:t}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter(e=>{var t=new Date(e.date).valueOf();return Date.now()-t<=2592e6}),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null===this._heartbeatsCache||0===this._heartbeatsCache.heartbeats.length)return"";var e=ve(),{heartbeatsToSend:t,unsentEntries:r}=function(e,t=1024){const r=[];let n=e.slice();for(const a of e){const i=r.find(e=>e.agent===a.agent);if(i){if(i.dates.push(a.date),Ee(r)>t){i.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),Ee(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}(this._heartbeatsCache.heartbeats),t=a(JSON.stringify({version:2,heartbeats:t}));return this._heartbeatsCache.lastSentHeartbeatDate=e,0{try{let e=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),e||self.indexedDB.deleteDatabase(n),t(!0)},a.onupgradeneeded=()=>{e=!1},a.onerror=()=>{var e;r((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){r(e)}}).then(()=>!0).catch(()=>!1)}async read(){return await this._canUseIndexedDBPromise&&await async function(e){var t;try{const r=await fe();return r.transaction(pe).objectStore(pe).get(me(e))}catch(e){e instanceof s?G.warn(e.message):(t=re.create("idb-get",{originalErrorMessage:null===e||void 0===e?void 0:e.message}),G.warn(t.message))}}(this.app)||{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){var r=await this.read();return ge(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){var r=await this.read();return ge(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function Ee(e){return a(JSON.stringify({version:2,heartbeats:e})).length}K="",ee(new m("platform-logger",e=>new W(e),"PRIVATE")),ee(new m("heartbeat",e=>new be(e),"PRIVATE")),oe(U,"0.7.31",K),oe(U,"0.7.31","esm2017"),oe("fire-js","");var ye=Object.freeze({__proto__:null,SDK_VERSION:ae,_DEFAULT_ENTRY_NAME:J,_addComponent:Z,_addOrOverwriteComponent:Q,_apps:X,_clearComponents:function(){q.clear()},_components:q,_getProvider:te,_registerComponent:ee,_removeServiceInstance:function(e,t,r=J){te(e,t).clearInstance(r)},deleteApp:se,getApp:function(e=J){var t=X.get(e);if(!t)throw re.create("no-app",{appName:e});return t},getApps:function(){return Array.from(X.values())},initializeApp:ie,onLog:ce,registerVersion:oe,setLogLevel:he,FirebaseError:s});class Ie{constructor(e,t){this._delegate=e,this.firebase=t,Z(e,new m("app-compat",()=>this,"PUBLIC")),this.container=e.container}get automaticDataCollectionEnabled(){return this._delegate.automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this._delegate.automaticDataCollectionEnabled=e}get name(){return this._delegate.name}get options(){return this._delegate.options}delete(){return new Promise(e=>{this._delegate.checkDestroyed(),e()}).then(()=>(this.firebase.INTERNAL.removeApp(this.name),se(this._delegate)))}_getService(e,t=J){var r;this._delegate.checkDestroyed();const n=this._delegate.container.getProvider(e);return n.isInitialized()||"EXPLICIT"!==(null===(r=n.getComponent())||void 0===r?void 0:r.instantiationMode)||n.initialize(),n.getImmediate({identifier:t})}_removeServiceInstance(e,t=J){this._delegate.container.getProvider(e).clearInstance(t)}_addComponent(e){Z(this._delegate,e)}_addOrOverwriteComponent(e){Q(this._delegate,e)}toJSON(){return{name:this.name,automaticDataCollectionEnabled:this.automaticDataCollectionEnabled,options:this.options}}}const we=new o("app-compat","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call Firebase App.initializeApp()","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance."});function Ce(a){const i={},s={__esModule:!0,initializeApp:function(e,t={}){var r=ie(e,t);if(l(i,r.name))return i[r.name];var n=new a(r,s);return i[r.name]=n},app:o,registerVersion:oe,setLogLevel:he,onLog:ce,apps:null,SDK_VERSION:ae,INTERNAL:{registerComponent:function(r){const n=r.name,t=n.replace("-compat","");{var e;ee(r)&&"PUBLIC"===r.type&&(e=(e=o())=>{if("function"!=typeof e[t])throw we.create("invalid-app-argument",{appName:n});return e[t]()},void 0!==r.serviceProps&&c(e,r.serviceProps),s[t]=e,a.prototype[t]=function(...e){const t=this._getService.bind(this,n);return t.apply(this,r.multipleInstances?e:[])})}return"PUBLIC"===r.type?s[t]:null},removeApp:function(e){delete i[e]},useAsService:function(e,t){if("serverAuth"===t)return null;var r=t;return r},modularAPIs:ye}};function o(e){if(e=e||J,!l(i,e))throw we.create("no-app",{appName:e});return i[e]}return s.default=s,Object.defineProperty(s,"apps",{get:function(){return Object.keys(i).map(e=>i[e])}}),o.App=a,s}var De=function e(){const t=Ce(Ie);return t.INTERNAL=Object.assign(Object.assign({},t.INTERNAL),{createFirebaseNamespace:e,extendNamespace:function(e){c(t,e)},createSubscribe:u,ErrorFactory:o,deepExtend:c}),t}();const Se=new S("@firebase/app-compat");if("object"==typeof self&&self.self===self&&void 0!==self.firebase){Se.warn(` - Warning: Firebase is already defined in the global scope. Please make sure - Firebase library is only loaded once. - `);const Ae=self.firebase.SDK_VERSION;Ae&&0<=Ae.indexOf("LITE")&&Se.warn(` - Warning: You are trying to load Firebase while using Firebase Performance standalone script. - You should load Firebase Performance with this instance of Firebase to avoid loading duplicate code. - `)}const Oe=De;oe("@firebase/app-compat","0.1.32",void 0);return Oe.registerVersion("firebase","9.9.3","app-compat-cdn"),Oe}); -//# sourceMappingURL=firebase-app-compat.js.map diff --git a/smashkarts/js/firebase/9.9.3/firebase-auth-compat.js b/smashkarts/js/firebase/9.9.3/firebase-auth-compat.js deleted file mode 100644 index bde848eb..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-auth-compat.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(oi,li){"use strict";try{!(function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r,t,i=e(oi);const n={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_;const i=[];for(let u=0;u>6,t=63&c;l||(t=64,a||(e=64)),i.push(n[s>>2],n[(3&s)<<4|o>>4],n[e],n[t])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(function(t){const r=[];let n=0;for(let i=0;i>6|192:(55296==(64512&e)&&i+1>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r}(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let r=0,n=0;for(;r>10)),t[n++]=String.fromCharCode(56320+(1023&s))):(i=e[r++],s=e[r++],t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s))}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_;const n=[];for(let l=0;l>4),64!==a&&(n.push(s<<4&240|a>>2),64!==o&&n.push(a<<6&192|o))}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},s=function(e){try{return n.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function d(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function a(){try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){return!1}}function o(){var e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function l(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function c(){const e=d();return 0<=e.indexOf("MSIE ")||0<=e.indexOf("Trident/")}function u(){return"object"==typeof indexedDB}class h extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,h.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,p.prototype.create)}}class p{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var n,r=t[0]||{},i=`${this.service}/${e}`,s=this.errors[e],s=s?(n=r,s.replace(f,(e,t)=>{var r=n[t];return null!=r?String(r):`<${t}?>`})):"Error",s=`${this.serviceName}: ${s} (${i}).`;return new h(i,s,r)}}const f=/\{\$([^}]+)}/g;function v(e){const t=[];for(const[r,n]of Object.entries(e))Array.isArray(n)?n.forEach(e=>{t.push(encodeURIComponent(r)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(r)+"="+encodeURIComponent(n));return t.length?"&"+t.join("&"):""}function m(e){const n={},t=e.replace(/^\?/,"").split("&");return t.forEach(e=>{var t,r;e&&([t,r]=e.split("="),n[decodeURIComponent(t)]=decodeURIComponent(r))}),n}function g(e){var t=e.indexOf("?");if(!t)return"";var r=e.indexOf("#",t);return e.substring(t,0{e(this)}).catch(e=>{this.error(e)})}next(t){this.forEachObserver(e=>{e.next(t)})}error(t){this.forEachObserver(e=>{e.error(t)}),this.close(t)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,r){let n;if(void 0===e&&void 0===t&&void 0===r)throw new Error("Missing Observer.");n=function(e,t){if("object"!=typeof e||null===e)return!1;for(const r of t)if(r in e&&"function"==typeof e[r])return!0;return!1}(e,["next","error","complete"])?e:{next:e,error:t,complete:r},void 0===n.next&&(n.next=y),void 0===n.error&&(n.error=y),void 0===n.complete&&(n.complete=y);var i=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?n.error(this.finalError):n.complete()}catch(e){}}),this.observers.push(n),i}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],--this.observerCount,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(t){if(!this.finalized)for(let e=0;e{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function y(){}function I(e){return e&&e._delegate?e._delegate:e}function w(e,t){var r={};for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(e);n{if(!(t{let e={},t={};o&&("GET"===s?t=o:e={body:JSON.stringify(o)});var r=v(Object.assign({key:i.config.apiKey},t)).slice(1);const n=await i._getAdditionalHeaders();return n["Content-Type"]="application/json",i.languageCode&&(n["X-Firebase-Locale"]=i.languageCode),Y.fetch()(ne(i,i.config.apiHost,a,r),Object.assign({method:s,headers:n,referrerPolicy:"no-referrer"},e))})}async function te(t,e,r){t._canInitEmulator=!1;var n=Object.assign(Object.assign({},X),e);try{const a=new ie(t),o=await Promise.race([r(),a.promise]);a.clearNetworkTimeout();var i=await o.json();if("needConfirmation"in i)throw se(t,"account-exists-with-different-credential",i);if(o.ok&&!("errorMessage"in i))return i;{const l=o.ok?i.errorMessage:i.error.message,[c,u]=l.split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===c)throw se(t,"credential-already-in-use",i);if("EMAIL_EXISTS"===c)throw se(t,"email-already-in-use",i);if("USER_DISABLED"===c)throw se(t,"user-disabled",i);var s=n[c]||c.toLowerCase().replace(/[_\s]+/g,"-");if(u)throw F(t,s,u);M(t,s)}}catch(e){if(e instanceof h)throw e;M(t,"network-request-failed")}}async function re(e,t,r,n,i={}){var s=await ee(e,t,r,n,i);return"mfaPendingCredential"in s&&M(e,"multi-factor-auth-required",{_serverResponse:s}),s}function ne(e,t,r,n){var i=`${t}${r}?${n}`;return e.config.emulator?J(e.config,i):`${e.config.apiScheme}://${i}`}class ie{constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(U(this.auth,"network-request-failed")),Z.get())})}clearNetworkTimeout(){clearTimeout(this.timer)}}function se(e,t,r){const n={appName:e.name};r.email&&(n.email=r.email),r.phoneNumber&&(n.phoneNumber=r.phoneNumber);const i=U(e,t,n);return i.customData._tokenResponse=r,i}function ae(e){if(e)try{const t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}function oe(e){return 1e3*Number(e)}function le(e){var[t,r,n]=e.split(".");if(void 0===t||void 0===r||void 0===n)return D("JWT malformed, contained fewer than 3 sections"),null;try{var i=s(r);return i?JSON.parse(i):(D("Failed to decode base64 JWT payload"),null)}catch(e){return D("Caught error parsing JWT payload as JSON",null===e||void 0===e?void 0:e.toString()),null}}async function ce(t,r,e=!1){if(e)return r;try{return r}catch(e){throw e instanceof h&&(r=[e["code"]][0],"auth/user-disabled"===r||"auth/user-token-expired"===r)&&t.auth.currentUser===t&&await t.auth.signOut(),e}}class ue{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){if(e){var t=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),t}this.errorBackoff=3e4;t=(null!==(t=this.user.stsTokenManager.expirationTime)&&void 0!==t?t:0)-Date.now()-3e5;return Math.max(0,t)}schedule(e=!1){var t;this.isRunning&&(t=this.getInterval(e),this.timerId=setTimeout(async()=>{await this.iteration()},t))}async iteration(){try{await this.user.getIdToken(!0)}catch(e){return void("auth/network-request-failed"===(null===e||void 0===e?void 0:e.code)&&this.schedule(!0))}this.schedule()}}class de{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=ae(this.lastLoginAt),this.creationTime=ae(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function he(e){var t=e.auth,r=await e.getIdToken(),n=await ce(e,async function(e,t){return ee(e,"POST","/v1/accounts:lookup",t)}(t,{idToken:r}));j(null==n?void 0:n.users.length,t,"internal-error");var i=n.users[0];e._notifyReloadListener(i);var s,a,t=null!==(r=i.providerUserInfo)&&void 0!==r&&r.length?i.providerUserInfo.map(e=>{var t=e["providerId"],r=w(e,["providerId"]);return{providerId:t,uid:r.rawId||"",displayName:r.displayName||null,email:r.email||null,phoneNumber:r.phoneNumber||null,photoURL:r.photoUrl||null}}):[],n=(s=e.providerData,a=t,[...s.filter(t=>!a.some(e=>e.providerId===t.providerId)),...a]),r=e.isAnonymous,t=!(e.email&&i.passwordHash||null!==n&&n.length),t=!!r&&t,t={uid:i.localId,displayName:i.displayName||null,photoURL:i.photoUrl||null,email:i.email||null,emailVerified:i.emailVerified||!1,phoneNumber:i.phoneNumber||null,tenantId:i.tenantId||null,providerData:n,metadata:new de(i.createdAt,i.lastLoginAt),isAnonymous:t};Object.assign(e,t)}class pe{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){j(e.idToken,"internal-error"),j(void 0!==e.idToken,"internal-error"),j(void 0!==e.refreshToken,"internal-error");var t,r,r="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):(t=e.idToken,j(r=le(t),"internal-error"),j(void 0!==r.exp,"internal-error"),j(void 0!==r.iat,"internal-error"),Number(r.exp)-Number(r.iat));this.updateTokensAndExpiration(e.idToken,e.refreshToken,r)}async getToken(e,t=!1){return j(!this.accessToken||this.refreshToken,e,"user-token-expired"),t||!this.accessToken||this.isExpired?this.refreshToken?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){var i,s,{accessToken:r,refreshToken:n,expiresIn:a}=(s=t,await{accessToken:(a=await te(i=e,{},async()=>{var e=v({grant_type:"refresh_token",refresh_token:s}).slice(1),{tokenApiHost:t,apiKey:r}=i.config,r=ne(i,t,"/v1/token",`key=${r}`);const n=await i._getAdditionalHeaders();return n["Content-Type"]="application/x-www-form-urlencoded",Y.fetch()(r,{method:"POST",headers:n,body:e})})).access_token,expiresIn:a.expires_in,refreshToken:a.refresh_token});this.updateTokensAndExpiration(r,n,Number(a))}updateTokensAndExpiration(e,t,r){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*r}static fromJSON(e,t){var{refreshToken:r,accessToken:n,expirationTime:i}=t;const s=new pe;return r&&(j("string"==typeof r,"internal-error",{appName:e}),s.refreshToken=r),n&&(j("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),i&&(j("number"==typeof i,"internal-error",{appName:e}),s.expirationTime=i),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new pe,this.toJSON())}_performRefresh(){return W("not implemented")}}function fe(e,t){j("string"==typeof e||void 0===e,"internal-error",{appName:t})}class ve{constructor(e){var{uid:t,auth:r,stsTokenManager:n}=e,i=w(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new ue(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=r,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=i.displayName||null,this.email=i.email||null,this.emailVerified=i.emailVerified||!1,this.phoneNumber=i.phoneNumber||null,this.photoURL=i.photoURL||null,this.isAnonymous=i.isAnonymous||!1,this.tenantId=i.tenantId||null,this.providerData=i.providerData?[...i.providerData]:[],this.metadata=new de(i.createdAt||void 0,i.lastLoginAt||void 0)}async getIdToken(e){var t=await ce(this,this.stsTokenManager.getToken(this.auth,e));return j(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return async function(e,t=!1){const r=I(e);var n=await r.getIdToken(t),i=le(n);j(i&&i.exp&&i.auth_time&&i.iat,r.auth,"internal-error");var s="object"==typeof i.firebase?i.firebase:void 0,a=null==s?void 0:s.sign_in_provider;return{claims:i,token:n,authTime:ae(oe(i.auth_time)),issuedAtTime:ae(oe(i.iat)),expirationTime:ae(oe(i.exp)),signInProvider:a||null,signInSecondFactor:(null==s?void 0:s.sign_in_second_factor)||null}}(this,e)}reload(){return async function(e){const t=I(e);await he(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}(this)}_assign(e){this!==e&&(j(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>Object.assign({},e)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){return new ve(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}))}_onReload(e){j(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let r=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),r=!0),t&&await he(this),await this.auth._persistUserIfCurrent(this),r&&this.auth._notifyListenersIfCurrent(this)}async delete(){var e=await this.getIdToken();return await ce(this,async function(e,t){return ee(e,"POST","/v1/accounts:delete",t)}(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},e)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){var r=null!==(a=t.displayName)&&void 0!==a?a:void 0,n=null!==(v=t.email)&&void 0!==v?v:void 0,i=null!==(o=t.phoneNumber)&&void 0!==o?o:void 0,s=null!==(c=t.photoURL)&&void 0!==c?c:void 0,a=null!==(l=t.tenantId)&&void 0!==l?l:void 0,o=null!==(v=t._redirectEventId)&&void 0!==v?v:void 0,l=null!==(c=t.createdAt)&&void 0!==c?c:void 0,c=null!==(v=t.lastLoginAt)&&void 0!==v?v:void 0;const{uid:u,emailVerified:d,isAnonymous:h,providerData:p,stsTokenManager:f}=t;j(u&&f,e,"internal-error");var v=pe.fromJSON(this.name,f);j("string"==typeof u,e,"internal-error"),fe(r,e.name),fe(n,e.name),j("boolean"==typeof d,e,"internal-error"),j("boolean"==typeof h,e,"internal-error"),fe(i,e.name),fe(s,e.name),fe(a,e.name),fe(o,e.name),fe(l,e.name),fe(c,e.name);const m=new ve({uid:u,auth:e,email:n,emailVerified:d,displayName:r,isAnonymous:h,photoURL:s,phoneNumber:i,tenantId:a,stsTokenManager:v,createdAt:l,lastLoginAt:c});return p&&Array.isArray(p)&&(m.providerData=p.map(e=>Object.assign({},e))),o&&(m._redirectEventId=o),m}static async _fromIdTokenResponse(e,t,r=!1){const n=new pe;n.updateFromServerResponse(t);var i=new ve({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:r});return await he(i),i}}class me{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){var t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}me.type="NONE";const ge=me;function _e(e,t,r){return`firebase:${e}:${t}:${r}`}class ye{constructor(e,t,r){this.persistence=e,this.auth=t,this.userKey=r;var{config:n,name:i}=this.auth;this.fullUserKey=_e(this.userKey,n.apiKey,i),this.fullPersistenceKey=_e("persistence",n.apiKey,i),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){var e=await this.persistence._get(this.fullUserKey);return e?ve._fromJSON(this.auth,e):null}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence!==e){var t=await this.getCurrentUser();return await this.removeCurrentUser(),this.persistence=e,t?this.setCurrentUser(t):void 0}}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,r="authUser"){if(!t.length)return new ye(z(ge),e,r);const n=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e);let i=n[0]||z(ge);const s=_e(r,e.config.apiKey,e.name);let a=null;for(const u of t)try{var o=await u._get(s);if(o){var l=ve._fromJSON(e,o);u!==i&&(a=l),i=u;break}}catch(e){}var c=n.filter(e=>e._shouldAllowMigration);return i._shouldAllowMigration&&c.length&&(i=c[0],a&&await i._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==i)try{await e._remove(s)}catch(e){}}))),new ye(i,e,r)}}function Ie(e){const t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";if(ke(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";if(t.includes("edge/"))return"Edge";if(we(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(Re(t))return"Blackberry";if(Se(t))return"Webos";if(Te(t))return"Safari";if((t.includes("chrome/")||be(t))&&!t.includes("edge/"))return"Chrome";if(Ee(t))return"Android";var r=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);return 2===(null==r?void 0:r.length)?r[1]:"Other"}function we(e=d()){return/firefox\//i.test(e)}function Te(e=d()){const t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function be(e=d()){return/crios\//i.test(e)}function ke(e=d()){return/iemobile/i.test(e)}function Ee(e=d()){return/android/i.test(e)}function Re(e=d()){return/blackberry/i.test(e)}function Se(e=d()){return/webos/i.test(e)}function Ae(e=d()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function Oe(e=d()){return Ae(e)||Ee(e)||Se(e)||Re(e)||/windows phone/i.test(e)||ke(e)}function Ne(e,t=[]){let r;switch(e){case"Browser":r=Ie(d());break;case"Worker":r=`${Ie(d())}-${e}`;break;default:r=e}var n=t.length?t.join(","):"FirebaseCore-web";return`${r}/JsCore/${li.SDK_VERSION}/${n}`}class Pe{constructor(e){this.auth=e,this.queue=[]}pushCallback(n,e){var t=r=>new Promise((e,t)=>{try{e(n(r))}catch(e){t(e)}});t.onAbort=e,this.queue.push(t);const r=this.queue.length-1;return()=>{this.queue[r]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser!==e){const t=[];try{for(const r of this.queue)await r(e),r.onAbort&&t.push(r.onAbort)}catch(e){t.reverse();for(const n of t)try{n()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null===e||void 0===e?void 0:e.message})}}}}class Ce{constructor(e,t,r){this.app=e,this.heartbeatServiceProvider=t,this.config=r,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new De(this),this.idTokenSubscription=new De(this),this.beforeStateQueue=new Pe(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=C,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=r.sdkClientVersion}_initializeWithPersistence(t,r){return r&&(this._popupRedirectResolver=z(r)),this._initializationPromise=this.queue(async()=>{var e;if(!this._deleted&&(this.persistenceManager=await ye.create(this,t),!this._deleted)){if(null!==(e=this._popupRedirectResolver)&&void 0!==e&&e._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(r),this.lastNotifiedUid=(null===(e=this.currentUser)||void 0===e?void 0:e.uid)||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(!this._deleted){var e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e)return this.currentUser&&e&&this.currentUser.uid===e.uid?(this._currentUser._assign(e),void await this.currentUser.getIdToken()):void await this._updateCurrentUser(e,!0)}}async initializeCurrentUser(e){var t,r,n,i=await this.assertedPersistence.getCurrentUser();let s=i,a=!1;if(e&&this.config.authDomain&&(await this.getOrInitRedirectPersistenceManager(),t=null===(n=this.redirectUser)||void 0===n?void 0:n._redirectEventId,r=null===s||void 0===s?void 0:s._redirectEventId,n=await this.tryRedirectSignIn(e),t&&t!==r||null==n||!n.user||(s=n.user,a=!0)),!s)return this.directlySetCurrentUser(null);if(s._redirectEventId)return j(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===s._redirectEventId?this.directlySetCurrentUser(s):this.reloadAndSetCurrentUserOrClear(s);if(a)try{await this.beforeStateQueue.runMiddleware(s)}catch(e){s=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return s?this.reloadAndSetCurrentUserOrClear(s):this.directlySetCurrentUser(null)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await he(e)}catch(e){if("auth/network-request-failed"!==(null===e||void 0===e?void 0:e.code))return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("undefined"==typeof navigator)return null;var e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){const t=e?I(e):null;return t&&j(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&j(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0)}setPersistence(e){return this.queue(async()=>{await this.assertedPersistence.setPersistence(z(e))})}_getPersistence(){return this.assertedPersistence.persistence.type}_updateErrorMap(e){this._errorFactory=new p("auth","Firebase",e())}onAuthStateChanged(e,t,r){return this.registerStateListener(this.authStateSubscription,e,t,r)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,r){return this.registerStateListener(this.idTokenSubscription,e,t,r)}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(e=this._currentUser)||void 0===e?void 0:e.toJSON()}}async _setRedirectUser(e,t){const r=await this.getOrInitRedirectPersistenceManager(t);return null===e?r.removeCurrentUser():r.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){var t;return this.redirectPersistenceManager||(j(t=e&&z(e)||this._popupRedirectResolver,this,"argument-error"),this.redirectPersistenceManager=await ye.create(this,[z(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()),this.redirectPersistenceManager}async _redirectUserForId(e){var t;return this._isInitialized&&await this.queue(async()=>{}),(null===(t=this._currentUser)||void 0===t?void 0:t._redirectEventId)===e?this._currentUser:(null===(t=this.redirectUser)||void 0===t?void 0:t._redirectEventId)===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var e;this._isInitialized&&(this.idTokenSubscription.next(this.currentUser),e=null!==(e=null===(e=this.currentUser)||void 0===e?void 0:e.uid)&&void 0!==e?e:null,this.lastNotifiedUid!==e&&(this.lastNotifiedUid=e,this.authStateSubscription.next(this.currentUser)))}registerStateListener(e,t,r,n){if(this._deleted)return()=>{};const i="function"==typeof t?t:t.next.bind(t),s=this._isInitialized?Promise.resolve():this._initializationPromise;return j(s,this,"internal-error"),s.then(()=>i(this.currentUser)),"function"==typeof t?e.addObserver(t,r,n):e.addObserver(t)}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&(this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh()),(this.currentUser=e)?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return j(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){e&&!this.frameworks.includes(e)&&(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=Ne(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){const e={"X-Client-Version":this.clientVersion};this.app.options.appId&&(e["X-Firebase-gmpid"]=this.app.options.appId);var t=await(null===(t=this.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===t?void 0:t.getHeartbeatsHeader());return t&&(e["X-Firebase-Client"]=t),e}}function Le(e){return I(e)}class De{constructor(e){this.auth=e,this.observer=null,this.addObserver=function(e,t){const r=new _(e,t);return r.subscribe.bind(r)}(e=>this.observer=e)}get next(){return j(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}function Me(e,t,r){const n=Le(e);j(n._canInitEmulator,n,"emulator-config-failed"),j(/^https?:\/\//.test(t),n,"invalid-emulator-scheme");var i=!(null==r||!r.disableWarnings);const s=Ue(t);var{host:a,port:o}=function(e){const t=Ue(e),r=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!r)return{host:"",port:null};const n=r[2].split("@").pop()||"",i=/^(\[[^\]]+\])(:|$)/.exec(n);{if(i){var s=i[1];return{host:s,port:Fe(n.substr(s.length+1))}}var[a,s]=n.split(":");return{host:a,port:Fe(s)}}}(t);n.config.emulator={url:`${s}//${a}${null===o?"":`:${o}`}/`},n.settings.appVerificationDisabledForTesting=!0,n.emulatorConfig=Object.freeze({host:a,port:o,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:i})}),i||function(){function e(){const e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials.");"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}function Ue(e){var t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function Fe(e){if(!e)return null;var t=Number(e);return isNaN(t)?null:t}class xe{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return W("not implemented")}_getIdTokenResponse(e){return W("not implemented")}_linkToIdToken(e,t){return W("not implemented")}_getReauthenticationResolver(e){return W("not implemented")}}async function Ve(e,t){return ee(e,"POST","/v1/accounts:resetPassword",Q(e,t))}async function je(e,t){return ee(e,"POST","/v1/accounts:update",t)}async function We(e,t){return ee(e,"POST","/v1/accounts:sendOobCode",Q(e,t))}class He extends xe{constructor(e,t,r,n=null){super("password",r),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new He(e,t,"password")}static _fromEmailAndCode(e,t,r=null){return new He(e,t,"emailLink",r)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){var t="string"==typeof e?JSON.parse(e):e;if(null!=t&&t.email&&null!=t&&t.password){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return async function(e,t){return re(e,"POST","/v1/accounts:signInWithPassword",Q(e,t))}(e,{returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return async function(e,t){return re(e,"POST","/v1/accounts:signInWithEmailLink",Q(e,t))}(e,{email:this._email,oobCode:this._password});default:M(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return je(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password});case"emailLink":return async function(e,t){return re(e,"POST","/v1/accounts:signInWithEmailLink",Q(e,t))}(e,{idToken:t,email:this._email,oobCode:this._password});default:M(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function qe(e,t){return re(e,"POST","/v1/accounts:signInWithIdp",Q(e,t))}class ze extends xe{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){const t=new ze(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):M("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){var t="string"==typeof e?JSON.parse(e):e,{providerId:r,signInMethod:n}=t,t=w(t,["providerId","signInMethod"]);if(!r||!n)return null;const i=new ze(r,n);return i.idToken=t.idToken||void 0,i.accessToken=t.accessToken||void 0,i.secret=t.secret,i.nonce=t.nonce,i.pendingToken=t.pendingToken||null,i}_getIdTokenResponse(e){return qe(e,this.buildRequest())}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,qe(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,qe(e,t)}buildRequest(){const e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{const t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=v(t)}return e}}const Be={USER_NOT_FOUND:"user-not-found"};class Ge extends xe{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new Ge({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new Ge({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return async function(e,t){return re(e,"POST","/v1/accounts:signInWithPhoneNumber",Q(e,t))}(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return async function(e,t){var r=await re(e,"POST","/v1/accounts:signInWithPhoneNumber",Q(e,t));if(r.temporaryProof)throw se(e,"account-exists-with-different-credential",r);return r}(e,Object.assign({idToken:t},this._makeVerificationRequest()))}_getReauthenticationResolver(e){return async function(e,t){return re(e,"POST","/v1/accounts:signInWithPhoneNumber",Q(e,Object.assign(Object.assign({},t),{operation:"REAUTH"})),Be)}(e,this._makeVerificationRequest())}_makeVerificationRequest(){var{temporaryProof:e,phoneNumber:t,verificationId:r,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:r,code:n}}toJSON(){const e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){var{verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}=e="string"==typeof e?JSON.parse(e):e;return r||t||n||i?new Ge({verificationId:t,verificationCode:r,phoneNumber:n,temporaryProof:i}):null}}class Ke{constructor(e){var t=m(g(e)),r=null!==(n=t.apiKey)&&void 0!==n?n:null,n=null!==(i=t.oobCode)&&void 0!==i?i:null,i=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!==(i=t.mode)&&void 0!==i?i:null);j(r&&n&&i,"argument-error"),this.apiKey=r,this.operation=i,this.code=n,this.continueUrl=null!==(n=t.continueUrl)&&void 0!==n?n:null,this.languageCode=null!==(n=t.languageCode)&&void 0!==n?n:null,this.tenantId=null!==(t=t.tenantId)&&void 0!==t?t:null}static parseLink(e){var t,r,n,t=(t=m(g(e=e)).link,r=t?m(g(t)).deep_link_id:null,((n=m(g(e)).deep_link_id)?m(g(n)).link:null)||n||r||t||e);try{return new Ke(t)}catch(e){return null}}}class $e{constructor(){this.providerId=$e.PROVIDER_ID}static credential(e,t){return He._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){var r=Ke.parseLink(t);return j(r,"argument-error"),He._fromEmailAndCode(e,r.code,r.tenantId)}}$e.PROVIDER_ID="password",$e.EMAIL_PASSWORD_SIGN_IN_METHOD="password",$e.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class Je{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class Ye extends Je{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class Xe extends Ye{static credentialFromJSON(e){var t="string"==typeof e?JSON.parse(e):e;return j("providerId"in t&&"signInMethod"in t,"argument-error"),ze._fromParams(t)}credential(e){return this._credential(Object.assign(Object.assign({},e),{nonce:e.rawNonce}))}_credential(e){return j(e.idToken||e.accessToken,"argument-error"),ze._fromParams(Object.assign(Object.assign({},e),{providerId:this.providerId,signInMethod:this.providerId}))}static credentialFromResult(e){return Xe.oauthCredentialFromTaggedObject(e)}static credentialFromError(e){return Xe.oauthCredentialFromTaggedObject(e.customData||{})}static oauthCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r,oauthTokenSecret:n,pendingToken:i,nonce:s,providerId:a}=e;if(!(r||n||t||i))return null;if(!a)return null;try{return new Xe(a)._credential({idToken:t,accessToken:r,nonce:s,pendingToken:i})}catch(e){return null}}}class Ze extends Ye{constructor(){super("facebook.com")}static credential(e){return ze._fromParams({providerId:Ze.PROVIDER_ID,signInMethod:Ze.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return Ze.credentialFromTaggedObject(e)}static credentialFromError(e){return Ze.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return Ze.credential(e.oauthAccessToken)}catch(e){return null}}}Ze.FACEBOOK_SIGN_IN_METHOD="facebook.com",Ze.PROVIDER_ID="facebook.com";class Qe extends Ye{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return ze._fromParams({providerId:Qe.PROVIDER_ID,signInMethod:Qe.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return Qe.credentialFromTaggedObject(e)}static credentialFromError(e){return Qe.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthIdToken:t,oauthAccessToken:r}=e;if(!t&&!r)return null;try{return Qe.credential(t,r)}catch(e){return null}}}Qe.GOOGLE_SIGN_IN_METHOD="google.com",Qe.PROVIDER_ID="google.com";class et extends Ye{constructor(){super("github.com")}static credential(e){return ze._fromParams({providerId:et.PROVIDER_ID,signInMethod:et.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return et.credentialFromTaggedObject(e)}static credentialFromError(e){return et.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!(e&&"oauthAccessToken"in e))return null;if(!e.oauthAccessToken)return null;try{return et.credential(e.oauthAccessToken)}catch(e){return null}}}et.GITHUB_SIGN_IN_METHOD="github.com",et.PROVIDER_ID="github.com";class tt extends xe{constructor(e,t){super(e,e),this.pendingToken=t}_getIdTokenResponse(e){return qe(e,this.buildRequest())}_linkToIdToken(e,t){const r=this.buildRequest();return r.idToken=t,qe(e,r)}_getReauthenticationResolver(e){const t=this.buildRequest();return t.autoCreate=!1,qe(e,t)}toJSON(){return{signInMethod:this.signInMethod,providerId:this.providerId,pendingToken:this.pendingToken}}static fromJSON(e){var{providerId:t,signInMethod:r,pendingToken:n}="string"==typeof e?JSON.parse(e):e;return t&&r&&n&&t===r?new tt(t,n):null}static _create(e,t){return new tt(e,t)}buildRequest(){return{requestUri:"http://localhost",returnSecureToken:!0,pendingToken:this.pendingToken}}}class rt extends Je{constructor(e){j(e.startsWith("saml."),"argument-error"),super(e)}static credentialFromResult(e){return rt.samlCredentialFromTaggedObject(e)}static credentialFromError(e){return rt.samlCredentialFromTaggedObject(e.customData||{})}static credentialFromJSON(e){var t=tt.fromJSON(e);return j(t,"argument-error"),t}static samlCredentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{pendingToken:t,providerId:r}=e;if(!t||!r)return null;try{return tt._create(r,t)}catch(e){return null}}}class nt extends Ye{constructor(){super("twitter.com")}static credential(e,t){return ze._fromParams({providerId:nt.PROVIDER_ID,signInMethod:nt.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return nt.credentialFromTaggedObject(e)}static credentialFromError(e){return nt.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{oauthAccessToken:t,oauthTokenSecret:r}=e;if(!t||!r)return null;try{return nt.credential(t,r)}catch(e){return null}}}async function it(e,t){return re(e,"POST","/v1/accounts:signUp",Q(e,t))}nt.TWITTER_SIGN_IN_METHOD="twitter.com",nt.PROVIDER_ID="twitter.com";class st{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,r,n=!1){var i=await ve._fromIdTokenResponse(e,r,n),s=at(r);return new st({user:i,providerId:s,_tokenResponse:r,operationType:t})}static async _forOperation(e,t,r){await e._updateTokensIfNecessary(r,!0);var n=at(r);return new st({user:e,providerId:n,_tokenResponse:r,operationType:t})}}function at(e){return e.providerId||("phoneNumber"in e?"phone":null)}class ot extends h{constructor(e,t,r,n){var i;super(t.code,t.message),this.operationType=r,this.user=n,Object.setPrototypeOf(this,ot.prototype),this.customData={appName:e.name,tenantId:null!==(i=e.tenantId)&&void 0!==i?i:void 0,_serverResponse:t.customData._serverResponse,operationType:r}}static _fromErrorAndOperation(e,t,r,n){return new ot(e,t,r,n)}}function lt(t,r,e,n){const i="reauthenticate"===r?e._getReauthenticationResolver(t):e._getIdTokenResponse(t);return i.catch(e=>{if("auth/multi-factor-auth-required"===e.code)throw ot._fromErrorAndOperation(t,e,r,n);throw e})}function ct(e){return new Set(e.map(({providerId:e})=>e).filter(e=>!!e))}async function ut(e,t){const r=I(e);await ht(!0,r,t);var n=(e=r.auth,t={idToken:await r.getIdToken(),deleteProvider:[t]},await ee(e,"POST","/v1/accounts:update",t))["providerUserInfo"];const i=ct(n||[]);return r.providerData=r.providerData.filter(e=>i.has(e.providerId)),i.has("phone")||(r.phoneNumber=null),await r.auth._persistUserIfCurrent(r),r}async function dt(e,t,r=!1){var n=await ce(e,t._linkToIdToken(e.auth,await e.getIdToken()),r);return st._forOperation(e,"link",n)}async function ht(e,t,r){await he(t);const n=ct(t.providerData);var i=!1===e?"provider-already-linked":"no-such-provider";j(n.has(r)===e,t.auth,i)}async function pt(e,t,r=!1){var n=e["auth"],i="reauthenticate";try{var s=await ce(e,lt(n,i,t,e),r);j(s.idToken,n,"internal-error");var a=le(s.idToken);j(a,n,"internal-error");var o=a["sub"];return j(e.uid===o,n,"user-mismatch"),st._forOperation(e,i,s)}catch(e){throw"auth/user-not-found"===(null===e||void 0===e?void 0:e.code)&&M(n,"user-mismatch"),e}}async function ft(e,t,r=!1){var n=await lt(e,"signIn",t),n=await st._fromIdTokenResponse(e,"signIn",n);return r||await e._updateCurrentUser(n.user),n}async function vt(e,t){return ft(Le(e),t)}async function mt(e,t){var r=I(e);return await ht(!1,r,t.providerId),dt(r,t)}async function gt(e,t){return pt(I(e),t)}async function _t(e,t){const r=Le(e);var n=await re(r,"POST","/v1/accounts:signInWithCustomToken",Q(r,{token:t,returnSecureToken:!0})),n=await st._fromIdTokenResponse(r,"signIn",n);return await r._updateCurrentUser(n.user),n}class yt{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?It._fromServerResponse(e,t):M(e,"internal-error")}}class It extends yt{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new It(t)}}function wt(e,t,r){var n;j(0<(null===(n=r.url)||void 0===n?void 0:n.length),e,"invalid-continue-uri"),j(void 0===r.dynamicLinkDomain||0"password"===e);s&&(s.displayName=i.displayName,s.photoURL=i.photoURL),await i._updateTokensIfNecessary(n)}}async function Nt(e,t,r){var n=e["auth"];const i={idToken:await e.getIdToken(),returnSecureToken:!0};t&&(i.email=t),r&&(i.password=r);n=await ce(e,je(n,i));await e._updateTokensIfNecessary(n,!0)}class Pt{constructor(e,t,r={}){this.isNewUser=e,this.providerId=t,this.profile=r}}class Ct extends Pt{constructor(e,t,r,n){super(e,t,r),this.username=n}}class Lt extends Pt{constructor(e,t){super(e,"facebook.com",t)}}class Dt extends Ct{constructor(e,t){super(e,"github.com",t,"string"==typeof(null==t?void 0:t.login)?null==t?void 0:t.login:null)}}class Mt extends Pt{constructor(e,t){super(e,"google.com",t)}}class Ut extends Ct{constructor(e,t,r){super(e,"twitter.com",t,r)}}function Ft(e){var{user:t,_tokenResponse:r}=e;return t.isAnonymous&&!r?{providerId:null,isNewUser:!1,profile:null}:function(e){if(!e)return null;var t=e["providerId"],r=e.rawUserInfo?JSON.parse(e.rawUserInfo):{},n=e.isNewUser||"identitytoolkit#SignupNewUserResponse"===e.kind;if(!t&&null!=e&&e.idToken){var i=null===(i=null===(i=le(e.idToken))||void 0===i?void 0:i.firebase)||void 0===i?void 0:i.sign_in_provider;if(i){i="anonymous"!==i&&"custom"!==i?i:null;return new Pt(n,i)}}if(!t)return null;switch(t){case"facebook.com":return new Lt(n,r);case"github.com":return new Dt(n,r);case"google.com":return new Mt(n,r);case"twitter.com":return new Ut(n,r,e.screenName||null);case"custom":case"anonymous":return new Pt(n,null);default:return new Pt(n,t,r)}}(r)}class xt{constructor(e,t){this.type=e,this.credential=t}static _fromIdtoken(e){return new xt("enroll",e)}static _fromMfaPendingCredential(e){return new xt("signin",e)}toJSON(){return{multiFactorSession:{["enroll"===this.type?"idToken":"pendingCredential"]:this.credential}}}static fromJSON(e){var t;if(null!=e&&e.multiFactorSession){if(null!==(t=e.multiFactorSession)&&void 0!==t&&t.pendingCredential)return xt._fromMfaPendingCredential(e.multiFactorSession.pendingCredential);if(null!==(t=e.multiFactorSession)&&void 0!==t&&t.idToken)return xt._fromIdtoken(e.multiFactorSession.idToken)}return null}}class Vt{constructor(e,t,r){this.session=e,this.hints=t,this.signInResolver=r}static _fromError(e,i){const s=Le(e),a=i.customData._serverResponse;var t=(a.mfaInfo||[]).map(e=>yt._fromServerResponse(s,e));j(a.mfaPendingCredential,s,"internal-error");const o=xt._fromMfaPendingCredential(a.mfaPendingCredential);return new Vt(o,t,async e=>{var t=await e._process(s,o);delete a.mfaInfo,delete a.mfaPendingCredential;var r=Object.assign(Object.assign({},a),{idToken:t.idToken,refreshToken:t.refreshToken});switch(i.operationType){case"signIn":var n=await st._fromIdTokenResponse(s,i.operationType,r);return await s._updateCurrentUser(n.user),n;case"reauthenticate":return j(i.user,s,"internal-error"),st._forOperation(i.user,i.operationType,r);default:M(s,"internal-error")}})}async resolveSignIn(e){return this.signInResolver(e)}}class jt{constructor(t){this.user=t,this.enrolledFactors=[],t._onReload(e=>{e.mfaInfo&&(this.enrolledFactors=e.mfaInfo.map(e=>yt._fromServerResponse(t.auth,e)))})}static _fromUser(e){return new jt(e)}async getSession(){return xt._fromIdtoken(await this.user.getIdToken())}async enroll(e,t){const r=e;var n=await this.getSession(),n=await ce(this.user,r._process(this.user.auth,n,t));return await this.user._updateTokensIfNecessary(n),this.user.reload()}async unenroll(e){const t="string"==typeof e?e:e.uid;var r,n=await this.user.getIdToken(),n=await ce(this.user,(r=this.user.auth,e={idToken:n,mfaEnrollmentId:t},ee(r,"POST","/v2/accounts/mfaEnrollment:withdraw",Q(r,e))));this.enrolledFactors=this.enrolledFactors.filter(({uid:e})=>e!==t),await this.user._updateTokensIfNecessary(n);try{await this.user.reload()}catch(e){if("auth/user-token-expired"!==(null===e||void 0===e?void 0:e.code))throw e}}}const Wt=new WeakMap;const Ht="__sak";class qt{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{return this.storage?(this.storage.setItem(Ht,"1"),this.storage.removeItem(Ht),Promise.resolve(!0)):Promise.resolve(!1)}catch(e){return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){var t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class zt extends qt{constructor(){var e;super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.safariLocalStorageNotSynced=(Te(e=d())||Ae(e))&&function(){try{return!(!window||window===window.top)}catch(e){return!1}}(),this.fallbackToPolling=Oe(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(const n of Object.keys(this.listeners)){var t=this.storage.getItem(n),r=this.localCache[n];t!==r&&e(n,r,t)}}onStorageEvent(e,t=!1){if(e.key){const n=e.key;if(t?this.detachListener():this.stopPolling(),this.safariLocalStorageNotSynced){const i=this.storage.getItem(n);if(e.newValue!==i)null!==e.newValue?this.storage.setItem(n,e.newValue):this.storage.removeItem(n);else if(this.localCache[n]===e.newValue&&!t)return}var r=()=>{var e=this.storage.getItem(n);!t&&this.localCache[n]===e||this.notifyListeners(n,e)};const i=this.storage.getItem(n);c()&&10===document.documentMode&&i!==e.newValue&&e.newValue!==e.oldValue?setTimeout(r,10):r()}else this.forAllChangedKeys((e,t,r)=>{this.notifyListeners(e,r)})}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(const n of Array.from(r))n(t&&JSON.parse(t))}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,r)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:r}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){var t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}zt.type="LOCAL";const Bt=zt;class Gt extends qt{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}Gt.type="SESSION";const Kt=Gt;class $t{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(t){var e=this.receivers.find(e=>e.isListeningto(t));if(e)return e;e=new $t(t);return this.receivers.push(e),e}isListeningto(e){return this.eventTarget===e}async handleEvent(e){const t=e,{eventId:r,eventType:n,data:i}=t.data;var s=this.handlersMap[n];null!=s&&s.size&&(t.ports[0].postMessage({status:"ack",eventId:r,eventType:n}),s=Array.from(s).map(async e=>e(t.origin,i)),s=await Promise.all(s.map(async e=>{try{return{fulfilled:!0,value:await e}}catch(e){return{fulfilled:!1,reason:e}}})),t.ports[0].postMessage({status:"done",eventId:r,eventType:n,response:s}))}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function Jt(e="",t=10){let r="";for(let n=0;n{const i=Jt("",20);o.port1.start();const s=setTimeout(()=>{n(new Error("unsupported_event"))},a);c={messageChannel:o,onMessage(e){var t=e;if(t.data.eventId===i)switch(t.data.status){case"ack":clearTimeout(s),l=setTimeout(()=>{n(new Error("timeout"))},3e3);break;case"done":clearTimeout(l),r(t.data.response);break;default:clearTimeout(s),clearTimeout(l),n(new Error("invalid_response"))}}},this.handlers.add(c),o.port1.addEventListener("message",c.onMessage),this.target.postMessage({eventType:e,eventId:i,data:t},[o.port2])}).finally(()=>{c&&this.removeMessageHandler(c)})}}function Xt(){return window}function Zt(){return void 0!==Xt().WorkerGlobalScope&&"function"==typeof Xt().importScripts}const Qt="firebaseLocalStorageDb",er="firebaseLocalStorage",tr="fbase_key";class rr{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function nr(e,t){return e.transaction([er],t?"readwrite":"readonly").objectStore(er)}function ir(){const n=indexedDB.open(Qt,1);return new Promise((r,t)=>{n.addEventListener("error",()=>{t(n.error)}),n.addEventListener("upgradeneeded",()=>{const e=n.result;try{e.createObjectStore(er,{keyPath:tr})}catch(e){t(e)}}),n.addEventListener("success",async()=>{const e=n.result;var t;e.objectStoreNames.contains(er)?r(e):(e.close(),t=indexedDB.deleteDatabase(Qt),await new rr(t).toPromise(),r(await ir()))})})}async function sr(e,t,r){var n=nr(e,!0).put({fbase_key:t,value:r});return new rr(n).toPromise()}function ar(e,t){var r=nr(e,!0).delete(t);return new rr(r).toPromise()}class or{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await ir(),this.db)}async _withRetries(e){let t=0;for(;;)try{return e(await this._openDb())}catch(e){if(3{const r=await this._poll();return{keyProcessed:r.includes(t.key)}}),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t,r;this.activeServiceWorker=await async function(){if(null===navigator||void 0===navigator||!navigator.serviceWorker)return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}(),this.activeServiceWorker&&(this.sender=new Yt(this.activeServiceWorker),(r=await this.sender._send("ping",{},800))&&null!==(e=r[0])&&void 0!==e&&e.fulfilled&&null!==(t=r[0])&&void 0!==t&&t.value.includes("keyChanged")&&(this.serviceWorkerReceiverAvailable=!0))}async notifyServiceWorker(e){var t;if(this.sender&&this.activeServiceWorker&&((null===(t=null===navigator||void 0===navigator?void 0:navigator.serviceWorker)||void 0===t?void 0:t.controller)||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(e){}}async _isAvailable(){try{if(!indexedDB)return!1;var e=await ir();return await sr(e,Ht,"1"),await ar(e,Ht),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(t,r){return this._withPendingWrite(async()=>(await this._withRetries(e=>sr(e,t,r)),this.localCache[t]=r,this.notifyServiceWorker(t)))}async _get(t){var e=await this._withRetries(e=>async function(e,t){var r=nr(e,!1).get(t);return void 0===(r=await new rr(r).toPromise())?null:r.value}(e,t));return this.localCache[t]=e}async _remove(t){return this._withPendingWrite(async()=>(await this._withRetries(e=>ar(e,t)),delete this.localCache[t],this.notifyServiceWorker(t)))}async _poll(){var e,t,r=await this._withRetries(e=>{var t=nr(e,!1).getAll();return new rr(t).toPromise()});if(!r)return[];if(0!==this.pendingWrites)return[];const n=[],i=new Set;for({fbase_key:e,value:t}of r)i.add(e),JSON.stringify(this.localCache[e])!==JSON.stringify(t)&&(this.notifyListeners(e,t),n.push(e));for(const s of Object.keys(this.localCache))this.localCache[s]&&!i.has(s)&&(this.notifyListeners(s,null),n.push(s));return n}notifyListeners(e,t){this.localCache[e]=t;var r=this.listeners[e];if(r)for(const n of Array.from(r))n(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}or.type="LOCAL";const lr=or;function cr(i){return new Promise((e,r)=>{const t=document.createElement("script");var n;t.setAttribute("src",i),t.onload=e,t.onerror=e=>{const t=U("internal-error");t.customData=e,r(t)},t.type="text/javascript",t.charset="UTF-8",(null!==(n=null===(n=document.getElementsByTagName("head"))||void 0===n?void 0:n[0])&&void 0!==n?n:document).appendChild(t)})}function ur(e){return`__${e}${Math.floor(1e6*Math.random())}`}class dr{constructor(e){this.auth=e,this.counter=1e12,this._widgets=new Map}render(e,t){var r=this.counter;return this._widgets.set(r,new hr(e,this.auth.name,t||{})),this.counter++,r}reset(e){var t,r=e||1e12;null===(t=this._widgets.get(r))||void 0===t||t.delete(),this._widgets.delete(r)}getResponse(e){var t;return(null===(t=this._widgets.get(e||1e12))||void 0===t?void 0:t.getResponse())||""}async execute(e){var t;return null===(t=this._widgets.get(e||1e12))||void 0===t||t.execute(),""}}class hr{constructor(e,t,r){this.params=r,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};var n="string"==typeof e?document.getElementById(e):e;j(n,"argument-error",{appName:t}),this.container=n,this.isVisible="invisible"!==this.params.size,this.isVisible?this.execute():this.container.addEventListener("click",this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.container.removeEventListener("click",this.clickHandler)}execute(){this.checkIfDeleted(),this.timerId||(this.timerId=window.setTimeout(()=>{this.responseToken=function(e){const t=[],r="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n{if(this.timerId=null,this.responseToken=null,t)try{t()}catch(e){}this.isVisible&&this.execute()},6e4)},500))}checkIfDeleted(){if(this.deleted)throw new Error("reCAPTCHA mock was already deleted!")}}const pr=ur("rcb"),fr=new $(3e4,6e4);class vr{constructor(){var e;this.hostLanguage="",this.counter=0,this.librarySeparatelyLoaded=!(null===(e=Xt().grecaptcha)||void 0===e||!e.render)}load(s,a=""){var e;return j((e=a).length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(e),s,"argument-error"),this.shouldResolveImmediately(a)?Promise.resolve(Xt().grecaptcha):new Promise((t,r)=>{const i=Xt().setTimeout(()=>{r(U(s,"network-request-failed"))},fr.get());Xt()[pr]=()=>{Xt().clearTimeout(i),delete Xt()[pr];const e=Xt().grecaptcha;if(e){const n=e.render;e.render=(e,t)=>{var r=n(e,t);return this.counter++,r},this.hostLanguage=a,t(e)}else r(U(s,"internal-error"))},cr(`https://www.google.com/recaptcha/api.js??${v({onload:pr,render:"explicit",hl:a})}`).catch(()=>{clearTimeout(i),r(U(s,"internal-error"))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){var t;return!(null===(t=Xt().grecaptcha)||void 0===t||!t.render)&&(e===this.hostLanguage||0{const r=e=>{e&&(this.tokenChangeListeners.delete(r),t(e))};this.tokenChangeListeners.add(r),this.isInvisible&&n.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||(this.renderPromise=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e}),this.renderPromise)}_reset(){this.assertNotDestroyed(),null!==this.widgetId&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){j(!this.parameters.sitekey,this.auth,"argument-error"),j(this.isInvisible||!this.container.hasChildNodes(),this.auth,"argument-error"),j("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment")}makeTokenCallback(r){return t=>{if(this.tokenChangeListeners.forEach(e=>e(t)),"function"==typeof r)r(t);else if("string"==typeof r){const e=Xt()[r];"function"==typeof e&&e(t)}}}assertNotDestroyed(){j(!this.destroyed,this.auth,"internal-error")}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;var t;this.isInvisible||(t=document.createElement("div"),e.appendChild(t),e=t),this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}async init(){j(G()&&!Zt(),this.auth,"internal-error"),await function(){let t=null;return new Promise(e=>{"complete"!==document.readyState?(t=()=>e(),window.addEventListener("load",t)):e()}).catch(e=>{throw t&&window.removeEventListener("load",t),e})}(),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);var e=await((await ee(this.auth,"GET","/v1/recaptchaParams")).recaptchaSiteKey||"");j(e,this.auth,"internal-error"),this.parameters.sitekey=e}getAssertedRecaptcha(){return j(this.recaptcha,this.auth,"internal-error"),this.recaptcha}}class Ir{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){var t=Ge._fromVerification(this.verificationId,e);return this.onConfirmation(t)}}async function wr(t,r,n){var i,s,a,o,l,c,u=await n.verify();try{j("string"==typeof u,t,"argument-error"),j(n.type===gr,t,"argument-error");let e;if(e="string"==typeof r?{phoneNumber:r}:r,"session"in e){var d=e.session;if("phoneNumber"in e)return j("enroll"===d.type,t,"internal-error"),(l=t,c={idToken:d.credential,phoneEnrollmentInfo:{phoneNumber:e.phoneNumber,recaptchaToken:u}},await ee(l,"POST","/v2/accounts/mfaEnrollment:start",Q(l,c))).phoneSessionInfo.sessionInfo;j("signin"===d.type,t,"internal-error");var h=(null===(i=e.multiFactorHint)||void 0===i?void 0:i.uid)||e.multiFactorUid;return j(h,t,"missing-multi-factor-info"),(o={mfaPendingCredential:d.credential,mfaEnrollmentId:h,phoneSignInInfo:{recaptchaToken:u}},await ee(t,"POST","/v2/accounts/mfaSignIn:start",Q(t,o))).phoneResponseInfo.sessionInfo}var p=(s=t,a={phoneNumber:e.phoneNumber,recaptchaToken:u},await ee(s,"POST","/v1/accounts:sendVerificationCode",Q(s,a)))["sessionInfo"];return p}finally{n._reset()}}class Tr{constructor(e){this.providerId=Tr.PROVIDER_ID,this.auth=Le(e)}verifyPhoneNumber(e,t){return wr(this.auth,e,I(t))}static credential(e,t){return Ge._fromVerification(e,t)}static credentialFromResult(e){var t=e;return Tr.credentialFromTaggedObject(t)}static credentialFromError(e){return Tr.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;var{phoneNumber:t,temporaryProof:r}=e;return t&&r?Ge._fromTokenResponse(t,r):null}}function br(e,t){return t?z(t):(j(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}Tr.PROVIDER_ID="phone",Tr.PHONE_SIGN_IN_METHOD="phone";class kr extends xe{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return qe(e,this._buildIdpRequest())}_linkToIdToken(e,t){return qe(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return qe(e,this._buildIdpRequest())}_buildIdpRequest(e){const t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function Er(e){return ft(e.auth,new kr(e),e.bypassAuthState)}function Rr(e){var{auth:t,user:r}=e;return j(r,t,"internal-error"),pt(r,new kr(e),e.bypassAuthState)}async function Sr(e){var{auth:t,user:r}=e;return j(r,t,"internal-error"),dt(r,new kr(e),e.bypassAuthState)}class Ar{constructor(e,t,r,n,i=!1){this.auth=e,this.resolver=r,this.user=n,this.bypassAuthState=i,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){var{urlResponse:t,sessionId:r,postBody:n,tenantId:i,error:s,type:a}=e;if(s)this.reject(s);else{n={auth:this.auth,requestUri:t,sessionId:r,tenantId:i||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(n))}catch(e){this.reject(e)}}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return Er;case"linkViaPopup":case"linkViaRedirect":return Sr;case"reauthViaPopup":case"reauthViaRedirect":return Rr;default:M(this.auth,"internal-error")}}resolve(e){H(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){H(this.pendingPromise,"Pending promise was never set"),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}const Or=new $(2e3,1e4);class Nr extends Ar{constructor(e,t,r,n,i){super(e,t,n,i),this.provider=r,this.authWindow=null,this.pollId=null,Nr.currentPopupAction&&Nr.currentPopupAction.cancel(),Nr.currentPopupAction=this}async executeNotNull(){var e=await this.execute();return j(e,this.auth,"internal-error"),e}async onExecution(){H(1===this.filter.length,"Popup operations only handle one event");var e=Jt();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],e),this.authWindow.associatedEvent=e,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(U(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return(null===(e=this.authWindow)||void 0===e?void 0:e.associatedEvent)||null}cancel(){this.reject(U(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,Nr.currentPopupAction=null}pollUserCancellation(){const t=()=>{var e;null!==(e=null===(e=this.authWindow)||void 0===e?void 0:e.window)&&void 0!==e&&e.closed?this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(U(this.auth,"popup-closed-by-user"))},2e3):this.pollId=window.setTimeout(t,Or.get())};t()}}Nr.currentPopupAction=null;const Pr="pendingRedirect",Cr=new Map;class Lr extends Ar{constructor(e,t,r=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,r),this.eventId=null}async execute(){let t=Cr.get(this.auth._key());if(!t){try{const e=await async function(e,t){const r=Fr(t),n=Ur(e);if(!await n._isAvailable())return!1;var i="true"===await n._get(r);return await n._remove(r),i}(this.resolver,this.auth)?await super.execute():null;t=()=>Promise.resolve(e)}catch(e){t=()=>Promise.reject(e)}Cr.set(this.auth._key(),t)}return this.bypassAuthState||Cr.set(this.auth._key(),()=>Promise.resolve(null)),t()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"!==e.type){if(e.eventId){var t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}else this.resolve(null)}async onExecution(){}cleanUp(){}}async function Dr(e,t){return Ur(e)._set(Fr(t),"true")}function Mr(e,t){Cr.set(e._key(),t)}function Ur(e){return z(e._redirectPersistence)}function Fr(e){return _e(Pr,e.config.apiKey,e.name)}function xr(e,t,r){return async function(e,t,r){var n=Le(e);x(e,t,Je);const i=br(n,r);return await Dr(i,n),i._openRedirect(n,t,"signInViaRedirect")}(e,t,r)}function Vr(e,t,r){return async function(e,t,r){var n=I(e);x(n.auth,t,Je);const i=br(n.auth,r);await Dr(i,n.auth);var s=await Hr(n);return i._openRedirect(n.auth,t,"reauthViaRedirect",s)}(e,t,r)}function jr(e,t,r){return async function(e,t,r){var n=I(e);x(n.auth,t,Je);const i=br(n.auth,r);await ht(!1,n,t.providerId),await Dr(i,n.auth);var s=await Hr(n);return i._openRedirect(n.auth,t,"linkViaRedirect",s)}(e,t,r)}async function Wr(e,t,r=!1){const n=Le(e);var i=br(n,t);const s=new Lr(n,i,r),a=await s.execute();return a&&!r&&(delete a.user._redirectEventId,await n._persistUserIfCurrent(a.user),await n._setRedirectUser(null,t)),a}async function Hr(e){var t=Jt(`${e.uid}:::`);return e._redirectEventId=t,await e.auth._setRedirectUser(e),await e.auth._persistUserIfCurrent(e),t}class qr{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(t){if(this.hasEventBeenHandled(t))return!1;let r=!1;return this.consumers.forEach(e=>{this.isEventForConsumer(t,e)&&(r=!0,this.sendToConsumer(t,e),this.saveEventToCache(t))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return Br(e);default:return!1}}(t)||(this.hasHandledPotentialRedirect=!0,r||(this.queuedRedirectEvent=t,r=!0)),r}sendToConsumer(e,t){var r;e.error&&!Br(e)?(r=(null===(r=e.error.code)||void 0===r?void 0:r.split("auth/")[1])||"internal-error",t.onError(U(this.auth,r))):t.onAuthEvent(e)}isEventForConsumer(e,t){var r=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&r}hasEventBeenHandled(e){return 6e5<=Date.now()-this.lastProcessedEventTime&&this.cachedEventUids.clear(),this.cachedEventUids.has(zr(e))}saveEventToCache(e){this.cachedEventUids.add(zr(e)),this.lastProcessedEventTime=Date.now()}}function zr(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function Br({type:e,error:t}){return"unknown"===e&&"auth/no-auth-event"===(null==t?void 0:t.code)}async function Gr(e,t={}){return ee(e,"GET","/v1/projects",t)}const Kr=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,$r=/^https?/;async function Jr(e){if(!e.config.emulator){var t=(await Gr(e))["authorizedDomains"];for(const r of t)try{if(function(e){const t=B(),{protocol:r,hostname:n}=new URL(t);if(e.startsWith("chrome-extension://")){var i=new URL(e);return""===i.hostname&&""===n?"chrome-extension:"===r&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===r&&i.hostname===n}if(!$r.test(r))return!1;if(Kr.test(e))return n===e;const s=e.replace(/\./g,"\\."),a=new RegExp("^(.+\\."+s+"|"+s+")$","i");return a.test(n)}(r))return}catch(e){}M(e,"unauthorized-domain")}}const Yr=new $(3e4,6e4);function Xr(){const t=Xt().___jsl;if(null!==t&&void 0!==t&&t.H)for(const r of Object.keys(t.H))if(t.H[r].r=t.H[r].r||[],t.H[r].L=t.H[r].L||[],t.H[r].r=[...t.H[r].L],t.CP)for(let e=0;e{function r(){Xr(),gapi.load("gapi.iframes",{callback:()=>{e(gapi.iframes.getContext())},ontimeout:()=>{Xr(),t(U(i,"network-request-failed"))},timeout:Yr.get()})}if(null!==(n=null===(n=Xt().gapi)||void 0===n?void 0:n.iframes)&&void 0!==n&&n.Iframe)e(gapi.iframes.getContext());else{if(null===(n=Xt().gapi)||void 0===n||!n.load){var n=ur("iframefcb");return Xt()[n]=()=>{gapi.load?r():t(U(i,"network-request-failed"))},cr(`https://apis.google.com/js/api.js?onload=${n}`).catch(e=>t(e))}r()}}).catch(e=>{throw Zr=null,e})),Zr}const en=new $(5e3,15e3),tn="__/auth/iframe",rn="emulator/auth/iframe",nn={style:{position:"absolute",top:"-100px",width:"1px",height:"1px"},"aria-hidden":"true",tabindex:"-1"},sn=new Map([["identitytoolkit.googleapis.com","p"],["staging-identitytoolkit.sandbox.googleapis.com","s"],["test-identitytoolkit.sandbox.googleapis.com","t"]]);async function an(a){const e=await Qr(a);var t=Xt().gapi;return j(t,a,"internal-error"),e.open({where:document.body,url:function(e){var t=e.config;j(t.authDomain,e,"auth-domain-config-required");var r=t.emulator?J(t,rn):`https://${e.config.authDomain}/${tn}`;const n={apiKey:t.apiKey,appName:e.name,v:li.SDK_VERSION};(t=sn.get(e.config.apiHost))&&(n.eid=t);const i=e._getFrameworks();return i.length&&(n.fw=i.join(",")),`${r}?${v(n).slice(1)}`}(a),messageHandlersFilter:t.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:nn,dontclear:!0},s=>new Promise(async(e,t)=>{await s.restyle({setHideOnLeave:!1});const r=U(a,"network-request-failed"),n=Xt().setTimeout(()=>{t(r)},en.get());function i(){Xt().clearTimeout(n),e(s)}s.ping(i).then(i,()=>{t(r)})}))}const on={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class ln{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}function cn(e,t,r,n=500,i=600){var s=Math.max((window.screen.availHeight-i)/2,0).toString(),a=Math.max((window.screen.availWidth-n)/2,0).toString();let o="";const l=Object.assign(Object.assign({},on),{width:n.toString(),height:i.toString(),top:s,left:a});s=d().toLowerCase();r&&(o=be(s)?"_blank":r),we(s)&&(t=t||"http://localhost",l.scrollbars="yes");var c,a=Object.entries(l).reduce((e,[t,r])=>`${e}${t}=${r},`,"");if([r=d()]=[s],Ae(r)&&null!==(c=window.navigator)&&void 0!==c&&c.standalone&&"_self"!==o)return function(e,t){const r=document.createElement("a");r.href=e,r.target=t;const n=document.createEvent("MouseEvent");n.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),r.dispatchEvent(n)}(t||"",o),new ln(null);const u=window.open(t||"",o,a);j(u,e,"popup-blocked");try{u.focus()}catch(e){}return new ln(u)}const un="__/auth/handler",dn="emulator/auth/handler";function hn(e,t,r,n,i,s){j(e.config.authDomain,e,"auth-domain-config-required"),j(e.config.apiKey,e,"invalid-api-key");const a={apiKey:e.config.apiKey,appName:e.name,authType:r,redirectUrl:n,v:li.SDK_VERSION,eventId:i};if(t instanceof Je){t.setDefaultLanguage(e.languageCode),a.providerId=t.providerId||"",function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return;return 1}(t.getCustomParameters())||(a.customParameters=JSON.stringify(t.getCustomParameters()));for(var[o,l]of Object.entries(s||{}))a[o]=l}if(t instanceof Ye){const u=t.getScopes().filter(e=>""!==e);0{})}_initialize(e){const t=e._key();if(this.eventManagers[t]){const{manager:n,promise:r}=this.eventManagers[t];return n?Promise.resolve(n):(H(r,"If manager is not set, promise should be"),r)}const r=this.initAndGetManager(e);return this.eventManagers[t]={promise:r},r.catch(()=>{delete this.eventManagers[t]}),r}async initAndGetManager(t){const e=await an(t),r=new qr(t);return e.register("authEvent",e=>{return j(null==e?void 0:e.authEvent,t,"invalid-auth-event"),{status:r.onEvent(e.authEvent)?"ACK":"ERROR"}},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[t._key()]={manager:r},this.iframes[t._key()]=e,r}_isIframeWebStorageSupported(r,n){const e=this.iframes[r._key()];e.send(pn,{type:pn},e=>{var t=null===(t=null==e?void 0:e[0])||void 0===t?void 0:t[pn];void 0!==t&&n(!!t),M(r,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=Jr(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return Oe()||Te()||Ae()}};class vn extends class{constructor(e){this.factorId=e}_process(e,t,r){switch(t.type){case"enroll":return this._finalizeEnroll(e,t.credential,r);case"signin":return this._finalizeSignIn(e,t.credential);default:return W("unexpected MultiFactorSessionType")}}}{constructor(e){super("phone"),this.credential=e}static _fromCredential(e){return new vn(e)}_finalizeEnroll(e,t,r){return e=e,r={idToken:t,displayName:r,phoneVerificationInfo:this.credential._makeVerificationRequest()},ee(e,"POST","/v2/accounts/mfaEnrollment:finalize",Q(e,r))}_finalizeSignIn(e,t){return e=e,t={mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()},ee(e,"POST","/v2/accounts/mfaSignIn:finalize",Q(e,t))}}class mn{constructor(){}static assertion(e){return vn._fromCredential(e)}}mn.FACTOR_ID="phone";var gn,_n="@firebase/auth";class yn{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null===(e=this.auth.currentUser)||void 0===e?void 0:e.uid)||null}async getToken(e){return this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(t){var e;this.assertAuthConfigured(),this.internalListeners.has(t)||(e=this.auth.onIdTokenChanged(e=>{t((null===e||void 0===e?void 0:e.stsTokenManager.accessToken)||null)}),this.internalListeners.set(t,e),this.updateProactiveRefresh())}removeAuthTokenListener(e){this.assertAuthConfigured();const t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){j(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){0{var t=e.getProvider("app").getImmediate(),r=e.getProvider("heartbeat");const{apiKey:i,authDomain:s}=t.options;return((e,t)=>{j(i&&!i.includes(":"),"invalid-api-key",{appName:e.name}),j(!(null!==s&&void 0!==s&&s.includes(":")),"argument-error",{appName:e.name});var r={apiKey:i,authDomain:s,clientPlatform:gn,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:Ne(gn)},r=new Ce(e,t,r);return function(e,t){const r=(null==t?void 0:t.persistence)||[];var n=(Array.isArray(r)?r:[r]).map(z);null!=t&&t.errorMap&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(n,null==t?void 0:t.popupRedirectResolver)}(r,n),r})(t,r)},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,r)=>{const n=e.getProvider("auth-internal");n.initialize()})),li._registerComponent(new R("auth-internal",e=>{var t=Le(e.getProvider("auth").getImmediate());return e=t,new yn(e)},"PRIVATE").setInstantiationMode("EXPLICIT")),li.registerVersion(_n,"0.20.5",function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";default:return}}(gn)),li.registerVersion(_n,"0.20.5","esm2017");async function wn(e,t,r){var n=In()["BuildInfo"];H(t.sessionId,"AuthEvent did not contain a session ID");var i=await async function(e){const t=function(e){if(H(/[0-9a-zA-Z]+/.test(e),"Can only convert alpha-numeric strings"),"undefined"!=typeof TextEncoder)return(new TextEncoder).encode(e);const t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;ne.toString(16).padStart(2,"0")).join("")}(t.sessionId);const s={};return Ae()?s.ibi=n.packageName:Ee()?s.apn=n.packageName:M(e,"operation-not-supported-in-this-environment"),n.displayName&&(s.appDisplayName=n.displayName),s.sessionId=i,hn(e,r,t.type,void 0,null!==(i=t.eventId)&&void 0!==i?i:void 0,s)}function Tn(n){const i=In()["cordova"];return new Promise(r=>{i.plugins.browsertab.isAvailable(e=>{let t=null;e?i.plugins.browsertab.openUrl(n):t=i.InAppBrowser.open(n,(e=d(),/(iPad|iPhone|iPod).*OS 7_\d/i.test(e)||/(iPad|iPhone|iPod).*OS 8_\d/i.test(e)?"_blank":"_system"),"location=yes"),r(t)})})}const bn=20;class kn extends qr{constructor(){super(...arguments),this.passiveListeners=new Set,this.initPromise=new Promise(e=>{this.resolveInialized=e})}addPassiveListener(e){this.passiveListeners.add(e)}removePassiveListener(e){this.passiveListeners.delete(e)}resetRedirect(){this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1}onEvent(t){return this.resolveInialized(),this.passiveListeners.forEach(e=>e(t)),super.onEvent(t)}async initialized(){await this.initPromise}}function En(e,t,r=null){return{type:t,eventId:r,urlResponse:null,sessionId:function(){const e=[],t="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let n=0;n{};try{await new Promise((r,e)=>{let t=null;function n(){var e;r();const t=null===(e=c.plugins.browsertab)||void 0===e?void 0:e.close;"function"==typeof t&&t(),"function"==typeof(null==l?void 0:l.close)&&l.close()}function i(){t=t||window.setTimeout(()=>{e(U(a,"redirect-cancelled-by-user"))},2e3)}function s(){"visible"===(null===document||void 0===document?void 0:document.visibilityState)&&i()}o.addPassiveListener(n),document.addEventListener("resume",i,!1),Ee()&&document.addEventListener("visibilitychange",s,!1),u=()=>{o.removePassiveListener(n),document.removeEventListener("resume",i,!1),document.removeEventListener("visibilitychange",s,!1),t&&window.clearTimeout(t)}})}finally{u()}}(e,a,o)}_isIframeWebStorageSupported(e,t){throw new Error("Method not implemented.")}_originValidation(e){var t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=async function(e){var t=In()["BuildInfo"];const r={};Ae()?r.iosBundleId=t.packageName:Ee()?r.androidPackageName=t.packageName:M(e,"operation-not-supported-in-this-environment"),await Gr(e,r)}(e)),this.originValidationPromises[t]}attachCallbackListeners(n,i){const{universalLinks:e,handleOpenURL:t,BuildInfo:r}=In(),s=setTimeout(async()=>{await Rn(n),i.onEvent(Cn())},500),a=async e=>{clearTimeout(s);var t=await Rn(n);let r=null;t&&null!=e&&e.url&&(r=Sn(t,e.url)),i.onEvent(r||Cn())};void 0!==e&&"function"==typeof e.subscribe&&e.subscribe(null,a);const o=t,l=`${r.packageName.toLowerCase()}://`;In().handleOpenURL=async e=>{if(e.toLowerCase().startsWith(l)&&a({url:e}),"function"==typeof o)try{o(e)}catch(e){console.error(e)}}}};function Cn(){return{type:"unknown",eventId:null,sessionId:null,urlResponse:null,postBody:null,tenantId:null,error:U("no-auth-event")}}var Ln;function Dn(){var e;return(null===(e=null===self||void 0===self?void 0:self.location)||void 0===e?void 0:e.protocol)||null}function Mn(e=d()){return!("file:"!==Dn()&&"ionic:"!==Dn()&&"capacitor:"!==Dn()||!e.toLowerCase().match(/iphone|ipad|ipod|android/))}function Un(e=d()){return c()&&11===(null===document||void 0===document?void 0:document.documentMode)||([e=d()]=[e],/Edge\/\d+/.test(e))}function Fn(){try{const t=self.localStorage;var e=Jt();if(t)return t.setItem(e,"1"),t.removeItem(e),!Un()||u()}catch(e){return xn()&&u()}return!1}function xn(){return"undefined"!=typeof global&&"WorkerGlobalScope"in global&&"importScripts"in global}function Vn(){return("http:"===Dn()||"https:"===Dn()||o()||Mn())&&!(l()||a())&&Fn()&&!xn()}function jn(){return Mn()&&"undefined"!=typeof document}const Wn={LOCAL:"local",NONE:"none",SESSION:"session"},Hn=j,qn="persistence";async function zn(e){await e._initializationPromise;const t=Bn();var r=_e(qn,e.config.apiKey,e.name);t&&t.setItem(r,e._getPersistence())}function Bn(){var e;try{return(null===(e="undefined"!=typeof window?window:null)?void 0:e.sessionStorage)||null}catch(e){return null}}const Gn=j;class Kn{constructor(){this.browserResolver=z(fn),this.cordovaResolver=z(Pn),this.underlyingResolver=null,this._redirectPersistence=Kt,this._completeRedirectFn=Wr,this._overrideRedirectResult=Mr}async _initialize(e){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._initialize(e)}async _openPopup(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openPopup(e,t,r,n)}async _openRedirect(e,t,r,n){return await this.selectUnderlyingResolver(),this.assertedUnderlyingResolver._openRedirect(e,t,r,n)}_isIframeWebStorageSupported(e,t){this.assertedUnderlyingResolver._isIframeWebStorageSupported(e,t)}_originValidation(e){return this.assertedUnderlyingResolver._originValidation(e)}get _shouldInitProactively(){return jn()||this.browserResolver._shouldInitProactively}get assertedUnderlyingResolver(){return Gn(this.underlyingResolver,"internal-error"),this.underlyingResolver}async selectUnderlyingResolver(){var e;this.underlyingResolver||(e=await(!!jn()&&new Promise(e=>{const t=setTimeout(()=>{e(!1)},1e3);document.addEventListener("deviceready",()=>{clearTimeout(t),e(!0)})})),this.underlyingResolver=e?this.cordovaResolver:this.browserResolver)}}function $n(e){return e.unwrap()}function Jn(e,t){var r,n,i,s=null===(n=t.customData)||void 0===n?void 0:n._tokenResponse;if("auth/multi-factor-auth-required"===(null===t||void 0===t?void 0:t.code)){const o=t;o.resolver=new Qn(e,(r=t,i=I(e),j((a=r).customData.operationType,i,"argument-error"),j(null===(n=a.customData._serverResponse)||void 0===n?void 0:n.mfaPendingCredential,i,"argument-error"),Vt._fromError(i,a)))}else if(s){var a=Yn(t);const l=t;a&&(l.credential=a,l.tenantId=s.tenantId||void 0,l.email=s.email||void 0,l.phoneNumber=s.phoneNumber||void 0)}}function Yn(e){var t=(e instanceof h?e.customData:e)["_tokenResponse"];if(!t)return null;if(!(e instanceof h)&&"temporaryProof"in t&&"phoneNumber"in t)return Tr.credentialFromResult(e);const r=t.providerId;if(!r||r===S.PASSWORD)return null;let n;switch(r){case S.GOOGLE:n=Qe;break;case S.FACEBOOK:n=Ze;break;case S.GITHUB:n=et;break;case S.TWITTER:n=nt;break;default:var{oauthIdToken:i,oauthAccessToken:s,oauthTokenSecret:a,pendingToken:o,nonce:l}=t;return s||a||i||o?o?r.startsWith("saml.")?tt._create(r,o):ze._fromParams({providerId:r,signInMethod:r,pendingToken:o,idToken:i,accessToken:s}):new Xe(r).credential({idToken:i,accessToken:s,rawNonce:l}):null}return e instanceof h?n.credentialFromError(e):n.credentialFromResult(e)}function Xn(t,e){return e.catch(e=>{throw e instanceof h&&Jn(t,e),e}).then(e=>{var t=e.operationType,r=e.user;return{operationType:t,credential:Yn(e),additionalUserInfo:Ft(e),user:ei.getOrCreate(r)}})}async function Zn(t,e){const r=await e;return{verificationId:r.verificationId,confirm:e=>Xn(t,r.confirm(e))}}class Qn{constructor(e,t){this.resolver=t,this.auth=e.wrapped()}get session(){return this.resolver.session}get hints(){return this.resolver.hints}resolveSignIn(e){return Xn($n(this.auth),this.resolver.resolveSignIn(e))}}class ei{constructor(e){var t;this._delegate=e,this.multiFactor=(t=I(e),Wt.has(t)||Wt.set(t,jt._fromUser(t)),Wt.get(t))}static getOrCreate(e){return ei.USER_MAP.has(e)||ei.USER_MAP.set(e,new ei(e)),ei.USER_MAP.get(e)}delete(){return this._delegate.delete()}reload(){return this._delegate.reload()}toJSON(){return this._delegate.toJSON()}getIdTokenResult(e){return this._delegate.getIdTokenResult(e)}getIdToken(e){return this._delegate.getIdToken(e)}linkAndRetrieveDataWithCredential(e){return this.linkWithCredential(e)}async linkWithCredential(e){return Xn(this.auth,mt(this._delegate,e))}async linkWithPhoneNumber(e,t){return Zn(this.auth,async function(e,t,r){const n=I(e);await ht(!1,n,"phone");var i=await wr(n.auth,t,I(r));return new Ir(i,e=>mt(n,e))}(this._delegate,e,t))}async linkWithPopup(e){return Xn(this.auth,async function(e,t,r){var n=I(e);x(n.auth,t,Je);var i=br(n.auth,r);const s=new Nr(n.auth,"linkViaPopup",t,i,n);return s.executeNotNull()}(this._delegate,e,Kn))}async linkWithRedirect(e){return await zn(Le(this.auth)),jr(this._delegate,e,Kn)}reauthenticateAndRetrieveDataWithCredential(e){return this.reauthenticateWithCredential(e)}async reauthenticateWithCredential(e){return Xn(this.auth,gt(this._delegate,e))}reauthenticateWithPhoneNumber(e,t){return Zn(this.auth,async function(e,t,r){const n=I(e);var i=await wr(n.auth,t,I(r));return new Ir(i,e=>gt(n,e))}(this._delegate,e,t))}reauthenticateWithPopup(e){return Xn(this.auth,async function(e,t,r){var n=I(e);x(n.auth,t,Je);var i=br(n.auth,r);const s=new Nr(n.auth,"reauthViaPopup",t,i,n);return s.executeNotNull()}(this._delegate,e,Kn))}async reauthenticateWithRedirect(e){return await zn(Le(this.auth)),Vr(this._delegate,e,Kn)}sendEmailVerification(e){return St(this._delegate,e)}async unlink(e){return await ut(this._delegate,e),this}updateEmail(e){return Nt(I(this._delegate),e,null)}updatePassword(e){return Nt(I(this._delegate),null,e)}updatePhoneNumber(e){return async function(e,t){await dt(I(e),t)}(this._delegate,e)}updateProfile(e){return Ot(this._delegate,e)}verifyBeforeUpdateEmail(e,t){return At(this._delegate,e,t)}get emailVerified(){return this._delegate.emailVerified}get isAnonymous(){return this._delegate.isAnonymous}get metadata(){return this._delegate.metadata}get phoneNumber(){return this._delegate.phoneNumber}get providerData(){return this._delegate.providerData}get refreshToken(){return this._delegate.refreshToken}get tenantId(){return this._delegate.tenantId}get displayName(){return this._delegate.displayName}get email(){return this._delegate.email}get photoURL(){return this._delegate.photoURL}get providerId(){return this._delegate.providerId}get uid(){return this._delegate.uid}get auth(){return this._delegate.auth}}ei.USER_MAP=new WeakMap;const ti=j;class ri{constructor(e,t){if(this.app=e,t.isInitialized())return this._delegate=t.getImmediate(),void this.linkUnderlyingAuth();var r=e.options["apiKey"];ti(r,"invalid-api-key",{appName:e.name}),ti(r,"invalid-api-key",{appName:e.name});var n="undefined"!=typeof window?Kn:void 0;this._delegate=t.initialize({options:{persistence:function(e,t){const r=function(e,t){const r=Bn();if(!r)return[];var n=_e(qn,e,t);switch(r.getItem(n)){case Wn.NONE:return[ge];case Wn.LOCAL:return[lr,Kt];case Wn.SESSION:return[Kt];default:return[]}}(e,t);"undefined"==typeof self||r.includes(lr)||r.push(lr);if("undefined"!=typeof window)for(const n of[Bt,Kt])r.includes(n)||r.push(n);r.includes(ge)||r.push(ge);return r}(r,e.name),popupRedirectResolver:n}}),this._delegate._updateErrorMap(N),this.linkUnderlyingAuth()}get emulatorConfig(){return this._delegate.emulatorConfig}get currentUser(){return this._delegate.currentUser?ei.getOrCreate(this._delegate.currentUser):null}get languageCode(){return this._delegate.languageCode}set languageCode(e){this._delegate.languageCode=e}get settings(){return this._delegate.settings}get tenantId(){return this._delegate.tenantId}set tenantId(e){this._delegate.tenantId=e}useDeviceLanguage(){this._delegate.useDeviceLanguage()}signOut(){return this._delegate.signOut()}useEmulator(e,t){Me(this._delegate,e,t)}applyActionCode(e){return bt(this._delegate,e)}checkActionCode(e){return kt(this._delegate,e)}confirmPasswordReset(e,t){return async function(e,t,r){await Ve(I(e),{oobCode:t,newPassword:r})}(this._delegate,e,t)}async createUserWithEmailAndPassword(e,t){return Xn(this._delegate,async function(e,t,r){const n=Le(e);var i=await it(n,{returnSecureToken:!0,email:t,password:r}),i=await st._fromIdTokenResponse(n,"signIn",i);return await n._updateCurrentUser(i.user),i}(this._delegate,e,t))}fetchProvidersForEmail(e){return this.fetchSignInMethodsForEmail(e)}fetchSignInMethodsForEmail(e){return Rt(this._delegate,e)}isSignInWithEmailLink(e){return this._delegate,e=e,"EMAIL_SIGNIN"===(null==(t=Ke.parseLink(e))?void 0:t.operation);var t}async getRedirectResult(){ti(Vn(),this._delegate,"operation-not-supported-in-this-environment");var e,t,r=(e=this._delegate,t=Kn,await Le(e)._initializationPromise,await Wr(e,t,!1));return r?Xn(this._delegate,Promise.resolve(r)):{credential:null,user:null}}addFrameworkForLogging(e){Le(this._delegate)._logFramework(e)}onAuthStateChanged(e,t,r){var{next:n,error:i,complete:s}=ni(e,t,r);return this._delegate.onAuthStateChanged(n,i,s)}onIdTokenChanged(e,t,r){var{next:n,error:i,complete:s}=ni(e,t,r);return this._delegate.onIdTokenChanged(n,i,s)}sendSignInLinkToEmail(e,t){return Et(this._delegate,e,t)}sendPasswordResetEmail(e,t){return Tt(this._delegate,e,t||void 0)}async setPersistence(e){var t,r;t=this._delegate,r=e,Hn(Object.values(Wn).includes(r),t,"invalid-persistence-type"),l()?Hn(r!==Wn.SESSION,t,"unsupported-persistence-type"):a()?Hn(r===Wn.NONE,t,"unsupported-persistence-type"):xn()?Hn(r===Wn.NONE||r===Wn.LOCAL&&u(),t,"unsupported-persistence-type"):Hn(r===Wn.NONE||Fn(),t,"unsupported-persistence-type");let n;switch(e){case Wn.SESSION:n=Kt;break;case Wn.LOCAL:var i=await z(lr)._isAvailable();n=i?lr:Bt;break;case Wn.NONE:n=ge;break;default:return M("argument-error",{appName:this._delegate.name})}return this._delegate.setPersistence(n)}signInAndRetrieveDataWithCredential(e){return this.signInWithCredential(e)}signInAnonymously(){return Xn(this._delegate,async function(e){const t=Le(e);if(await t._initializationPromise,null!==(r=t.currentUser)&&void 0!==r&&r.isAnonymous)return new st({user:t.currentUser,providerId:null,operationType:"signIn"});var r=await it(t,{returnSecureToken:!0}),r=await st._fromIdTokenResponse(t,"signIn",r,!0);return await t._updateCurrentUser(r.user),r}(this._delegate))}signInWithCredential(e){return Xn(this._delegate,vt(this._delegate,e))}signInWithCustomToken(e){return Xn(this._delegate,_t(this._delegate,e))}signInWithEmailAndPassword(e,t){return Xn(this._delegate,(r=this._delegate,e=e,t=t,vt(I(r),$e.credential(e,t))));var r}signInWithEmailLink(e,t){return Xn(this._delegate,async function(e,t,r){var n=I(e),i=$e.credentialWithLink(t,r||B());return j(i._tenantId===(n.tenantId||null),n,"tenant-id-mismatch"),vt(n,i)}(this._delegate,e,t))}signInWithPhoneNumber(e,t){return Zn(this._delegate,async function(e,t,r){const n=Le(e);var i=await wr(n,t,I(r));return new Ir(i,e=>vt(n,e))}(this._delegate,e,t))}async signInWithPopup(e){return ti(Vn(),this._delegate,"operation-not-supported-in-this-environment"),Xn(this._delegate,async function(e,t,r){var n=Le(e);x(e,t,Je);var i=br(n,r);const s=new Nr(n,"signInViaPopup",t,i);return s.executeNotNull()}(this._delegate,e,Kn))}async signInWithRedirect(e){return ti(Vn(),this._delegate,"operation-not-supported-in-this-environment"),await zn(this._delegate),xr(this._delegate,e,Kn)}updateCurrentUser(e){return this._delegate.updateCurrentUser(e)}verifyPasswordResetCode(e){return async function(e,t){var r=(await kt(I(e),t))["data"];return r.email}(this._delegate,e)}unwrap(){return this._delegate}_delete(){return this._delegate._delete()}linkUnderlyingAuth(){this._delegate.wrapped=()=>this}}function ni(e,t,r){let n=e;"function"!=typeof e&&({next:n,error:t,complete:r}=e);const i=n;return{next:e=>i(e&&ei.getOrCreate(e)),error:t,complete:r}}ri.Persistence=Wn;class ii{constructor(){this.providerId="phone",this._delegate=new Tr($n(i.default.auth()))}static credential(e,t){return Tr.credential(e,t)}verifyPhoneNumber(e,t){return this._delegate.verifyPhoneNumber(e,t)}unwrap(){return this._delegate}}ii.PHONE_SIGN_IN_METHOD=Tr.PHONE_SIGN_IN_METHOD,ii.PROVIDER_ID=Tr.PROVIDER_ID;const si=j;class ai{constructor(e,t,r=i.default.app()){var n;si(null===(n=r.options)||void 0===n?void 0:n.apiKey,"invalid-api-key",{appName:r.name}),this._delegate=new yr(e,t,r.auth()),this.type=this._delegate.type}clear(){this._delegate.clear()}render(){return this._delegate.render()}verify(){return this._delegate.verify()}}(Ln=i.default).INTERNAL.registerComponent(new R("auth-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("auth");return new ri(t,r)},"PUBLIC").setServiceProps({ActionCodeInfo:{Operation:{EMAIL_SIGNIN:A.EMAIL_SIGNIN,PASSWORD_RESET:A.PASSWORD_RESET,RECOVER_EMAIL:A.RECOVER_EMAIL,REVERT_SECOND_FACTOR_ADDITION:A.REVERT_SECOND_FACTOR_ADDITION,VERIFY_AND_CHANGE_EMAIL:A.VERIFY_AND_CHANGE_EMAIL,VERIFY_EMAIL:A.VERIFY_EMAIL}},EmailAuthProvider:$e,FacebookAuthProvider:Ze,GithubAuthProvider:et,GoogleAuthProvider:Qe,OAuthProvider:Xe,SAMLAuthProvider:rt,PhoneAuthProvider:ii,PhoneMultiFactorGenerator:mn,RecaptchaVerifier:ai,TwitterAuthProvider:nt,Auth:ri,AuthCredential:xe,Error:h}).setInstantiationMode("LAZY").setMultipleInstances(!1)),Ln.registerVersion("@firebase/auth-compat","0.2.18")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-auth-compat.js - be sure to load firebase-app.js first.")}}); -//# sourceMappingURL=firebase-auth-compat.js.map diff --git a/smashkarts/js/firebase/9.9.3/firebase-database-compat.js b/smashkarts/js/firebase/9.9.3/firebase-database-compat.js deleted file mode 100644 index 463beb81..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-database-compat.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(Io,Eo){"use strict";try{!(function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n,t=e(Io);function r(t){const n=[];let r=0;for(let i=0;i>6|192:(55296==(64512&e)&&i+1>18|240,n[r++]=e>>12&63|128):n[r++]=e>>12|224,n[r++]=e>>6&63|128),n[r++]=63&e|128)}return n}function i(e){var t=r(e);return o.encodeByteArray(t,!0)}const s={NODE_CLIENT:!1,NODE_ADMIN:!1,SDK_VERSION:"${JSCORE_VERSION}"},p=function(e,t){if(!e)throw c(t)},c=function(e){return new Error("Firebase Database ("+s.SDK_VERSION+") INTERNAL ASSERT FAILED: "+e)},o={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(n,e){if(!Array.isArray(n))throw Error("encodeByteArray takes an array as a parameter");this.init_();var r=e?this.byteToCharMapWebSafe_:this.byteToCharMap_;const i=[];for(let c=0;c>6,t=63&h;l||(t=64,o||(e=64)),i.push(r[s>>2],r[(3&s)<<4|a>>4],r[e],r[t])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(r(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,r=0;for(;n>10)),t[r++]=String.fromCharCode(56320+(1023&s))):(i=e[n++],s=e[n++],t[r++]=String.fromCharCode((15&o)<<12|(63&i)<<6|63&s))}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();var n=t?this.charToByteMapWebSafe_:this.charToByteMap_;const r=[];for(let l=0;l>4),64!==o&&(r.push(s<<4&240|o>>2),64!==a&&r.push(o<<6&192|a))}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}},a=function(e){return i(e).replace(/\./g,"")},l=function(e){try{return o.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function h(e){return function e(t,n){if(!(n instanceof Object))return n;switch(n.constructor){case Date:const r=n;return new Date(r.getTime());case Object:void 0===t&&(t={});break;case Array:t=[];break;default:return n}for(const i in n)n.hasOwnProperty(i)&&u(i)&&(t[i]=e(t[i],n[i]));return t}(void 0,e)}function u(e){return"__proto__"!==e}class d{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(n){return(e,t)=>{e?this.reject(e):this.resolve(t),"function"==typeof n&&(this.promise.catch(()=>{}),1===n.length?n(e):n(e,t))}}}function _(){return"undefined"!=typeof window&&(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test("undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:"")}function f(){return!0===s.NODE_ADMIN}function g(e){return JSON.parse(e)}function m(e){return JSON.stringify(e)}function v(e){let t={},n={},r={},i="";try{var s=e.split(".");t=g(l(s[0])||""),n=g(l(s[1])||""),i=s[2],r=n.d||{},delete n.d}catch(e){}return{header:t,claims:n,data:r,signature:i}}function y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function w(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]}function C(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function b(e,t,n){const r={};for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=t.call(n,e[i],i,e));return r}class T{constructor(){this.chain_=[],this.buf_=[],this.W_=[],this.pad_=[],this.inbuf_=0,this.total_=0,this.blockSize=64,this.pad_[0]=128;for(let e=1;e>>31)}let t=this.chain_[0],s=this.chain_[1],o=this.chain_[2],a=this.chain_[3],l=this.chain_[4],h,c;for(let _=0;_<80;_++){c=_<40?_<20?(h=a^s&(o^a),1518500249):(h=s^o^a,1859775393):_<60?(h=s&o|a&(s|o),2400959708):(h=s^o^a,3395469782);var u=(t<<5|t>>>27)+h+l+c+i[_]&4294967295;l=a,a=o,o=4294967295&(s<<30|s>>>2),s=t,t=u}this.chain_[0]=this.chain_[0]+t&4294967295,this.chain_[1]=this.chain_[1]+s&4294967295,this.chain_[2]=this.chain_[2]+o&4294967295,this.chain_[3]=this.chain_[3]+a&4294967295,this.chain_[4]=this.chain_[4]+l&4294967295}update(n,r){if(null!=n){var i=(r=void 0===r?n.length:r)-this.blockSize;let e=0;const s=this.buf_;let t=this.inbuf_;for(;e>e&255,++n;return t}}function I(e,t,n,r){let i;if(r"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=x){return this.instances.has(e)}getOptions(e=x){return this.instancesOptions.get(e)||{}}initialize(e={}){var{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);var r,i,s=this.getOrInitializeService({instanceIdentifier:n,options:t});for([r,i]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(r)&&i.resolve(s);return s}onInit(e,t){var n=this.normalizeInstanceIdentifier(t);const r=null!==(i=this.onInitCallbacks.get(n))&&void 0!==i?i:new Set;r.add(e),this.onInitCallbacks.set(n,r);var i=this.instances.get(n);return i&&e(i,n),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){var n=this.onInitCallbacks.get(t);if(n)for(const r of n)try{r(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(r=e)===x?void 0:r,options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch(e){}var r;return n||null}normalizeInstanceIdentifier(e=x){return!this.component||this.component.multipleInstances?e:x}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class A{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){const t=this.getProvider(e.name);t.isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);var t=new D(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}(K=n=n||{})[K.DEBUG=0]="DEBUG",K[K.VERBOSE=1]="VERBOSE",K[K.INFO=2]="INFO",K[K.WARN=3]="WARN",K[K.ERROR=4]="ERROR",K[K.SILENT=5]="SILENT";const O={debug:n.DEBUG,verbose:n.VERBOSE,info:n.INFO,warn:n.WARN,error:n.ERROR,silent:n.SILENT},L=n.INFO,M={[n.DEBUG]:"log",[n.VERBOSE]:"log",[n.INFO]:"info",[n.WARN]:"warn",[n.ERROR]:"error"},F=(e,t,...n)=>{if(!(t>6|192:(e<65536?n[r++]=e>>12|224:(n[r++]=e>>18|240,n[r++]=e>>12&63|128),n[r++]=e>>6&63|128),n[r++]=63&e|128)}return n}(e);const n=new T;return n.update(t),t=n.digest(),o.encodeByteArray(t)}const Z=z("localStorage"),ee=z("sessionStorage"),te=new q("@firebase/database"),ne=function(){let e=1;return function(){return e++}}(),re=function(...e){let t="";for(let r=0;rn?r.push(e.substring(i,n)):r.push(e.substring(i,i+t));return r}const de=function(e,t){p(!t||!0===e||!1===e,"Can't turn on custom loggers persistently."),!0===e?(te.logLevel=n.VERBOSE,ie=te.log.bind(te),t&&ee.set("logging_enabled",!0)):"function"==typeof e?ie=e:(ie=null,ee.remove("logging_enabled"))},_e=function(...e){var t;!0===se&&(se=!1,null===ie&&!0===ee.get("logging_enabled")&&de(!0)),ie&&(t=re.apply(null,e),ie(t))},pe=function(...e){var t=`FIREBASE FATAL ERROR: ${re(...e)}`;throw te.error(t),new Error(t)},fe=function(...e){var t="FIREBASE WARNING: "+re(...e);te.warn(t)},ge=function(){"undefined"!=typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&fe("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().")},me=function(e){return"number"==typeof e&&(e!=e||e===Number.POSITIVE_INFINITY||e===Number.NEGATIVE_INFINITY)},ve="[MIN_NAME]",ye="[MAX_NAME]",we=function(e,t){if(e===t)return 0;if(e===ve||t===ye)return-1;if(t===ve||e===ye)return 1;var n=ke(e),r=ke(t);return null!==n?null!==r?n-r==0?e.length-t.length:n-r:-1:null===r&&e=Math.pow(2,-1022)?(i=Math.min(Math.floor(Math.log(e)/Math.LN2),1023),n=i+1023,Math.round(e*Math.pow(2,52-i)-Math.pow(2,52))):(n=0,Math.round(e/Math.pow(2,-1074))));const o=[];for(s=52;s;--s)o.push(r%2?1:0),r=Math.floor(r/2);for(s=11;s;--s)o.push(n%2?1:0),n=Math.floor(n/2);o.push(t?1:0),o.reverse();const a=o.join("");let l="";for(s=0;s<64;s+=8){let e=parseInt(a.substr(s,8),2).toString(16);1===e.length&&(e="0"+e),l+=e}return l.toLowerCase()}function Te(e,t){const n=setTimeout(e,t);return"object"==typeof n&&n.unref&&n.unref(),n}const Ie=new RegExp("^-?(0*)\\d{1,10}$"),Ee=-2147483648,Se=2147483647,ke=function(e){if(Ie.test(e)){var t=Number(e);if(t>=Ee&&t<=Se)return t}return null},Ne=function(e){try{e()}catch(t){setTimeout(()=>{var e=t.stack||"";throw fe("Exception was thrown by user callback.",e),t},Math.floor(0))}};class Pe{constructor(e,t){this.appName_=e,this.appCheckProvider=t,this.appCheck=null==t?void 0:t.getImmediate({optional:!0}),this.appCheck||null!=t&&t.get().then(e=>this.appCheck=e)}getToken(n){return this.appCheck?this.appCheck.getToken(n):new Promise((e,t)=>{setTimeout(()=>{this.appCheck?this.getToken(n).then(e,t):e(null)},0)})}addTokenChangeListener(t){var e;null!==(e=this.appCheckProvider)&&void 0!==e&&e.get().then(e=>e.addTokenListener(t))}notifyForInvalidToken(){fe(`Provided AppCheck credentials for the app named "${this.appName_}" `+"are invalid. This usually indicates your app was not initialized correctly.")}}class Re{constructor(e,t,n){this.appName_=e,this.firebaseOptions_=t,this.authProvider_=n,this.auth_=null,this.auth_=n.getImmediate({optional:!0}),this.auth_||n.onInit(e=>this.auth_=e)}getToken(n){return this.auth_?this.auth_.getToken(n).catch(e=>e&&"auth/token-not-initialized"===e.code?(_e("Got auth/token-not-initialized error. Treating as null token."),null):Promise.reject(e)):new Promise((e,t)=>{setTimeout(()=>{this.auth_?this.getToken(n).then(e,t):e(null)},0)})}addTokenChangeListener(t){this.auth_?this.auth_.addAuthTokenListener(t):this.authProvider_.get().then(e=>e.addAuthTokenListener(t))}removeTokenChangeListener(t){this.authProvider_.get().then(e=>e.removeAuthTokenListener(t))}notifyForInvalidToken(){let e='Provided authentication credentials for the app named "'+this.appName_+'" are invalid. This usually indicates your app was not initialized correctly. ';"credential"in this.firebaseOptions_?e+='Make sure the "credential" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':"serviceAccount"in this.firebaseOptions_?e+='Make sure the "serviceAccount" property provided to initializeApp() is authorized to access the specified "databaseURL" and is from the correct project.':e+='Make sure the "apiKey" and "databaseURL" properties provided to initializeApp() match the values provided for your app at https://console.firebase.google.com/.',fe(e)}}class xe{constructor(e){this.accessToken=e}getToken(e){return Promise.resolve({accessToken:this.accessToken})}addTokenChangeListener(e){e(this.accessToken)}removeTokenChangeListener(e){}notifyForInvalidToken(){}}xe.OWNER="owner";const De=/(console\.firebase|firebase-console-\w+\.corp|firebase\.corp)\.google\.com/,Ae="websocket",Oe="long_polling";class Le{constructor(e,t,n,r,i=!1,s="",o=!1){this.secure=t,this.namespace=n,this.webSocketOnly=r,this.nodeAdmin=i,this.persistenceKey=s,this.includeNamespaceInQueryParams=o,this._host=e.toLowerCase(),this._domain=this._host.substr(this._host.indexOf(".")+1),this.internalHost=Z.get("host:"+e)||this._host}isCacheableHost(){return"s-"===this.internalHost.substr(0,2)}isCustomHost(){return"firebaseio.com"!==this._domain&&"firebaseio-demo.com"!==this._domain}get host(){return this._host}set host(e){e!==this.internalHost&&(this.internalHost=e,this.isCacheableHost()&&Z.set("host:"+this._host,this.internalHost))}toString(){let e=this.toURLString();return this.persistenceKey&&(e+="<"+this.persistenceKey+">"),e}toURLString(){var e=this.secure?"https://":"http://",t=this.includeNamespaceInQueryParams?`?ns=${this.namespace}`:"";return`${e}${this.host}/${t}`}}function Me(e,t,n){p("string"==typeof t,"typeof type must == string"),p("object"==typeof n,"typeof params must == object");let r;if(t===Ae)r=(e.secure?"wss://":"ws://")+e.internalHost+"/.ws?";else{if(t!==Oe)throw new Error("Unknown connection type: "+t);r=(e.secure?"https://":"http://")+e.internalHost+"/.lp?"}((t=e).host!==t.internalHost||t.isCustomHost()||t.includeNamespaceInQueryParams)&&(n.ns=e.namespace);const i=[];return Ce(n,(e,t)=>{i.push(e+"="+t)}),r+i.join("&")}class Fe{constructor(){this.counters_={}}incrementCounter(e,t=1){y(this.counters_,e)||(this.counters_[e]=0),this.counters_[e]+=t}get(){return h(this.counters_)}}const qe={},We={};function Ue(e){var t=e.toString();return qe[t]||(qe[t]=new Fe),qe[t]}class Be{constructor(e){this.onMessage_=e,this.pendingResponses=[],this.currentResponseNum=0,this.closeAfterResponse=-1,this.onClose=null}closeAfter(e,t){this.closeAfterResponse=e,this.onClose=t,this.closeAfterResponse{this.onMessage_(n[e])});if(this.currentResponseNum===this.closeAfterResponse){this.onClose&&(this.onClose(),this.onClose=null);break}this.currentResponseNum++}}}class je{constructor(e,t,n,r,i,s,o){this.connId=e,this.repoInfo=t,this.applicationId=n,this.appCheckToken=r,this.authToken=i,this.transportSessionId=s,this.lastSessionId=o,this.bytesSent=0,this.bytesReceived=0,this.everConnected_=!1,this.log_=oe(e),this.stats_=Ue(t),this.urlFn=e=>(this.appCheckToken&&(e.ac=this.appCheckToken),Me(t,Oe,e))}open(e,t){this.curSegmentNum=0,this.onDisconnect_=t,this.myPacketOrderer=new Be(e),this.isClosed_=!1,this.connectTimeoutTimer_=setTimeout(()=>{this.log_("Timed out trying to connect."),this.onClosed_(),this.connectTimeoutTimer_=null},Math.floor(3e4)),function(t){if("complete"===document.readyState)t();else{let e=!1;const n=function(){document.body?e||(e=!0,t()):setTimeout(n,Math.floor(10))};document.addEventListener?(document.addEventListener("DOMContentLoaded",n,!1),window.addEventListener("load",n,!1)):document.attachEvent&&(document.attachEvent("onreadystatechange",()=>{"complete"===document.readyState&&n()}),window.attachEvent("onload",n))}}(()=>{if(!this.isClosed_){this.scriptTagHolder=new Ve((...e)=>{var[t,n,r]=e;if(this.incrementIncomingBytes_(e),this.scriptTagHolder)if(this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null),this.everConnected_=!0,"start"===t)this.id=n,this.password=r;else{if("close"!==t)throw new Error("Unrecognized command received: "+t);n?(this.scriptTagHolder.sendNewPolls=!1,this.myPacketOrderer.closeAfter(n,()=>{this.onClosed_()})):this.onClosed_()}},(...e)=>{var[t,n]=e;this.incrementIncomingBytes_(e),this.myPacketOrderer.handleResponse(t,n)},()=>{this.onClosed_()},this.urlFn);const t={start:"t"};t.ser=Math.floor(1e8*Math.random()),this.scriptTagHolder.uniqueCallbackIdentifier&&(t.cb=this.scriptTagHolder.uniqueCallbackIdentifier),t.v="5",this.transportSessionId&&(t.s=this.transportSessionId),this.lastSessionId&&(t.ls=this.lastSessionId),this.applicationId&&(t.p=this.applicationId),this.appCheckToken&&(t.ac=this.appCheckToken),"undefined"!=typeof location&&location.hostname&&De.test(location.hostname)&&(t.r="f");var e=this.urlFn(t);this.log_("Connecting via long-poll to "+e),this.scriptTagHolder.addTag(e,()=>{})}})}start(){this.scriptTagHolder.startLongPoll(this.id,this.password),this.addDisconnectPingFrame(this.id,this.password)}static forceAllow(){je.forceAllow_=!0}static forceDisallow(){je.forceDisallow_=!0}static isAvailable(){return!!je.forceAllow_||!(je.forceDisallow_||"undefined"==typeof document||null==document.createElement||"object"==typeof window&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href)||"object"==typeof Windows&&"object"==typeof Windows.UI)}markConnectionHealthy(){}shutdown_(){this.isClosed_=!0,this.scriptTagHolder&&(this.scriptTagHolder.close(),this.scriptTagHolder=null),this.myDisconnFrame&&(document.body.removeChild(this.myDisconnFrame),this.myDisconnFrame=null),this.connectTimeoutTimer_&&(clearTimeout(this.connectTimeoutTimer_),this.connectTimeoutTimer_=null)}onClosed_(){this.isClosed_||(this.log_("Longpoll is closing itself"),this.shutdown_(),this.onDisconnect_&&(this.onDisconnect_(this.everConnected_),this.onDisconnect_=null))}close(){this.isClosed_||(this.log_("Longpoll is being closed."),this.shutdown_())}send(e){var t=m(e);this.bytesSent+=t.length,this.stats_.incrementCounter("bytes_sent",t.length);var t=i(t),n=ue(t,1840);for(let r=0;rdocument.domain="'+i+'";<\/script>');var i=""+e+"";try{this.myIFrame.doc.open(),this.myIFrame.doc.write(i),this.myIFrame.doc.close()}catch(e){_e("frame writing exception"),e.stack&&_e(e.stack),_e(e)}}}static createIFrame_(){const t=document.createElement("iframe");if(t.style.display="none",!document.body)throw"Document body has not initialized. Wait to initialize Firebase until after the document is ready.";document.body.appendChild(t);try{t.contentWindow.document||_e("No IE domain setting required")}catch(e){var n=document.domain;t.src="javascript:void((function(){document.open();document.domain='"+n+"';document.close();})())"}return t.contentDocument?t.doc=t.contentDocument:t.contentWindow?t.doc=t.contentWindow.document:t.document&&(t.doc=t.document),t}close(){this.alive=!1,this.myIFrame&&(this.myIFrame.doc.body.innerHTML="",setTimeout(()=>{null!==this.myIFrame&&(document.body.removeChild(this.myIFrame),this.myIFrame=null)},Math.floor(0)));const e=this.onDisconnect;e&&(this.onDisconnect=null,e())}startLongPoll(e,t){for(this.myID=e,this.myPW=t,this.alive=!0;this.newRequest_(););}newRequest_(){if(this.alive&&this.sendNewPolls&&this.outstandingRequests.size<(0{this.outstandingRequests.delete(t),this.newRequest_()},r=setTimeout(n,Math.floor(25e3));this.addTag(e,()=>{clearTimeout(r),n()})}addTag(e,n){setTimeout(()=>{try{if(!this.sendNewPolls)return;const t=this.myIFrame.doc.createElement("script");t.type="text/javascript",t.async=!0,t.src=e,t.onload=t.onreadystatechange=function(){var e=t.readyState;e&&"loaded"!==e&&"complete"!==e||(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),n())},t.onerror=()=>{_e("Long-poll script failed to load: "+e),this.sendNewPolls=!1,this.close()},this.myIFrame.doc.body.appendChild(t)}catch(e){}},Math.floor(1))}}let ze=null;"undefined"!=typeof MozWebSocket?ze=MozWebSocket:"undefined"!=typeof WebSocket&&(ze=WebSocket);class He{constructor(e,t,n,r,i,s,o){this.connId=e,this.applicationId=n,this.appCheckToken=r,this.authToken=i,this.keepaliveTimer=null,this.frames=null,this.totalFrames=0,this.bytesSent=0,this.bytesReceived=0,this.log_=oe(this.connId),this.stats_=Ue(t),this.connURL=He.connectionURL_(t,s,o,r,n),this.nodeAdmin=t.nodeAdmin}static connectionURL_(e,t,n,r,i){const s={v:"5"};return"undefined"!=typeof location&&location.hostname&&De.test(location.hostname)&&(s.r="f"),t&&(s.s=t),n&&(s.ls=n),r&&(s.ac=r),i&&(s.p=i),Me(e,Ae,s)}open(e,t){this.onDisconnect=t,this.onMessage=e,this.log_("Websocket connecting to "+this.connURL),this.everConnected_=!1,Z.set("previous_websocket_failure",!0);try{f(),this.mySock=new ze(this.connURL,[],void 0)}catch(e){this.log_("Error instantiating WebSocket.");var n=e.message||e.data;return n&&this.log_(n),void this.onClosed_()}this.mySock.onopen=()=>{this.log_("Websocket connected."),this.everConnected_=!0},this.mySock.onclose=()=>{this.log_("Websocket connection was disconnected."),this.mySock=null,this.onClosed_()},this.mySock.onmessage=e=>{this.handleIncomingFrame(e)},this.mySock.onerror=e=>{this.log_("WebSocket error. Closing connection.");var t=e.message||e.data;t&&this.log_(t),this.onClosed_()}}start(){}static forceDisallow(){He.forceDisallow_=!0}static isAvailable(){let e=!1;var t;return"undefined"==typeof navigator||!navigator.userAgent||(t=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/))&&1{this.mySock&&this.sendString_("0"),this.resetKeepAlive()},Math.floor(45e3))}sendString_(e){try{this.mySock.send(e)}catch(e){this.log_("Exception thrown from WebSocket.send():",e.message||e.data,"Closing connection."),setTimeout(this.onClosed_.bind(this),0)}}}He.responsesRequiredToBeHealthy=2,He.healthyTimeout=3e4;class Qe{constructor(e){this.initTransports_(e)}static get ALL_TRANSPORTS(){return[je,He]}static get IS_TRANSPORT_INITIALIZED(){return this.globalTransportInitialized_}initTransports_(e){var t=He&&He.isAvailable();let n=t&&!He.previouslyFailed();if(e.webSocketOnly&&(t||fe("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),n=!0),n)this.transports_=[He];else{const r=this.transports_=[];for(const i of Qe.ALL_TRANSPORTS)i&&i.isAvailable()&&r.push(i);Qe.globalTransportInitialized_=!0}}initialTransport(){if(0{this.conn_&&this.conn_.open(t,n)},Math.floor(0));var r=e.healthyTimeout||0;0{this.healthyTimeout_=null,this.isHealthy_||(this.conn_&&102400{t===this.conn_?this.onConnectionLost_(e):t===this.secondaryConn_?(this.log_("Secondary connection lost."),this.onSecondaryConnectionLost_()):this.log_("closing an old connection")}}connReceiver_(t){return e=>{2!==this.state_&&(t===this.rx_?this.onPrimaryMessageReceived_(e):t===this.secondaryConn_?this.onSecondaryMessageReceived_(e):this.log_("message on old connection"))}}sendRequest(e){this.sendData_({t:"d",d:e})}tryCleanupConnection(){this.tx_===this.secondaryConn_&&this.rx_===this.secondaryConn_&&(this.log_("cleaning up and promoting a connection: "+this.secondaryConn_.connId),this.conn_=this.secondaryConn_,this.secondaryConn_=null)}onSecondaryControl_(e){var t;"t"in e&&("a"===(t=e.t)?this.upgradeIfSecondaryHealthy_():"r"===t?(this.log_("Got a reset on secondary, closing it"),this.secondaryConn_.close(),this.tx_!==this.secondaryConn_&&this.rx_!==this.secondaryConn_||this.close()):"o"===t&&(this.log_("got pong on secondary."),this.secondaryResponsesRequired_--,this.upgradeIfSecondaryHealthy_()))}onSecondaryMessageReceived_(e){var t=he("t",e),n=he("d",e);if("c"===t)this.onSecondaryControl_(n);else{if("d"!==t)throw new Error("Unknown protocol layer: "+t);this.pendingDataMessages.push(n)}}upgradeIfSecondaryHealthy_(){this.secondaryResponsesRequired_<=0?(this.log_("Secondary connection is healthy."),this.isHealthy_=!0,this.secondaryConn_.markConnectionHealthy(),this.proceedWithUpgrade_()):(this.log_("sending ping on secondary."),this.secondaryConn_.send({t:"c",d:{t:"p",d:{}}}))}proceedWithUpgrade_(){this.secondaryConn_.start(),this.log_("sending client ack on secondary"),this.secondaryConn_.send({t:"c",d:{t:"a",d:{}}}),this.log_("Ending transmission on primary"),this.conn_.send({t:"c",d:{t:"n",d:{}}}),this.tx_=this.secondaryConn_,this.tryCleanupConnection()}onPrimaryMessageReceived_(e){var t=he("t",e),n=he("d",e);"c"===t?this.onControl_(n):"d"===t&&this.onDataMessage_(n)}onDataMessage_(e){this.onPrimaryResponse_(),this.onMessage_(e)}onPrimaryResponse_(){this.isHealthy_||(this.primaryResponsesRequired_--,this.primaryResponsesRequired_<=0&&(this.log_("Primary connection is healthy."),this.isHealthy_=!0,this.conn_.markConnectionHealthy()))}onControl_(e){var t=he("t",e);if("d"in e){var n=e.d;if("h"===t)this.onHandshake_(n);else if("n"===t){this.log_("recvd end transmission on primary"),this.rx_=this.secondaryConn_;for(let e=0;e{this.secondaryConn_&&(this.log_("Timed out trying to upgrade."),this.secondaryConn_.close())},Math.floor(6e4))}onReset_(e){this.log_("Reset packet received. New host: "+e),this.repoInfo_.host=e,1===this.state_?this.close():(this.closeConnections_(),this.start_())}onConnectionEstablished_(e,t){this.log_("Realtime connection established."),this.conn_=e,this.state_=1,this.onReady_&&(this.onReady_(t,this.sessionId),this.onReady_=null),0===this.primaryResponsesRequired_?(this.log_("Primary connection is healthy."),this.isHealthy_=!0):Te(()=>{this.sendPingOnPrimaryIfNecessary_()},Math.floor(5e3))}sendPingOnPrimaryIfNecessary_(){this.isHealthy_||1!==this.state_||(this.log_("sending ping on primary."),this.sendData_({t:"c",d:{t:"p",d:{}}}))}onSecondaryConnectionLost_(){var e=this.secondaryConn_;this.secondaryConn_=null,this.tx_!==e&&this.rx_!==e||this.close()}onConnectionLost_(e){this.conn_=null,e||0!==this.state_?1===this.state_&&this.log_("Realtime connection lost."):(this.log_("Realtime connection failed."),this.repoInfo_.isCacheableHost()&&(Z.remove("host:"+this.repoInfo_.host),this.repoInfo_.internalHost=this.repoInfo_.host)),this.close()}onConnectionShutdown_(e){this.log_("Connection shutdown command received. Shutting down..."),this.onKill_&&(this.onKill_(e),this.onKill_=null),this.onDisconnect_=null,this.close()}sendData_(e){if(1!==this.state_)throw"Connection is not connected";this.tx_.send(e)}close(){2!==this.state_&&(this.log_("Closing realtime connection."),this.state_=2,this.closeConnections_(),this.onDisconnect_&&(this.onDisconnect_(),this.onDisconnect_=null))}closeConnections_(){this.log_("Shutting down all connections"),this.conn_&&(this.conn_.close(),this.conn_=null),this.secondaryConn_&&(this.secondaryConn_.close(),this.secondaryConn_=null),this.healthyTimeout_&&(clearTimeout(this.healthyTimeout_),this.healthyTimeout_=null)}}class Ke{put(e,t,n,r){}merge(e,t,n,r){}refreshAuthToken(e){}refreshAppCheckToken(e){}onDisconnectPut(e,t,n){}onDisconnectMerge(e,t,n){}onDisconnectCancel(e,t){}reportStats(e){}}class $e{constructor(e){this.allowedEvents_=e,this.listeners_={},p(Array.isArray(e)&&0e===t),"Unknown event: "+t)}}class Ge extends $e{constructor(){super(["online"]),this.online_=!0,"undefined"==typeof window||void 0===window.addEventListener||_()||(window.addEventListener("online",()=>{this.online_||(this.online_=!0,this.trigger("online",!0))},!1),window.addEventListener("offline",()=>{this.online_&&(this.online_=!1,this.trigger("online",!1))},!1))}static getInstance(){return new Ge}getInitialEvent(e){return p("online"===e,"Unknown event type: "+e),[this.online_]}currentlyOnline(){return this.online_}}class Je{constructor(n,e){if(void 0===e){this.pieces_=n.split("/");let e=0;for(let t=0;t=e.pieces_.length?null:e.pieces_[e.pieceNum_]}function et(e){return e.pieces_.length-e.pieceNum_}function tt(e){let t=e.pieceNum_;return t=e.pieces_.length)return null;const t=[];for(let n=e.pieceNum_;n=e.pieces_.length}function at(e,t){var n=Ze(e),r=Ze(t);if(null===n)return t;if(n===r)return at(tt(e),tt(t));throw new Error("INTERNAL ERROR: innerPath ("+t+") is not within outerPath ("+e+")")}function lt(e,t){var n=rt(e,0),r=rt(t,0);for(let s=0;set(t))return!1;for(;n{var e=!document[t];e!==this.visible_&&(this.visible_=e,this.trigger("visible",e))},!1)}static getInstance(){return new pt}getInitialEvent(e){return p("visible"===e,"Unknown event type: "+e),[this.visible_]}}class ft extends Ke{constructor(e,t,n,r,i,s,o,a){if(super(),this.repoInfo_=e,this.applicationId_=t,this.onDataUpdate_=n,this.onConnectStatus_=r,this.onServerInfoUpdate_=i,this.authTokenProvider_=s,this.appCheckTokenProvider_=o,this.authOverride_=a,this.id=ft.nextPersistentConnectionId_++,this.log_=oe("p:"+this.id+":"),this.interruptReasons_={},this.listens=new Map,this.outstandingPuts_=[],this.outstandingGets_=[],this.outstandingPutCount_=0,this.outstandingGetCount_=0,this.onDisconnectRequestQueue_=[],this.connected_=!1,this.reconnectDelay_=1e3,this.maxReconnectDelay_=3e5,this.securityDebugCallback_=null,this.lastSessionId=null,this.establishConnectionTimer_=null,this.visible_=!1,this.requestCBHash_={},this.requestNumber_=0,this.realtime_=null,this.authToken_=null,this.appCheckToken_=null,this.forceTokenRefresh_=!1,this.invalidAuthTokenCount_=0,this.invalidAppCheckTokenCount_=0,this.firstConnection_=!0,this.lastConnectionAttemptTime_=null,this.lastConnectionEstablishedTime_=null,a&&!f())throw new Error("Auth override specified in options, but not supported on non Node.js platforms");pt.getInstance().on("visible",this.onVisible_,this),-1===e.host.indexOf("fblocal")&&Ge.getInstance().on("online",this.onOnline_,this)}sendRequest(e,t,n){var r=++this.requestNumber_,i={r:r,a:e,b:t};this.log_(m(i)),p(this.connected_,"sendRequest call when we're not connected not allowed."),this.realtime_.sendRequest(i),n&&(this.requestCBHash_[r]=n)}get(e){this.initConnection_();const n=new d;var t={p:e._path.toString(),q:e._queryObject};this.outstandingGets_.push({action:"g",request:t,onComplete:e=>{var t=e.d;"ok"===e.s?n.resolve(t):n.reject(t)}}),this.outstandingGetCount_++;t=this.outstandingGets_.length-1;return this.connected_&&this.sendGet_(t),n.promise}listen(e,t,n,r){this.initConnection_();var i=e._queryIdentifier,s=e._path.toString();this.log_("Listen called for "+s+" "+i),this.listens.has(s)||this.listens.set(s,new Map),p(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"listen() called for non-default but complete query"),p(!this.listens.get(s).has(i),"listen() called twice for same path/queryId.");var o={onComplete:r,hashFn:t,query:e,tag:n};this.listens.get(s).set(i,o),this.connected_&&this.sendListen_(o)}sendGet_(t){const n=this.outstandingGets_[t];this.sendRequest("g",n.request,e=>{delete this.outstandingGets_[t],this.outstandingGetCount_--,0===this.outstandingGetCount_&&(this.outstandingGets_=[]),n.onComplete&&n.onComplete(e)})}sendListen_(r){const i=r.query,s=i._path.toString(),o=i._queryIdentifier;this.log_("Listen on "+s+" for "+o);const e={p:s};r.tag&&(e.q=i._queryObject,e.t=r.tag),e.h=r.hashFn(),this.sendRequest("q",e,e=>{var t=e.d,n=e.s;ft.warnOnListenWarnings_(t,i),(this.listens.get(s)&&this.listens.get(s).get(o))===r&&(this.log_("listen response",e),"ok"!==n&&this.removeListen_(s,o),r.onComplete&&r.onComplete(n,t))})}static warnOnListenWarnings_(e,t){if(e&&"object"==typeof e&&y(e,"w")){const i=w(e,"w");var n,r;Array.isArray(i)&&~i.indexOf("no_index")&&(n='".indexOn": "'+t._queryParams.getIndex().toString()+'"',r=t._path.toString(),fe("Using an unspecified index. Your data will be downloaded and "+`filtered on the client. Consider adding ${n} at `+`${r} to your security rules for better performance.`))}}refreshAuthToken(e){this.authToken_=e,this.log_("Auth token refreshed"),this.authToken_?this.tryAuth():this.connected_&&this.sendRequest("unauth",{},()=>{}),this.reduceReconnectDelayIfAdminCredential_(e)}reduceReconnectDelayIfAdminCredential_(e){var t;(e&&40===e.length||(e=e,"object"==typeof(t=v(e).claims)&&!0===t.admin))&&(this.log_("Admin auth credential detected. Reducing max reconnect time."),this.maxReconnectDelay_=3e4)}refreshAppCheckToken(e){this.appCheckToken_=e,this.log_("App check token refreshed"),this.appCheckToken_?this.tryAppCheck():this.connected_&&this.sendRequest("unappeck",{},()=>{})}tryAuth(){if(this.connected_&&this.authToken_){const r=this.authToken_;var e=function(e){const t=v(e),n=t.claims;return!!n&&"object"==typeof n&&n.hasOwnProperty("iat")}(r)?"auth":"gauth";const t={cred:r};null===this.authOverride_?t.noauth=!0:"object"==typeof this.authOverride_&&(t.authvar=this.authOverride_),this.sendRequest(e,t,e=>{var t=e.s,n=e.d||"error";this.authToken_===r&&("ok"===t?this.invalidAuthTokenCount_=0:this.onAuthRevoked_(t,n))})}}tryAppCheck(){this.connected_&&this.appCheckToken_&&this.sendRequest("appcheck",{token:this.appCheckToken_},e=>{var t=e.s,n=e.d||"error";"ok"===t?this.invalidAppCheckTokenCount_=0:this.onAppCheckRevoked_(t,n)})}unlisten(e,t){var n=e._path.toString(),r=e._queryIdentifier;this.log_("Unlisten called for "+n+" "+r),p(e._queryParams.isDefault()||!e._queryParams.loadsAllData(),"unlisten() called for non-default but complete query"),this.removeListen_(n,r)&&this.connected_&&this.sendUnlisten_(n,r,e._queryObject,t)}sendUnlisten_(e,t,n,r){this.log_("Unlisten on "+e+" for "+t);const i={p:e};r&&(i.q=n,i.t=r),this.sendRequest("n",i)}onDisconnectPut(e,t,n){this.initConnection_(),this.connected_?this.sendOnDisconnect_("o",e,t,n):this.onDisconnectRequestQueue_.push({pathString:e,action:"o",data:t,onComplete:n})}onDisconnectMerge(e,t,n){this.initConnection_(),this.connected_?this.sendOnDisconnect_("om",e,t,n):this.onDisconnectRequestQueue_.push({pathString:e,action:"om",data:t,onComplete:n})}onDisconnectCancel(e,t){this.initConnection_(),this.connected_?this.sendOnDisconnect_("oc",e,null,t):this.onDisconnectRequestQueue_.push({pathString:e,action:"oc",data:null,onComplete:t})}sendOnDisconnect_(e,t,n,r){var i={p:t,d:n};this.log_("onDisconnect "+e,i),this.sendRequest(e,i,e=>{r&&setTimeout(()=>{r(e.s,e.d)},Math.floor(0))})}put(e,t,n,r){this.putInternal("p",e,t,n,r)}merge(e,t,n,r){this.putInternal("m",e,t,n,r)}putInternal(e,t,n,r,i){this.initConnection_();const s={p:t,d:n};void 0!==i&&(s.h=i),this.outstandingPuts_.push({action:e,request:s,onComplete:r}),this.outstandingPutCount_++;var o=this.outstandingPuts_.length-1;this.connected_?this.sendPut_(o):this.log_("Buffering put: "+t)}sendPut_(t){const n=this.outstandingPuts_[t].action;var e=this.outstandingPuts_[t].request;const r=this.outstandingPuts_[t].onComplete;this.outstandingPuts_[t].queued=this.connected_,this.sendRequest(n,e,e=>{this.log_(n+" response",e),delete this.outstandingPuts_[t],this.outstandingPutCount_--,0===this.outstandingPutCount_&&(this.outstandingPuts_=[]),r&&r(e.s,e.d)})}reportStats(e){var t;this.connected_&&(this.log_("reportStats",t={c:e}),this.sendRequest("s",t,e=>{var t;"ok"!==e.s&&(t=e.d,this.log_("reportStats","Error sending stats: "+t))}))}onDataMessage_(e){if("r"in e){this.log_("from server: "+m(e));var t=e.r;const n=this.requestCBHash_[t];n&&(delete this.requestCBHash_[t],n(e.b))}else{if("error"in e)throw"A server-side error has occurred: "+e.error;"a"in e&&this.onDataPush_(e.a,e.b)}}onDataPush_(e,t){this.log_("handleServerMessage",e,t),"d"===e?this.onDataUpdate_(t.p,t.d,!1,t.t):"m"===e?this.onDataUpdate_(t.p,t.d,!0,t.t):"c"===e?this.onListenRevoked_(t.p,t.q):"ac"===e?this.onAuthRevoked_(t.s,t.d):"apc"===e?this.onAppCheckRevoked_(t.s,t.d):"sd"===e?this.onSecurityDebugPacket_(t):ae("Unrecognized action received from server: "+m(e)+"\nAre you using the latest client?")}onReady_(e,t){this.log_("connection ready"),this.connected_=!0,this.lastConnectionEstablishedTime_=(new Date).getTime(),this.handleTimestamp_(e),this.lastSessionId=t,this.firstConnection_&&this.sendConnectStats_(),this.restoreState_(),this.firstConnection_=!1,this.onConnectStatus_(!0)}scheduleConnect_(e){p(!this.realtime_,"Scheduling a connect when we're already connected/ing?"),this.establishConnectionTimer_&&clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=setTimeout(()=>{this.establishConnectionTimer_=null,this.establishConnection_()},Math.floor(e))}initConnection_(){!this.realtime_&&this.firstConnection_&&this.scheduleConnect_(0)}onVisible_(e){e&&!this.visible_&&this.reconnectDelay_===this.maxReconnectDelay_&&(this.log_("Window became visible. Reducing delay."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)),this.visible_=e}onOnline_(e){e?(this.log_("Browser went online."),this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0)):(this.log_("Browser went offline. Killing connection."),this.realtime_&&this.realtime_.close())}onRealtimeDisconnect_(){var e;this.log_("data client disconnected"),this.connected_=!1,this.realtime_=null,this.cancelSentTransactions_(),this.requestCBHash_={},this.shouldReconnect_()&&(this.visible_?this.lastConnectionEstablishedTime_&&(3e4<(new Date).getTime()-this.lastConnectionEstablishedTime_&&(this.reconnectDelay_=1e3),this.lastConnectionEstablishedTime_=null):(this.log_("Window isn't visible. Delaying reconnect."),this.reconnectDelay_=this.maxReconnectDelay_,this.lastConnectionAttemptTime_=(new Date).getTime()),e=(new Date).getTime()-this.lastConnectionAttemptTime_,e=Math.max(0,this.reconnectDelay_-e),e=Math.random()*e,this.log_("Trying to reconnect in "+e+"ms"),this.scheduleConnect_(e),this.reconnectDelay_=Math.min(this.maxReconnectDelay_,1.3*this.reconnectDelay_)),this.onConnectStatus_(!1)}async establishConnection_(){if(this.shouldReconnect_()){this.log_("Making a connection attempt"),this.lastConnectionAttemptTime_=(new Date).getTime(),this.lastConnectionEstablishedTime_=null;var e=this.onDataMessage_.bind(this),r=this.onReady_.bind(this);const c=this.onRealtimeDisconnect_.bind(this);var i=this.id+":"+ft.nextConnectionId_++,s=this.lastSessionId;let t=!1,n=null;var o=function(){n?n.close():(t=!0,c())};this.realtime_={close:o,sendRequest:function(e){p(n,"sendRequest call when we're not connected not allowed."),n.sendRequest(e)}};var a=this.forceTokenRefresh_;this.forceTokenRefresh_=!1;try{var[l,h]=await Promise.all([this.authTokenProvider_.getToken(a),this.appCheckTokenProvider_.getToken(a)]);t?_e("getToken() completed but was canceled"):(_e("getToken() completed. Creating connection."),this.authToken_=l&&l.accessToken,this.appCheckToken_=h&&h.token,n=new Ye(i,this.repoInfo_,this.applicationId_,this.appCheckToken_,this.authToken_,e,r,c,e=>{fe(e+" ("+this.repoInfo_.toString()+")"),this.interrupt("server_kill")},s))}catch(e){this.log_("Failed to get token: "+e),t||(this.repoInfo_.nodeAdmin&&fe(e),o())}}}interrupt(e){_e("Interrupting connection for reason: "+e),this.interruptReasons_[e]=!0,this.realtime_?this.realtime_.close():(this.establishConnectionTimer_&&(clearTimeout(this.establishConnectionTimer_),this.establishConnectionTimer_=null),this.connected_&&this.onRealtimeDisconnect_())}resume(e){_e("Resuming connection for reason: "+e),delete this.interruptReasons_[e],C(this.interruptReasons_)&&(this.reconnectDelay_=1e3,this.realtime_||this.scheduleConnect_(0))}handleTimestamp_(e){var t=e-(new Date).getTime();this.onServerInfoUpdate_({serverTimeOffset:t})}cancelSentTransactions_(){for(let e=0;ece(e)).join("$"):"default";const r=this.removeListen_(e,n);r&&r.onComplete&&r.onComplete("permission_denied")}removeListen_(e,t){var n=new Je(e).toString();let r;if(this.listens.has(n)){const i=this.listens.get(n);r=i.get(t),i.delete(t),0===i.size&&this.listens.delete(n)}else r=void 0;return r}onAuthRevoked_(e,t){_e("Auth token revoked: "+e+"/"+t),this.authToken_=null,this.forceTokenRefresh_=!0,this.realtime_.close(),"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAuthTokenCount_++,3<=this.invalidAuthTokenCount_&&(this.reconnectDelay_=3e4,this.authTokenProvider_.notifyForInvalidToken()))}onAppCheckRevoked_(e,t){_e("App check token revoked: "+e+"/"+t),this.appCheckToken_=null,this.forceTokenRefresh_=!0,"invalid_token"!==e&&"permission_denied"!==e||(this.invalidAppCheckTokenCount_++,3<=this.invalidAppCheckTokenCount_&&this.appCheckTokenProvider_.notifyForInvalidToken())}onSecurityDebugPacket_(e){this.securityDebugCallback_?this.securityDebugCallback_(e):"msg"in e&&console.log("FIREBASE: "+e.msg.replace("\n","\nFIREBASE: "))}restoreState_(){this.tryAuth(),this.tryAppCheck();for(const t of this.listens.values())for(const n of t.values())this.sendListen_(n);for(let r=0;r{const n=w(this.indexSet_,e);if(p(n,"Missing index implementation for "+e),t===qt){if(n.isDefinedOn(o.node)){const i=[],s=a.getIterator(gt.Wrap);let e=s.getNext();for(;e;)e.name!==o.name&&i.push(e),e=s.getNext();return i.push(o),Mt(i,n.getCompare())}return qt}{var r=a.get(o.name);let e=t;return r&&(e=e.remove(new gt(o.name,r))),e.insert(o,o.node)}});return new Wt(e,this.indexSet_)}removeFromIndexes(n,r){var e=b(this.indexes_,e=>{if(e===qt)return e;var t=r.get(n.name);return t?e.remove(new gt(n.name,t)):e});return new Wt(e,this.indexSet_)}}let Ut;class Bt{constructor(e,t,n){this.children_=e,this.priorityNode_=t,this.indexMap_=n,this.lazyHash_=null,this.priorityNode_&&Nt(this.priorityNode_),this.children_.isEmpty()&&p(!this.priorityNode_||this.priorityNode_.isEmpty(),"An empty node cannot have a priority")}static get EMPTY_NODE(){return Ut=Ut||new Bt(new Tt(Et),null,Wt.Default)}isLeafNode(){return!1}getPriority(){return this.priorityNode_||Ut}updatePriority(e){return this.children_.isEmpty()?this:new Bt(this.children_,e,this.indexMap_)}getImmediateChild(e){if(".priority"===e)return this.getPriority();var t=this.children_.get(e);return null===t?Ut:t}getChild(e){var t=Ze(e);return null===t?this:this.getImmediateChild(t).getChild(tt(e))}hasChild(e){return null!==this.children_.get(e)}updateImmediateChild(n,r){if(p(r,"We should always be passing snapshot nodes"),".priority"===n)return this.updatePriority(r);{var i=new gt(n,r);let e,t;t=r.isEmpty()?(e=this.children_.remove(n),this.indexMap_.removeFromIndexes(i,this.children_)):(e=this.children_.insert(n,r),this.indexMap_.addToIndexes(i,this.children_));i=e.isEmpty()?Ut:this.priorityNode_;return new Bt(e,i,t)}}updateChild(e,t){var n=Ze(e);if(null===n)return t;p(".priority"!==Ze(e)||1===et(e),".priority must be the last token in a path");var r=this.getImmediateChild(n).updateChild(tt(e),t);return this.updateImmediateChild(n,r)}isEmpty(){return this.children_.isEmpty()}numChildren(){return this.children_.count()}val(n){if(this.isEmpty())return null;const r={};let i=0,s=0,o=!0;if(this.forEachChild(At,(e,t)=>{r[e]=t.val(n),i++,o&&Bt.INTEGER_REGEXP_.test(e)?s=Math.max(s,Number(e)):o=!1}),!n&&o&&s<2*i){const e=[];for(const t in r)e[t]=r[t];return e}return n&&!this.getPriority().isEmpty()&&(r[".priority"]=this.getPriority().val()),r}hash(){if(null===this.lazyHash_){let r="";this.getPriority().isEmpty()||(r+="priority:"+kt(this.getPriority().val())+":"),this.forEachChild(At,(e,t)=>{var n=t.hash();""!==n&&(r+=":"+e+":"+n)}),this.lazyHash_=""===r?"":X(r)}return this.lazyHash_}getPredecessorChildName(e,t,n){const r=this.resolveIndex_(n);if(r){var i=r.getPredecessorKey(new gt(e,t));return i?i.name:null}return this.children_.getPredecessorKey(e)}getFirstChildName(e){const t=this.resolveIndex_(e);if(t){var n=t.minKey();return n&&n.name}return this.children_.minKey()}getFirstChild(e){var t=this.getFirstChildName(e);return t?new gt(t,this.children_.get(t)):null}getLastChildName(e){const t=this.resolveIndex_(e);if(t){var n=t.maxKey();return n&&n.name}return this.children_.maxKey()}getLastChild(e){var t=this.getLastChildName(e);return t?new gt(t,this.children_.get(t)):null}forEachChild(e,t){const n=this.resolveIndex_(e);return n?n.inorderTraversal(e=>t(e.name,e.node)):this.children_.inorderTraversal(t)}getIterator(e){return this.getIteratorFrom(e.minPost(),e)}getIteratorFrom(t,n){const e=this.resolveIndex_(n);if(e)return e.getIteratorFrom(t,e=>e);{const r=this.children_.getIteratorFrom(t.name,gt.Wrap);let e=r.peek();for(;null!=e&&n.compare(e,t)<0;)r.getNext(),e=r.peek();return r}}getReverseIterator(e){return this.getReverseIteratorFrom(e.maxPost(),e)}getReverseIteratorFrom(t,n){const e=this.resolveIndex_(n);if(e)return e.getReverseIteratorFrom(t,e=>e);{const r=this.children_.getReverseIteratorFrom(t.name,gt.Wrap);let e=r.peek();for(;null!=e&&0{if(y(i,e)&&"."!==e.substring(0,1)){const n=Ht(t);!n.isLeafNode()&&n.isEmpty()||(r=r.updateImmediateChild(e,n))}}),r.updatePriority(Ht(e))}{const s=[];let r=!1;if(Ce(i,(e,t)=>{if("."!==e.substring(0,1)){const n=Ht(t);n.isEmpty()||(r=r||!n.getPriority().isEmpty(),s.push(new gt(e,n)))}}),0===s.length)return Bt.EMPTY_NODE;var n=Mt(s,It,e=>e.name,Et);if(r){t=Mt(s,At.getCompare());return new Bt(n,Ht(e),new Wt({".priority":t},{".priority":At}))}return new Bt(n,Ht(e),Wt.Default)}}xt=Ht;class Qt extends mt{constructor(e){super(),this.indexPath_=e,p(!ot(e)&&".priority"!==Ze(e),"Can't create PathIndex with empty path or .priority key")}extractChild(e){return e.getChild(this.indexPath_)}isDefinedOn(e){return!e.getChild(this.indexPath_).isEmpty()}compare(e,t){const n=this.extractChild(e.node);var r=this.extractChild(t.node),r=n.compareTo(r);return 0===r?we(e.name,t.name):r}makePost(e,t){var n=Ht(e),n=Bt.EMPTY_NODE.updateChild(this.indexPath_,n);return new gt(t,n)}maxPost(){var e=Bt.EMPTY_NODE.updateChild(this.indexPath_,Vt);return new gt(ye,e)}toString(){return rt(this.indexPath_,0).join("/")}}function Yt(e){if(e===""+Se)return Jt;var t=ke(e);if(null!=t)return""+(t+1);const n=new Array(e.length);for(let i=0;i{n.hasChild(e)||i.trackChildChange(rn(e,t))}),n.isLeafNode()||n.forEachChild(At,(e,t)=>{if(r.hasChild(e)){const n=r.getImmediateChild(e);n.equals(t)||i.trackChildChange(sn(e,t,n))}else i.trackChildChange(nn(e,t))})),n.withIndex(this.index_)}updatePriority(e,t){return e.isEmpty()?Bt.EMPTY_NODE:e.updatePriority(t)}filtersNodes(){return!1}getIndexedFilter(){return this}getIndex(){return this.index_}}class an{constructor(e){this.indexedFilter_=new on(e.getIndex()),this.index_=e.getIndex(),this.startPost_=an.getStartPost_(e),this.endPost_=an.getEndPost_(e)}getStartPost(){return this.startPost_}getEndPost(){return this.endPost_}matches(e){return this.index_.compare(this.getStartPost(),e)<=0&&this.index_.compare(e,this.getEndPost())<=0}updateChild(e,t,n,r,i,s){return this.matches(new gt(t,n))||(n=Bt.EMPTY_NODE),this.indexedFilter_.updateChild(e,t,n,r,i,s)}updateFullNode(e,t,n){let r=(t=t.isLeafNode()?Bt.EMPTY_NODE:t).withIndex(this.index_);r=r.updatePriority(Bt.EMPTY_NODE);const i=this;return t.forEachChild(At,(e,t)=>{i.matches(new gt(e,t))||(r=r.updateImmediateChild(e,Bt.EMPTY_NODE))}),this.indexedFilter_.updateFullNode(e,r,n)}updatePriority(e,t){return e}filtersNodes(){return!0}getIndexedFilter(){return this.indexedFilter_}getIndex(){return this.index_}static getStartPost_(e){if(e.hasStart()){var t=e.getIndexStartName();return e.getIndex().makePost(e.getIndexStartValue(),t)}return e.getIndex().minPost()}static getEndPost_(e){if(e.hasEnd()){var t=e.getIndexEndName();return e.getIndex().makePost(e.getIndexEndValue(),t)}return e.getIndex().maxPost()}}class ln{constructor(e){this.rangedFilter_=new an(e),this.index_=e.getIndex(),this.limit_=e.getLimit(),this.reverse_=!e.isViewFromLeft()}updateChild(e,t,n,r,i,s){return this.rangedFilter_.matches(new gt(t,n))||(n=Bt.EMPTY_NODE),e.getImmediateChild(t).equals(n)?e:e.numChildren()h(t,e)}else r=a.getIterator(this.index_),e=this.rangedFilter_.getStartPost(),t=this.rangedFilter_.getEndPost(),n=this.index_.getCompare();let i=0,s=!1;for(;r.hasNext();){var l=r.getNext();!s&&n(e,l)<=0&&(s=!0),s&&id(t,e)}else s=this.index_.getCompare();const o=e;p(o.numChildren()===this.limit_,"");var a=new gt(t,n),l=this.reverse_?o.getFirstChild(this.index_):o.getLastChild(this.index_),h=this.rangedFilter_.matches(a);if(o.hasChild(t)){var c=o.getImmediateChild(t);let e=r.getChildAfterChild(this.index_,l,this.reverse_);for(;null!=e&&(e.name===t||o.hasChild(e.name));)e=r.getChildAfterChild(this.index_,e,this.reverse_);var u=null==e?1:s(e,a);if(h&&!n.isEmpty()&&0<=u)return null!=i&&i.trackChildChange(sn(t,n,c)),o.updateImmediateChild(t,n);{null!=i&&i.trackChildChange(rn(t,c));const _=o.updateImmediateChild(t,Bt.EMPTY_NODE);return null!=e&&this.rangedFilter_.matches(e)?(null!=i&&i.trackChildChange(nn(e.name,e.node)),_.updateImmediateChild(e.name,e.node)):_}}return!n.isEmpty()&&h&&0<=s(l,a)?(null!=i&&(i.trackChildChange(rn(l.name,l.node)),i.trackChildChange(nn(t,n))),o.updateImmediateChild(t,n).updateImmediateChild(l.name,Bt.EMPTY_NODE)):e}}class hn{constructor(){this.limitSet_=!1,this.startSet_=!1,this.startNameSet_=!1,this.startAfterSet_=!1,this.endSet_=!1,this.endNameSet_=!1,this.endBeforeSet_=!1,this.limit_=0,this.viewFrom_="",this.indexStartValue_=null,this.indexStartName_="",this.indexEndValue_=null,this.indexEndName_="",this.index_=At}hasStart(){return this.startSet_}hasStartAfter(){return this.startAfterSet_}hasEndBefore(){return this.endBeforeSet_}isViewFromLeft(){return""===this.viewFrom_?this.startSet_:"l"===this.viewFrom_}getIndexStartValue(){return p(this.startSet_,"Only valid if start has been set"),this.indexStartValue_}getIndexStartName(){return p(this.startSet_,"Only valid if start has been set"),this.startNameSet_?this.indexStartName_:ve}hasEnd(){return this.endSet_}getIndexEndValue(){return p(this.endSet_,"Only valid if end has been set"),this.indexEndValue_}getIndexEndName(){return p(this.endSet_,"Only valid if end has been set"),this.endNameSet_?this.indexEndName_:ye}hasLimit(){return this.limitSet_}hasAnchoredLimit(){return this.limitSet_&&""!==this.viewFrom_}getLimit(){return p(this.limitSet_,"Only valid if limit has been set"),this.limit_}getIndex(){return this.index_}loadsAllData(){return!(this.startSet_||this.endSet_||this.limitSet_)}isDefault(){return this.loadsAllData()&&this.index_===At}copy(){const e=new hn;return e.limitSet_=this.limitSet_,e.limit_=this.limit_,e.startSet_=this.startSet_,e.indexStartValue_=this.indexStartValue_,e.startNameSet_=this.startNameSet_,e.indexStartName_=this.indexStartName_,e.endSet_=this.endSet_,e.indexEndValue_=this.indexEndValue_,e.endNameSet_=this.endNameSet_,e.indexEndName_=this.indexEndName_,e.index_=this.index_,e.viewFrom_=this.viewFrom_,e}}function cn(e,t,n){const r=e.copy();return r.startSet_=!0,void 0===t&&(t=null),r.indexStartValue_=t,null!=n?(r.startNameSet_=!0,r.indexStartName_=n):(r.startNameSet_=!1,r.indexStartName_=""),r}function un(e,t,n){const r=e.copy();return r.endSet_=!0,void 0===t&&(t=null),r.indexEndValue_=t,void 0!==n?(r.endNameSet_=!0,r.indexEndName_=n):(r.endNameSet_=!1,r.indexEndName_=""),r}function dn(e,t){const n=e.copy();return n.index_=t,n}function _n(e){const t={};if(e.isDefault())return t;let n;return n=e.index_===At?"$priority":e.index_===$t?"$value":e.index_===wt?"$key":(p(e.index_ instanceof Qt,"Unrecognized index type!"),e.index_.toString()),t.orderBy=m(n),e.startSet_&&(t.startAt=m(e.indexStartValue_),e.startNameSet_&&(t.startAt+=","+m(e.indexStartName_))),e.endSet_&&(t.endAt=m(e.indexEndValue_),e.endNameSet_&&(t.endAt+=","+m(e.indexEndName_))),e.limitSet_&&(e.isViewFromLeft()?t.limitToFirst=e.limit_:t.limitToLast=e.limit_),t}function pn(t){const n={};if(t.startSet_&&(n.sp=t.indexStartValue_,t.startNameSet_&&(n.sn=t.indexStartName_)),t.endSet_&&(n.ep=t.indexEndValue_,t.endNameSet_&&(n.en=t.indexEndName_)),t.limitSet_){n.l=t.limit_;let e=t.viewFrom_;""===e&&(e=t.isViewFromLeft()?"l":"r"),n.vf=e}return t.index_!==At&&(n.i=t.index_.toString()),n}class fn extends Ke{constructor(e,t,n,r){super(),this.repoInfo_=e,this.onDataUpdate_=t,this.authTokenProvider_=n,this.appCheckTokenProvider_=r,this.log_=oe("p:rest:"),this.listens_={}}reportStats(e){throw new Error("Method not implemented.")}static getListenId_(e,t){return void 0!==t?"tag$"+t:(p(e._queryParams.isDefault(),"should have a tag if it's not a default query."),e._path.toString())}listen(e,t,r,i){const s=e._path.toString();this.log_("Listen called for "+s+" "+e._queryIdentifier);const o=fn.getListenId_(e,r),a={};this.listens_[o]=a;var n=_n(e._queryParams);this.restRequest_(s+".json",n,(t,e)=>{let n=e;if(null===(t=404===t?n=null:t)&&this.onDataUpdate_(s,n,!1,r),w(this.listens_,o)===a){let e;e=t?401===t?"permission_denied":"rest_error:"+t:"ok",i(e,null)}})}unlisten(e,t){var n=fn.getListenId_(e,t);delete this.listens_[n]}get(e){var t=_n(e._queryParams);const r=e._path.toString(),i=new d;return this.restRequest_(r+".json",t,(e,t)=>{let n=t;null===(e=404===e?n=null:e)?(this.onDataUpdate_(r,n,!1,null),i.resolve(n)):i.reject(new Error(n))}),i.promise}refreshAuthToken(e){}restRequest_(i,s={},o){return s.format="export",Promise.all([this.authTokenProvider_.getToken(!1),this.appCheckTokenProvider_.getToken(!1)]).then(([e,t])=>{e&&e.accessToken&&(s.auth=e.accessToken),t&&t.token&&(s.ac=t.token);const n=(this.repoInfo_.secure?"https://":"http://")+this.repoInfo_.host+i+"?ns="+this.repoInfo_.namespace+function(e){const t=[];for(const[n,r]of Object.entries(e))Array.isArray(r)?r.forEach(e=>{t.push(encodeURIComponent(n)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(n)+"="+encodeURIComponent(r));return t.length?"&"+t.join("&"):""}(s);this.log_("Sending REST request for "+n);const r=new XMLHttpRequest;r.onreadystatechange=()=>{if(o&&4===r.readyState){this.log_("REST Response for "+n+" received. status:",r.status,"response:",r.responseText);let e=null;if(200<=r.status&&r.status<300){try{e=g(r.responseText)}catch(e){fe("Failed to parse JSON response for "+n+": "+r.responseText)}o(null,e)}else 401!==r.status&&404!==r.status&&fe("Got unsuccessful REST response for "+n+" Status: "+r.status),o(r.status);o=null}},r.open("GET",n,!0),r.send()})}}class gn{constructor(){this.rootNode_=Bt.EMPTY_NODE}getNode(e){return this.rootNode_.getChild(e)}updateSnapshot(e,t){this.rootNode_=this.rootNode_.updateChild(e,t)}}function mn(){return{value:null,children:new Map}}function vn(e,t,n){var r;ot(t)?(e.value=n,e.children.clear()):null!==e.value?e.value=e.value.updateChild(t,n):(r=Ze(t),e.children.has(r)||e.children.set(r,mn()),vn(e.children.get(r),t=tt(t),n))}function yn(e,n,r){var i;null!==e.value?r(n,e.value):(i=(e,t)=>{yn(t,new Je(n.toString()+"/"+e),r)},e.children.forEach((e,t)=>{i(t,e)}))}class wn{constructor(e){this.collection_=e,this.last_=null}get(){var e=this.collection_.get();const n=Object.assign({},e);return this.last_&&Ce(this.last_,(e,t)=>{n[e]=n[e]-t}),this.last_=e,n}}class Cn{constructor(e,t){this.server_=t,this.statsToReport_={},this.statsListener_=new wn(e);var n=1e4+2e4*Math.random();Te(this.reportStats_.bind(this),Math.floor(n))}reportStats_(){var e=this.statsListener_.get();const n={};let r=!1;Ce(e,(e,t)=>{0{var t;"child_changed"===e.type&&n.index_.indexedValueChanged(e.oldSnap,e.snapshotNode)&&s.push((t=e.childName,{type:"child_moved",snapshotNode:e.snapshotNode,childName:t}))}),Dn(n,i,"child_removed",e,r,t),Dn(n,i,"child_added",e,r,t),Dn(n,i,"child_moved",s,r,t),Dn(n,i,"child_changed",e,r,t),Dn(n,i,"value",e,r,t),i}function Dn(s,o,t,e,a,l){const n=e.filter(e=>e.type===t);n.sort((e,t)=>function(e,t,n){if(null==t.childName||null==n.childName)throw c("Should only compare child_ events.");var r=new gt(t.childName,t.snapshotNode),i=new gt(n.childName,n.snapshotNode);return e.index_.compare(r,i)}(s,e,t)),n.forEach(t=>{const n=(e=s,i=l,"value"===(r=t).type||"child_removed"===r.type||(r.prevName=i.getPredecessorChildName(r.childName,r.snapshotNode,e.index_)),r);var e,r,i;a.forEach(e=>{e.respondsTo(t.type)&&o.push(e.createEvent(n,s.query_))})})}function An(e,t){return{eventCache:e,serverCache:t}}function On(e,t,n,r){return An(new Pn(t,n,r),e.serverCache)}function Ln(e,t,n,r){return An(e.eventCache,new Pn(t,n,r))}function Mn(e){return e.eventCache.isFullyInitialized()?e.eventCache.getNode():null}function Fn(e){return e.serverCache.isFullyInitialized()?e.serverCache.getNode():null}let qn;class Wn{constructor(e,t=(qn=qn||new Tt(le),qn)){this.value=e,this.children=t}static fromObject(e){let n=new Wn(null);return Ce(e,(e,t)=>{n=n.set(new Je(e),t)}),n}isEmpty(){return null===this.value&&this.children.isEmpty()}findRootMostMatchingPathAndValue(e,t){if(null!=this.value&&t(this.value))return{path:Xe(),value:this.value};if(ot(e))return null;{var n=Ze(e);const i=this.children.get(n);if(null===i)return null;var r=i.findRootMostMatchingPathAndValue(tt(e),t);return null==r?null:{path:st(new Je(n),r.path),value:r.value}}}findRootMostValueAndPath(e){return this.findRootMostMatchingPathAndValue(e,()=>!0)}subtree(e){if(ot(e))return this;{var t=Ze(e);const n=this.children.get(t);return null!==n?n.subtree(tt(e)):new Wn(null)}}set(e,t){if(ot(e))return new Wn(t,this.children);{var n=Ze(e);const i=this.children.get(n)||new Wn(null);var r=i.set(tt(e),t),r=this.children.insert(n,r);return new Wn(this.value,r)}}remove(t){if(ot(t))return this.children.isEmpty()?new Wn(null):new Wn(null,this.children);{var n=Ze(t);const r=this.children.get(n);if(r){const i=r.remove(tt(t));let e;return e=i.isEmpty()?this.children.remove(n):this.children.insert(n,i),null===this.value&&e.isEmpty()?new Wn(null):new Wn(this.value,e)}return this}}get(e){if(ot(e))return this.value;{var t=Ze(e);const n=this.children.get(t);return n?n.get(tt(e)):null}}setTree(t,n){if(ot(t))return n;{var r=Ze(t);const i=this.children.get(r)||new Wn(null),s=i.setTree(tt(t),n);let e;return e=s.isEmpty()?this.children.remove(r):this.children.insert(r,s),new Wn(this.value,e)}}fold(e){return this.fold_(Xe(),e)}fold_(n,r){const i={};return this.children.inorderTraversal((e,t)=>{i[e]=t.fold_(st(n,e),r)}),r(n,this.value,i)}findOnPath(e,t){return this.findOnPath_(e,Xe(),t)}findOnPath_(e,t,n){var r=!!this.value&&n(t,this.value);if(r)return r;if(ot(e))return null;{r=Ze(e);const i=this.children.get(r);return i?i.findOnPath_(tt(e),st(t,r),n):null}}foreachOnPath(e,t){return this.foreachOnPath_(e,Xe(),t)}foreachOnPath_(e,t,n){if(ot(e))return this;{this.value&&n(t,this.value);var r=Ze(e);const i=this.children.get(r);return i?i.foreachOnPath_(tt(e),st(t,r),n):new Wn(null)}}foreach(e){this.foreach_(Xe(),e)}foreach_(n,r){this.children.inorderTraversal((e,t)=>{t.foreach_(st(n,e),r)}),this.value&&r(n,this.value)}foreachChild(n){this.children.inorderTraversal((e,t)=>{t.value&&n(e,t.value)})}}class Un{constructor(e){this.writeTree_=e}static empty(){return new Un(new Wn(null))}}function Bn(t,n,r){if(ot(n))return new Un(new Wn(r));var i=t.writeTree_.findRootMostValueAndPath(n);if(null!=i){var s=i.path;let e=i.value;i=at(s,n);return e=e.updateChild(i,r),new Un(t.writeTree_.set(s,e))}s=new Wn(r),s=t.writeTree_.setTree(n,s);return new Un(s)}function jn(e,n,t){let r=e;return Ce(t,(e,t)=>{r=Bn(r,st(n,e),t)}),r}function Vn(e,t){if(ot(t))return Un.empty();var n=e.writeTree_.setTree(t,new Wn(null));return new Un(n)}function zn(e,t){return null!=Hn(e,t)}function Hn(e,t){var n=e.writeTree_.findRootMostValueAndPath(t);return null!=n?e.writeTree_.get(n.path).getChild(at(n.path,t)):null}function Qn(e){const n=[],t=e.writeTree_.value;return null!=t?t.isLeafNode()||t.forEachChild(At,(e,t)=>{n.push(new gt(e,t))}):e.writeTree_.children.inorderTraversal((e,t)=>{null!=t.value&&n.push(new gt(e,t.value))}),n}function Yn(e,t){if(ot(t))return e;var n=Hn(e,t);return null!=n?new Un(new Wn(n)):new Un(e.writeTree_.subtree(t))}function Kn(e){return e.writeTree_.isEmpty()}function $n(e,t){return function r(i,e,s){{if(null!=e.value)return s.updateChild(i,e.value);{let n=null;return e.children.inorderTraversal((e,t)=>{".priority"===e?(p(null!==t.value,"Priority writes must always be leaf nodes"),n=t.value):s=r(st(i,e),t,s)}),s=!s.getChild(i).isEmpty()&&null!==n?s.updateChild(st(i,".priority"),n):s}}}(Xe(),e.writeTree_,t)}function Gn(e,t){return lr(t,e)}function Jn(t,n){var e,r=t.allWrites.findIndex(e=>e.writeId===n);p(0<=r,"removeWrite called with nonexistent writeId.");const i=t.allWrites[r];t.allWrites.splice(r,1);let s=i.visible,o=!1,a=t.allWrites.length-1;for(;s&&0<=a;){var l=t.allWrites[a];l.visible&&(a>=r&&function(e,t){{if(e.snap)return ct(e.path,t);for(const n in e.children)if(e.children.hasOwnProperty(n)&&ct(st(e.path,n),t))return!0;return!1}}(l,i.path)?s=!1:ct(i.path,l.path)&&(o=!0)),a--}return!!s&&(o?((e=t).visibleWrites=Zn(e.allWrites,Xn,Xe()),0{t.visibleWrites=Vn(t.visibleWrites,st(i.path,e))}),!0)}function Xn(e){return e.visible}function Zn(e,t,n){let r=Un.empty();for(let s=0;s{r=r.updateImmediateChild(e,t)}),r;if(n){const s=Yn(e.visibleWrites,t);return n.forEachChild(At,(e,t)=>{var n=$n(Yn(s,new Je(e)),t);r=r.updateImmediateChild(e,n)}),Qn(s).forEach(e=>{r=r.updateImmediateChild(e.name,e.node)}),r}return Qn(Yn(e.visibleWrites,t)).forEach(e=>{r=r.updateImmediateChild(e.name,e.node)}),r}(e.writeTree,e.treePath,t)}function rr(e,t,n,r){return function(e,t,n,r,i){p(r||i,"Either existingEventSnap or existingServerSnap must exist");var s=st(t,n);return zn(e.visibleWrites,s)?null:Kn(s=Yn(e.visibleWrites,s))?i.getChild(n):$n(s,i.getChild(n))}(e.writeTree,e.treePath,t,n,r)}function ir(e,t){return n=e.writeTree,t=st(e.treePath,t),Hn(n.visibleWrites,t);var n}function sr(e,t,n,r,i,s){return function(e,t,n,r,i,s,o){let a;var l=Yn(e.visibleWrites,t),h=Hn(l,Xe());if(null!=h)a=h;else{if(null==n)return[];a=$n(l,n)}if(a=a.withIndex(o),a.isEmpty()||a.isLeafNode())return[];{const c=[],u=o.getCompare(),d=s?a.getReverseIteratorFrom(r,o):a.getIteratorFrom(r,o);let e=d.getNext();for(;e&&c.length{var n=st(s,e);gr(i,Ze(n))&&(h=fr(r,h,n,t,o,a,l))}),e.foreach((e,t)=>{var n=st(s,e);gr(i,Ze(n))||(h=fr(r,h,n,t,o,a,l))}),h}(e,t,l.path,l.children,r,i,s):(p(l.source.fromServer,"Unknown source."),a=l.source.tagged||t.serverCache.isFiltered(),vr(e,t,l.path,l.children,r,i,a,s))}else if(n.type===Y.ACK_USER_WRITE){var h=n;o=h.revert?function(n,r,i,s,e,o){let a;{if(null!=ir(s,i))return r;{var l=new ur(s,r,e);const c=r.eventCache.getNode();let t;if(ot(i)||".priority"===Ze(i)){let e;e=r.serverCache.isFullyInitialized()?tr(s,Fn(r)):(h=r.serverCache.getNode(),p(h instanceof Bt,"serverChildren would be complete if leaf node"),nr(s,h)),e=e,t=n.filter.updateFullNode(c,e,o)}else{var h=Ze(i);let e=or(s,h,r.serverCache);null==e&&r.serverCache.isCompleteForChild(h)&&(e=c.getImmediateChild(h)),t=null!=e?n.filter.updateChild(c,h,e,tt(i),l,o):r.eventCache.getNode().hasChild(h)?n.filter.updateChild(c,h,Bt.EMPTY_NODE,tt(i),l,o):c,t.isEmpty()&&r.serverCache.isFullyInitialized()&&(a=tr(s,Fn(r)),a.isLeafNode()&&(t=n.filter.updateFullNode(t,a,o)))}return a=r.serverCache.isFullyInitialized()||null!=ir(s,Xe()),On(r,t,a,n.filter.filtersNodes())}}}(e,t,h.path,r,i,s):function(e,t,i,n,s,o,a){if(null!=ir(s,i))return t;const l=t.serverCache.isFiltered(),h=t.serverCache;{if(null!=n.value){if(ot(i)&&h.isFullyInitialized()||h.isCompleteForPath(i))return pr(e,t,i,h.getNode().getChild(i),s,o,l,a);if(ot(i)){let n=new Wn(null);return h.getNode().forEachChild(wt,(e,t)=>{n=n.set(new Je(e),t)}),vr(e,t,i,n,s,o,l,a)}return t}{let r=new Wn(null);return n.foreach((e,t)=>{var n=st(i,e);h.isCompleteForPath(n)&&(r=r.set(e,h.getNode().getChild(n)))}),vr(e,t,i,r,s,o,l,a)}}}(e,t,h.path,h.affectedTree,r,i,s)}else{if(n.type!==Y.LISTEN_COMPLETE)throw c("Unknown operation type: "+n.type);o=function(e,t,n,r,i){const s=t.serverCache,o=Ln(t,s.getNode(),s.isFullyInitialized()||ot(n),s.isFiltered());return _r(e,o,n,r,cr,i)}(e,t,n.path,r,s)}h=s.getChanges();return function(e,t,n){const r=t.eventCache;if(r.isFullyInitialized()){var i=r.getNode().isLeafNode()||r.getNode().isEmpty();const s=Mn(e);(0{n=n.updateChild(e,t)}),n}function vr(r,i,e,t,s,o,a,l){if(i.serverCache.getNode().isEmpty()&&!i.serverCache.isFullyInitialized())return i;let h=i,n;n=ot(e)?t:new Wn(null).setTree(e,t);const c=i.serverCache.getNode();return n.children.inorderTraversal((e,t)=>{var n;c.hasChild(e)&&(n=mr(0,i.serverCache.getNode().getImmediateChild(e),t),h=pr(r,h,new Je(e),n,s,o,a,l))}),n.children.inorderTraversal((e,t)=>{var n=!i.serverCache.isCompleteForChild(e)&&null===t.value;c.hasChild(e)||n||(n=mr(0,i.serverCache.getNode().getImmediateChild(e),t),h=pr(r,h,new Je(e),n,s,o,a,l))}),h}class yr{constructor(e,t){this.query_=e,this.eventRegistrations_=[];const n=this.query_._queryParams,r=new on(n.getIndex()),i=(e=n).loadsAllData()?new on(e.getIndex()):new(e.hasLimit()?ln:an)(e);this.processor_={filter:i};const s=t.serverCache,o=t.eventCache;var a=r.updateFullNode(Bt.EMPTY_NODE,s.getNode(),null),l=i.updateFullNode(Bt.EMPTY_NODE,o.getNode(),null),a=new Pn(a,s.isFullyInitialized(),r.filtersNodes()),l=new Pn(l,o.isFullyInitialized(),i.filtersNodes());this.viewCache_=An(l,a),this.eventGenerator_=new Rn(this.query_)}get query(){return this.query_}}function wr(e){return 0===e.eventRegistrations_.length}function Cr(n,r,i){const s=[];if(i){p(null==r,"A cancel should cancel all event registrations.");const o=n.query._path;n.eventRegistrations_.forEach(e=>{var t=e.createCancelEvent(i,o);t&&s.push(t)})}if(r){let e=[];for(let t=0;t{r.push(nn(e,t))})}return n.isFullyInitialized()&&r.push(tn(n.getNode())),Tr(e,r,n.getNode(),t)}(o,n)}function Pr(e,t,n,r){var i=t._queryIdentifier;const s=[];let o=[];var a=Or(e);if("default"===i)for(var[l,h]of e.views.entries())o=o.concat(Cr(h,n,r)),wr(h)&&(e.views.delete(l),h.query._queryParams.loadsAllData()||s.push(h.query));else{const c=e.views.get(i);c&&(o=o.concat(Cr(c,n,r)),wr(c)&&(e.views.delete(i),c.query._queryParams.loadsAllData()||s.push(c.query)))}return a&&!Or(e)&&s.push((p(Ir,"Reference.ts has not been loaded"),new Ir(t._repo,t._path))),{removed:s,events:o}}function Rr(e){const t=[];for(const n of e.views.values())n.query._queryParams.loadsAllData()||t.push(n);return t}function xr(e,t){let n=null;for(const r of e.views.values())n=n||function(e,t){const n=Fn(e.viewCache_);return n&&(e.query._queryParams.loadsAllData()||!ot(t)&&!n.getImmediateChild(Ze(t)).isEmpty())?n.getChild(t):null}(r,t);return n}function Dr(e,t){const n=t._queryParams;if(n.loadsAllData())return Lr(e);var r=t._queryIdentifier;return e.views.get(r)}function Ar(e,t){return null!=Dr(e,t)}function Or(e){return null!=Lr(e)}function Lr(e){for(const t of e.views.values())if(t.query._queryParams.loadsAllData())return t;return null}let Mr;let Fr=1;class qr{constructor(e){this.listenProvider_=e,this.syncPointTree_=new Wn(null),this.pendingWriteTree_={visibleWrites:Un.empty(),allWrites:[],lastWriteId:-1},this.tagToQueryMap=new Map,this.queryToTagMap=new Map}}function Wr(e,t,n,r,i){var s,o,a,l;return s=e.pendingWriteTree_,o=t,a=n,l=r,r=i,p(l>s.lastWriteId,"Stacking an older write on top of newer ones"),s.allWrites.push({path:o,snap:a,writeId:l,visible:r=void 0===r?!0:r}),r&&(s.visibleWrites=Bn(s.visibleWrites,o,a)),s.lastWriteId=l,i?Kr(e,new kn(bn(),t,n)):[]}function Ur(e,t,n,r){var i,s,o;i=e.pendingWriteTree_,s=t,o=n,r=r,p(r>i.lastWriteId,"Stacking an older merge on top of newer ones"),i.allWrites.push({path:s,children:o,writeId:r,visible:!0}),i.visibleWrites=jn(i.visibleWrites,s,o),i.lastWriteId=r;var a=Wn.fromObject(n);return Kr(e,new Nn(bn(),t,a))}function Br(e,t,n=!1){var r=function(e,t){for(let r=0;r{t=t.set(new Je(e),!0)}),Kr(e,new En(r.path,t,n))}return[]}function jr(e,t,n){return Kr(e,new kn(Tn(),t,n))}function Vr(n,e,t,r,i=!1){var s=e._path,o=n.syncPointTree_.get(s);let a=[];if(o&&("default"===e._queryIdentifier||Ar(o,e))){var l=Pr(o,e,t,r);0===o.views.size&&(n.syncPointTree_=n.syncPointTree_.remove(s));const d=l.removed;if(a=l.events,!i){o=-1!==d.findIndex(e=>e._queryParams.loadsAllData()),l=n.syncPointTree_.findOnPath(s,(e,t)=>Or(t));if(o&&!l){const _=n.syncPointTree_.subtree(s);if(!_.isEmpty()){var h=_.fold((e,t,r)=>{if(t&&Or(t))return[Lr(t)];{let n=[];return t&&(n=Rr(t)),Ce(r,(e,t)=>{n=n.concat(t)}),n}});for(let e=0;e{var t=n.queryToTagMap.get(Xr(e));n.listenProvider_.stopListening(ni(e),t)}))}!function(e,t){for(let i=0;i{var n=at(e,i);s=s||xr(t,n),o=o||Or(t)});let a=e.syncPointTree_.get(i);a?(o=o||Or(a),s=s||xr(a,Xe())):(a=new Er,e.syncPointTree_=e.syncPointTree_.set(i,a));let l;if(null!=s)l=!0;else{l=!1,s=Bt.EMPTY_NODE;const _=e.syncPointTree_.subtree(i);_.foreachChild((e,t)=>{var n=xr(t,Xe());n&&(s=s.updateImmediateChild(e,n))})}var h,c=Ar(a,t);c||t._queryParams.loadsAllData()||(u=Xr(t),p(!e.queryToTagMap.has(u),"View does not exist, but we have a tag"),h=Fr++,e.queryToTagMap.set(u,h),e.tagToQueryMap.set(h,u));var u=Gn(e.pendingWriteTree_,i);let d=Nr(a,t,n,u,s,l);return c||o||r||(c=Dr(a,t),d=d.concat(function(t,e,n){const r=e._path,i=Jr(t,e),s=Gr(t,n),o=t.listenProvider_.startListening(ni(e),i,s.hashFn,s.onComplete),a=t.syncPointTree_.subtree(r);if(i)p(!Or(a.value),"If we're adding a query, it shouldn't be shadowed");else{var l=a.fold((e,t,r)=>{if(!ot(e)&&t&&Or(t))return[Lr(t).query];{let n=[];return t&&(n=n.concat(Rr(t).map(e=>e.query))),Ce(r,(e,t)=>{n=n.concat(t)}),n}});for(let e=0;e{var n=xr(t,at(e,r));if(n)return n});return er(n,r,i,t,!0)}function Yr(e,t){const r=t._path;let i=null;e.syncPointTree_.foreachOnPath(r,(e,t)=>{var n=at(e,r);i=i||xr(t,n)});let n=e.syncPointTree_.get(r);n?i=i||xr(n,Xe()):(n=new Er,e.syncPointTree_=e.syncPointTree_.set(r,n));var s=null!=i;const o=s?new Pn(i,!0,!1):null;var a=Gn(e.pendingWriteTree_,t._path);return Mn(kr(n,t,a,s?o.getNode():Bt.EMPTY_NODE,s).viewCache_)}function Kr(e,t){return function t(n,r,i,s){{if(ot(n.path))return $r(n,r,i,s);{const o=r.get(Xe());null==i&&null!=o&&(i=xr(o,Xe()));let e=[];const a=Ze(n.path),l=n.operationForChild(a),h=r.children.get(a);if(h&&l){const c=i?i.getImmediateChild(a):null,u=ar(s,a);e=e.concat(t(l,h,c,u))}return o&&(e=e.concat(Sr(o,n,s,i))),e}}}(t,e.syncPointTree_,null,Gn(e.pendingWriteTree_,Xe()))}function $r(s,e,o,a){var t=e.get(Xe());null==o&&null!=t&&(o=xr(t,Xe()));let l=[];return e.children.inorderTraversal((e,t)=>{var n=o?o.getImmediateChild(e):null,r=ar(a,e),i=s.operationForChild(e);i&&(l=l.concat($r(i,t,n,r)))}),t&&(l=l.concat(Sr(t,s,a,o))),l}function Gr(i,t){const s=t.query,o=Jr(i,s);return{hashFn:()=>{const e=t.viewCache_.serverCache.getNode()||Bt.EMPTY_NODE;return e.hash()},onComplete:e=>{if("ok"===e)return o?function(e,t,n){if(s=Zr(e,n)){var r=ei(s),i=r.path,s=r.queryId,r=at(i,t);return ti(e,i,new Sn(In(s),r))}return[]}(i,s._path,o):(t=i,n=s._path,Kr(t,new Sn(Tn(),n)));var t,n,r=function(e,t){let n="Unknown Error";"too_big"===e?n="The data requested exceeds the maximum size that can be accessed with a single request.":"permission_denied"===e?n="Client doesn't have permission to access the desired data.":"unavailable"===e&&(n="The service is unavailable");const r=new Error(e+" at "+t._path.toString()+": "+n);return r.code=e.toUpperCase(),r}(e,s);return Vr(i,s,null,r)}}}function Jr(e,t){var n=Xr(t);return e.queryToTagMap.get(n)}function Xr(e){return e._path.toString()+"$"+e._queryIdentifier}function Zr(e,t){return e.tagToQueryMap.get(t)}function ei(e){var t=e.indexOf("$");return p(-1!==t&&t{var n=ui(t,r.getImmediateChild(e),i);n!==t&&(s=s.updateImmediateChild(e,n))}),s}}class di{constructor(e="",t=null,n={children:{},childCount:0}){this.name=e,this.parent=t,this.node=n}}function _i(e,t){let n=t instanceof Je?t:new Je(t),r=e,i=Ze(n);for(;null!==i;){var s=w(r.node.children,i)||{children:{},childCount:0};r=new di(i,r,s),n=tt(n),i=Ze(n)}return r}function pi(e){return e.node.value}function fi(e,t){e.node.value=t,yi(e)}function gi(e){return 0{r(new di(e,n,t))})}function vi(e){return new Je(null===e.parent?e.name:vi(e.parent)+"/"+e.name)}function yi(e){var t,n,r,i;null!==e.parent&&(t=e.parent,n=e.name,r=function(e){return void 0===pi(e)&&!gi(e)}(e=e),i=y(t.node.children,n),r&&i?(delete t.node.children[n],t.node.childCount--,yi(t)):r||i||(t.node.children[n]=e.node,t.node.childCount++,yi(t)))}function wi(e,t,n,r){r&&void 0===t||Ai(E(e,"value"),t,n)}function Ci(e,t,r,n){if(!n||void 0!==t){const i=E(e,"values");if(!t||"object"!=typeof t||Array.isArray(t))throw new Error(i+" must be an object containing the children to replace.");const s=[];Ce(t,(e,t)=>{const n=new Je(e);if(Ai(i,t,st(r,n)),".priority"===nt(n)&&!Di(t))throw new Error(i+"contains an invalid value for '"+n.toString()+"', which must be a valid Firebase priority (a string, finite number, server value, or null).");s.push(n)}),function(t,n){let r,i;for(r=0;rNi/3&&N(e)>Ni)throw new Error(o+"contains a string greater than "+Ni+" utf8 bytes "+_t(a)+" ('"+e.substring(0,50)+"...')");if(e&&"object"==typeof e){let i=!1,s=!1;if(Ce(e,(e,t)=>{if(".value"===e)i=!0;else if(".priority"!==e&&".sv"!==e&&(s=!0,!Pi(e)))throw new Error(o+" contains an invalid key ("+e+") "+_t(a)+'. Keys must be non-empty strings and can\'t contain ".", "#", "$", "/", "[", or "]"');var n,r;n=a,e=e,0ht(e,t))}function Wi(e,t,n){Fi(e,n),Ui(e,e=>ct(e,t)||ct(t,e))}function Ui(e,t){e.recursionDepth_++;let n=!0;for(let i=0;i{Yi(o,e,t,n,r)},o.authTokenProvider_,o.appCheckProvider_),setTimeout(()=>Ki(o,!0),0);else{if(null!=t){if("object"!=typeof t)throw new Error("Only objects are supported for option databaseAuthVariableOverride");try{m(t)}catch(e){throw new Error("Invalid authOverride provided: "+e)}}o.persistentConnection_=new ft(o.repoInfo_,e,(e,t,n,r)=>{Yi(o,e,t,n,r)},e=>{Ki(o,e)},e=>{var n;n=o,Ce(e,(e,t)=>{$i(n,e,t)})},o.authTokenProvider_,o.appCheckProvider_,t),o.server_=o.persistentConnection_}var n;o.authTokenProvider_.addTokenChangeListener(e=>{o.server_.refreshAuthToken(e)}),o.appCheckProvider_.addTokenChangeListener(e=>{o.server_.refreshAppCheckToken(e.token)}),o.statsReporter_=(e=o.repoInfo_,t=()=>new Cn(o.stats_,o.server_),n=e.toString(),We[n]||(We[n]=t()),We[n]),o.infoData_=new gn,o.infoSyncTree_=new qr({startListening:(e,t,n,r)=>{let i=[];const s=o.infoData_.getNode(e._path);return s.isEmpty()||(i=jr(o.infoSyncTree_,e._path,s),setTimeout(()=>{r("ok")},0)),i},stopListening:()=>{}}),$i(o,"connected",!1),o.serverSyncTree_=new qr({startListening:(r,e,t,i)=>(o.server_.listen(r,t,e,(e,t)=>{var n=i(e,t);Wi(o.eventQueue_,r._path,n)}),[]),stopListening:(e,t)=>{o.server_.unlisten(e,t)}})}function Hi(e){const t=e.infoData_.getNode(new Je(".info/serverTimeOffset"));var n=t.val()||0;return(new Date).getTime()+n}function Qi(e){return si({timestamp:Hi(e)})}function Yi(e,t,n,r,i){e.dataUpdateCount++;var s,o,a=new Je(t);n=e.interceptServerDataCallback_?e.interceptServerDataCallback_(t,n):n;let l=[];l=i?r?(s=b(n,e=>Ht(e)),function(e,t,n,r){if(a=Zr(e,r)){var i=ei(a),s=i.path,o=i.queryId,a=at(s,t),i=Wn.fromObject(n);return ti(e,s,new Nn(In(o),a,i))}return[]}(e.serverSyncTree_,a,s,i)):(s=Ht(n),zr(e.serverSyncTree_,a,s,i)):r?(o=b(n,e=>Ht(e)),t=e.serverSyncTree_,i=a,r=o,o=Wn.fromObject(r),Kr(t,new Nn(Tn(),i,o))):(o=Ht(n),jr(e.serverSyncTree_,a,o));let h=a;0{var n=hi(e,t,r.serverSyncTree_,i);vn(s,e,n)});let o=[];yn(s,Xe(),(e,t)=>{o=o.concat(jr(r.serverSyncTree_,e,t));var n=cs(r,e);os(r,n)}),r.onDisconnect_=mn(),Wi(r.eventQueue_,Xe(),o)}(e)}function $i(e,t,n){var r=new Je("/.info/"+t),i=Ht(n);e.infoData_.updateSnapshot(r,i);i=jr(e.infoSyncTree_,r,i);Wi(e.eventQueue_,r,i)}function Gi(e){return e.nextWriteId_++}function Ji(r,i,e,t,s){ns(r,"set",{path:i.toString(),value:e,priority:t});var n=Qi(r);const o=Ht(e,t);var a=Qr(r.serverSyncTree_,i),n=ci(o,a,n);const l=Gi(r);n=Wr(r.serverSyncTree_,i,n,l,!0);Fi(r.eventQueue_,n),r.server_.put(i.toString(),o.val(!0),(e,t)=>{var n="ok"===e;n||fe("set at "+i+" failed: "+e);n=Br(r.serverSyncTree_,l,!n);Wi(r.eventQueue_,i,n),rs(0,s,e,t)});n=cs(r,i);os(r,n),Wi(r.eventQueue_,n,[])}function Xi(n,r,i){n.server_.onDisconnectCancel(r.toString(),(e,t)=>{"ok"===e&&!function e(n,t){if(ot(t))return n.value=null,n.children.clear(),!0;if(null!==n.value){if(n.value.isLeafNode())return!1;{const i=n.value;return n.value=null,i.forEachChild(At,(e,t)=>{vn(n,new Je(e),t)}),e(n,t)}}if(0{"ok"===e&&vn(n.onDisconnect_,r,s),rs(0,i,e,t)})}function es(e,t,n){let r;r=".info"===Ze(t._path)?Vr(e.infoSyncTree_,t,n):Vr(e.serverSyncTree_,t,n),qi(e.eventQueue_,t._path,r)}function ts(e){e.persistentConnection_&&e.persistentConnection_.interrupt(Bi)}function ns(e,...t){let n="";e.persistentConnection_&&(n=e.persistentConnection_.id+":"),_e(n,...t)}function rs(e,r,i,s){r&&Ne(()=>{if("ok"===i)r(null);else{var t=(i||"error").toUpperCase();let e=t;s&&(e+=": "+s);const n=new Error(e);n.code=t,r(n)}})}function is(e,t,n){return Qr(e.serverSyncTree_,t,n)||Bt.EMPTY_NODE}function ss(t,e=t.transactionQueueTree_){if(e||hs(t,e),pi(e)){const n=ls(t,e);p(00===e.status)&&function(i,s,o){const e=o.map(e=>e.currentWriteId),t=is(i,s,e);let n=t;var r=t.hash();for(let c=0;c{ns(i,"transaction put response",{path:h.toString(),status:t});let n=[];if("ok"===t){const r=[];for(let e=0;eo[e].onComplete(null,!0,o[e].currentOutputSnapshotResolved)),o[e].unwatcher();hs(i,_i(i.transactionQueueTree_,s)),ss(i,i.transactionQueueTree_),Wi(i.eventQueue_,s,n);for(let t=0;t{ss(t,e)})}function os(e,t){var n=as(e,t),r=vi(n);return function(i,s,o){if(0!==s.length){const h=[];let n=[];const t=s.filter(e=>0===e.status),c=t.map(e=>e.currentWriteId);for(let r=0;r=ji)e=!0,t="maxretry",n=n.concat(Br(i.serverSyncTree_,u.currentWriteId,!0));else{const d=is(i,u.path,c);u.currentInputSnapshot=d;var l=s[r].update(d.val());if(void 0!==l){Ai("transaction failed: Data returned ",l,u.path);let e=Ht(l);"object"==typeof l&&null!=l&&y(l,".priority")||(e=e.updatePriority(d.getPriority()));a=u.currentWriteId,l=Qi(i),l=ci(e,d,l);u.currentOutputSnapshotRaw=e,u.currentOutputSnapshotResolved=l,u.currentWriteId=Gi(i),c.splice(c.indexOf(a),1),n=n.concat(Wr(i.serverSyncTree_,u.path,l,u.currentWriteId,u.applyLocally)),n=n.concat(Br(i.serverSyncTree_,a,!0))}else e=!0,t="nodata",n=n.concat(Br(i.serverSyncTree_,u.currentWriteId,!0))}Wi(i.eventQueue_,o,n),n=[],e&&(s[r].status=2,function(e){setTimeout(e,Math.floor(0))}(s[r].unwatcher),s[r].onComplete&&("nodata"===t?h.push(()=>s[r].onComplete(null,!1,s[r].currentInputSnapshot)):h.push(()=>s[r].onComplete(new Error(t),!1,null))))}hs(i,i.transactionQueueTree_);for(let e=0;e{t(n,e,r)})}(e,t,n),n.sort((e,t)=>e.order-t.order),n}function hs(t,n){const r=pi(n);if(r){let e=0;for(let t=0;t{hs(t,e)})}function cs(t,e){var n=vi(as(t,e)),r=_i(t.transactionQueueTree_,e);return function(e,t,n){let r=n?e:e.parent;for(;null!==r;){if(t(r))return;r=r.parent}}(r,e=>{us(t,e)}),us(t,r),function t(e,n,r,i){r&&!i&&n(e),mi(e,e=>{t(e,n,!0,i)}),r&&i&&n(e)}(r,e=>{us(t,e)}),n}function us(i,s){const o=pi(s);if(o){const a=[];let e=[],t=-1;for(let n=0;n.firebaseio.com instead"),r&&"undefined"!==r||"localhost"===n.domain||pe("Cannot parse Firebase url. Please use https://.firebaseio.com"),n.secure||ge();var i="ws"===n.scheme||"wss"===n.scheme;return{repoInfo:new Le(n.host,n.secure,r,i,t,"",r!==n.subdomain),path:new Je(n.pathString)}},_s=function(r){let i="",s="",o="",a="",l="",h=!0,c="https",u=443;if("string"==typeof r){let e=r.indexOf("//");0<=e&&(c=r.substring(0,e-1),r=r.substring(e+2));let t=r.indexOf("/");-1===t&&(t=r.length);let n=r.indexOf("?");-1===n&&(n=r.length),i=r.substring(0,Math.min(t,n)),t{})),e.promise}remove(){Ei("OnDisconnect.remove",this._path);const e=new d;return Zi(this._repo,this._path,null,e.wrapCallback(()=>{})),e.promise}set(e){Ei("OnDisconnect.set",this._path),wi("OnDisconnect.set",e,this._path,!1);const t=new d;return Zi(this._repo,this._path,e,t.wrapCallback(()=>{})),t.promise}setWithPriority(e,t){Ei("OnDisconnect.setWithPriority",this._path),wi("OnDisconnect.setWithPriority",e,this._path,!1),bi("OnDisconnect.setWithPriority",t,!1);const n=new d;return function(n,r,e,t,i){const s=Ht(e,t);n.server_.onDisconnectPut(r.toString(),s.val(!0),(e,t)=>{"ok"===e&&vn(n.onDisconnect_,r,s),rs(0,i,e,t)})}(this._repo,this._path,e,t,n.wrapCallback(()=>{})),n.promise}update(e){Ei("OnDisconnect.update",this._path),Ci("OnDisconnect.update",e,this._path,!1);const t=new d;return function(r,i,n,s){if(C(n))return _e("onDisconnect().update() called with empty data. Don't do anything."),rs(0,s,"ok",void 0);r.server_.onDisconnectMerge(i.toString(),n,(e,t)=>{"ok"===e&&Ce(n,(e,t)=>{var n=Ht(t);vn(r.onDisconnect_,st(i,e),n)}),rs(0,s,e,t)})}(this._repo,this._path,e,t.wrapCallback(()=>{})),t.promise}}class vs{constructor(e,t,n,r){this._repo=e,this._path=t,this._queryParams=n,this._orderByCalled=r}get key(){return ot(this._path)?null:nt(this._path)}get ref(){return new bs(this._repo,this._path)}get _queryIdentifier(){var e=pn(this._queryParams),e=ce(e);return"{}"===e?"default":e}get _queryObject(){return pn(this._queryParams)}isEqual(e){if(!((e=P(e))instanceof vs))return!1;var t=this._repo===e._repo,n=ht(this._path,e._path),r=this._queryIdentifier===e._queryIdentifier;return t&&n&&r}toJSON(){return this.toString()}toString(){return this._repo.toString()+function(e){let t="";for(let n=e.pieceNum_;nn(new Ts(t,Ss(this.ref,e),At)))}hasChild(e){var t=new Je(e);return!this._node.getChild(t).isEmpty()}hasChildren(){return!this._node.isLeafNode()&&!this._node.isEmpty()}toJSON(){return this.exportVal()}val(){return this._node.val()}}function Is(e,t){return(e=P(e))._checkNotDeleted("ref"),void 0!==t?Ss(e._root,t):e._root}function Es(e,t){(e=P(e))._checkNotDeleted("refFromURL");const n=ds(t,e._repo.repoInfo_.nodeAdmin);Li("refFromURL",n);var r=n.repoInfo;return e._repo.repoInfo_.isCustomHost()||r.host===e._repo.repoInfo_.host||pe("refFromURL: Host name does not match the current database: (found "+r.host+" but expected "+e._repo.repoInfo_.host+")"),Is(e,n.path.toString())}function Ss(e,t){return(null===Ze((e=P(e))._path)?Ii:Oi)("child","path",t,!1),new bs(e._repo,st(e._path,t))}function ks(e,t){e=P(e),Ei("set",e._path),wi("set",t,e._path,!1);const n=new d;return Ji(e._repo,e._path,t,null,n.wrapCallback(()=>{})),n.promise}function Ns(e,t){Ci("update",t,e._path,!1);const n=new d;return function(i,s,e,o){ns(i,"update",{path:s.toString(),value:e});let n=!0;const r=Qi(i),a={};if(Ce(e,(e,t)=>{n=!1,a[e]=hi(st(s,e),Ht(t),i.serverSyncTree_,r)}),n)_e("update() called with empty data. Don't do anything."),rs(0,o,"ok",void 0);else{const l=Gi(i);var t=Ur(i.serverSyncTree_,s,a,l);Fi(i.eventQueue_,t),i.server_.merge(s.toString(),e,(e,t)=>{var n="ok"===e;n||fe("update at "+s+" failed: "+e);var r=Br(i.serverSyncTree_,l,!n),n=0{var t=cs(i,st(s,e));os(i,t)}),Wi(i.eventQueue_,s,[])}}(e._repo,e._path,t,n.wrapCallback(()=>{})),n.promise}function Ps(t){t=P(t);var i,s,o,e=new gs(()=>{}),e=new Rs(e);return i=t._repo,s=t,o=e,(null!=(e=Yr(i.serverSyncTree_,s))?Promise.resolve(e):i.server_.get(s).then(e=>{var t,n=Ht(e).withIndex(s._queryParams.getIndex());Hr(i.serverSyncTree_,s,o,!0);let r;return r=s._queryParams.loadsAllData()?jr(i.serverSyncTree_,s._path,n):(t=Jr(i.serverSyncTree_,s),zr(i.serverSyncTree_,s._path,n,t)),Wi(i.eventQueue_,s._path,r),Vr(i.serverSyncTree_,s,o,null,!0),n},e=>(ns(i,"get for query "+m(s)+" failed: "+e),Promise.reject(new Error(e))))).then(e=>new Ts(e,new bs(t._repo,t._path),t._queryParams.getIndex()))}class Rs{constructor(e){this.callbackContext=e}respondsTo(e){return"value"===e}createEvent(e,t){var n=t._queryParams.getIndex();return new ps("value",this,new Ts(e.snapshotNode,new bs(t._repo,t._path),n))}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,null)}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new fs(this,e,t):null}matches(e){return e instanceof Rs&&(!e.callbackContext||!this.callbackContext||e.callbackContext.matches(this.callbackContext))}hasAnyCallback(){return null!==this.callbackContext}}class xs{constructor(e,t){this.eventType=e,this.callbackContext=t}respondsTo(e){let t="children_added"===e?"child_added":e;return t="children_removed"===t?"child_removed":t,this.eventType===t}createCancelEvent(e,t){return this.callbackContext.hasCancelCallback?new fs(this,e,t):null}createEvent(e,t){p(null!=e.childName,"Child events should have a childName.");var n=Ss(new bs(t._repo,t._path),e.childName),r=t._queryParams.getIndex();return new ps(e.type,this,new Ts(e.snapshotNode,n,r),e.prevName)}getEventRunner(e){return"cancel"===e.getEventType()?()=>this.callbackContext.onCancel(e.error):()=>this.callbackContext.onValue(e.snapshot,e.prevName)}matches(e){return e instanceof xs&&(this.eventType===e.eventType&&(!this.callbackContext||!e.callbackContext||this.callbackContext.matches(e.callbackContext)))}hasAnyCallback(){return!!this.callbackContext}}function Ds(n,e,t,r,i){let s;if("object"==typeof r&&(s=void 0,i=r),"function"==typeof r&&(s=r),i&&i.onlyOnce){const l=t;var o=(e,t)=>{es(n._repo,n,a),l(e,t)};o.userCallback=t.userCallback,o.context=t.context,t=o}o=new gs(t,s||void 0);const a="value"===e?new Rs(o):new xs(e,o);return function(e,t,n){let r;r=".info"===Ze(t._path)?Hr(e.infoSyncTree_,t,n):Hr(e.serverSyncTree_,t,n),qi(e.eventQueue_,t._path,r)}(n._repo,n,a),()=>es(n._repo,n,a)}function As(e,t,n,r){return Ds(e,"value",t,n,r)}function Os(e,t,n,r){return Ds(e,"child_added",t,n,r)}function Ls(e,t,n,r){return Ds(e,"child_changed",t,n,r)}function Ms(e,t,n,r){return Ds(e,"child_moved",t,n,r)}function Fs(e,t,n,r){return Ds(e,"child_removed",t,n,r)}function qs(e,t,n){let r=null;var i=n?new gs(n):null;"value"===t?r=new Rs(i):t&&(r=new xs(t,i)),es(e._repo,e,r)}class Ws{}class Us extends Ws{constructor(e,t){super(),this._value=e,this._key=t}_apply(e){wi("endAt",this._value,e._path,!0);var t=un(e._queryParams,this._value,this._key);if(Cs(t),ws(t),e._queryParams.hasEnd())throw new Error("endAt: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new vs(e._repo,e._path,t,e._orderByCalled)}}class Bs extends Ws{constructor(e,t){super(),this._value=e,this._key=t}_apply(e){wi("endBefore",this._value,e._path,!1);var t=function(e,t,n){let r,i;return i=e.index_===wt?un(e,t="string"==typeof t?Kt(t):t,n):(r=null==n?ve:Kt(n),un(e,t,r)),i.endBeforeSet_=!0,i}(e._queryParams,this._value,this._key);if(Cs(t),ws(t),e._queryParams.hasEnd())throw new Error("endBefore: Starting point was already set (by another call to endAt, endBefore or equalTo).");return new vs(e._repo,e._path,t,e._orderByCalled)}}class js extends Ws{constructor(e,t){super(),this._value=e,this._key=t}_apply(e){wi("startAt",this._value,e._path,!0);var t=cn(e._queryParams,this._value,this._key);if(Cs(t),ws(t),e._queryParams.hasStart())throw new Error("startAt: Starting point was already set (by another call to startAt, startBefore or equalTo).");return new vs(e._repo,e._path,t,e._orderByCalled)}}class Vs extends Ws{constructor(e,t){super(),this._value=e,this._key=t}_apply(e){wi("startAfter",this._value,e._path,!1);var t=function(t,n,r){let i;if(t.index_===wt)"string"==typeof n&&(n=Yt(n)),i=cn(t,n,r);else{let e;e=null==r?ye:Yt(r),i=cn(t,n,e)}return i.startAfterSet_=!0,i}(e._queryParams,this._value,this._key);if(Cs(t),ws(t),e._queryParams.hasStart())throw new Error("startAfter: Starting point was already set (by another call to startAt, startAfter, or equalTo).");return new vs(e._repo,e._path,t,e._orderByCalled)}}class zs extends Ws{constructor(e){super(),this._limit=e}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToFirst: Limit was already set (by another call to limitToFirst or limitToLast).");return new vs(e._repo,e._path,function(e,t){const n=e.copy();return n.limitSet_=!0,n.limit_=t,n.viewFrom_="l",n}(e._queryParams,this._limit),e._orderByCalled)}}class Hs extends Ws{constructor(e){super(),this._limit=e}_apply(e){if(e._queryParams.hasLimit())throw new Error("limitToLast: Limit was already set (by another call to limitToFirst or limitToLast).");return new vs(e._repo,e._path,function(e,t){const n=e.copy();return n.limitSet_=!0,n.limit_=t,n.viewFrom_="r",n}(e._queryParams,this._limit),e._orderByCalled)}}class Qs extends Ws{constructor(e){super(),this._path=e}_apply(e){ys(e,"orderByChild");var t=new Je(this._path);if(ot(t))throw new Error("orderByChild: cannot pass in empty path. Use orderByValue() instead.");t=new Qt(t),t=dn(e._queryParams,t);return ws(t),new vs(e._repo,e._path,t,!0)}}class Ys extends Ws{_apply(e){ys(e,"orderByKey");var t=dn(e._queryParams,wt);return ws(t),new vs(e._repo,e._path,t,!0)}}class Ks extends Ws{_apply(e){ys(e,"orderByPriority");var t=dn(e._queryParams,At);return ws(t),new vs(e._repo,e._path,t,!0)}}class $s extends Ws{_apply(e){ys(e,"orderByValue");var t=dn(e._queryParams,$t);return ws(t),new vs(e._repo,e._path,t,!0)}}class Gs extends Ws{constructor(e,t){super(),this._value=e,this._key=t}_apply(e){if(wi("equalTo",this._value,e._path,!1),e._queryParams.hasStart())throw new Error("equalTo: Starting point was already set (by another call to startAt/startAfter or equalTo).");if(e._queryParams.hasEnd())throw new Error("equalTo: Ending point was already set (by another call to endAt/endBefore or equalTo).");return new Us(this._value,this._key)._apply(new js(this._value,this._key)._apply(e))}}function Js(e,...t){let n=P(e);for(const r of t)n=r._apply(n);return n}$=bs,p(!Ir,"__referenceConstructor has already been defined"),Ir=$,G=bs,p(!Mr,"__referenceConstructor has already been defined"),Mr=G;const Xs="FIREBASE_DATABASE_EMULATOR_HOST",Zs={};let eo=!1;function to(e,t,n,r,i){let s=r||e.options.databaseURL;void 0===s&&(e.options.projectId||pe("Can't determine Firebase Database URL. Be sure to include a Project ID when calling firebase.initializeApp()."),_e("Using default host for project ",e.options.projectId),s=`${e.options.projectId}-default-rtdb.firebaseio.com`);let o=ds(s,i),a=o.repoInfo,l,h=void 0;"undefined"!=typeof process&&process.env&&(h=process.env[Xs]),h?(l=!0,s=`http://${h}?ns=${a.namespace}`,o=ds(s,i),a=o.repoInfo):l=!o.repoInfo.secure;var c=i&&l?new xe(xe.OWNER):new Re(e.name,e.options,t);Li("Invalid Firebase Database URL",o),ot(o.path)||pe("Database URL must point to the root of a Firebase Database (not including a child path).");c=function(e,t,n,r){let i=Zs[t.name];i||(i={},Zs[t.name]=i);var s=i[e.toURLString()];s&&pe("Database initialized multiple times. Please make sure the format of the database URL matches with each database() call.");return s=new Vi(e,eo,n,r),i[e.toURLString()]=s}(a,e,c,new Pe(e.name,n));return new no(c,e)}class no{constructor(e,t){this._repoInternal=e,this.app=t,this.type="database",this._instanceStarted=!1}get _repo(){return this._instanceStarted||(zi(this._repoInternal,this.app.options.appId,this.app.options.databaseAuthVariableOverride),this._instanceStarted=!0),this._repoInternal}get _root(){return this._rootInternal||(this._rootInternal=new bs(this._repo,Xe())),this._rootInternal}_delete(){return null!==this._rootInternal&&(function(e,t){const n=Zs[t];n&&n[e.key]===e||pe(`Database ${t}(${e.repoInfo_}) has already been deleted.`),ts(e),delete n[e.key]}(this._repo,this.app.name),this._repoInternal=null,this._rootInternal=null),Promise.resolve()}_checkNotDeleted(e){null===this._rootInternal&&pe("Cannot call "+e+" on a deleted database.")}}function ro(){Qe.IS_TRANSPORT_INITIALIZED&&fe("Transport has already been initialized. Please call this function before calling ref or setting up a listener")}function io(){ro(),je.forceDisallow()}function so(){ro(),He.forceDisallow(),je.forceAllow()}function oo(e,t,n,r={}){(e=P(e))._checkNotDeleted("useEmulator"),e._instanceStarted&&pe("Cannot call useEmulator() after instance has already been initialized.");var i,s=e._repoInternal;let o=void 0;s.repoInfo_.nodeAdmin?(r.mockUserToken&&pe('mockUserToken is not supported by the Admin SDK. For client access with mock users, please use the "firebase" package instead of "firebase-admin".'),o=new xe(xe.OWNER)):r.mockUserToken&&(i="string"==typeof r.mockUserToken?r.mockUserToken:function(e,t){if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var n=t||"demo-project",r=e.iat||0,i=e.sub||e.user_id;if(!i)throw new Error("mockUserToken must contain 'sub' or 'user_id' field!");return i=Object.assign({iss:`https://securetoken.google.com/${n}`,aud:n,iat:r,exp:r+3600,auth_time:r,sub:i,user_id:i,firebase:{sign_in_provider:"custom",identities:{}}},e),[a(JSON.stringify({alg:"none",type:"JWT"})),a(JSON.stringify(i)),""].join(".")}(r.mockUserToken,e.app.options.projectId),o=new xe(i)),r=s,e=t,t=n,n=o,r.repoInfo_=new Le(`${e}:${t}`,!1,r.repoInfo_.namespace,r.repoInfo_.webSocketOnly,r.repoInfo_.nodeAdmin,r.repoInfo_.persistenceKey,r.repoInfo_.includeNamespaceInQueryParams),n&&(r.authTokenProvider_=n)}function ao(e){(e=P(e))._checkNotDeleted("goOnline"),(e=e._repo).persistentConnection_&&e.persistentConnection_.resume(Bi)}function lo(e,t){de(e,t)}const ho={".sv":"timestamp"};class co{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return{committed:this.committed,snapshot:this.snapshot.toJSON()}}}function uo(i,e,t){if(i=P(i),Ei("Reference.transaction",i._path),".length"===i.key||".keys"===i.key)throw"Reference.transaction failed: "+i.key+" is a read-only object.";var n=null===(r=null==t?void 0:t.applyLocally)||void 0===r||r;const s=new d;var r=As(i,()=>{});return function(t,n,e,r,i,s){ns(t,"transaction on "+n);const o={path:n,update:e,onComplete:r,status:null,order:ne(),applyLocally:s,retryCount:0,unwatcher:i,abortReason:null,currentWriteId:null,currentInputSnapshot:null,currentOutputSnapshotRaw:null,currentOutputSnapshotResolved:null},a=is(t,n,void 0);o.currentInputSnapshot=a;var l=o.update(a.val());if(void 0===l)o.unwatcher(),o.currentOutputSnapshotRaw=null,o.currentOutputSnapshotResolved=null,o.onComplete&&o.onComplete(null,!1,o.currentInputSnapshot);else{Ai("transaction failed: Data returned ",l,o.path),o.status=0;var h=_i(t.transactionQueueTree_,n);const c=pi(h)||[];c.push(o),fi(h,c);let e;if("object"==typeof l&&null!==l&&y(l,".priority"))e=w(l,".priority"),p(Di(e),"Invalid priority returned by transaction. Priority must be a valid string, finite number, server value, or null.");else{const u=Qr(t.serverSyncTree_,n)||Bt.EMPTY_NODE;e=u.getPriority().val()}h=Qi(t),l=Ht(l,e),h=ci(l,a,h);o.currentOutputSnapshotRaw=l,o.currentOutputSnapshotResolved=h,o.currentWriteId=Gi(t);h=Wr(t.serverSyncTree_,n,h,o.currentWriteId,o.applyLocally);Wi(t.eventQueue_,n,h),ss(t,t.transactionQueueTree_)}}(i._repo,i._path,e,(e,t,n)=>{var r;e?s.reject(e):(r=new Ts(n,new bs(i._repo,i._path),At),s.resolve(new co(t,r)))},r,n),s.promise}ft.prototype.simpleListen=function(e,t){this.sendRequest("q",{p:e},t)},ft.prototype.echo=function(e,t){this.sendRequest("echo",{d:e},t)},B(Eo.SDK_VERSION),Eo._registerComponent(new R("database",(e,{instanceIdentifier:t})=>{return to(e.getProvider("app").getImmediate(),e.getProvider("auth-internal"),e.getProvider("app-check-internal"),t)},"PUBLIC").setMultipleInstances(!0)),Eo.registerVersion(W,"0.13.5",J),Eo.registerVersion(W,"0.13.5","esm2017");function _o(e){var t="FIREBASE WARNING: "+e;po.warn(t)}const po=new q("@firebase/database-compat");class fo{constructor(e){this._delegate=e}cancel(t){I("OnDisconnect.cancel",0,1,arguments.length),S("OnDisconnect.cancel","onComplete",t,!0);const e=this._delegate.cancel();return t&&e.then(()=>t(null),e=>t(e)),e}remove(t){I("OnDisconnect.remove",0,1,arguments.length),S("OnDisconnect.remove","onComplete",t,!0);const e=this._delegate.remove();return t&&e.then(()=>t(null),e=>t(e)),e}set(e,t){I("OnDisconnect.set",1,2,arguments.length),S("OnDisconnect.set","onComplete",t,!0);const n=this._delegate.set(e);return t&&n.then(()=>t(null),e=>t(e)),n}setWithPriority(e,t,n){I("OnDisconnect.setWithPriority",2,3,arguments.length),S("OnDisconnect.setWithPriority","onComplete",n,!0);const r=this._delegate.setWithPriority(e,t);return n&&r.then(()=>n(null),e=>n(e)),r}update(t,n){if(I("OnDisconnect.update",1,2,arguments.length),Array.isArray(t)){const r={};for(let e=0;en(null),e=>n(e)),e}}class go{constructor(e,t){this.committed=e,this.snapshot=t}toJSON(){return I("TransactionResult.toJSON",0,1,arguments.length),{committed:this.committed,snapshot:this.snapshot.toJSON()}}}class mo{constructor(e,t){this._database=e,this._delegate=t}val(){return I("DataSnapshot.val",0,0,arguments.length),this._delegate.val()}exportVal(){return I("DataSnapshot.exportVal",0,0,arguments.length),this._delegate.exportVal()}toJSON(){return I("DataSnapshot.toJSON",0,1,arguments.length),this._delegate.toJSON()}exists(){return I("DataSnapshot.exists",0,0,arguments.length),this._delegate.exists()}child(e){return I("DataSnapshot.child",0,1,arguments.length),e=String(e),Oi("DataSnapshot.child","path",e,!1),new mo(this._database,this._delegate.child(e))}hasChild(e){return I("DataSnapshot.hasChild",1,1,arguments.length),Oi("DataSnapshot.hasChild","path",e,!1),this._delegate.hasChild(e)}getPriority(){return I("DataSnapshot.getPriority",0,0,arguments.length),this._delegate.priority}forEach(t){return I("DataSnapshot.forEach",1,1,arguments.length),S("DataSnapshot.forEach","action",t,!1),this._delegate.forEach(e=>t(new mo(this._database,e)))}hasChildren(){return I("DataSnapshot.hasChildren",0,0,arguments.length),this._delegate.hasChildren()}get key(){return this._delegate.key}numChildren(){return I("DataSnapshot.numChildren",0,0,arguments.length),this._delegate.size}getRef(){return I("DataSnapshot.ref",0,0,arguments.length),new yo(this._database,this._delegate.ref)}get ref(){return this.getRef()}}class vo{constructor(e,t){this.database=e,this._delegate=t}on(e,n,t,r){var i;I("Query.on",2,4,arguments.length),S("Query.on","callback",n,!1);const s=vo.getCancelAndContextArgs_("Query.on",t,r);var o=(e,t)=>{n.call(s.context,new mo(this.database,e),t)};o.userCallback=n,o.context=s.context;var a=null===(i=s.cancel)||void 0===i?void 0:i.bind(s.context);switch(e){case"value":return As(this._delegate,o,a),n;case"child_added":return Os(this._delegate,o,a),n;case"child_removed":return Fs(this._delegate,o,a),n;case"child_changed":return Ls(this._delegate,o,a),n;case"child_moved":return Ms(this._delegate,o,a),n;default:throw new Error(E("Query.on","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}}off(e,t,n){var r;I("Query.off",0,3,arguments.length),function(e,t,n){if(!n||void 0!==t)switch(t){case"value":case"child_added":case"child_removed":case"child_changed":case"child_moved":break;default:throw new Error(E(e,"eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}}("Query.off",e,!0),S("Query.off","callback",t,!0),k("Query.off","context",n,!0),t?((r=()=>{}).userCallback=t,r.context=n,qs(this._delegate,e,r)):qs(this._delegate,e)}get(){return Ps(this._delegate).then(e=>new mo(this.database,e))}once(e,r,t,n){I("Query.once",1,4,arguments.length),S("Query.once","callback",r,!0);const i=vo.getCancelAndContextArgs_("Query.once",t,n),s=new d;var o=(e,t)=>{var n=new mo(this.database,e);r&&r.call(i.context,n,t),s.resolve(n)};o.userCallback=r,o.context=i.context;var a=e=>{i.cancel&&i.cancel.call(i.context,e),s.reject(e)};switch(e){case"value":As(this._delegate,o,a,{onlyOnce:!0});break;case"child_added":Os(this._delegate,o,a,{onlyOnce:!0});break;case"child_removed":Fs(this._delegate,o,a,{onlyOnce:!0});break;case"child_changed":Ls(this._delegate,o,a,{onlyOnce:!0});break;case"child_moved":Ms(this._delegate,o,a,{onlyOnce:!0});break;default:throw new Error(E("Query.once","eventType")+'must be a valid event type = "value", "child_added", "child_removed", "child_changed", or "child_moved".')}return s.promise}limitToFirst(e){return I("Query.limitToFirst",1,1,arguments.length),new vo(this.database,Js(this._delegate,function(e){if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToFirst: First argument must be a positive integer.");return new zs(e)}(e)))}limitToLast(e){return I("Query.limitToLast",1,1,arguments.length),new vo(this.database,Js(this._delegate,function(e){if("number"!=typeof e||Math.floor(e)!==e||e<=0)throw new Error("limitToLast: First argument must be a positive integer.");return new Hs(e)}(e)))}orderByChild(e){return I("Query.orderByChild",1,1,arguments.length),new vo(this.database,Js(this._delegate,function(e){if("$key"===e)throw new Error('orderByChild: "$key" is invalid. Use orderByKey() instead.');if("$priority"===e)throw new Error('orderByChild: "$priority" is invalid. Use orderByPriority() instead.');if("$value"===e)throw new Error('orderByChild: "$value" is invalid. Use orderByValue() instead.');return Oi("orderByChild","path",e,!1),new Qs(e)}(e)))}orderByKey(){return I("Query.orderByKey",0,0,arguments.length),new vo(this.database,Js(this._delegate,new Ys))}orderByPriority(){return I("Query.orderByPriority",0,0,arguments.length),new vo(this.database,Js(this._delegate,new Ks))}orderByValue(){return I("Query.orderByValue",0,0,arguments.length),new vo(this.database,Js(this._delegate,new $s))}startAt(e=null,t){return I("Query.startAt",0,2,arguments.length),new vo(this.database,Js(this._delegate,([e=null,t]=[e,t],Ti("startAt","key",t,!0),new js(e,t))))}startAfter(e=null,t){return I("Query.startAfter",0,2,arguments.length),new vo(this.database,Js(this._delegate,(e=e,t=t,Ti("startAfter","key",t,!0),new Vs(e,t))))}endAt(e=null,t){return I("Query.endAt",0,2,arguments.length),new vo(this.database,Js(this._delegate,(e=e,t=t,Ti("endAt","key",t,!0),new Us(e,t))))}endBefore(e=null,t){return I("Query.endBefore",0,2,arguments.length),new vo(this.database,Js(this._delegate,(e=e,t=t,Ti("endBefore","key",t,!0),new Bs(e,t))))}equalTo(e,t){return I("Query.equalTo",1,2,arguments.length),new vo(this.database,Js(this._delegate,(e=e,t=t,Ti("equalTo","key",t,!0),new Gs(e,t))))}toString(){return I("Query.toString",0,0,arguments.length),this._delegate.toString()}toJSON(){return I("Query.toJSON",0,1,arguments.length),this._delegate.toJSON()}isEqual(e){if(I("Query.isEqual",1,1,arguments.length),e instanceof vo)return this._delegate.isEqual(e._delegate);throw new Error("Query.isEqual failed: First argument must be an instance of firebase.database.Query.")}static getCancelAndContextArgs_(e,t,n){const r={cancel:void 0,context:void 0};if(t&&n)r.cancel=t,S(e,"cancel",r.cancel,!0),r.context=n,k(e,"context",r.context,!0);else if(t)if("object"==typeof t&&null!==t)r.context=t;else{if("function"!=typeof t)throw new Error(E(e,"cancelOrContext")+" must either be a cancel callback or a context object.");r.cancel=t}return r}get ref(){return new yo(this.database,new bs(this._delegate._repo,this._delegate._path))}}class yo extends vo{constructor(e,t){super(e,new vs(t._repo,t._path,new hn,!1)),this.database=e,this._delegate=t}getKey(){return I("Reference.key",0,0,arguments.length),this._delegate.key}child(e){return I("Reference.child",1,1,arguments.length),"number"==typeof e&&(e=String(e)),new yo(this.database,Ss(this._delegate,e))}getParent(){I("Reference.parent",0,0,arguments.length);var e=this._delegate.parent;return e?new yo(this.database,e):null}getRoot(){return I("Reference.root",0,0,arguments.length),new yo(this.database,this._delegate.root)}set(e,t){I("Reference.set",1,2,arguments.length),S("Reference.set","onComplete",t,!0);const n=ks(this._delegate,e);return t&&n.then(()=>t(null),e=>t(e)),n}update(t,n){if(I("Reference.update",1,2,arguments.length),Array.isArray(t)){const r={};for(let e=0;en(null),e=>n(e)),e}setWithPriority(e,t,n){I("Reference.setWithPriority",2,3,arguments.length),S("Reference.setWithPriority","onComplete",n,!0);const r=function(e,t,n){if(Ei("setWithPriority",e._path),wi("setWithPriority",t,e._path,!1),bi("setWithPriority",n,!1),".length"===e.key||".keys"===e.key)throw"setWithPriority failed: "+e.key+" is a read-only object.";const r=new d;return Ji(e._repo,e._path,t,n,r.wrapCallback(()=>{})),r.promise}(this._delegate,e,t);return n&&r.then(()=>n(null),e=>n(e)),r}remove(t){I("Reference.remove",0,1,arguments.length),S("Reference.remove","onComplete",t,!0);const e=(n=this._delegate,Ei("remove",n._path),ks(n,null));var n;return t&&e.then(()=>t(null),e=>t(e)),e}transaction(e,t,n){I("Reference.transaction",1,3,arguments.length),S("Reference.transaction","transactionUpdate",e,!1),S("Reference.transaction","onComplete",t,!0),function(e,t,n,r){if((!r||void 0!==n)&&"boolean"!=typeof n)throw new Error(E(e,t)+"must be a boolean.")}("Reference.transaction","applyLocally",n,!0);const r=uo(this._delegate,e,{applyLocally:n}).then(e=>new go(e.committed,new mo(this.database,e.snapshot)));return t&&r.then(e=>t(null,e.committed,e.snapshot),e=>t(e,!1,null)),r}setPriority(e,t){I("Reference.setPriority",1,2,arguments.length),S("Reference.setPriority","onComplete",t,!0);const n=function(e,t){e=P(e),Ei("setPriority",e._path),bi("setPriority",t,!1);const n=new d;return Ji(e._repo,st(e._path,".priority"),t,null,n.wrapCallback(()=>{})),n.promise}(this._delegate,e);return t&&n.then(()=>t(null),e=>t(e)),n}push(e,t){I("Reference.push",0,2,arguments.length),S("Reference.push","onComplete",t,!0);const n=function(e,t){e=P(e),Ei("push",e._path),wi("push",t,e._path,!0);var n=Hi(e._repo),n=en(n);const r=Ss(e,n),i=Ss(e,n);let s;return s=null!=t?ks(i,t).then(()=>i):Promise.resolve(i),r.then=s.then.bind(s),r.catch=s.then.bind(s,void 0),r}(this._delegate,e),r=n.then(e=>new yo(this.database,e));t&&r.then(()=>t(null),e=>t(e));const i=new yo(this.database,n);return i.then=r.then.bind(r),i.catch=r.catch.bind(r,void 0),i}onDisconnect(){return Ei("Reference.onDisconnect",this._delegate._path),new fo(new ms(this._delegate._repo,this._delegate._path))}get key(){return this.getKey()}get parent(){return this.getParent()}get root(){return this.getRoot()}}class wo{constructor(e,t){this._delegate=e,this.app=t,this.INTERNAL={delete:()=>this._delegate._delete(),forceWebSockets:io,forceLongPolling:so}}useEmulator(e,t,n={}){oo(this._delegate,e,t,n)}ref(e){if(I("database.ref",0,1,arguments.length),e instanceof yo){var t=Es(this._delegate,e.toString());return new yo(this,t)}t=Is(this._delegate,e);return new yo(this,t)}refFromURL(e){I("database.refFromURL",1,1,arguments.length);var t=Es(this._delegate,e);return new yo(this,t)}goOffline(){var e;I("database.goOffline",0,0,arguments.length),(e=P(e=this._delegate))._checkNotDeleted("goOffline"),ts(e._repo)}goOnline(){return I("database.goOnline",0,0,arguments.length),ao(this._delegate)}}wo.ServerValue={TIMESTAMP:ho,increment:e=>({".sv":{increment:e}})};var Co,bo=Object.freeze({__proto__:null,initStandalone:function({app:e,url:t,version:n,customAuthImpl:r,namespace:i,nodeAdmin:s=!1}){B(n);const o=new D("auth-internal",new A("database-standalone"));return o.setComponent(new R("auth-internal",()=>r,"PRIVATE")),{instance:new wo(to(e,o,void 0,t,s),e),namespace:i}}});const To=wo.ServerValue;(Co=t.default).INTERNAL.registerComponent(new R("database-compat",(e,{instanceIdentifier:t})=>{var n=e.getProvider("app-compat").getImmediate(),r=e.getProvider("database").getImmediate({identifier:t});return new wo(r,n)},"PUBLIC").setServiceProps({Reference:yo,Query:vo,Database:wo,DataSnapshot:mo,enableLogging:lo,INTERNAL:bo,ServerValue:To}).setMultipleInstances(!0)),Co.registerVersion("@firebase/database-compat","0.2.5")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-database-compat.js - be sure to load firebase-app.js first.")}}); -//# sourceMappingURL=firebase-database-compat.js.map diff --git a/smashkarts/js/firebase/9.9.3/firebase-functions-compat.js b/smashkarts/js/firebase/9.9.3/firebase-functions-compat.js deleted file mode 100644 index 63d2a75e..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-functions-compat.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(P,S){"use strict";try{!(function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a,t,n=e(P);class o extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,o.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,r.prototype.create)}}class r{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){var r,n=t[0]||{},i=`${this.service}/${e}`,s=this.errors[e],s=s?(r=n,s.replace(c,(e,t)=>{var n=r[t];return null!=n?String(n):`<${t}?>`})):"Error",s=`${this.serviceName}: ${s} (${i}).`;return new o(i,s,n)}}const c=/\{\$([^}]+)}/g;function u(e){return e&&e._delegate?e._delegate:e}class i{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const s="type.googleapis.com/google.protobuf.Int64Value",l="type.googleapis.com/google.protobuf.UInt64Value";function h(e,t){const n={};for(const r in e)e.hasOwnProperty(r)&&(n[r]=t(e[r]));return n}function d(e){if(null==e)return e;if(e["@type"])switch(e["@type"]){case s:case l:var t=Number(e.value);if(isNaN(t))throw new Error("Data cannot be decoded from JSON: "+e);return t;default:throw new Error("Data cannot be decoded from JSON: "+e)}return Array.isArray(e)?e.map(e=>d(e)):"function"==typeof e||"object"==typeof e?h(e,e=>d(e)):e}const p="functions",f={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class g extends o{constructor(e,t,n){super(`${p}/${e}`,t||""),this.details=n}}function m(e,t){let n=function(e){if(200<=e&&e<300)return"ok";switch(e){case 0:return"internal";case 400:return"invalid-argument";case 401:return"unauthenticated";case 403:return"permission-denied";case 404:return"not-found";case 409:return"aborted";case 429:return"resource-exhausted";case 499:return"cancelled";case 500:return"internal";case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline-exceeded"}return"unknown"}(e),r=n,i=void 0;try{var s=t&&t.error;if(s){const e=s.status;if("string"==typeof e){if(!f[e])return new g("internal","internal");n=f[e],r=e}var a=s.message;"string"==typeof a&&(r=a),i=s.details,void 0!==i&&(i=d(i))}}catch(e){}return"ok"===n?null:new g(n,r,i)}class v{constructor(e,t,n){this.auth=null,this.messaging=null,this.appCheck=null,this.auth=e.getImmediate({optional:!0}),this.messaging=t.getImmediate({optional:!0}),this.auth||e.get().then(e=>this.auth=e,()=>{}),this.messaging||t.get().then(e=>this.messaging=e,()=>{}),this.appCheck||n.get().then(e=>this.appCheck=e,()=>{})}async getAuthToken(){if(this.auth)try{var e=await this.auth.getToken();return null==e?void 0:e.accessToken}catch(e){return}}async getMessagingToken(){if(this.messaging&&"Notification"in self&&"granted"===Notification.permission)try{return this.messaging.getToken()}catch(e){return}}async getAppCheckToken(){if(this.appCheck){var e=await this.appCheck.getToken();return e.error?null:e.token}return null}async getContext(){return{authToken:await this.getAuthToken(),messagingToken:await this.getMessagingToken(),appCheckToken:await this.getAppCheckToken()}}}const w="us-central1";class y{constructor(e,t,n,r,i=w,s){this.app=e,this.fetchImpl=s,this.emulatorOrigin=null,this.contextProvider=new v(t,n,r),this.cancelAllRequests=new Promise(e=>{this.deleteService=()=>Promise.resolve(e())});try{var a=new URL(i);this.customDomain=a.origin,this.region=w}catch(e){this.customDomain=null,this.region=i}}_delete(){return this.deleteService()}_url(e){var t=this.app.options.projectId;return null===this.emulatorOrigin?null!==this.customDomain?`${this.customDomain}/${e}`:`https://${this.region}-${t}.cloudfunctions.net/${e}`:`${this.emulatorOrigin}/${t}/${this.region}/${e}`}}function E(i,s,a){return e=>{return t=e,n=a||{},r=(e=i)._url(s),b(e,r,t,n);var t,n,r}}async function b(e,t,n,r){var i={data:n=function t(e){if(null==e)return null;if("number"==typeof(e=e instanceof Number?e.valueOf():e)&&isFinite(e))return e;if(!0===e||!1===e)return e;if("[object String]"===Object.prototype.toString.call(e))return e;if(e instanceof Date)return e.toISOString();if(Array.isArray(e))return e.map(e=>t(e));if("function"==typeof e||"object"==typeof e)return h(e,e=>t(e));throw new Error("Data cannot be encoded in JSON: "+e)}(n)};const s={};var a=await e.contextProvider.getContext();a.authToken&&(s.Authorization="Bearer "+a.authToken),a.messagingToken&&(s["Firebase-Instance-ID-Token"]=a.messagingToken),null!==a.appCheckToken&&(s["X-Firebase-AppCheck"]=a.appCheckToken);const o=function(n){let r=null;return{promise:new Promise((e,t)=>{r=setTimeout(()=>{t(new g("deadline-exceeded","deadline-exceeded"))},n)}),cancel:()=>{r&&clearTimeout(r)}}}(r.timeout||7e4);a=await Promise.race([async function(e,t,n,r){n["Content-Type"]="application/json";let i;try{i=await r(e,{method:"POST",body:JSON.stringify(t),headers:n})}catch(e){return{status:0,json:null}}let s=null;try{s=await i.json()}catch(e){}return{status:i.status,json:s}}(t,i,s,e.fetchImpl),o.promise,e.cancelAllRequests]);if(o.cancel(),!a)throw new g("cancelled","Firebase Functions instance was deleted.");i=m(a.status,a.json);if(i)throw i;if(!a.json)throw new g("internal","Response is not valid JSON object.");let c=a.json.data;if(void 0===c&&(c=a.json.result),void 0===c)throw new g("internal","Response is missing data field.");return{data:d(c)}}const I="@firebase/functions",T="0.8.4";function k(e,t,n){u(e).emulatorOrigin=`http://${t}:${n}`}function N(e,t,n){return r=u(e),i=t,s=n,e=>b(r,i,e,s||{});var r,i,s}a=fetch.bind(self),S._registerComponent(new i(p,(e,{instanceIdentifier:t})=>{var n=e.getProvider("app").getImmediate(),r=e.getProvider("auth-internal"),i=e.getProvider("messaging-internal"),s=e.getProvider("app-check-internal");return new y(n,r,i,s,t,a)},"PUBLIC").setMultipleInstances(!0)),S.registerVersion(I,T,t),S.registerVersion(I,T,"esm2017");var A;class C{constructor(e,t){this.app=e,this._delegate=t,this._region=this._delegate.region,this._customDomain=this._delegate.customDomain}httpsCallable(e,t){return E(u(this._delegate),e,t)}httpsCallableFromURL(e,t){return N(this._delegate,e,t)}useFunctionsEmulator(e){var t=e.match("[a-zA-Z]+://([a-zA-Z0-9.-]+)(?::([0-9]+))?");if(null==t)throw new o("functions","No origin provided to useFunctionsEmulator()");if(null==t[2])throw new o("functions","Port missing in origin provided to useFunctionsEmulator()");return k(this._delegate,t[1],Number(t[2]))}useEmulator(e,t){return k(this._delegate,e,t)}}const D="us-central1",O=(e,{instanceIdentifier:t})=>{var n=e.getProvider("app-compat").getImmediate(),r=e.getProvider("functions").getImmediate({identifier:null!=t?t:D});return new C(n,r)};A={Functions:C},n.default.INTERNAL.registerComponent(new i("functions-compat",O,"PUBLIC").setServiceProps(A).setMultipleInstances(!0)),n.default.registerVersion("@firebase/functions-compat","0.2.4")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-functions-compat.js - be sure to load firebase-app.js first.")}}); -//# sourceMappingURL=firebase-functions-compat.js.map diff --git a/smashkarts/js/firebase/9.9.3/firebase-performance-compat.js b/smashkarts/js/firebase/9.9.3/firebase-performance-compat.js deleted file mode 100644 index 2f29ed98..00000000 --- a/smashkarts/js/firebase/9.9.3/firebase-performance-compat.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)}(this,function(yt,Et){"use strict";try{!(function(){function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t,r,n=e(yt);class o extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,o.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,a.prototype.create)}}class a{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){var r,n=t[0]||{},a=`${this.service}/${e}`,i=this.errors[e],i=i?(r=n,i.replace(s,(e,t)=>{var n=r[t];return null!=n?String(n):`<${t}?>`})):"Error",i=`${this.serviceName}: ${i} (${a}).`;return new o(a,i,n)}}const s=/\{\$([^}]+)}/g;class i{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}(Te=t=t||{})[Te.DEBUG=0]="DEBUG",Te[Te.VERBOSE=1]="VERBOSE",Te[Te.INFO=2]="INFO",Te[Te.WARN=3]="WARN",Te[Te.ERROR=4]="ERROR",Te[Te.SILENT=5]="SILENT";const c={debug:t.DEBUG,verbose:t.VERBOSE,info:t.INFO,warn:t.WARN,error:t.ERROR,silent:t.SILENT},l=t.INFO,u={[t.DEBUG]:"log",[t.VERBOSE]:"log",[t.INFO]:"info",[t.WARN]:"warn",[t.ERROR]:"error"},d=(e,t,...n)=>{if(!(te.some(e=>t instanceof e);let f,g;const h=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,w=new WeakMap;let _={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return m.get(e);if("objectStoreNames"===t)return e.objectStoreNames||v.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return I(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e}};function y(r){return r!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(g=g||[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey]).includes(r)?function(...e){return r.apply(T(this),e),I(h.get(this))}:function(...e){return I(r.apply(T(this),e))}:function(e,...t){var n=r.call(T(this),e,...t);return v.set(n,e.sort?e.sort():[e]),I(n)}}function E(e){return"function"==typeof e?y(e):(e instanceof IDBTransaction&&(i=e,m.has(i)||(t=new Promise((e,t)=>{const n=()=>{i.removeEventListener("complete",r),i.removeEventListener("error",a),i.removeEventListener("abort",a)},r=()=>{e(),n()},a=()=>{t(i.error||new DOMException("AbortError","AbortError")),n()};i.addEventListener("complete",r),i.addEventListener("error",a),i.addEventListener("abort",a)}),m.set(i,t))),p(e,f=f||[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])?new Proxy(e,_):e);var i,t}function I(e){if(e instanceof IDBRequest)return function(i){const e=new Promise((e,t)=>{const n=()=>{i.removeEventListener("success",r),i.removeEventListener("error",a)},r=()=>{e(I(i.result)),n()},a=()=>{t(i.error),n()};i.addEventListener("success",r),i.addEventListener("error",a)});return e.then(e=>{e instanceof IDBCursor&&h.set(e,i)}).catch(()=>{}),w.set(e,i),e}(e);if(b.has(e))return b.get(e);var t=E(e);return t!==e&&(b.set(e,t),w.set(t,e)),t}const T=e=>w.get(e);const S=["get","getKey","getAll","getAllKeys","count"],k=["put","add","delete","clear"],N=new Map;function C(e,t){if(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t){if(N.get(t))return N.get(t);const a=t.replace(/FromIndex$/,""),i=t!==a,o=k.includes(a);if(a in(i?IDBIndex:IDBObjectStore).prototype&&(o||S.includes(a))){var n=async function(e,...t){var n=this.transaction(e,o?"readwrite":"readonly");let r=n.store;return i&&(r=r.index(t.shift())),(await Promise.all([r[a](...t),o&&n.done]))[0]};return N.set(t,n),n}}}_={...r=_,get:(e,t,n)=>C(e,t)||r.get(e,t,n),has:(e,t)=>!!C(e,t)||r.has(e,t)};var R="@firebase/installations",A="0.5.12";const O=1e4,M=`w:${A}`,P="FIS_v2",L="https://firebaseinstallations.googleapis.com/v1",D=36e5;const B=new a("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function j(e){return e instanceof o&&e.code.includes("request-failed")}function $({projectId:e}){return`${L}/projects/${e}/installations`}function U(e){return{token:e.token,requestStatus:2,expiresIn:(e=e.expiresIn,Number(e.replace("s","000"))),creationTime:Date.now()}}async function F(e,t){var n=(await t.json()).error;return B.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function q({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}function H(e,{refreshToken:t}){const n=q(e);return n.append("Authorization",(t=t,`${P} ${t}`)),n}async function x(e){var t=await e();return 500<=t.status&&t.status<600?e():t}function V(t){return new Promise(e=>{setTimeout(e,t)})}const W=/^[cdef][\w-]{21}$/,K="";function z(){try{const t=new Uint8Array(17),n=self.crypto||self.msCrypto;n.getRandomValues(t),t[0]=112+t[0]%16;var e=function(e){const t=function(e){const t=btoa(String.fromCharCode(...e));return t.replace(/\+/g,"-").replace(/\//g,"_")}(e);return t.substr(0,22)}(t);return W.test(e)?e:K}catch(e){return K}}function G(e){return`${e.appName}!${e.appId}`}const J=new Map;function Y(e,t){var n=G(e);Z(n,t),function(e,t){const n=function(){!Q&&"BroadcastChannel"in self&&(Q=new BroadcastChannel("[Firebase] FID Change"),Q.onmessage=e=>{Z(e.data.key,e.data.fid)});return Q}();n&&n.postMessage({key:e,fid:t});0===J.size&&Q&&(Q.close(),Q=null)}(n,t)}function Z(e,t){var n=J.get(e);if(n)for(const r of n)r(t)}let Q=null;const X="firebase-installations-store";let ee=null;function te(){return ee=ee||function(e,t,{blocked:n,upgrade:r,blocking:a,terminated:i}){const o=indexedDB.open(e,t),s=I(o);return r&&o.addEventListener("upgradeneeded",e=>{r(I(o.result),e.oldVersion,e.newVersion,I(o.transaction))}),n&&o.addEventListener("blocked",()=>n()),s.then(e=>{i&&e.addEventListener("close",()=>i()),a&&e.addEventListener("versionchange",()=>a())}).catch(()=>{}),s}("firebase-installations-database",1,{upgrade:(e,t)=>{0===t&&e.createObjectStore(X)}}),ee}async function ne(e,t){var n=G(e);const r=await te(),a=r.transaction(X,"readwrite"),i=a.objectStore(X);var o=await i.get(n);return await i.put(t,n),await a.done,o&&o.fid===t.fid||Y(e,t.fid),t}async function re(e){var t=G(e);const n=await te(),r=n.transaction(X,"readwrite");await r.objectStore(X).delete(t),await r.done}async function ae(e,t){var n=G(e);const r=await te(),a=r.transaction(X,"readwrite"),i=a.objectStore(X);var o=await i.get(n),s=t(o);return void 0===s?await i.delete(n):await i.put(s,n),await a.done,!s||o&&o.fid===s.fid||Y(e,s.fid),s}async function ie(n){let r;var e=await ae(n.appConfig,e=>{var t=se(e||{fid:z(),registrationStatus:0}),t=function(e,t){{if(0!==t.registrationStatus)return 1===t.registrationStatus?{installationEntry:t,registrationPromise:async function(e){let t=await oe(e.appConfig);for(;1===t.registrationStatus;)await V(100),t=await oe(e.appConfig);if(0!==t.registrationStatus)return t;{var{installationEntry:n,registrationPromise:r}=await ie(e);return r||n}}(e)}:{installationEntry:t};if(!navigator.onLine){var n=Promise.reject(B.create("app-offline"));return{installationEntry:t,registrationPromise:n}}var r={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},n=async function(t,n){try{var e=await async function({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const r=$(e),a=q(e),i=t.getImmediate({optional:!0});!i||(o=await i.getHeartbeatsHeader())&&a.append("x-firebase-client",o);var o={fid:n,authVersion:P,appId:e.appId,sdkVersion:M};const s={method:"POST",headers:a,body:JSON.stringify(o)},c=await x(()=>fetch(r,s));if(c.ok){o=await c.json();return{fid:o.fid||n,registrationStatus:2,refreshToken:o.refreshToken,authToken:U(o.authToken)}}throw await F("Create Installation",c)}(t,n);return ne(t.appConfig,e)}catch(e){throw j(e)&&409===e.customData.serverCode?await re(t.appConfig):await ne(t.appConfig,{fid:n.fid,registrationStatus:0}),e}}(e,r);return{installationEntry:r,registrationPromise:n}}}(n,t);return r=t.registrationPromise,t.installationEntry});return e.fid===K?{installationEntry:await r}:{installationEntry:e,registrationPromise:r}}function oe(e){return ae(e,e=>{if(!e)throw B.create("installation-not-found");return se(e)})}function se(e){return 1===(t=e).registrationStatus&&t.registrationTime+Ofetch(r,l));if(u.ok)return U(await u.json());throw await F("Generate Auth Token",u)}async function le(r,a=!1){let i;var e=await ae(r.appConfig,e=>{if(!de(e))throw B.create("not-registered");var t,n=e.authToken;if(a||2!==(t=n).requestStatus||function(e){var t=Date.now();return t{if(!de(e))throw B.create("not-registered");var t,n=e.authToken;return 1===(t=n).requestStatus&&t.requestTime+O{var t=e.getProvider("app").getImmediate();return{app:t,appConfig:function(e){if(!e||!e.options)throw fe("App Configuration");if(!e.name)throw fe("App Name");for(const t of["projectId","apiKey","appId"])if(!e.options[t])throw fe(t);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t),heartbeatServiceProvider:Et._getProvider(t,"heartbeat"),_delete:()=>Promise.resolve()}},me=e=>{var t=e.getProvider("app").getImmediate();const n=Et._getProvider(t,ge).getImmediate();return{getId:()=>async function(e){var t=e;const{installationEntry:n,registrationPromise:r}=await ie(t);return(r||le(t)).catch(console.error),n.fid}(n),getToken:e=>pe(n,e)}};Et._registerComponent(new i(ge,he,"PUBLIC")),Et._registerComponent(new i("installations-internal",me,"PRIVATE")),Et.registerVersion(R,A),Et.registerVersion(R,A,"esm2017");const ve="@firebase/performance",be="0.5.12",we=be,_e="FB-PERF-TRACE-MEASURE",ye="@firebase/performance/config",Ee="@firebase/performance/configexpire";var Ie,Te,Se,A="Performance";const ke=new a("performance",A,{"trace started":"Trace {$traceName} was started before.","trace stopped":"Trace {$traceName} is not running.","nonpositive trace startTime":"Trace {$traceName} startTime should be positive.","nonpositive trace duration":"Trace {$traceName} duration should be positive.","no window":"Window is not available.","no app id":"App id is not available.","no project id":"Project id is not available.","no api key":"Api key is not available.","invalid cc log":"Attempted to queue invalid cc event","FB not default":"Performance can only start when Firebase app instance is the default one.","RC response not ok":"RC response is not ok","invalid attribute name":"Attribute name {$attributeName} is invalid.","invalid attribute value":"Attribute value {$attributeValue} is invalid.","invalid custom metric name":"Custom metric name {$customMetricName} is invalid","invalid String merger input":"Input for String merger is invalid, contact support team to resolve.","already initialized":"initializePerformance() has already been called with different options. To avoid this error, call initializePerformance() with the same options as when it was originally called, or call getPerformance() to return the already initialized instance."}),Ne=new class{constructor(e){this.name=e,this._logLevel=l,this._logHandler=d,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in t))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?c[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,t.DEBUG,...e),this._logHandler(this,t.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,t.VERBOSE,...e),this._logHandler(this,t.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,t.INFO,...e),this._logHandler(this,t.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,t.WARN,...e),this._logHandler(this,t.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,t.ERROR,...e),this._logHandler(this,t.ERROR,...e)}}(A);Ne.logLevel=t.INFO;let Ce,Re;class Ae{constructor(e){if(!(this.window=e))throw ke.create("no window");this.performance=e.performance,this.PerformanceObserver=e.PerformanceObserver,this.windowLocation=e.location,this.navigator=e.navigator,this.document=e.document,this.navigator&&this.navigator.cookieEnabled&&(this.localStorage=e.localStorage),e.perfMetrics&&e.perfMetrics.onFirstInputDelay&&(this.onFirstInputDelay=e.perfMetrics.onFirstInputDelay)}getUrl(){return this.windowLocation.href.split("?")[0]}mark(e){this.performance&&this.performance.mark&&this.performance.mark(e)}measure(e,t,n){this.performance&&this.performance.measure&&this.performance.measure(e,t,n)}getEntriesByType(e){return this.performance&&this.performance.getEntriesByType?this.performance.getEntriesByType(e):[]}getEntriesByName(e){return this.performance&&this.performance.getEntriesByName?this.performance.getEntriesByName(e):[]}getTimeOrigin(){return this.performance&&(this.performance.timeOrigin||this.performance.timing.navigationStart)}requiredApisAvailable(){return fetch&&Promise&&"undefined"!=typeof navigator&&navigator.cookieEnabled?"object"==typeof indexedDB||(Ne.info("IndexedDB is not supported by current browswer"),!1):(Ne.info("Firebase Performance cannot start if browser does not support fetch and Promise or cookie is disabled."),!1)}setupObserver(e,n){if(this.PerformanceObserver){const t=new this.PerformanceObserver(e=>{for(const t of e.getEntries())n(t)});t.observe({entryTypes:[e]})}}static getInstance(){return void 0===Ce&&(Ce=new Ae(Re)),Ce}}let Oe;function Me(e,t){var n=e.length-t.length;if(n<0||1a&&r.push(t.charAt(a));return r.join("")}let Pe;class Le{constructor(){this.instrumentationEnabled=!0,this.dataCollectionEnabled=!0,this.loggingEnabled=!1,this.tracesSamplingRate=1,this.networkRequestsSamplingRate=1,this.logEndPointUrl="https://firebaselogging.googleapis.com/v0cc/log?format=json_proto",this.flTransportEndpointUrl=Me("hts/frbslgigp.ogepscmv/ieo/eaylg","tp:/ieaeogn-agolai.o/1frlglgc/o"),this.transportKey=Me("AzSC8r6ReiGqFMyfvgow","Iayx0u-XT3vksVM-pIV"),this.logSource=462,this.logTraceAfterSampling=!1,this.logNetworkAfterSampling=!1,this.configTimeToLive=12}getFlTransportFullUrl(){return this.flTransportEndpointUrl.concat("?key=",this.transportKey)}static getInstance(){return void 0===Pe&&(Pe=new Le),Pe}}(Te=Ie=Ie||{})[Te.UNKNOWN=0]="UNKNOWN",Te[Te.VISIBLE=1]="VISIBLE",Te[Te.HIDDEN=2]="HIDDEN";const De=["firebase_","google_","ga_"],Be=new RegExp("^[a-zA-Z]\\w*$");function je(){switch(Ae.getInstance().document.visibilityState){case"visible":return Ie.VISIBLE;case"hidden":return Ie.HIDDEN;default:return Ie.UNKNOWN}}function $e(e){var t=null===(t=e.options)||void 0===t?void 0:t.appId;if(!t)throw ke.create("no app id");return t}const Ue="0.0.1",Fe={loggingEnabled:!0},qe="FIREBASE_INSTALLATIONS_AUTH";function He(e,t){var r,a,n=function(){const e=Ae.getInstance().localStorage;if(e){var t=e.getItem(Ee);if(t&&function(e){return Number(e)>Date.now()}(t)){t=e.getItem(ye);if(t)try{return JSON.parse(t)}catch(e){return}}}}();return n?(Ve(n),Promise.resolve()):(a=t,function(e){const t=e.getToken();return t.then(e=>{}),t}((r=e).installations).then(e=>{var t=function(e){var t=null===(t=e.options)||void 0===t?void 0:t.projectId;if(!t)throw ke.create("no project id");return t}(r.app),n=function(e){var t=null===(t=e.options)||void 0===t?void 0:t.apiKey;if(!t)throw ke.create("no api key");return t}(r.app),n=new Request(`https://firebaseremoteconfig.googleapis.com/v1/projects/${t}/namespaces/fireperf:fetch?key=${n}`,{method:"POST",headers:{Authorization:`${qe} ${e}`},body:JSON.stringify({app_instance_id:a,app_instance_id_token:e,app_id:$e(r.app),app_version:we,sdk_version:Ue})});return fetch(n).then(e=>{if(e.ok)return e.json();throw ke.create("RC response not ok")})}).catch(()=>{Ne.info(xe)}).then(Ve).then(e=>function(e){const t=Ae.getInstance().localStorage;e&&t&&(t.setItem(ye,JSON.stringify(e)),t.setItem(Ee,String(Date.now()+60*Le.getInstance().configTimeToLive*60*1e3)))}(e),()=>{}))}const xe="Could not fetch config, will use default configs";function Ve(e){if(!e)return e;const t=Le.getInstance();var n=e.entries||{};return void 0!==n.fpr_enabled?t.loggingEnabled="true"===String(n.fpr_enabled):t.loggingEnabled=Fe.loggingEnabled,n.fpr_log_source?t.logSource=Number(n.fpr_log_source):Fe.logSource&&(t.logSource=Fe.logSource),n.fpr_log_endpoint_url?t.logEndPointUrl=n.fpr_log_endpoint_url:Fe.logEndPointUrl&&(t.logEndPointUrl=Fe.logEndPointUrl),n.fpr_log_transport_key?t.transportKey=n.fpr_log_transport_key:Fe.transportKey&&(t.transportKey=Fe.transportKey),void 0!==n.fpr_vc_network_request_sampling_rate?t.networkRequestsSamplingRate=Number(n.fpr_vc_network_request_sampling_rate):void 0!==Fe.networkRequestsSamplingRate&&(t.networkRequestsSamplingRate=Fe.networkRequestsSamplingRate),void 0!==n.fpr_vc_trace_sampling_rate?t.tracesSamplingRate=Number(n.fpr_vc_trace_sampling_rate):void 0!==Fe.tracesSamplingRate&&(t.tracesSamplingRate=Fe.tracesSamplingRate),t.logTraceAfterSampling=We(t.tracesSamplingRate),t.logNetworkAfterSampling=We(t.networkRequestsSamplingRate),e}function We(e){return Math.random()<=e}let Ke=1,ze;function Ge(e){var t;return Ke=2,ze=ze||(t=e,function(){const n=Ae.getInstance().document;return new Promise(e=>{if(n&&"complete"!==n.readyState){const t=()=>{"complete"===n.readyState&&(n.removeEventListener("readystatechange",t),e())};n.addEventListener("readystatechange",t)}else e()})}().then(()=>function(e){const t=e.getId();return t.then(e=>{Oe=e}),t}(t.installations)).then(e=>He(t,e)).then(()=>Je(),()=>Je())),ze}function Je(){Ke=3}const Ye=1e4,Ze=3,Qe=1e3;let Xe=Ze,et=[],tt=!1;function nt(e){setTimeout(()=>{if(0!==Xe)return et.length?void function(){const e=et.splice(0,Qe),t=e.map(e=>({source_extension_json_proto3:e.message,event_time_ms:String(e.eventTime)})),n={request_time_ms:String(Date.now()),client_info:{client_type:1,js_client_info:{}},log_source:Le.getInstance().logSource,log_event:t};!function(e,r){return function(e){var t=Le.getInstance().getFlTransportFullUrl();return fetch(t,{method:"POST",body:JSON.stringify(e)})}(e).then(e=>(e.ok||Ne.info("Call to Firebase backend failed."),e.json())).then(e=>{var t=Number(e.nextRequestWaitMillis);let n=Ye;isNaN(t)||(n=Math.max(t,n));t=e.logResponseDetails;Array.isArray(t)&&0{et=[...e,...et],Xe--,Ne.info(`Tries left: ${Xe}.`),nt(Ye)})}():nt(Ye)},e)}function rt(t){return(...e)=>{!function(e){if(!e.eventTime||!e.message)throw ke.create("invalid cc log");et=[...et,e]}({message:t(...e),eventTime:Date.now()})}}let at;function it(e,t){at=at||rt(ct),at(e,t)}function ot(e){var t=Le.getInstance();!t.instrumentationEnabled&&e.isAuto||(t.dataCollectionEnabled||e.isAuto)&&Ae.getInstance().requiredApisAvailable()&&(e.isAuto&&je()!==Ie.VISIBLE||(3===Ke?st(e):Ge(e.performanceController).then(()=>st(e),()=>st(e))))}function st(e){var t;!Oe||(t=Le.getInstance()).loggingEnabled&&t.logTraceAfterSampling&&setTimeout(()=>it(e,1),0)}function ct(e,t){return 0===t?(n={url:e.url,http_method:e.httpMethod||0,http_response_code:200,response_payload_bytes:e.responsePayloadBytes,client_start_time_us:e.startTimeUs,time_to_response_initiated_us:e.timeToResponseInitiatedUs,time_to_response_completed_us:e.timeToResponseCompletedUs},n={application_info:lt(e.performanceController.app),network_request_metric:n},JSON.stringify(n)):function(e){const t={name:e.name,is_auto:e.isAuto,client_start_time_us:e.startTimeUs,duration_us:e.durationUs};0!==Object.keys(e.counters).length&&(t.counters=e.counters);var n=e.getAttributes();0!==Object.keys(n).length&&(t.custom_attributes=n);n={application_info:lt(e.performanceController.app),trace_metric:t};return JSON.stringify(n)}(e);var n}function lt(e){return{google_app_id:$e(e),app_instance_id:Oe,web_app_info:{sdk_version:we,page_url:Ae.getInstance().getUrl(),service_worker_status:"serviceWorker"in(t=Ae.getInstance().navigator)?t.serviceWorker.controller?2:3:1,visibility_state:je(),effective_connection_type:function(){var e=Ae.getInstance().navigator.connection;switch(e&&e.effectiveType){case"slow-2g":return 1;case"2g":return 2;case"3g":return 3;case"4g":return 4;default:return 0}}()},application_process_state:0};var t}const ut=["_fp","_fcp","_fid"];class dt{constructor(e,t,n=!1,r){this.performanceController=e,this.name=t,this.isAuto=n,this.state=1,this.customAttributes={},this.counters={},this.api=Ae.getInstance(),this.randomId=Math.floor(1e6*Math.random()),this.isAuto||(this.traceStartMark=`FB-PERF-TRACE-START-${this.randomId}-${this.name}`,this.traceStopMark=`FB-PERF-TRACE-STOP-${this.randomId}-${this.name}`,this.traceMeasure=r||`${_e}-${this.randomId}-${this.name}`,r&&this.calculateTraceMetrics())}start(){if(1!==this.state)throw ke.create("trace started",{traceName:this.name});this.api.mark(this.traceStartMark),this.state=2}stop(){if(2!==this.state)throw ke.create("trace stopped",{traceName:this.name});this.state=3,this.api.mark(this.traceStopMark),this.api.measure(this.traceMeasure,this.traceStartMark,this.traceStopMark),this.calculateTraceMetrics(),ot(this)}record(e,t,n){if(e<=0)throw ke.create("nonpositive trace startTime",{traceName:this.name});if(t<=0)throw ke.create("nonpositive trace duration",{traceName:this.name});if(this.durationUs=Math.floor(1e3*t),this.startTimeUs=Math.floor(1e3*e),n&&n.attributes&&(this.customAttributes=Object.assign({},n.attributes)),n&&n.metrics)for(const r of Object.keys(n.metrics))isNaN(Number(n.metrics[r]))||(this.counters[r]=Math.floor(Number(n.metrics[r])));ot(this)}incrementMetric(e,t=1){void 0===this.counters[e]?this.putMetric(e,t):this.putMetric(e,this.counters[e]+t)}putMetric(e,t){if(r=e,a=this.name,0===r.length||100n.startsWith(e))&&!!n.match(Be)),i=0!==(r=t).length&&r.length<=100;if(a&&i)this.customAttributes[e]=t;else{if(!a)throw ke.create("invalid attribute name",{attributeName:e});if(!i)throw ke.create("invalid attribute value",{attributeValue:t})}}getAttribute(e){return this.customAttributes[e]}removeAttribute(e){void 0!==this.customAttributes[e]&&delete this.customAttributes[e]}getAttributes(){return Object.assign({},this.customAttributes)}setStartTime(e){this.startTimeUs=e}setDuration(e){this.durationUs=e}calculateTraceMetrics(){var e=this.api.getEntriesByName(this.traceMeasure),e=e&&e[0];e&&(this.durationUs=Math.floor(1e3*e.duration),this.startTimeUs=Math.floor(1e3*(e.startTime+this.api.getTimeOrigin())))}static createOobTrace(e,t,n,r){var a=Ae.getInstance().getUrl();if(a){const i=new dt(e,"_wt_"+a,!0);a=Math.floor(1e3*Ae.getInstance().getTimeOrigin());i.setStartTime(a),t&&t[0]&&(i.setDuration(Math.floor(1e3*t[0].duration)),i.putMetric("domInteractive",Math.floor(1e3*t[0].domInteractive)),i.putMetric("domContentLoadedEventEnd",Math.floor(1e3*t[0].domContentLoadedEventEnd)),i.putMetric("loadEventEnd",Math.floor(1e3*t[0].loadEventEnd)));n&&((a=n.find(e=>"first-paint"===e.name))&&a.startTime&&i.putMetric("_fp",Math.floor(1e3*a.startTime)),(a=n.find(e=>"first-contentful-paint"===e.name))&&a.startTime&&i.putMetric("_fcp",Math.floor(1e3*a.startTime)),r&&i.putMetric("_fid",Math.floor(1e3*r))),ot(i)}}static createUserTimingTrace(e,t){ot(new dt(e,t,!1,t))}}function pt(e,t){const n=t;var r,a,i;n&&void 0!==n.responseStart&&(i=Ae.getInstance().getTimeOrigin(),r=Math.floor(1e3*(n.startTime+i)),a=n.responseStart?Math.floor(1e3*(n.responseStart-n.startTime)):void 0,i=Math.floor(1e3*(n.responseEnd-n.startTime)),function(e){const t=Le.getInstance();var n,r,a;t.instrumentationEnabled&&(n=e.url,r=t.logEndPointUrl.split("?")[0],a=t.flTransportEndpointUrl.split("?")[0],n!==r&&n!==a&&t.loggingEnabled&&t.logNetworkAfterSampling&&setTimeout(()=>it(e,0),0))}({performanceController:e,url:n.name&&n.name.split("?")[0],responsePayloadBytes:n.transferSize,startTimeUs:r,timeToResponseInitiatedUs:a,timeToResponseCompletedUs:i}))}const ft=5e3;function gt(e){Oe&&(setTimeout(()=>function(n){const e=Ae.getInstance(),r=e.getEntriesByType("navigation"),a=e.getEntriesByType("paint");if(e.onFirstInputDelay){let t=setTimeout(()=>{dt.createOobTrace(n,r,a),t=void 0},ft);e.onFirstInputDelay(e=>{t&&(clearTimeout(t),dt.createOobTrace(n,r,a,e))})}else dt.createOobTrace(n,r,a)}(e),0),setTimeout(()=>function(t){const e=Ae.getInstance(),n=e.getEntriesByType("resource");for(const r of n)pt(t,r);e.setupObserver("resource",e=>pt(t,e))}(e),0),setTimeout(()=>function(t){const e=Ae.getInstance(),n=e.getEntriesByType("measure");for(const r of n)ht(t,r);e.setupObserver("measure",e=>ht(t,e))}(e),0))}function ht(e,t){const n=t.name;n.substring(0,_e.length)!==_e&&dt.createUserTimingTrace(e,n)}class mt{constructor(e,t){this.app=e,this.installations=t,this.initialized=!1}_init(e){this.initialized||(void 0!==(null==e?void 0:e.dataCollectionEnabled)&&(this.dataCollectionEnabled=e.dataCollectionEnabled),void 0!==(null==e?void 0:e.instrumentationEnabled)&&(this.instrumentationEnabled=e.instrumentationEnabled),Ae.getInstance().requiredApisAvailable()?new Promise((t,n)=>{try{let e=!0;const r="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(r);a.onsuccess=()=>{a.result.close(),e||self.indexedDB.deleteDatabase(r),t(!0)},a.onupgradeneeded=()=>{e=!1},a.onerror=()=>{var e;n((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){n(e)}}).then(e=>{e&&(tt||(nt(5500),tt=!0),Ge(this).then(()=>gt(this),()=>gt(this)),this.initialized=!0)}).catch(e=>{Ne.info(`Environment doesn't support IndexedDB: ${e}`)}):Ne.info('Firebase Performance cannot start if the browser does not support "Fetch" and "Promise", or cookies are disabled.'))}set instrumentationEnabled(e){Le.getInstance().instrumentationEnabled=e}get instrumentationEnabled(){return Le.getInstance().instrumentationEnabled}set dataCollectionEnabled(e){Le.getInstance().dataCollectionEnabled=e}get dataCollectionEnabled(){return Le.getInstance().dataCollectionEnabled}}const vt="[DEFAULT]";const bt=(e,{options:t})=>{var n=e.getProvider("app").getImmediate(),r=e.getProvider("installations-internal").getImmediate();if(n.name!==vt)throw ke.create("FB not default");if("undefined"==typeof window)throw ke.create("no window");e=window,Re=e;const a=new mt(n,r);return a._init(t),a};Et._registerComponent(new i("performance",bt,"PUBLIC")),Et.registerVersion(ve,be),Et.registerVersion(ve,be,"esm2017");class wt{constructor(e,t){this.app=e,this._delegate=t}get instrumentationEnabled(){return this._delegate.instrumentationEnabled}set instrumentationEnabled(e){this._delegate.instrumentationEnabled=e}get dataCollectionEnabled(){return this._delegate.dataCollectionEnabled}set dataCollectionEnabled(e){this._delegate.dataCollectionEnabled=e}trace(e){return t=this._delegate,n=e,t=(e=t)&&e._delegate?e._delegate:e,new dt(t,n);var t,n}}function _t(e){var t=e.getProvider("app-compat").getImmediate(),n=e.getProvider("performance").getImmediate();return new wt(t,n)}(Se=n.default).INTERNAL.registerComponent(new i("performance-compat",_t,"PUBLIC")),Se.registerVersion("@firebase/performance-compat","0.1.12")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-performance-compat.js - be sure to load firebase-app.js first.")}}); -//# sourceMappingURL=firebase-performance-compat.js.map diff --git a/smashkarts/js/null.js b/smashkarts/js/null.js deleted file mode 100644 index 72c6797a..00000000 --- a/smashkarts/js/null.js +++ /dev/null @@ -1 +0,0 @@ -//NullJS diff --git a/smashkarts/js/unity-mod.js b/smashkarts/js/unity-mod.js deleted file mode 100644 index c847199f..00000000 --- a/smashkarts/js/unity-mod.js +++ /dev/null @@ -1,13 +0,0 @@ -function UnityOpen(url) { - url= "#"+ url; - console.log("--fx--UnityOpen--", url); - return url; -} - -function UnityUrlFix(url) { - console.log("--fx--UnityUrlFix--", url); - if(url.indexOf("unity3d.com")>0 || url.indexOf("appspot.com")>0){ - url= "json/null.json?"+ url; - } - return url; -} diff --git a/smashkarts/js/v2.313.0/poki-sdk-core-v2.313.0.f.js b/smashkarts/js/v2.313.0/poki-sdk-core-v2.313.0.f.js deleted file mode 100644 index 53aaa51d..00000000 --- a/smashkarts/js/v2.313.0/poki-sdk-core-v2.313.0.f.js +++ /dev/null @@ -1,7330 +0,0 @@ -(()=>{ - var e, t, n, i, r = { - 5: (e,t,n)=>{ - var i, r, o; - !function(n, a) { - if (n) { - var s = {} - , d = n.TraceKit - , c = [].slice - , l = "?" - , A = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/; - s.noConflict = function() { - return n.TraceKit = d, - s - } - , - s.wrap = function(e) { - return function() { - try { - return e.apply(this, arguments) - } catch (e) { - throw s.report(e), - e - } - } - } - , - s.report = function() { - var e, t, i, r, o = [], a = null, d = null; - function c(e, t, n) { - var i = null; - if (!t || s.collectWindowErrors) { - for (var r in o) - if (u(o, r)) - try { - o[r](e, t, n) - } catch (e) { - i = e - } - if (i) - throw i - } - } - function l(t, n, i, r, o) { - if (d) - s.computeStackTrace.augmentStackTraceWithInitialElement(d, n, i, t), - h(); - else if (o) - c(s.computeStackTrace(o), !0, o); - else { - var a, l = { - url: n, - line: i, - column: r - }, u = t; - if ("[object String]" === {}.toString.call(t)) { - var p = t.match(A); - p && (a = p[1], - u = p[2]) - } - l.func = s.computeStackTrace.guessFunctionName(l.url, l.line), - l.context = s.computeStackTrace.gatherContext(l.url, l.line), - c({ - name: a, - message: u, - mode: "onerror", - stack: [l] - }, !0, null) - } - return !!e && e.apply(this, arguments) - } - function p(e) { - c(s.computeStackTrace(e.reason), !0, e.reason) - } - function h() { - var e = d - , t = a; - d = null, - a = null, - c(e, !1, t) - } - function m(e) { - if (d) { - if (a === e) - return; - h() - } - var t = s.computeStackTrace(e); - throw d = t, - a = e, - setTimeout((function() { - a === e && h() - } - ), t.incomplete ? 2e3 : 0), - e - } - return m.subscribe = function(a) { - !function() { - if (!0 === t) - return; - e = n.onerror, - n.onerror = l, - t = !0 - }(), - function() { - if (!0 === r) - return; - i = n.onunhandledrejection, - n.onunhandledrejection = p, - r = !0 - }(), - o.push(a) - } - , - m.unsubscribe = function(a) { - for (var s = o.length - 1; s >= 0; --s) - o[s] === a && o.splice(s, 1); - 0 === o.length && (t && (n.onerror = e, - t = !1), - r && (n.onunhandledrejection = i, - r = !1)) - } - , - m - }(), - s.computeStackTrace = function() { - var e = !1 - , t = {}; - function i(e) { - if ("string" != typeof e) - return []; - if (!u(t, e)) { - var i = "" - , r = ""; - try { - r = n.document.domain - } catch (e) {} - var o = /(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(e); - o && o[2] === r && (i = function(e) { - if (!s.remoteFetching) - return ""; - try { - var t = function() { - try { - return new n.XMLHttpRequest - } catch (e) { - return new n.ActiveXObject("Microsoft.XMLHTTP") - } - }(); - return t.open("GET", e, !1), - t.send(""), - t.responseText - } catch (e) { - return "" - } - }(e)), - t[e] = i ? i.split("\n") : [] - } - return t[e] - } - function r(e, t) { - var n, r = /function ([^(]*)\(([^)]*)\)/, o = /['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/, a = "", s = i(e); - if (!s.length) - return l; - for (var d = 0; d < 10; ++d) - if (!p(a = s[t - d] + a)) { - if (n = o.exec(a)) - return n[1]; - if (n = r.exec(a)) - return n[1] - } - return l - } - function o(e, t) { - var n = i(e); - if (!n.length) - return null; - var r = [] - , o = Math.floor(s.linesOfContext / 2) - , a = o + s.linesOfContext % 2 - , d = Math.max(0, t - o - 1) - , c = Math.min(n.length, t + a - 1); - t -= 1; - for (var l = d; l < c; ++l) - p(n[l]) || r.push(n[l]); - return r.length > 0 ? r : null - } - function a(e) { - return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g, "\\$&") - } - function d(e) { - return a(e).replace("<", "(?:<|<)").replace(">", "(?:>|>)").replace("&", "(?:&|&)").replace('"', '(?:"|")').replace(/\s+/g, "\\s+") - } - function c(e, t) { - for (var n, r, o = 0, a = t.length; o < a; ++o) - if ((n = i(t[o])).length && (n = n.join("\n"), - r = e.exec(n))) - return { - url: t[o], - line: n.substring(0, r.index).split("\n").length, - column: r.index - n.lastIndexOf("\n", r.index) - 1 - }; - return null - } - function A(e, t, n) { - var r, o = i(t), s = new RegExp("\\b" + a(e) + "\\b"); - return n -= 1, - o && o.length > n && (r = s.exec(o[n])) ? r.index : null - } - function h(e) { - if (!p(n && n.document)) { - for (var t, i, r, o, s = [n.location.href], l = n.document.getElementsByTagName("script"), A = "" + e, u = 0; u < l.length; ++u) { - var h = l[u]; - h.src && s.push(h.src) - } - if (r = /^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(A)) { - var m = r[1] ? "\\s+" + r[1] : "" - , g = r[2].split(",").join("\\s*,\\s*"); - t = a(r[3]).replace(/;$/, ";?"), - i = new RegExp("function" + m + "\\s*\\(\\s*" + g + "\\s*\\)\\s*{\\s*" + t + "\\s*}") - } else - i = new RegExp(a(A).replace(/\s+/g, "\\s+")); - if (o = c(i, s)) - return o; - if (r = /^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(A)) { - var f = r[1]; - if (t = d(r[2]), - o = c(i = new RegExp("on" + f + "=[\\'\"]\\s*" + t + "\\s*[\\'\"]","i"), s[0])) - return o; - if (o = c(i = new RegExp(t), s)) - return o - } - return null - } - } - function m(e) { - if (!e.stack) - return null; - for (var t, n, i, a = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, s = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i, d = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, c = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, u = /\((\S*)(?::(\d+))(?::(\d+))\)/, h = e.stack.split("\n"), m = [], g = /^(.*) is undefined$/.exec(e.message), f = 0, v = h.length; f < v; ++f) { - if (n = a.exec(h[f])) { - var b = n[2] && 0 === n[2].indexOf("native"); - n[2] && 0 === n[2].indexOf("eval") && (t = u.exec(n[2])) && (n[2] = t[1], - n[3] = t[2], - n[4] = t[3]), - i = { - url: b ? null : n[2], - func: n[1] || l, - args: b ? [n[2]] : [], - line: n[3] ? +n[3] : null, - column: n[4] ? +n[4] : null - } - } else if (n = d.exec(h[f])) - i = { - url: n[2], - func: n[1] || l, - args: [], - line: +n[3], - column: n[4] ? +n[4] : null - }; - else { - if (!(n = s.exec(h[f]))) - continue; - n[3] && n[3].indexOf(" > eval") > -1 && (t = c.exec(n[3])) ? (n[3] = t[1], - n[4] = t[2], - n[5] = null) : 0 !== f || n[5] || p(e.columnNumber) || (m[0].column = e.columnNumber + 1), - i = { - url: n[3], - func: n[1] || l, - args: n[2] ? n[2].split(",") : [], - line: n[4] ? +n[4] : null, - column: n[5] ? +n[5] : null - } - } - !i.func && i.line && (i.func = r(i.url, i.line)), - i.context = i.line ? o(i.url, i.line) : null, - m.push(i) - } - return m.length ? (m[0] && m[0].line && !m[0].column && g && (m[0].column = A(g[1], m[0].url, m[0].line)), - { - mode: "stack", - name: e.name, - message: e.message, - stack: m - }) : null - } - function g(e, t, n, i) { - var a = { - url: t, - line: n - }; - if (a.url && a.line) { - e.incomplete = !1, - a.func || (a.func = r(a.url, a.line)), - a.context || (a.context = o(a.url, a.line)); - var s = / '([^']+)' /.exec(i); - if (s && (a.column = A(s[1], a.url, a.line)), - e.stack.length > 0 && e.stack[0].url === a.url) { - if (e.stack[0].line === a.line) - return !1; - if (!e.stack[0].line && e.stack[0].func === a.func) - return e.stack[0].line = a.line, - e.stack[0].context = a.context, - !1 - } - return e.stack.unshift(a), - e.partial = !0, - !0 - } - return e.incomplete = !0, - !1 - } - function f(e, t) { - for (var n, i, o, a = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i, d = [], c = {}, u = !1, p = f.caller; p && !u; p = p.caller) - if (p !== v && p !== s.report) { - if (i = { - url: null, - func: l, - args: [], - line: null, - column: null - }, - p.name ? i.func = p.name : (n = a.exec(p.toString())) && (i.func = n[1]), - void 0 === i.func) - try { - i.func = n.input.substring(0, n.input.indexOf("{")) - } catch (e) {} - if (o = h(p)) { - i.url = o.url, - i.line = o.line, - i.func === l && (i.func = r(i.url, i.line)); - var m = / '([^']+)' /.exec(e.message || e.description); - m && (i.column = A(m[1], o.url, o.line)) - } - c["" + p] ? u = !0 : c["" + p] = !0, - d.push(i) - } - t && d.splice(0, t); - var b = { - mode: "callers", - name: e.name, - message: e.message, - stack: d - }; - return g(b, e.sourceURL || e.fileName, e.line || e.lineNumber, e.message || e.description), - b - } - function v(t, a) { - var s = null; - a = null == a ? 0 : +a; - try { - if (s = function(e) { - var t = e.stacktrace; - if (t) { - for (var n, i = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i, a = / line (\d+), column (\d+)\s*(?:in (?:]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i, s = t.split("\n"), d = [], c = 0; c < s.length; c += 2) { - var l = null; - if ((n = i.exec(s[c])) ? l = { - url: n[2], - line: +n[1], - column: null, - func: n[3], - args: [] - } : (n = a.exec(s[c])) && (l = { - url: n[6], - line: +n[1], - column: +n[2], - func: n[3] || n[4], - args: n[5] ? n[5].split(",") : [] - }), - l) { - if (!l.func && l.line && (l.func = r(l.url, l.line)), - l.line) - try { - l.context = o(l.url, l.line) - } catch (e) {} - l.context || (l.context = [s[c + 1]]), - d.push(l) - } - } - return d.length ? { - mode: "stacktrace", - name: e.name, - message: e.message, - stack: d - } : null - } - }(t), - s) - return s - } catch (t) { - e - } - try { - if (s = m(t)) - return s - } catch (t) { - e - } - try { - if (s = function(e) { - var t = e.message.split("\n"); - if (t.length < 4) - return null; - var a, s = /^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i, l = /^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i, A = /^\s*Line (\d+) of function script\s*$/i, p = [], h = n && n.document && n.document.getElementsByTagName("script"), m = []; - for (var g in h) - u(h, g) && !h[g].src && m.push(h[g]); - for (var f = 2; f < t.length; f += 2) { - var v = null; - if (a = s.exec(t[f])) - v = { - url: a[2], - func: a[3], - args: [], - line: +a[1], - column: null - }; - else if (a = l.exec(t[f])) { - v = { - url: a[3], - func: a[4], - args: [], - line: +a[1], - column: null - }; - var b = +a[1] - , y = m[a[2] - 1]; - if (y) { - var k = i(v.url); - if (k) { - var w = (k = k.join("\n")).indexOf(y.innerText); - w >= 0 && (v.line = b + k.substring(0, w).split("\n").length) - } - } - } else if (a = A.exec(t[f])) { - var x = n.location.href.replace(/#.*$/, "") - , E = c(new RegExp(d(t[f + 1])), [x]); - v = { - url: x, - func: "", - args: [], - line: E ? E.line : a[1], - column: null - } - } - if (v) { - v.func || (v.func = r(v.url, v.line)); - var I = o(v.url, v.line) - , S = I ? I[Math.floor(I.length / 2)] : null; - I && S.replace(/^\s*/, "") === t[f + 1].replace(/^\s*/, "") ? v.context = I : v.context = [t[f + 1]], - p.push(v) - } - } - return p.length ? { - mode: "multiline", - name: e.name, - message: t[0], - stack: p - } : null - }(t), - s) - return s - } catch (t) { - e - } - try { - if (s = f(t, a + 1)) - return s - } catch (t) { - e - } - return { - name: t.name, - message: t.message, - mode: "failed" - } - } - return v.augmentStackTraceWithInitialElement = g, - v.computeStackTraceFromStackProp = m, - v.guessFunctionName = r, - v.gatherContext = o, - v.ofCaller = function(e) { - e = 1 + (null == e ? 0 : +e); - try { - throw new Error - } catch (t) { - return v(t, e + 1) - } - } - , - v.getSource = i, - v - }(), - s.extendToAsynchronousCallbacks = function() { - var e = function(e) { - var t = n[e]; - n[e] = function() { - var e = c.call(arguments) - , n = e[0]; - return "function" == typeof n && (e[0] = s.wrap(n)), - t.apply ? t.apply(this, e) : t(e[0], e[1]) - } - }; - e("setTimeout"), - e("setInterval") - } - , - s.remoteFetching || (s.remoteFetching = !0), - s.collectWindowErrors || (s.collectWindowErrors = !0), - (!s.linesOfContext || s.linesOfContext < 1) && (s.linesOfContext = 11), - r = [], - void 0 === (o = "function" == typeof (i = s) ? i.apply(t, r) : i) || (e.exports = o) - } - function u(e, t) { - return Object.prototype.hasOwnProperty.call(e, t) - } - function p(e) { - return void 0 === e - } - }("undefined" != typeof window ? window : n.g) - } - , - 583: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>i - }); - const i = { - ready: "pokiAppReady", - adblocked: "pokiAppAdblocked", - ads: { - completed: "pokiAdsCompleted", - error: "pokiAdsError", - impression: "pokiAdsImpression", - durationChange: "pokiAdsDurationChange", - limit: "pokiAdsLimit", - ready: "pokiAdsReady", - requested: "pokiAdsRequested", - prebidRequested: "pokiAdsPrebidRequested", - skipped: "pokiAdsSkipped", - started: "pokiAdsStarted", - stopped: "pokiAdsStopped", - busy: "pokiAdsBusy", - position: { - preroll: "PP", - midroll: "PM", - rewarded: "PR", - display: "DP" - }, - video: { - clicked: "pokiVideoAdsClicked", - firstQuartile: "pokiVideoAdsFirstQuartile", - midPoint: "pokiVideoAdsMidPoint", - thirdQuartile: "pokiVideoAdsThirdQuartile", - error: "pokiVideoAdsError", - loaderError: "pokiVideoAdsLoaderError", - paused: "pokiVideoAdsPauseTriggered", - resumed: "pokiVideoAdsResumedTriggered", - progress: "pokiVideoAdsProgress", - buffering: "pokiVideoAdsBuffering" - } - }, - info: { - messages: { - timeLimit: "The ad-request was not processed, because of a time constraint", - prerollLimit: "The ad-request was cancelled, because we're not allowed to show a preroll", - disabled: "The ad-request was cancelled, because we've disabled this format for this specific configuration" - } - }, - message: { - event: "pokiMessageEvent", - sdkDetails: "pokiMessageSdkDetails", - setPokiURLParams: "pokiMessageSetPokiURLParams", - sendGameScreenshot: "pokiMessageSendScreenshot", - sendCommand: "pokiMessageSendCommand" - }, - tracking: { - custom: "pokiTrackingCustom", - debugTrueInProduction: "pokiMessageDebugTrueProduction", - screen: { - gameplayStart: "pokiTrackingScreenGameplayStart", - gameplayStop: "pokiTrackingScreenGameplayStop", - gameLoadingFinished: "pokiTrackingScreenGameLoadingFinished", - commercialBreak: "pokiTrackingScreenCommercialBreak", - rewardedBreak: "pokiTrackingScreenRewardedBreak", - firstRound: "pokiTrackingScreenFirstRound", - roundStart: "pokiTrackingScreenRoundStart", - roundEnd: "pokiTrackingScreenRoundEnd", - displayAd: "pokiTrackingScreenDisplayAdRequest", - destroyAd: "pokiTrackingScreenDisplayAdDestroy", - playerActive: "pokiTrackingScreenPlayerActive" - }, - playtest: { - showModal: "pokiTrackingPlaytestShowModal", - accepted: "pokiTrackingPlaytestAccepted", - rejected: "pokiTrackingPlaytestRejected", - noCanvas: "pokiTrackingPlaytestNoCanvas", - starting: "pokiTrackingPlaytestStarting", - connected: "pokiTrackingPlaytestConnected" - }, - sdk: { - status: { - initialized: "pokiTrackingSdkStatusInitialized", - failed: "pokiTrackingSdkStatusFailed" - } - }, - ads: { - status: { - busy: "pokiTrackingAdsStatusBusy", - completed: "pokiTrackingAdsStatusCompleted", - error: "pokiTrackingAdsStatusError", - displayError: "pokiTrackingAdsStatusDisplayError", - impression: "pokiTrackingAdsStatusImpression", - limit: "pokiTrackingAdsStatusLimit", - ready: "pokiTrackingAdsStatusReady", - requested: "pokiTrackingAdsStatusRequested", - prebidRequested: "pokiTrackingAdsStatusPrebidRequested", - skipped: "pokiTrackingAdsStatusSkipped", - started: "pokiTrackingAdsStatusStarted", - buffering: "pokiTrackingAdsStatusBuffering" - }, - video: { - clicked: "pokiTrackingAdsVideoClicked", - error: "pokiTrackingAdsVideoError", - loaderError: "pokiTrackingAdsVideoLoaderError", - progress: "pokiTrackingAdsVideoProgress", - paused: "pokiTrackingAdsVideoPaused", - resumed: "pokiTrackingAdsVideoResumed" - }, - display: { - requested: "pokiTrackingScreenDisplayAdRequested", - impression: "pokiTrackingScreenDisplayAdImpression" - } - } - } - } - } - , - 84: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>a - }); - var i = n(583) - , r = n(992) - , o = n(855); - const a = function() { - function e() {} - return e.sendMessage = function(e, t) { - var n = window.parent; - if (!(0, - r.Z)(e, i.Z.message)) { - var a = Object.keys(i.Z.message).map((function(e) { - return "poki.message." + e - } - )); - throw new TypeError("Argument 'type' must be one of " + a.join(", ")) - } - var s = t || {}; - o.Z.gameID && o.Z.versionID && (s.pokifordevs = { - game_id: o.Z.gameID, - game_version_id: o.Z.versionID - }), - n.postMessage({ - type: e, - content: s - }, "*") - } - , - e - }() - } - , - 662: (e,t,n)=>{ - "use strict"; - n.d(t, { - D: ()=>r, - M: ()=>o - }); - var i = ["AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "GR", "GB", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PL", "PT", "RO", "SK", "SI", "ES", "SE", "IS", "LI", "NO"] - , r = "ZZ"; - function o(e) { - return i.includes(e) - } - } - , - 906: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>i - }); - const i = function(e, t) { - var n; - if ("undefined" == typeof window && !t) - return ""; - e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); - var i = new RegExp("(?:[\\?&]|^)" + e + "=([^&#]*)").exec(t || (null === (n = null === window || void 0 === window ? void 0 : window.location) || void 0 === n ? void 0 : n.search) || ""); - return null === i ? "" : decodeURIComponent(i[1].replace(/\+/g, " ")) - } - } - , - 893: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>i - }); - const i = function() { - return "undefined" != typeof navigator && /(?:phone|windows\s+phone|ipod|blackberry|(?:android|bb\d+|meego|silk|googlebot) .+? mobile|palm|windows\s+ce|opera\smini|avantgo|mobilesafari|docomo)/i.test(navigator.userAgent) - } - } - , - 573: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>i - }); - const i = function() { - return "undefined" != typeof navigator && /(?:ipad|playbook|(?:android|bb\d+|meego|silk)(?! .+? mobile))/i.test(navigator.userAgent) - } - } - , - 855: (e,t,n)=>{ - "use strict"; - n.d(t, { - w: ()=>c, - Z: ()=>l - }); - var i = n(662) - , r = n(906) - , o = n(893) - , a = n(573) - , s = "desktop"; - (0, - o.Z)() ? s = "mobile" : (0, - a.Z)() && (s = "tablet"); - var d = { - bot: "1" === (0, - r.Z)("bot"), - categories: (0, - r.Z)("categories") || "", - device: s, - experiment: (0, - r.Z)("experiment") || "", - forceAd: (0, - r.Z)("force_ad") || !1, - isPokiIframe: (parseInt((0, - r.Z)("site_id"), 10) || 0) > 0, - referrer: (0, - r.Z)("url_referrer") || "", - siteID: parseInt((0, - r.Z)("site_id"), 10) || 0, - tag: (0, - r.Z)("tag") || "", - versionID: (0, - r.Z)("game_version_id"), - debugMode: "true" === (0, - r.Z)("pokiDebug"), - logMode: "" !== (0, - r.Z)("pokiLogging"), - playtest: (0, - r.Z)("playtest"), - ccpaApplies: (0, - r.Z)("ccpaApplies"), - childDirected: !1, - country: ((0, - r.Z)("country") || "").toUpperCase(), - gameID: (0, - r.Z)("game_id"), - gdprApplies: (0, - i.M)(((0, - r.Z)("country") || "").toUpperCase()), - nonPersonalized: !1, - contentGameID: void 0 - } - , c = function(e, t) { - d[e] = t - }; - const l = d - } - , - 992: (e,t,n)=>{ - "use strict"; - n.d(t, { - Z: ()=>i - }); - const i = function(e, t) { - var n = !1; - return Object.keys(t).forEach((function(i) { - t[i] === e && (n = !0) - } - )), - n - } - } - }, o = {}; - function a(e) { - if (o[e]) - return o[e].exports; - var t = o[e] = { - exports: {} - }; - return r[e].call(t.exports, t, t.exports, a), - t.exports - } - a.m = r, - a.n = e=>{ - var t = e && e.__esModule ? ()=>e.default : ()=>e; - return a.d(t, { - a: t - }), - t - } - , - t = Object.getPrototypeOf ? e=>Object.getPrototypeOf(e) : e=>e.__proto__, - a.t = function(n, i) { - if (1 & i && (n = this(n)), - 8 & i) - return n; - if ("object" == typeof n && n) { - if (4 & i && n.__esModule) - return n; - if (16 & i && "function" == typeof n.then) - return n - } - var r = Object.create(null); - a.r(r); - var o = {}; - e = e || [null, t({}), t([]), t(t)]; - for (var s = 2 & i && n; "object" == typeof s && !~e.indexOf(s); s = t(s)) - Object.getOwnPropertyNames(s).forEach((e=>o[e] = ()=>n[e])); - return o.default = ()=>n, - a.d(r, o), - r - } - , - a.d = (e,t)=>{ - for (var n in t) - a.o(t, n) && !a.o(e, n) && Object.defineProperty(e, n, { - enumerable: !0, - get: t[n] - }) - } - , - a.f = {}, - a.e = e=>Promise.all(Object.keys(a.f).reduce(((t,n)=>(a.f[n](e, t), - t)), [])), - a.u = e=>e + "-v2.313.0.js", - a.g = function() { - if ("object" == typeof globalThis) - return globalThis; - try { - return this || new Function("return this")() - } catch (e) { - if ("object" == typeof window) - return window - } - }(), - a.o = (e,t)=>Object.prototype.hasOwnProperty.call(e, t), - n = {}, - i = "@poki/poki-sdk:", - a.l = (e,t,r,o)=>{ - if (n[e]) - n[e].push(t); - else { - var s, d; - if (void 0 !== r) - for (var c = document.getElementsByTagName("script"), l = 0; l < c.length; l++) { - var A = c[l]; - if (A.getAttribute("src") == e || A.getAttribute("data-webpack") == i + r) { - s = A; - break - } - } - s || (d = !0, - (s = document.createElement("script")).charset = "utf-8", - s.timeout = 120, - a.nc && s.setAttribute("nonce", a.nc), - s.setAttribute("data-webpack", i + r), - s.src = e), - n[e] = [t]; - var u = (t,i)=>{ - s.onerror = s.onload = null, - clearTimeout(p); - var r = n[e]; - if (delete n[e], - s.parentNode && s.parentNode.removeChild(s), - r && r.forEach((e=>e(i))), - t) - return t(i) - } - , p = setTimeout(u.bind(null, void 0, { - type: "timeout", - target: s - }), 12e4); - s.onerror = u.bind(null, s.onerror), - s.onload = u.bind(null, s.onload), - d && document.head.appendChild(s) - } - } - , - a.r = e=>{ - "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { - value: "Module" - }), - Object.defineProperty(e, "__esModule", { - value: !0 - }) - } - , - (()=>{ - var e; - a.g.importScripts && (e = a.g.location + ""); - var t = a.g.document; - if (!e && t && (t.currentScript && (e = t.currentScript.src), - !e)) { - var n = t.getElementsByTagName("script"); - n.length && (e = n[n.length - 1].src) - } - if (!e) - throw new Error("Automatic publicPath is not supported in this browser"); - e = e.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/"), - a.p = e - } - )(), - (()=>{ - var e = { - 702: 0 - }; - a.f.j = (t,n)=>{ - var i = a.o(e, t) ? e[t] : void 0; - if (0 !== i) - if (i) - n.push(i[2]); - else { - var r = new Promise(((n,r)=>{ - i = e[t] = [n, r] - } - )); - n.push(i[2] = r); - var o = a.p + a.u(t) - , s = new Error; - a.l(o, (n=>{ - if (a.o(e, t) && (0 !== (i = e[t]) && (e[t] = void 0), - i)) { - var r = n && ("load" === n.type ? "missing" : n.type) - , o = n && n.target && n.target.src; - s.message = "Loading chunk " + t + " failed.\n(" + r + ": " + o + ")", - s.name = "ChunkLoadError", - s.type = r, - s.request = o, - i[1](s) - } - } - ), "chunk-" + t, t) - } - } - ; - var t = (t,n)=>{ - for (var i, r, [o,s,d] = n, c = 0, l = []; c < o.length; c++) - r = o[c], - a.o(e, r) && e[r] && l.push(e[r][0]), - e[r] = 0; - for (i in s) - a.o(s, i) && (a.m[i] = s[i]); - for (d && d(a), - t && t(n); l.length; ) - l.shift()() - } - , n = self.webpackChunk_poki_poki_sdk = self.webpackChunk_poki_poki_sdk || []; - n.forEach(t.bind(null, 0)), - n.push = t.bind(null, n.push.bind(n)) - } - )(), - (()=>{ - "use strict"; - var e = a(5) - , t = a.n(e) - , n = a(583); - function i(e) { - var t = new RegExp("".concat(e, "=([^;]+)(?:;|$)")).exec(document.cookie); - return t ? t[1] : "" - } - function r(e, t, n) { - document.cookie = "".concat(e, "=").concat(t, "; path=/; samesite=lax; max-age=").concat(Math.min(n || 15552e3, 15552e3)) - } - function o() { - for (var e = Math.floor(Date.now() / 1e3), t = "", n = 0; n < 4; n++) - t = String.fromCharCode(255 & e) + t, - e >>= 8; - if (window.crypto && crypto.getRandomValues && Uint32Array) { - var i = new Uint32Array(12); - crypto.getRandomValues(i); - for (var r = 0; r < 12; r++) - t += String.fromCharCode(255 & i[r]) - } else - for (var o = 0; o < 12; o++) - t += String.fromCharCode(Math.floor(256 * Math.random())); - return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "") - } - function s(e, t) { - var n; - console.error(e), - n = e.name && e.message ? "".concat(e.name, ": ").concat(e.message) : JSON.stringify(e), - function(e, t) { - if (!navigator.sendBeacon || !navigator.sendBeacon(e, t)) - try { - var n = "XMLHttpRequest"in window ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP"); - n.open("POST", e, !0), - n.setRequestHeader("Content-Type", "text/plain"), - n.send(t) - } catch (e) {} - }("https://t.poki.io/l", JSON.stringify({ - c: "observer-error", - ve: 7, - d: [{ - k: "where", - v: t - }, { - k: "error", - v: n - }] - })) - } - window._pokiUserGlobalName = window._pokiUserGlobalName || "user"; - var d = "poki_session"; - function c(e) { - return !(!e || !(e && e.page && e.landing_page && e.previous_page) || !e.tab_id || !e.expire || Date.now() > e.expire || e.expire > Date.now() + 18e5) - } - function l() { - var e = null; - c(window[window._pokiSessionGlobalName]) && (e = window[window._pokiSessionGlobalName]); - try { - var t = JSON.parse(sessionStorage.getItem(d)); - c(t) && (!e || t.depth > e.depth) && (e = t) - } catch (e) { - s(e, "getTabSession") - } - return e - } - function A() { - var e = l(); - return e ? e.tab_id : o() - } - function u() { - var e = 0 - , t = l(); - t && (e = t.depth); - try { - var n = JSON.parse(i(d) || null); - c(n) && (e = Math.max(e, n.depth)) - } catch (e) { - s(e, "getSessionDepth") - } - return e - } - window._pokiSessionGlobalName = window._pokiSessionGlobalName || "session"; - var p = a(84) - , h = a(855); - const m = function() { - function e() {} - return e.debug = !1, - e.log = !1, - e.init = function(t, n) { - var i, r, o = window.location.hostname; - void 0 === t && ("test" === (null === (r = null === (i = null === window || void 0 === window ? void 0 : window.process) || void 0 === i ? void 0 : i.env) || void 0 === r ? void 0 : r.NODE_ENV) ? (t = !1, - void 0 === n && (n = !1)) : "localhost" === o || "127.0.0.1" === o || "[::1]" === o ? (t = !0, - void 0 === n && (n = !1)) : (t = !1, - void 0 === n && (n = !1))), - o.endsWith(".poki-gdn.com") ? (t = !1, - n = !1) : "qa-files.poki.com" === o && (t = !0, - n = !0), - h.Z.debugMode && (t = !0), - h.Z.logMode && (n = !0), - void 0 === n && (n = t), - e.debug = t, - e.log = n - } - , - e - }(); - var g = function(e) { - var t = new Array; - return Object.keys(e).forEach((function(n) { - "object" == typeof e[n] ? t = t.concat(g(e[n])) : t.push(e[n]) - } - )), - t - }; - const f = g; - var v = function() { - return v = Object.assign || function(e) { - for (var t, n = 1, i = arguments.length; n < i; n++) - for (var r in t = arguments[n]) - Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); - return e - } - , - v.apply(this, arguments) - } - , b = function() { - function e() {} - return e.clearEventListeners = function() { - this.listeners = {} - } - , - e.removeEventListener = function(e, t) { - if (Object.prototype.hasOwnProperty.call(this.listeners, e)) { - var n = this.listeners[e].indexOf(t); - -1 !== n && this.listeners[e].splice(n, 1) - } - } - , - e.addEventListener = function(e, t, n) { - var i = this; - if (void 0 === n && (n = !1), - n = !!n, - Object.prototype.hasOwnProperty.call(this.listeners, e) || (this.listeners[e] = []), - n) { - var r = function(n) { - i.removeEventListener.bind(i)(e, r), - t(n) - }; - this.listeners[e].push(r) - } else - this.listeners[e].push(t) - } - , - e.dispatchEvent = function(e, t) { - void 0 === t && (t = {}), - !m.debug || window.process && window.process.env && "test" === window.process.env.NODE_ENV || console.info(e, t); - for (var n = Object.keys(this.listeners), i = 0; i < n.length; i++) { - var r = n[i]; - if (e === r) - for (var o = this.listeners[r], a = 0; a < o.length; a++) - o[a](v(v({}, this.dataAnnotations), t)) - } - } - , - e.setDataAnnotations = function(e) { - this.dataAnnotations = v(v({}, this.dataAnnotations), e) - } - , - e.getDataAnnotations = function() { - return this.dataAnnotations - } - , - e.clearAnnotations = function() { - this.dataAnnotations = {} - } - , - e.listeners = {}, - e.dataAnnotations = {}, - e - }(); - const y = b; - var k = function() { - return k = Object.assign || function(e) { - for (var t, n = 1, i = arguments.length; n < i; n++) - for (var r in t = arguments[n]) - Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); - return e - } - , - k.apply(this, arguments) - }; - const w = function(e) { - var t; - if ("undefined" != typeof window && "undefined" != typeof fetch) { - var n = y.getDataAnnotations() - , i = e.size; - (null === (t = e.event) || void 0 === t ? void 0 : t.startsWith("video-")) && (i = "640x360v"); - var r = k(k({}, e), { - size: i, - opportunity_id: e.opportunityId || n.opportunityId, - ad_unit_path: e.adUnitPath || n.adUnitPath, - p4d_game_id: h.Z.gameID, - p4d_version_id: h.Z.versionID, - bidder: e.bidder || n.bidder, - bid: e.bid || n.bid || 0, - error_code: e.errorCode, - creative_id: e.creativeId || n.creativeId - }); - m.debug ? console.log("PokiAdServer Tracking: ", r) : fetch("https://t.poki.io/adserver", { - method: "POST", - mode: "no-cors", - body: JSON.stringify(r) - }) - } - }; - var x = a(893) - , E = a(573); - var I = "MacIntel" === window.navigator.platform && void 0 !== window.navigator.standalone && navigator.maxTouchPoints > 1 - , S = function(e, t, n, i) { - return new (n || (n = Promise))((function(r, o) { - function a(e) { - try { - d(i.next(e)) - } catch (e) { - o(e) - } - } - function s(e) { - try { - d(i.throw(e)) - } catch (e) { - o(e) - } - } - function d(e) { - var t; - e.done ? r(e.value) : (t = e.value, - t instanceof n ? t : new n((function(e) { - e(t) - } - ))).then(a, s) - } - d((i = i.apply(e, t || [])).next()) - } - )) - } - , Z = function(e, t) { - var n, i, r, o, a = { - label: 0, - sent: function() { - if (1 & r[0]) - throw r[1]; - return r[1] - }, - trys: [], - ops: [] - }; - return o = { - next: s(0), - throw: s(1), - return: s(2) - }, - "function" == typeof Symbol && (o[Symbol.iterator] = function() { - return this - } - ), - o; - function s(o) { - return function(s) { - return function(o) { - if (n) - throw new TypeError("Generator is already executing."); - for (; a; ) - try { - if (n = 1, - i && (r = 2 & o[0] ? i.return : o[0] ? i.throw || ((r = i.return) && r.call(i), - 0) : i.next) && !(r = r.call(i, o[1])).done) - return r; - switch (i = 0, - r && (o = [2 & o[0], r.value]), - o[0]) { - case 0: - case 1: - r = o; - break; - case 4: - return a.label++, - { - value: o[1], - done: !1 - }; - case 5: - a.label++, - i = o[1], - o = [0]; - continue; - case 7: - o = a.ops.pop(), - a.trys.pop(); - continue; - default: - if (!(r = a.trys, - (r = r.length > 0 && r[r.length - 1]) || 6 !== o[0] && 2 !== o[0])) { - a = 0; - continue - } - if (3 === o[0] && (!r || o[1] > r[0] && o[1] < r[3])) { - a.label = o[1]; - break - } - if (6 === o[0] && a.label < r[1]) { - a.label = r[1], - r = o; - break - } - if (r && a.label < r[2]) { - a.label = r[2], - a.ops.push(o); - break - } - r[2] && a.ops.pop(), - a.trys.pop(); - continue - } - o = t.call(e, a) - } catch (e) { - o = [6, e], - i = 0 - } finally { - n = r = 0 - } - if (5 & o[0]) - throw o[1]; - return { - value: o[0] ? o[1] : void 0, - done: !0 - } - }([o, s]) - } - } - } - , C = function(e, t, n) { - if (n || 2 === arguments.length) - for (var i, r = 0, o = t.length; r < o; r++) - !i && r in t || (i || (i = Array.prototype.slice.call(t, 0, r)), - i[r] = t[r]); - return e.concat(i || Array.prototype.slice.call(t)) - } - , _ = null - , T = function(e) {}; - var P = C(C([], Object.values(n.Z.tracking.screen), !0), ["pokiTrackingAdsStatusCompleted", "pokiTrackingAdsStatusError", "pokiTrackingAdsStatusLimit", "pokiTrackingAdsVideoProgress"], !1); - function B(e, t, i) { - if (i) { - a.e(591).then(a.t.bind(a, 591, 23)).then((function(r) { - var o, a = new r.Network(e), s = function() {}; - a.on("ready", (function() { - m.log && console.info("%cPOKI_PLAYTEST:%c network ready", "font-weight: bold", ""), - a.join(t) - } - )), - a.on("signalingerror", (function(e) { - m.log && console.error("%cPOKI_PLAYTEST:%c signalingerror: " + e, "font-weight: bold", "") - } - )), - a.on("rtcerror", (function(e) { - m.log && console.error("%cPOKI_PLAYTEST:%c rtcerror: " + e, "font-weight: bold", "") - } - )), - a.on("connecting", (function(e) { - m.log && console.info("%cPOKI_PLAYTEST:%c peer connecting " + e.id, "font-weight: bold", "") - } - )), - a.on("disconnected", (function(e) { - o === e.id && (s(), - s = function() {} - , - a.close("developer disconnected")) - } - )), - a.on("connected", (function(e) { - m.log && console.info("%cPOKI_PLAYTEST:%c peer connected " + e.id, "font-weight: bold", ""), - L.track(n.Z.tracking.playtest.connected, { - peer: e.id - }), - setTimeout((function() { - o || (s(), - s = function() {} - , - a.close("timed out")) - } - ), 5e3) - } - )), - a.on("message", (function(e, t, n) { - switch (JSON.parse(n).type) { - case "start": - o = e.id, - function(e) { - if (i) { - var t = e.conn; - t.getSenders().forEach((function(e) { - var t = e.getParameters(); - t.encodings[0].maxBitrate = 10485760, - e.setParameters(t) - } - )); - var n = i.captureStream(24); - n.getTracks().forEach((function(e) { - t.addTrack(e, n) - } - )) - } - }(e), - s = function(e, t) { - if (!i) - return function() {} - ; - var n = [-1, -1] - , r = [-1, -1] - , o = setInterval((function() { - if (i && (n[0] !== r[0] || n[1] !== r[1])) { - var o = { - type: "mousemove", - x: n[0] / i.clientWidth, - y: n[1] / i.clientHeight - }; - e.send("unreliable", t.id, JSON.stringify(o)), - r[0] = n[0], - r[1] = n[1] - } - } - ), 50) - , a = function(e) { - var t = e.clientX - , i = e.clientY; - n[0] = t, - n[1] = i - } - , s = function(e) { - var t = e.clientX - , r = e.clientY; - n[0] = t - i.offsetLeft, - n[1] = r - i.offsetTop - } - , d = function() { - var n = { - type: "visibilitychange", - hidden: document.hidden - }; - e.send("reliable", t.id, JSON.stringify(n)) - } - , c = function(n) { - i && e.send("reliable", t.id, JSON.stringify({ - type: "mousedown", - button: n.button - })) - } - , l = function(n) { - i && e.send("reliable", t.id, JSON.stringify({ - type: "mouseup", - button: n.button - })) - }; - i.addEventListener("pointermove", a), - window.addEventListener("pointermove", s), - window.addEventListener("mousedown", c), - window.addEventListener("mouseup", l), - document.addEventListener("visibilitychange", d); - var A = function() { - if (i) { - var n = { - type: "resize", - width: i.width, - height: i.height - }; - e.send("reliable", t.id, JSON.stringify(n)) - } - }; - A(), - window.addEventListener("resize", A); - var u = {} - , p = !1 - , h = function(e) { - u[e.code] = !0, - p = !0 - } - , m = function(e) { - delete u[e.code], - p = !0 - }; - document.addEventListener("keydown", h), - document.addEventListener("keyup", m); - var g = setInterval((function() { - var n = Object.keys(u); - if (p && n.length > 0) { - var i = { - type: "keydown", - keys: Object.keys(u) - }; - e.send("reliable", t.id, JSON.stringify(i)) - } - p = !1 - } - ), 50); - return T = function(n) { - var i = { - type: "sdk-event", - offset: performance.now(), - event: n - }; - e.send("reliable", t.id, JSON.stringify(i)) - } - , - function() { - T = function() {} - , - i && i.removeEventListener("pointermove", a), - window.removeEventListener("pointermove", s), - window.removeEventListener("mousedown", c), - window.removeEventListener("mouseup", l), - document.removeEventListener("keydown", h), - document.removeEventListener("keyup", m), - window.removeEventListener("resize", A), - document.removeEventListener("visibilitychange", d), - clearInterval(g), - clearInterval(o) - } - }(a, e); - break; - case "stop": - s(), - s = function() {} - , - a.close("stop") - } - } - )) - } - )) - } - } - function D(e) { - var t, i, r = h.Z.playtest, o = !1; - r ? o = !0 : (r = null == e ? void 0 : e.playtestLobbyID) && (o = "4g" === (null === (t = navigator.connection) || void 0 === t ? void 0 : t.effectiveType) && !(0, - x.Z)() && !(0, - E.Z)() && h.Z.isPokiIframe && !I, - L.track(n.Z.tracking.playtest.showModal, { - show: o - })), - o && (i = (null == e ? void 0 : e.gameTitle) || "the game", - new Promise((function(e, t) { - return S(void 0, void 0, void 0, (function() { - var n, r, o, a, s, d, c, l, A, u, p, h, m, g, f, v; - return Z(this, (function(b) { - switch (b.label) { - case 0: - return (n = document.createElement("div")).classList.add("poki-stream-bg"), - (r = document.createElement("div")).classList.add("poki-stream-consent"), - (o = document.createElement("div")).classList.add("consent-content"), - a = new FontFace("ProximaNova","url(fonts/proxima-nova-regular-latin.woff2)").load(), - s = new FontFace("ProximaNovaBold","url(fonts/proxima-nova-bold-latin.woff2)").load(), - d = new FontFace("Torus","url(fonts/torus-bold-latin.woff2)").load(), - [4, Promise.all([a, s, d])]; - case 1: - return c = b.sent(), - l = c[0], - A = c[1], - u = c[2], - document.fonts.add(l), - document.fonts.add(A), - document.fonts.add(u), - o.innerHTML = "\n

You have been randomly selected for a Play Test

\n

\tWe offer this feature to our developers to enable them to analyze and improve their game. If you consent to the Play Test, the\ndeveloper can see your activity in " + i + " while you play. This will enable the developer to determine\nwhere tweaks and improvements can be made.

\n

The information is only shared real time with the\ndeveloper of " + i + ' during this session. The information with regard to your gameplay activity is not\nrecorded or stored. For more information, please download our Play Test Privacy Statement.

\n

Do you consent to the Play Test to help improve this game?

\nPlease note that you will be able to play the game normally if you refuse the Play Test.', - r.appendChild(o), - (p = document.createElement("style")).textContent = "\n.poki-stream-consent h2, .poki-stream-consent h1, .poki-stream-consent b, .poki-stream-consent a, .poki-stream-consent button, .poki-stream-consent svg {\n\tall: revert;\n}\n\n.poki-stream-consent {\n\tall: revert;\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\tbackground-color: #fff;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tcolor: #5d6b84;\n\tfont: 700 14px/20px ProximaNova, sans-serif;\n\tbox-shadow: rgb(9 30 66 / 7%) 0px 16px 16px, rgb(9 30 66 / 7%) 0px 0px 8px, rgb(9 30 66 / 7%) 0px 16px 32px;\n\twidth: 600px;\n\tborder-radius: 8px;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n\tz-index: 99999;\n}\n.poki-stream-bg{\n\tall: revert;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbackground: #002B50AF;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 99998;\n}\n.poki-stream-consent .consent-content{\n\tmargin-bottom: 10px;\n}\n.poki-stream-consent h1 {\n\tfont: 700 21px/24px Torus, sans-serif;\n\tcolor: #002B50;\n\tmargin-top: 0;\n}\n.poki-stream-consent h2 {\n\tfont: 700 16px/24px ProximaNovaBold, sans-serif;\n\tcolor: #002B50;\n\tmargin-bottom: 0;\n}\n.poki-stream-consent b{\n\tfont: 700 14px/20px ProximaNovaBold, sans-serif;\n}\n.poki-stream-consent a{\n\tcolor: #009CFF;\n}\n.poki-stream-consent .poki-stream-close{\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\twidth: 32px;\n\theight: 32px;\n\tpadding: 4px;\n\tcursor: pointer;\n\tfill: #009cff;\n\tborder-radius: 50%;\n\tbox-sizing: border-box;\n\tmargin: 8px;\n}\n\n@media only screen and (max-width: 835px) {\n\t.poki-stream-consent {\n\t\ttransform: translate(-50%, -50%) scale(0.9);\n\t}\n}\n\n.poki-stream-consent .poki-stream-close:hover{\n\tbackground-color: #ffc9dd;\n\tfill: #ff7690;\n}\n.poki-stream-consent button {\n\tfont: 700 16px / 24px Torus, sans-serif;\n\tcolor: rgb(255, 255, 255);\n\tpadding: 6px 24px;\n\tborder-radius: 30px;\n\tbackground-color: #009cff;\n\tborder: none;\n\tmargin: 16px 16px 0 0;\n\tcursor: pointer;\n}\n.poki-stream-consent .poki-stream-star{\n\tposition:absolute;\n\tbottom:0;\n\tright:0;\n\twidth: 121.3px;\n\theight: 90.9px;\n}\n", - document.head.appendChild(p), - h = function() { - n.remove(), - r.remove() - } - , - (m = document.createElement("button")).innerText = "I refuse", - m.addEventListener("click", (function() { - h(), - t() - } - )), - r.appendChild(m), - (g = document.createElement("button")).innerText = "I consent", - g.addEventListener("click", (function() { - h(), - e() - } - )), - r.appendChild(g), - (f = document.createElementNS("http://www.w3.org/2000/svg", "svg")).classList.add("poki-stream-close"), - f.innerHTML = '', - f.setAttribute("viewBox", "0 0 36 36"), - f.addEventListener("click", (function() { - h(), - t() - } - )), - r.appendChild(f), - (v = document.createElementNS("http://www.w3.org/2000/svg", "svg")).innerHTML = '', - v.setAttribute("viewBox", "0 0 121.3 90.9"), - v.classList.add("poki-stream-star"), - r.appendChild(v), - document.body.appendChild(n), - document.body.appendChild(r), - [2] - } - } - )) - } - )) - } - ))).then((function() { - L.track(n.Z.tracking.playtest.accepted); - var e = 240 - , t = setInterval((function() { - var i = function() { - if (_) - return _; - var e = null - , t = 0; - return Array.from(document.querySelectorAll("canvas")).forEach((function(n) { - var i = getComputedStyle(n) - , r = i.width - , o = i.height - , a = i.display - , s = i.visibility - , d = parseInt(r, 10) * parseInt(o, 10); - "none" !== a && "visible" === s && d > t && (t = d, - e = n) - } - )), - e - }(); - if (i) { - clearInterval(t), - L.track(n.Z.tracking.playtest.starting); - try { - B("31883e18-b86f-45c1-b551-c60590728d39", r, i) - } catch (e) {} - } - 0 == --e && (L.track(n.Z.tracking.playtest.noCanvas), - clearInterval(t)) - } - ), 500) - } - )).catch((function(e) { - L.track(n.Z.tracking.playtest.rejected) - } - )) - } - const z = function(e) { - return new Promise((function(t, n) { - var i = document.createElement("script"); - i.type = "text/javascript", - i.async = !0, - i.src = e; - var r = function() { - i.readyState && "loaded" !== i.readyState && "complete" !== i.readyState || (t(), - i.onload = null, - i.onreadystatechange = null) - }; - i.onload = r, - i.onreadystatechange = r, - i.onerror = n, - document.head.appendChild(i) - } - )) - }; - var j = f(n.Z.tracking) - , O = window - , M = function() { - function e() {} - return e.track = function(t, i) { - if (void 0 === i && (i = {}), - -1 === j.indexOf(t)) - throw new TypeError("Invalid 'event', must be one of " + j.join(", ")); - if ("object" != typeof i) - throw new TypeError("Invalid data, must be an object"); - var r = y.getDataAnnotations(); - if (null == r ? void 0 : r.pokiAdServer) - switch (t) { - case n.Z.tracking.ads.status.impression: - w({ - event: "video-impression", - creativeId: null == i ? void 0 : i.creativeId - }); - break; - case n.Z.tracking.ads.video.error: - w({ - event: "video-error", - errorCode: null == i ? void 0 : i.errorCode - }); - break; - case n.Z.tracking.ads.video.loaderError: - w({ - event: "video-adsloader-error", - errorCode: null == i ? void 0 : i.errorCode - }); - break; - case n.Z.tracking.ads.status.completed: - w({ - event: "video-complete" - }) - } - if (m.log) { - if (window.process && window.process.env && "test" === window.process.env.NODE_ENV) - return; - Object.keys(i).length ? console.info("%cPOKI_TRACKER:%c Tracked event '" + t + "' with data:", "font-weight: bold", "", i) : console.info("%cPOKI_TRACKER:%c Tracked event '" + t + "'", "font-weight: bold", "") - } - !function(e) { - P.includes(e.event) && T(e) - }({ - event: t, - data: i - }), - e.logToObserver ? e.pushEvent("sdk", "message", { - content: { - event: t, - data: i, - pokifordevs: { - game_id: h.Z.gameID, - game_version_id: void 0 - } - }, - type: n.Z.message.event, - origin: "game" - }) : p.Z.sendMessage(n.Z.message.event, { - event: t, - data: i - }) - } - , - e.setupDefaultEvents = function() { - var t, i = ((t = {})[n.Z.ready] = n.Z.tracking.sdk.status.initialized, - t[n.Z.adblocked] = n.Z.tracking.sdk.status.failed, - t[n.Z.ads.busy] = n.Z.tracking.ads.status.busy, - t[n.Z.ads.completed] = n.Z.tracking.ads.status.completed, - t[n.Z.ads.error] = n.Z.tracking.ads.status.error, - t[n.Z.ads.displayError] = n.Z.tracking.ads.status.displayError, - t[n.Z.ads.impression] = n.Z.tracking.ads.status.impression, - t[n.Z.ads.limit] = n.Z.tracking.ads.status.limit, - t[n.Z.ads.ready] = n.Z.tracking.ads.status.ready, - t[n.Z.ads.requested] = n.Z.tracking.ads.status.requested, - t[n.Z.ads.prebidRequested] = n.Z.tracking.ads.status.prebidRequested, - t[n.Z.ads.skipped] = n.Z.tracking.ads.status.skipped, - t[n.Z.ads.started] = n.Z.tracking.ads.status.started, - t[n.Z.ads.video.clicked] = n.Z.tracking.ads.video.clicked, - t[n.Z.ads.video.error] = n.Z.tracking.ads.video.error, - t[n.Z.ads.video.loaderError] = n.Z.tracking.ads.video.loaderError, - t[n.Z.ads.video.buffering] = n.Z.tracking.ads.status.buffering, - t[n.Z.ads.video.progress] = n.Z.tracking.ads.video.progress, - t[n.Z.ads.video.paused] = n.Z.tracking.ads.video.paused, - t[n.Z.ads.video.resumed] = n.Z.tracking.ads.video.resumed, - t[n.Z.tracking.screen.gameplayStart] = n.Z.tracking.screen.gameplayStart, - t[n.Z.tracking.screen.gameplayStop] = n.Z.tracking.screen.gameplayStop, - t[n.Z.tracking.screen.commercialBreak] = n.Z.tracking.screen.commercialBreak, - t[n.Z.tracking.screen.rewardedBreak] = n.Z.tracking.screen.rewardedBreak, - t); - Object.keys(i).forEach((function(t) { - y.addEventListener(t, (function(n) { - e.track(i[t], n) - } - )) - } - )) - } - , - e.pushEvent = function(e, t, n) { - O.pokiGTM.push({ - event: e + "-" + t, - eventNoun: e, - eventVerb: t, - eventData: n || {} - }) - } - , - e.setRequireConsent = function(t) { - e.cmpRequired = t, - e.setupObserverIfCMP() - } - , - e.setupObserverWithCMP = function(t) { - e.cmpIndex = t, - e.setupObserverIfCMP() - } - , - e.setupObserverIfCMP = function() { - if (void 0 !== e.cmpRequired && void 0 !== e.cmpIndex) - if (e.cmpRequired) { - if (!window.__tcfapi) - return void console.error("POKI-SDK: enableEventTracking: a CMP is required but no CMP is present."); - window.__tcfapi("addEventListener", 2, (function(t, n) { - !n || "tcloaded" !== t.eventStatus && "useractioncomplete" !== t.eventStatus || (window.__tcfapi("getNonIABVendorConsents", 2, (function(t) { - t && t.nonIabVendorConsents && t.nonIabVendorConsents[e.cmpIndex || 0] && e.setupObserver() - } - )), - window.__tcfapi("removeEventListener", 2, (function() {} - ), t.listenerId)) - } - )) - } else - e.setupObserver() - } - , - e.setupObserver = function() { - O._pokiSessionGlobalName = "pokiSession", - O._pokiUserGlobalName = "pokiUser", - O._pokiContextGlobalName = "pokiContext", - O._pokiTrackerGlobalName = "pokiTracker", - function(e, t, n) { - var a = l(); - c(a) ? (a.previous_page.path = a.page.path, - a.previous_page.type = a.page.type, - a.previous_page.id = a.page.id, - a.previous_page.start = a.page.start, - a.page.path = e, - a.page.type = t, - a.page.id = n, - a.page.start = Date.now(), - a.depth = u() + 1, - a.expire = Date.now() + 18e5) : a = function(e, t, n) { - try { - var a = JSON.parse(i(d) || null); - if (c(a)) - return a.previous_page.path = a.page.path, - a.previous_page.type = a.page.type, - a.previous_page.id = a.page.id, - a.previous_page.start = a.page.start, - a.page.path = e, - a.page.type = t, - a.page.id = n, - a.page.start = Date.now(), - a.depth = u() + 1, - a.expire = Date.now() + 18e5, - a.previous_tab_id = a.tab_id, - a.tab_id = A(), - r(d, JSON.stringify(a)), - a - } catch (e) { - s(e, "newSession") - } - return { - id: o(), - expire: Date.now() + 18e5, - tab_id: A(), - depth: 1, - count: (l = i("ses_cnt"), - (l && parseInt(l, 10) || 0) + 1), - page: { - path: e, - type: t, - id: n, - start: Date.now() - }, - previous_page: {}, - landing_page: { - path: e, - type: t, - id: n, - start: Date.now() - } - }; - var l - }(e, t, n), - r("ses_cnt", a.count), - a.count > 1 && function() { - r("uid_new", "0"); - try { - sessionStorage.setItem("uid_new", "0") - } catch (e) {} - window[window._pokiUserGlobalName] && (window[window._pokiUserGlobalName].is_new = !1) - }(); - var p = JSON.stringify(a); - try { - sessionStorage.setItem(d, p) - } catch (e) { - s(e, "updateSession") - } - window[window._pokiSessionGlobalName] = a, - r(d, p) - }(window.location.pathname, "external", h.Z.contentGameID), - function() { - var e, t, n = null === (e = window[window._pokiUserGlobalName]) || void 0 === e ? void 0 : e.id, a = (null === (t = window[window._pokiUserGlobalName]) || void 0 === t ? void 0 : t.is_new) || !1; - if (!n) - try { - n = sessionStorage.getItem("uid"), - a = "1" === sessionStorage.getItem("uid_new") - } catch (e) {} - n || (n = i("uid"), - a = "1" === i("uid_new")), - n || (n = o(), - a = !0), - r("uid", n), - r("uid_new", a ? "1" : "0"); - try { - sessionStorage.setItem("uid", n), - sessionStorage.setItem("uid_new", a ? "1" : "0") - } catch (e) {} - window[window._pokiUserGlobalName] = { - id: n, - is_new: a - } - }(), - O[O._pokiContextGlobalName] = { - tag: null, - site: { - id: null, - domain: window.location.hostname, - prefix: "" - }, - page: { - id: h.Z.contentGameID, - type: "external", - path: window.location.pathname - }, - user: O[O._pokiUserGlobalName], - session: O[O._pokiSessionGlobalName] - }, - O.pokiGTM = O.pokiGTM || [], - z("https://a.poki.com/observer/t2.js"), - e.logToObserver = !0 - } - , - e.logToObserver = !1, - e.cmpRequired = void 0, - e.cmpIndex = void 0, - e - }(); - const L = M; - var R = window.location.hostname; - function N(e) { - var t = new RegExp(e + "=([^;]+)(?:;|$)").exec(document.cookie); - return t ? t[1] : "" - } - function G(e, t) { - document.cookie = e + "=" + t + "; path=/; samesite=none; secure; max-age=15552000; domain=" + R - } - R.endsWith("poki-gdn.com") && (R = "poki-gdn.com"); - var q = function(e, t, n, i) { - return new (n || (n = Promise))((function(r, o) { - function a(e) { - try { - d(i.next(e)) - } catch (e) { - o(e) - } - } - function s(e) { - try { - d(i.throw(e)) - } catch (e) { - o(e) - } - } - function d(e) { - var t; - e.done ? r(e.value) : (t = e.value, - t instanceof n ? t : new n((function(e) { - e(t) - } - ))).then(a, s) - } - d((i = i.apply(e, t || [])).next()) - } - )) - } - , U = function(e, t) { - var n, i, r, o, a = { - label: 0, - sent: function() { - if (1 & r[0]) - throw r[1]; - return r[1] - }, - trys: [], - ops: [] - }; - return o = { - next: s(0), - throw: s(1), - return: s(2) - }, - "function" == typeof Symbol && (o[Symbol.iterator] = function() { - return this - } - ), - o; - function s(o) { - return function(s) { - return function(o) { - if (n) - throw new TypeError("Generator is already executing."); - for (; a; ) - try { - if (n = 1, - i && (r = 2 & o[0] ? i.return : o[0] ? i.throw || ((r = i.return) && r.call(i), - 0) : i.next) && !(r = r.call(i, o[1])).done) - return r; - switch (i = 0, - r && (o = [2 & o[0], r.value]), - o[0]) { - case 0: - case 1: - r = o; - break; - case 4: - return a.label++, - { - value: o[1], - done: !1 - }; - case 5: - a.label++, - i = o[1], - o = [0]; - continue; - case 7: - o = a.ops.pop(), - a.trys.pop(); - continue; - default: - if (!(r = a.trys, - (r = r.length > 0 && r[r.length - 1]) || 6 !== o[0] && 2 !== o[0])) { - a = 0; - continue - } - if (3 === o[0] && (!r || o[1] > r[0] && o[1] < r[3])) { - a.label = o[1]; - break - } - if (6 === o[0] && a.label < r[1]) { - a.label = r[1], - r = o; - break - } - if (r && a.label < r[2]) { - a.label = r[2], - a.ops.push(o); - break - } - r[2] && a.ops.pop(), - a.trys.pop(); - continue - } - o = t.call(e, a) - } catch (e) { - o = [6, e], - i = 0 - } finally { - n = r = 0 - } - if (5 & o[0]) - throw o[1]; - return { - value: o[0] ? o[1] : void 0, - done: !0 - } - }([o, s]) - } - } - } - , Q = function(e, t, n) { - if (n || 2 === arguments.length) - for (var i, r = 0, o = t.length; r < o; r++) - !i && r in t || (i || (i = Array.prototype.slice.call(t, 0, r)), - i[r] = t[r]); - return e.concat(i || Array.prototype.slice.call(t)) - } - , F = "poki_gcuid" - , X = N(F) - , H = function() { - function e() {} - return e.collectAndLog = function() { - return q(this, void 0, void 0, (function() { - var e, t, n, i, r; - return U(this, (function(o) { - switch (o.label) { - case 0: - return o.trys.push([0, 5, , 6]), - [4, window.cookieStore.getAll()]; - case 1: - return e = o.sent(), - window.indexedDB.databases ? [4, window.indexedDB.databases()] : [3, 3]; - case 2: - return n = o.sent(), - [3, 4]; - case 3: - n = [], - o.label = 4; - case 4: - return t = n, - i = Q(Q(Q([], e.map((function(e) { - return { - name: e.name, - expire_seconds: Math.round((e.expires - Date.now()) / 1e3), - type: "cookie", - domain: e.domain - } - } - )), !0), Object.keys(window.localStorage).map((function(e) { - return { - name: e, - expire_seconds: 15552e3, - type: "localStorage" - } - } - )), !0), t.map((function(e) { - return { - name: e.name, - expire_seconds: 0, - type: "idb" - } - } - )), !0), - r = { - cookies: i, - p4d_game_id: h.Z.gameID, - user_id: X - }, - window.fetch("https://t.poki.io/game-cookies", { - method: "post", - body: JSON.stringify(r) - }).catch(), - [3, 6]; - case 5: - return o.sent(), - [3, 6]; - case 6: - return [2] - } - } - )) - } - )) - } - , - e.trackSavegames = function() { - window.cookieStore && window.cookieStore.getAll && h.Z.gameID && (Math.random() > .01 || navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") <= -1 || (X || (X = Math.random().toString(36).substr(2, 9), - G(F, X)), - e.collectAndLog(), - setInterval(e.collectAndLog, 12e4))) - } - , - e - }(); - const V = H; - function K() { - if (document.body && document.body.appendChild) { - var e = document.createElement("iframe"); - e.style.display = "none", - document.body.appendChild(e), - e.contentWindow && (window.pokiKeysChanged = new Map, - e.contentWindow.document.open(), - e.contentWindow.document.write(" + + + Tron + + + +
+ + + + diff --git a/tron/tron.swf b/tron/tron.swf new file mode 100644 index 0000000000000000000000000000000000000000..0a93636992f3f5c3a4103e96511f9065a821deea GIT binary patch literal 303057 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