// include: shell.js // The Module object: Our interface to the outside world. We import // and export values on it. There are various ways Module can be used: // 1. Not defined. We create it here // 2. A function parameter, function(Module) { ..generated code.. } // 3. pre-run appended it, var Module = {}; ..generated code.. // 4. External script tag defines var Module. // We need to check if Module already exists (e.g. case 3 above). // Substitution will be replaced with actual code on later stage of the build, // this way Closure Compiler will not mangle it (e.g. case 4. above). // Note that if you want to run closure, and also to use Module // after the generated code, you will need to define var Module = {}; // before the code. Then that object will be used in the code, and you // can continue to use Module afterwards as well. var Module = typeof Module != 'undefined' ? Module : {}; Module.onRuntimeInitialized = function() { Module.isReady = true; } // --pre-jses are emitted after the Module integration code, so that they can // refer to Module (if they choose; they can also define Module) // Sometimes an existing Module object exists with properties // meant to overwrite the default module functionality. Here // we collect those properties and reapply _after_ we configure // the current environment's defaults to avoid having to be so // defensive during initialization. var moduleOverrides = Object.assign({}, Module); var arguments_ = []; var thisProgram = './this.program'; var quit_ = (status, toThrow) => { throw toThrow; }; // Determine the runtime environment we are in. You can customize this by // setting the ENVIRONMENT setting at compile time (see settings.js). // Attempt to auto-detect the environment var ENVIRONMENT_IS_WEB = typeof window == 'object'; var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; // N.b. Electron.js environment is simultaneously a NODE-environment, but // also a web environment. var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; if (Module['ENVIRONMENT']) { throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); } // `/` should be present at the end if `scriptDirectory` is not empty var scriptDirectory = ''; function locateFile(path) { if (Module['locateFile']) { return Module['locateFile'](path, scriptDirectory); } return scriptDirectory + path; } // Hooks that are implemented differently in different runtime environments. var read_, readAsync, readBinary, setWindowTitle; if (ENVIRONMENT_IS_NODE) { if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); var nodeVersion = process.versions.node; var numericVersion = nodeVersion.split('.').slice(0, 3); numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + numericVersion[2] * 1; var minVersion = 101900; if (numericVersion < 101900) { throw new Error('This emscripten-generated code requires node v10.19.19.0 (detected v' + nodeVersion + ')'); } // `require()` is no-op in an ESM module, use `createRequire()` to construct // the require()` function. This is only necessary for multi-environment // builds, `-sENVIRONMENT=node` emits a static import declaration instead. // TODO: Swap all `require()`'s with `import()`'s? // These modules will usually be used on Node.js. Load them eagerly to avoid // the complexity of lazy-loading. var fs = require('fs'); var nodePath = require('path'); if (ENVIRONMENT_IS_WORKER) { scriptDirectory = nodePath.dirname(scriptDirectory) + '/'; } else { scriptDirectory = __dirname + '/'; } // include: node_shell_read.js read_ = (filename, binary) => { // We need to re-wrap `file://` strings to URLs. Normalizing isn't // necessary in that case, the path should already be absolute. filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); return fs.readFileSync(filename, binary ? undefined : 'utf8'); }; readBinary = (filename) => { var ret = read_(filename, true); if (!ret.buffer) { ret = new Uint8Array(ret); } assert(ret.buffer); return ret; }; readAsync = (filename, onload, onerror) => { // See the comment in the `read_` function. filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); fs.readFile(filename, function(err, data) { if (err) onerror(err); else onload(data.buffer); }); }; // end include: node_shell_read.js if (process.argv.length > 1) { thisProgram = process.argv[1].replace(/\\/g, '/'); } arguments_ = process.argv.slice(2); if (typeof module != 'undefined') { module['exports'] = Module; } process.on('uncaughtException', function(ex) { // suppress ExitStatus exceptions from showing an error if (ex !== 'unwind' && !(ex instanceof ExitStatus) && !(ex.context instanceof ExitStatus)) { throw ex; } }); // Without this older versions of node (< v15) will log unhandled rejections // but return 0, which is not normally the desired behaviour. This is // not be needed with node v15 and about because it is now the default // behaviour: // See https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode var nodeMajor = process.versions.node.split(".")[0]; if (nodeMajor < 15) { process.on('unhandledRejection', function(reason) { throw reason; }); } quit_ = (status, toThrow) => { process.exitCode = status; throw toThrow; }; Module['inspect'] = function () { return '[Emscripten Module object]'; }; } else if (ENVIRONMENT_IS_SHELL) { if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); if (typeof read != 'undefined') { read_ = function shell_read(f) { return read(f); }; } readBinary = function readBinary(f) { let data; if (typeof readbuffer == 'function') { return new Uint8Array(readbuffer(f)); } data = read(f, 'binary'); assert(typeof data == 'object'); return data; }; readAsync = function readAsync(f, onload, onerror) { setTimeout(() => onload(readBinary(f)), 0); }; if (typeof clearTimeout == 'undefined') { globalThis.clearTimeout = (id) => {}; } if (typeof scriptArgs != 'undefined') { arguments_ = scriptArgs; } else if (typeof arguments != 'undefined') { arguments_ = arguments; } if (typeof quit == 'function') { quit_ = (status, toThrow) => { // Unlike node which has process.exitCode, d8 has no such mechanism. So we // have no way to set the exit code and then let the program exit with // that code when it naturally stops running (say, when all setTimeouts // have completed). For that reason, we must call `quit` - the only way to // set the exit code - but quit also halts immediately. To increase // consistency with node (and the web) we schedule the actual quit call // using a setTimeout to give the current stack and any exception handlers // a chance to run. This enables features such as addOnPostRun (which // expected to be able to run code after main returns). setTimeout(() => { if (!(toThrow instanceof ExitStatus)) { let toLog = toThrow; if (toThrow && typeof toThrow == 'object' && toThrow.stack) { toLog = [toThrow, toThrow.stack]; } err('exiting due to exception: ' + toLog); } quit(status); }); throw toThrow; }; } if (typeof print != 'undefined') { // Prefer to use print/printErr where they exist, as they usually work better. if (typeof console == 'undefined') console = /** @type{!Console} */({}); console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); } } else // Note that this includes Node.js workers when relevant (pthreads is enabled). // Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and // ENVIRONMENT_IS_NODE. if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled scriptDirectory = self.location.href; } else if (typeof document != 'undefined' && document.currentScript) { // web scriptDirectory = document.currentScript.src; } // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. // otherwise, slice off the final part of the url to find the script directory. // if scriptDirectory does not contain a slash, lastIndexOf will return -1, // and scriptDirectory will correctly be replaced with an empty string. // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), // they are removed because they could contain a slash. if (scriptDirectory.indexOf('blob:') !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); } else { scriptDirectory = ''; } if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); // Differentiate the Web Worker from the Node Worker case, as reading must // be done differently. { // include: web_or_worker_shell_read.js read_ = (url) => { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.send(null); return xhr.responseText; } if (ENVIRONMENT_IS_WORKER) { readBinary = (url) => { var xhr = new XMLHttpRequest(); xhr.open('GET', url, false); xhr.responseType = 'arraybuffer'; xhr.send(null); return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); }; } readAsync = (url, onload, onerror) => { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'arraybuffer'; xhr.onload = () => { if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 onload(xhr.response); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); } // end include: web_or_worker_shell_read.js } setWindowTitle = (title) => document.title = title; } else { throw new Error('environment detection error'); } var out = Module['print'] || console.log.bind(console); var err = Module['printErr'] || console.warn.bind(console); // Merge back in the overrides Object.assign(Module, moduleOverrides); // Free the object hierarchy contained in the overrides, this lets the GC // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. moduleOverrides = null; checkIncomingModuleAPI(); // Emit code to handle expected values on the Module object. This applies Module.x // to the proper local x. This has two benefits: first, we only emit it if it is // expected to arrive, and second, by using a local everywhere else that can be // minified. if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message // Assertions on removed incoming Module JS APIs. assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); legacyModuleProp('read', 'read_'); legacyModuleProp('readAsync', 'readAsync'); legacyModuleProp('readBinary', 'readBinary'); legacyModuleProp('setWindowTitle', 'setWindowTitle'); var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); // end include: shell.js // include: preamble.js // === Preamble library stuff === // Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst // A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html var wasmBinary; if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); var noExitRuntime = Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime'); if (typeof WebAssembly != 'object') { abort('no native wasm support detected'); } // Wasm globals var wasmMemory; //======================================== // Runtime essentials //======================================== // whether we are quitting the application. no code should run after this. // set in exit() and abort() var ABORT = false; // set by exit() and abort(). Passed to 'onExit' handler. // NOTE: This is also used as the process return code code in shell environments // but only when noExitRuntime is false. var EXITSTATUS; /** @type {function(*, string=)} */ function assert(condition, text) { if (!condition) { abort('Assertion failed' + (text ? ': ' + text : '')); } } // We used to include malloc/free by default in the past. Show a helpful error in // builds with assertions. // include: runtime_strings.js // runtime_strings.js: String related runtime functions that are part of both // MINIMAL_RUNTIME and regular runtime. var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; /** * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given * array that contains uint8 values, returns a copy of that string as a * Javascript String object. * heapOrArray is either a regular array, or a JavaScript typed array view. * @param {number} idx * @param {number=} maxBytesToRead * @return {string} */ function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; // TextDecoder needs to know the byte length in advance, it doesn't stop on // null terminator by itself. Also, use the length info to avoid running tiny // strings through TextDecoder, since .subarray() allocates garbage. // (As a tiny code save trick, compare endPtr against endIdx using a negation, // so that undefined means Infinity) while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); } var str = ''; // If building with TextDecoder, we have already computed the string length // above, so test loop end condition against that while (idx < endPtr) { // For UTF8 byte structure, see: // http://en.wikipedia.org/wiki/UTF-8#Description // https://www.ietf.org/rfc/rfc2279.txt // https://tools.ietf.org/html/rfc3629 var u0 = heapOrArray[idx++]; if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } var u1 = heapOrArray[idx++] & 63; if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } var u2 = heapOrArray[idx++] & 63; if ((u0 & 0xF0) == 0xE0) { u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); } if (u0 < 0x10000) { str += String.fromCharCode(u0); } else { var ch = u0 - 0x10000; str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); } } return str; } /** * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the * emscripten HEAP, returns a copy of that string as a Javascript String object. * * @param {number} ptr * @param {number=} maxBytesToRead - An optional length that specifies the * maximum number of bytes to read. You can omit this parameter to scan the * string until the first \0 byte. If maxBytesToRead is passed, and the string * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the * string will cut short at that byte index (i.e. maxBytesToRead will not * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing * frequent uses of UTF8ToString() with and without maxBytesToRead may throw * JS JIT optimizations off, so it is worth to consider consistently using one * @return {string} */ function UTF8ToString(ptr, maxBytesToRead) { assert(typeof ptr == 'number'); return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; } /** * Copies the given Javascript String object 'str' to the given byte array at * address 'outIdx', encoded in UTF8 form and null-terminated. The copy will * require at most str.length*4+1 bytes of space in the HEAP. Use the function * lengthBytesUTF8 to compute the exact number of bytes (excluding null * terminator) that this function will write. * * @param {string} str - The Javascript string to copy. * @param {ArrayBufferView|Array} heap - The array to copy to. Each * index in this array is assumed * to be one 8-byte element. * @param {number} outIdx - The starting offset in the array to begin the copying. * @param {number} maxBytesToWrite - The maximum number of bytes this function * can write to the array. This count should * include the null terminator, i.e. if * maxBytesToWrite=1, only the null terminator * will be written and nothing else. * maxBytesToWrite=0 does not write any bytes * to the output, not even the null * terminator. * @return {number} The number of bytes written, EXCLUDING the null terminator. */ function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { // Parameter maxBytesToWrite is not optional. Negative values, 0, null, // undefined and false each don't write out any bytes. if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description // and https://www.ietf.org/rfc/rfc2279.txt // and https://tools.ietf.org/html/rfc3629 var u = str.charCodeAt(i); // possibly a lead surrogate if (u >= 0xD800 && u <= 0xDFFF) { var u1 = str.charCodeAt(++i); u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); } if (u <= 0x7F) { if (outIdx >= endIdx) break; heap[outIdx++] = u; } else if (u <= 0x7FF) { if (outIdx + 1 >= endIdx) break; heap[outIdx++] = 0xC0 | (u >> 6); heap[outIdx++] = 0x80 | (u & 63); } else if (u <= 0xFFFF) { if (outIdx + 2 >= endIdx) break; heap[outIdx++] = 0xE0 | (u >> 12); heap[outIdx++] = 0x80 | ((u >> 6) & 63); heap[outIdx++] = 0x80 | (u & 63); } else { if (outIdx + 3 >= endIdx) break; if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); heap[outIdx++] = 0xF0 | (u >> 18); heap[outIdx++] = 0x80 | ((u >> 12) & 63); heap[outIdx++] = 0x80 | ((u >> 6) & 63); heap[outIdx++] = 0x80 | (u & 63); } } // Null-terminate the pointer to the buffer. heap[outIdx] = 0; return outIdx - startIdx; } /** * Copies the given Javascript String object 'str' to the emscripten HEAP at * address 'outPtr', null-terminated and encoded in UTF8 form. The copy will * require at most str.length*4+1 bytes of space in the HEAP. * Use the function lengthBytesUTF8 to compute the exact number of bytes * (excluding null terminator) that this function will write. * * @return {number} The number of bytes written, EXCLUDING the null terminator. */ function stringToUTF8(str, outPtr, maxBytesToWrite) { assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); } /** * Returns the number of bytes the given Javascript string takes if encoded as a * UTF8 byte array, EXCLUDING the null terminator byte. * * @param {string} str - JavaScript string to operator on * @return {number} Length, in bytes, of the UTF8 encoded string. */ function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) { // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code // unit, not a Unicode code point of the character! So decode // UTF16->UTF32->UTF8. // See http://unicode.org/faq/utf_bom.html#utf16-3 var c = str.charCodeAt(i); // possibly a lead surrogate if (c <= 0x7F) { len++; } else if (c <= 0x7FF) { len += 2; } else if (c >= 0xD800 && c <= 0xDFFF) { len += 4; ++i; } else { len += 3; } } return len; } // end include: runtime_strings.js // Memory management var HEAP, /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /** @type {!Float64Array} */ HEAPF64; function updateMemoryViews() { var b = wasmMemory.buffer; Module['HEAP8'] = HEAP8 = new Int8Array(b); Module['HEAP16'] = HEAP16 = new Int16Array(b); Module['HEAP32'] = HEAP32 = new Int32Array(b); Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); Module['HEAPF32'] = HEAPF32 = new Float32Array(b); Module['HEAPF64'] = HEAPF64 = new Float64Array(b); } assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, 'JS engine does not provide full typed array support'); // If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); // include: runtime_init_table.js // In regular non-RELOCATABLE mode the table is exported // from the wasm module and this will be assigned once // the exports are available. var wasmTable; // end include: runtime_init_table.js // include: runtime_stack_check.js // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { var max = _emscripten_stack_get_end(); assert((max & 3) == 0); // If the stack ends at address zero we write our cookies 4 bytes into the // stack. This prevents interference with the (separate) address-zero check // below. if (max == 0) { max += 4; } // The stack grow downwards towards _emscripten_stack_get_end. // We write cookies to the final two words in the stack and detect if they are // ever overwritten. HEAPU32[((max)>>2)] = 0x02135467; HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; // Also test the global address 0 for integrity. HEAPU32[0] = 0x63736d65; /* 'emsc' */ } function checkStackCookie() { if (ABORT) return; var max = _emscripten_stack_get_end(); // See writeStackCookie(). if (max == 0) { max += 4; } var cookie1 = HEAPU32[((max)>>2)]; var cookie2 = HEAPU32[(((max)+(4))>>2)]; if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { abort('Stack overflow! Stack cookie has been overwritten at ' + ptrToString(max) + ', expected hex dwords 0x89BACDFE and 0x2135467, but received ' + ptrToString(cookie2) + ' ' + ptrToString(cookie1)); } // Also test the global address 0 for integrity. if (HEAPU32[0] !== 0x63736d65 /* 'emsc' */) { abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); } } // end include: runtime_stack_check.js // include: runtime_assertions.js // Endianness check (function() { var h16 = new Int16Array(1); var h8 = new Int8Array(h16.buffer); h16[0] = 0x6373; if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; })(); // end include: runtime_assertions.js var __ATPRERUN__ = []; // functions called before the runtime is initialized var __ATINIT__ = []; // functions called during startup var __ATEXIT__ = []; // functions called during shutdown var __ATPOSTRUN__ = []; // functions called after the main() is called var runtimeInitialized = false; var runtimeKeepaliveCounter = 0; function keepRuntimeAlive() { return noExitRuntime || runtimeKeepaliveCounter > 0; } 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() { assert(!runtimeInitialized); runtimeInitialized = true; checkStackCookie(); callRuntimeCallbacks(__ATINIT__); } function postRun() { checkStackCookie(); 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 addOnExit(cb) { } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } // include: runtime_math.js // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); // end include: runtime_math.js // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and // decrement it. Incrementing must happen in a place like // Module.preRun (used by emcc to add file preloading). // Note that you can add dependencies in preRun, even though // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled var runDependencyTracking = {}; function getUniqueRunDependency(id) { var orig = id; while (1) { if (!runDependencyTracking[id]) return id; id = orig + Math.random(); } } function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (id) { assert(!runDependencyTracking[id]); runDependencyTracking[id] = 1; if (runDependencyWatcher === null && typeof setInterval != 'undefined') { // Check for missing dependencies every few seconds runDependencyWatcher = setInterval(function() { if (ABORT) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; return; } var shown = false; for (var dep in runDependencyTracking) { if (!shown) { shown = true; err('still waiting on run dependencies:'); } err('dependency: ' + dep); } if (shown) { err('(end of list)'); } }, 10000); } } else { err('warning: run dependency added without ID'); } } function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } if (id) { assert(runDependencyTracking[id]); delete runDependencyTracking[id]; } else { err('warning: run dependency removed without ID'); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); // can add another dependenciesFulfilled } } } /** @param {string|number=} what */ function abort(what) { if (Module['onAbort']) { Module['onAbort'](what); } what = 'Aborted(' + what + ')'; // TODO(sbc): Should we remove printing and leave it up to whoever // catches the exception? err(what); ABORT = true; EXITSTATUS = 1; // Use a wasm runtime error, because a JS error might be seen as a foreign // exception, which means we'd run destructors on it. We need the error to // simply make the program stop. // FIXME This approach does not work in Wasm EH because it currently does not assume // all RuntimeErrors are from traps; it decides whether a RuntimeError is from // a trap or not based on a hidden field within the object. So at the moment // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that // allows this in the wasm spec. // Suppress closure compiler warning here. Closure compiler's builtin extern // defintion for WebAssembly.RuntimeError claims it takes no arguments even // though it can. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what); // Throw the error whether or not MODULARIZE is set because abort is used // in code paths apart from instantiation where an exception is expected // to be thrown when abort is called. throw e; } // include: memoryprofiler.js // end include: memoryprofiler.js // show errors on likely calls to FS when it was not included var FS = { error: function() { abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); }, init: function() { FS.error() }, createDataFile: function() { FS.error() }, createPreloadedFile: function() { FS.error() }, createLazyFile: function() { FS.error() }, open: function() { FS.error() }, mkdev: function() { FS.error() }, registerDevice: function() { FS.error() }, analyzePath: function() { FS.error() }, loadFilesFromDB: function() { FS.error() }, ErrnoError: function ErrnoError() { FS.error() }, }; Module['FS_createDataFile'] = FS.createDataFile; Module['FS_createPreloadedFile'] = FS.createPreloadedFile; // include: URIUtils.js // Prefix of data URIs emitted by SINGLE_FILE and related options. var dataURIPrefix = 'data:application/octet-stream;base64,'; // Indicates whether filename is a base64 data URI. function isDataURI(filename) { // Prefix of data URIs emitted by SINGLE_FILE and related options. return filename.startsWith(dataURIPrefix); } // Indicates whether filename is delivered via file protocol (as opposed to http/https) function isFileURI(filename) { return filename.startsWith('file://'); } // end include: URIUtils.js /** @param {boolean=} fixedasm */ function createExportWrapper(name, fixedasm) { return function() { var displayName = name; var asm = fixedasm; if (!fixedasm) { asm = Module['asm']; } assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); if (!asm[name]) { assert(asm[name], 'exported native function `' + displayName + '` not found'); } return asm[name].apply(null, arguments); }; } // include: runtime_exceptions.js // end include: runtime_exceptions.js var wasmBinaryFile; wasmBinaryFile = 'data:application/octet-stream;base64,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IAMoAgwhbiADKAIQIW9BkAEhcCADIHBqIXEgcSFyIHIgb2ohcyBzIG46AAAgAy0AvwEhdCADKAIcIXVBASF2IHUgdmohdyADIHc2AhxBICF4IAMgeGoheSB5IXogeiB1aiF7IHsgdDoAACADLQC+ASF8IAMoAhwhfUEBIX4gfSB+aiF/IAMgfzYCHEEgIYABIAMggAFqIYEBIIEBIYIBIIIBIH1qIYMBIIMBIHw6AAAgAygCGCGEAUEBIYUBIIQBIIUBaiGGASADIIYBNgIYDAALAAsgAygCxAEhhwFBICGIASADIIgBaiGJASCJASGKASCKASCHAWohiwFBACGMASCLASCMAToAACADKALIASGNASCNARBwIY4BIAMgjgE2AgggAygCCCGPAUEBIZABII8BIJABdCGRAUHkACGSASCRASCSAWohkwEgkwEQmgEhlAEgAyCUATYCBCADKAIEIZUBQQAhlgEglQEhlwEglgEhmAEglwEgmAFHIZkBQQEhmgEgmQEgmgFxIZsBAkAgmwENAEHWgQQhnAFBACGdASCcASCdARBbGkEAIZ4BIAMgngE2AswBDAELIAMoAgQhnwEgAygCCCGgAUEBIaEBIKABIKEBdCGiAUHkACGjASCiASCjAWohpAFBACGlASCfASClASCkARBGGiADKAIEIaYBQfYAIacBIKYBIKcBOgAAIAMoAgQhqAFBMCGpASCoASCpAToAASADKAIEIaoBQTEhqwEgqgEgqwE6AAIgAygCyAEhrAEgAygCCCGtAUEgIa4BIAMgrgFqIa8BIK8BIbABIAMoAgQhsQFBAyGyASCxASCyAWohswEgrAEgrQEgsAEgswEQHBogAygCBCG0AUEgIbUBIAMgtQFqIbYBILYBIbcBILQBILcBEGwaIAMoAgQhuAFBwAEhuQEgAyC5AWohugEgugEhuwEguAEguwEQbBogAygCBCG8ASADILwBNgLMAQsgAygCzAEhvQFB0AEhvgEgAyC+AWohvwEgvwEkACC9AQ8LkwECCH8HfSMAIQJBECEDIAIgA2shBCAEJAAgBCAAOAIIIAQgATgCBEEAIQUgBSgC4N4EIQYCQAJAIAZFDQBBACEHIAeyIQogBCAKOAIMDAELEBsgBCoCCCELIAQqAgQhDCAMiyENIAsgDZIhDiAOEGchDyAEIA84AgwLIAQq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IX0gfUUNACADKAJwIX4gAygCeCF/IH4gf2ohgAEgAygCfCGBAUEwIYIBIIABIIIBIIEBEEYaIAMoAnAhgwEgAygCeCGEASCDASCEAWohhQFBJyGGASCFASCGAToAACADKAJwIYcBIAMoAnghiAEgAygCfCGJASCIASCJAWohigFBASGLASCKASCLAWshjAEghwEgjAFqIY0BQSchjgEgjQEgjgE6AAAgAygCeCGPASADKAJ8IZABII8BIJABaiGRAUEBIZIBIJEBIJIBaiGTASADIJMBNgJgDAELDAILDAALAAtBACGUASADIJQBNgJUIAMoAmQhlQEgAygCaCGWAUHoByGXASCWASCXAWohmAFBACGZASCVASCZASCYARBGGkEAIZoBIAMgmgE2AlACQANAIAMoAlAhmwEgAygCaCGcASCbASGdASCcASGeASCdASCeAUghnwFBASGgASCfASCgAXEhoQEgoQFFDQEgAygCiBEhogEgAygCUCGjASCiASCjAWohpAEgpAEtAAAhpQFBGCGmASClASCmAXQhpwEgpwEgpgF1IagBQdsAIakBIKgBIaoBIKkBIasBIKoBIKsBRiGsAUEBIa0BIKwBIK0BcSGuAQJAIK4BRQ0AQQEhrwEgAyCvATYCbAwCCyADKAKIESGwASADKAJQIbEBILABILEBaiGyASCyAS0AACGzAUEYIbQBILMBILQBdCG1ASC1ASC0AXUhtgFB+wAhtwEgtgEhuAEgtwEhuQEguAEguQFGIboBQQEhuwEgugEguwFxIbwBAkAgvAFFDQBBACG9ASADIL0BNgJsDAILIAMoAlAhvgFBASG/ASC+ASC/AWohwAEgAyDAATYCUAwACwALIAMoAmwhwQECQAJAIMEBRQ0AIAMoAnAhwgFB2wAhwwFB3QAhxAFCACH1A0EBIcUBQfgAIcYBIAMgxgFqIccBIMcBIcgBQRghyQEgwwEgyQF0IcoBIMoBIMkBdSHLAUEYIcwBIMQBIMwBdCHNASDNASDMAXUhzgEgwgEgywEgzgEg9QMgxQEgyAEQKSHPASADIM8BNgJMIAMoAkwh0AECQAJAINABRQ0AIAMoAngh0QFBASHSASDRASDSAWoh0wEgAyDTATYCSCADKAJIIdQBIAMoAnwh1QEg1AEg1QFqIdYBIAMg1gE2AkRBACHXASADINcB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ASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBwABqIQEgAkHAAGoiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAwCCwALAkAgA0EETw0AIAAhAgwBCwJAIANBfGoiBCAATw0AIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsCQCACIANPDQADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsFACAAiwtLAAJAIAAQSUL///////////8Ag0KAgICAgICA+P8AVg0AIAAgACABpCABEElC////////////AINCgICAgICAgPj/AFYbIQELIAELBQAgAL0LCgAgAEFQakEKSQsQACAAQSBGIABBd2pBBUlyCwwAIAAgAKEiACAAowsPACABmiABIAAbEE4gAaILFQEBfyMAQRBrIgEgADkDCCABKwMICw8AIABEAAAAAAAAAHAQTQsPACAARAAAAAAAAAAQEE0LBQAgAJkL2gQDBn8DfgJ8IwBBEGsiAiQAIAAQUyEDIAEQUyIEQf8PcSIFQcJ3aiEGIAG9IQggAL0h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ARoLC3IBA39BACEBAkAgACgCACwAABBKDQBBAA8LA0AgACgCACECQX8hAwJAIAFBzJmz5gBLDQBBfyACLAAAQVBqIgMgAUEKbCIBaiADIAFB/////wdzShshAwsgACACQQFqNgIAIAMhASACLAABEEoNAAsgAwu2BAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQXdqDhIAAQIFAwQGBwgJCgsMDQ4PEBESCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxEHAAsLPgEBfwJAIABQDQADQCABQX9qIgEgAKdBD3FB0NsEai0AACACcjoAACAAQg9WIQMgAEIEiCEAIAMNAAsLIAELNgEBfwJAIABQDQADQCABQX9qIgEgAKdBB3FBMHI6AAAgAEIHViECIABCA4ghACACDQALCyABC4gBAgF+A38CQAJAIABCgICAgBBaDQAgACECDAELA0AgAUF/aiIBIAAgAEIKgCICQgp+fadBMHI6AAAgAEL/////nwFWIQMgAiEAIAMNAAsLAkAgAqciA0UNAANAIAFB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AEL//////////w+DIgBCgYCAgICAgIAIVA0AIARCgYCAgICAgIDAAHwhBQwCCyAEQoCAgICAgICAwAB8IQUgAEKAgICAgICAgAhSDQEgBSAEQgGDfCEFDAELAkAgAFAgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRGw0AIABCPIggAUIEhoRC/////////wODQoCAgICAgID8/wCEIQUMAQtCgICAgICAgPj/ACEFIARC////////v//DAFYNAEIAIQUgBEIwiKciA0GR9wBJDQAgAkEQaiAAIAFC////////P4NCgICAgICAwACEIgQgA0H/iH9qEJ4BIAIgACAEQYH4ACADaxCfASACKQMAIgRCPIggAkEIaikDAEIEhoQhBQJAIARC//////////8PgyACKQMQIAJBEGpBCGopAwCEQgBSrYQiBEKBgICAgICAgAhUDQAgBUIBfCEFDAELIARCgICAgICAgIAIUg0AIAVCAYMgBXwhBQsgAkEgaiQAIAUgAUKAgICAgICAgIB/g4S/CxIAQYCABCQCQQBBD2pBcHEkAQsHACMAIwFrCwQAIwILBAAjAQsEACMACwYAIAAkAAsSAQJ/IwAgAGtBcHEiASQAIAELBAAjAAsGACAAJAMLBAAjAwu3AgEDfwJAIAANAEEAIQECQEEAKALQ3gRFDQBBACgC0N4EEKsBIQELAkBBACgCwIYFRQ0AQQAoAsCGBRCrASABciEBCwJAEHwoAgAiAEUNAANAQQAhAgJAIAAoAkxBAEgNACAAEHohAgsCQCAAKAIUIAAoAhxGDQAgABCrASABciEBCwJAIAJFDQAgABB7CyAAKAI4IgANAAsLEH0gAQ8LQQAhAgJAIAAoAkxBAEgNACAAEHohAgsCQAJAAkAgACgCFCAAKAIcRg0AIABBAEEAIAAoAiQRAwAaIAAoAhQNAEF/IQEgAg0BDAILAkAgACgCBCIBIAAoAggiA0YNACAAIAEgA2usQQEgACgCKBEMABoLQQAhASAAQQA2AhwgAEIANwMQIABCADcCBCACRQ0BCyAAEHsLIAELDQAgASACIAMgABEMAAslAQF+IAAgASACrSADrUIghoQgBBCsASEFIAVCIIinEKkBIAWnCwvp3oCAAAIAQYCABAvgWyInW3sAJTA4eAAtKyAgIDBYMHgALTBYKzBYIDBY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'; if (!isDataURI(wasmBinaryFile)) { wasmBinaryFile = locateFile(wasmBinaryFile); } function getBinary(file) { try { if (file == wasmBinaryFile && wasmBinary) { return new Uint8Array(wasmBinary); } if (readBinary) { return readBinary(file); } throw "both async and sync fetching of the wasm failed"; } catch (err) { abort(err); } } function getBinaryPromise(binaryFile) { // If we don't have the binary yet, try to to load it asynchronously. // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. // See https://github.com/github/fetch/pull/92#issuecomment-140665932 // Cordova or Electron apps are typically loaded from a file:// url. // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { if (typeof fetch == 'function' && !isFileURI(binaryFile) ) { return fetch(binaryFile, { credentials: 'same-origin' }).then(function(response) { if (!response['ok']) { throw "failed to load wasm binary file at '" + binaryFile + "'"; } return response['arrayBuffer'](); }).catch(function () { return getBinary(binaryFile); }); } else { if (readAsync) { // fetch is not available or url is file => try XHR (readAsync uses XHR internally) return new Promise(function(resolve, reject) { readAsync(binaryFile, function(response) { resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))) }, reject) }); } } } // Otherwise, getBinary should be able to get it synchronously return Promise.resolve().then(function() { return getBinary(binaryFile); }); } function instantiateArrayBuffer(binaryFile, imports, receiver) { return getBinaryPromise(binaryFile).then(function(binary) { return WebAssembly.instantiate(binary, imports); }).then(function (instance) { return instance; }).then(receiver, function(reason) { err('failed to asynchronously prepare wasm: ' + reason); // Warn on some common problems. if (isFileURI(wasmBinaryFile)) { err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing'); } abort(reason); }); } function instantiateAsync(binary, binaryFile, imports, callback) { if (!binary && typeof WebAssembly.instantiateStreaming == 'function' && !isDataURI(binaryFile) && // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. !isFileURI(binaryFile) && // Avoid instantiateStreaming() on Node.js environment for now, as while // Node.js v18.1.0 implements it, it does not have a full fetch() // implementation yet. // // Reference: // https://github.com/emscripten-core/emscripten/pull/16917 !ENVIRONMENT_IS_NODE && typeof fetch == 'function') { return fetch(binaryFile, { credentials: 'same-origin' }).then(function(response) { // Suppress closure warning here since the upstream definition for // instantiateStreaming only allows Promise rather than // an actual Response. // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. /** @suppress {checkTypes} */ var result = WebAssembly.instantiateStreaming(response, imports); return result.then( callback, function(reason) { // We expect the most common failure cause to be a bad MIME type for the binary, // in which case falling back to ArrayBuffer instantiation should work. err('wasm streaming compile failed: ' + reason); err('falling back to ArrayBuffer instantiation'); return instantiateArrayBuffer(binaryFile, imports, callback); }); }); } else { return instantiateArrayBuffer(binaryFile, imports, callback); } } // Create the wasm instance. // Receives the wasm imports, returns the exports. function createWasm() { // prepare imports var info = { 'env': wasmImports, 'wasi_snapshot_preview1': wasmImports, }; // Load the wasm module and create an instance of using native support in the JS engine. // handle a generated wasm instance, receiving its exports and // performing other necessary setup /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) { var exports = instance.exports; Module['asm'] = exports; wasmMemory = Module['asm']['memory']; assert(wasmMemory, "memory not found in wasm exports"); // This assertion doesn't hold when emscripten is run in --post-link // mode. // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. //assert(wasmMemory.buffer.byteLength === 16777216); updateMemoryViews(); wasmTable = Module['asm']['__indirect_function_table']; assert(wasmTable, "table not found in wasm exports"); addOnInit(Module['asm']['__wasm_call_ctors']); removeRunDependency('wasm-instantiate'); return exports; } // wait for the pthread pool (if any) addRunDependency('wasm-instantiate'); // Prefer streaming instantiation if available. // Async compilation can be confusing when an error on the page overwrites Module // (for example, if the order of elements is wrong, and the one defining Module is // later), so we save Module and check it later. var trueModule = Module; function receiveInstantiationResult(result) { // 'result' is a ResultObject object which has both the module and instance. // receiveInstance() will swap in the exports (to Module.asm) so they can be called assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); trueModule = null; // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. // When the regression is fixed, can restore the above PTHREADS-enabled path. receiveInstance(result['instance']); } // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel // to any other async startup actions they are performing. // Also pthreads and wasm workers initialize the wasm instance through this path. if (Module['instantiateWasm']) { try { return Module['instantiateWasm'](info, receiveInstance); } catch(e) { err('Module.instantiateWasm callback failed with error: ' + e); return false; } } instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult); return {}; // no exports yet; we'll fill them in later } // Globals used by JS i64 conversions (see makeSetValue) var tempDouble; var tempI64; // include: runtime_debug.js function legacyModuleProp(prop, newName) { if (!Object.getOwnPropertyDescriptor(Module, prop)) { Object.defineProperty(Module, prop, { configurable: true, get: function() { abort('Module.' + prop + ' has been replaced with plain ' + newName + ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)'); } }); } } function ignoredModuleProp(prop) { if (Object.getOwnPropertyDescriptor(Module, prop)) { abort('`Module.' + prop + '` was supplied but `' + prop + '` not included in INCOMING_MODULE_JS_API'); } } // forcing the filesystem exports a few things by default function isExportedByForceFilesystem(name) { return name === 'FS_createPath' || name === 'FS_createDataFile' || name === 'FS_createPreloadedFile' || name === 'FS_unlink' || name === 'addRunDependency' || // The old FS has some functionality that WasmFS lacks. name === 'FS_createLazyFile' || name === 'FS_createDevice' || name === 'removeRunDependency'; } function missingGlobal(sym, msg) { if (typeof globalThis !== 'undefined') { Object.defineProperty(globalThis, sym, { configurable: true, get: function() { warnOnce('`' + sym + '` is not longer defined by emscripten. ' + msg); return undefined; } }); } } missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); function missingLibrarySymbol(sym) { if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { Object.defineProperty(globalThis, sym, { configurable: true, get: function() { // Can't `abort()` here because it would break code that does runtime // checks. e.g. `if (typeof SDL === 'undefined')`. var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line'; // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in // library.js, which means $name for a JS name with no prefix, or name // for a JS name like _name. var librarySymbol = sym; if (!librarySymbol.startsWith('_')) { librarySymbol = '$' + sym; } msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + librarySymbol + ")"; if (isExportedByForceFilesystem(sym)) { msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; } warnOnce(msg); return undefined; } }); } // Any symbol that is not included from the JS libary is also (by definition) // not exported on the Module object. unexportedRuntimeSymbol(sym); } function unexportedRuntimeSymbol(sym) { if (!Object.getOwnPropertyDescriptor(Module, sym)) { Object.defineProperty(Module, sym, { configurable: true, get: function() { var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)"; if (isExportedByForceFilesystem(sym)) { msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; } abort(msg); } }); } } // Used by XXXXX_DEBUG settings to output debug messages. function dbg(text) { // TODO(sbc): Make this configurable somehow. Its not always convenient for // logging to show up as errors. console.error(text); } // end include: runtime_debug.js // === Body === // end include: preamble.js /** @constructor */ function ExitStatus(status) { this.name = 'ExitStatus'; this.message = 'Program terminated with exit(' + status + ')'; this.status = status; } function allocateUTF8(str) { var size = lengthBytesUTF8(str) + 1; var ret = _malloc(size); if (ret) stringToUTF8Array(str, HEAP8, ret, size); return ret; } function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { // Pass the module as the first argument. callbacks.shift()(Module); } } /** * @param {number} ptr * @param {string} type */ function getValue(ptr, type = 'i8') { if (type.endsWith('*')) type = '*'; switch (type) { case 'i1': return HEAP8[((ptr)>>0)]; case 'i8': return HEAP8[((ptr)>>0)]; case 'i16': return HEAP16[((ptr)>>1)]; case 'i32': return HEAP32[((ptr)>>2)]; case 'i64': return HEAP32[((ptr)>>2)]; case 'float': return HEAPF32[((ptr)>>2)]; case 'double': return HEAPF64[((ptr)>>3)]; case '*': return HEAPU32[((ptr)>>2)]; default: abort('invalid type for getValue: ' + type); } } function ptrToString(ptr) { assert(typeof ptr === 'number'); return '0x' + ptr.toString(16).padStart(8, '0'); } /** * @param {number} ptr * @param {number} value * @param {string} type */ function setValue(ptr, value, type = 'i8') { if (type.endsWith('*')) type = '*'; switch (type) { case 'i1': HEAP8[((ptr)>>0)] = value; break; case 'i8': HEAP8[((ptr)>>0)] = value; break; case 'i16': HEAP16[((ptr)>>1)] = value; break; case 'i32': HEAP32[((ptr)>>2)] = value; break; case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math.min((+(Math.floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)] = tempI64[0],HEAP32[(((ptr)+(4))>>2)] = tempI64[1]); break; case 'float': HEAPF32[((ptr)>>2)] = value; break; case 'double': HEAPF64[((ptr)>>3)] = value; break; case '*': HEAPU32[((ptr)>>2)] = value; break; default: abort('invalid type for setValue: ' + type); } } function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; err(text); } } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num); } function getHeapMax() { // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side // for any code that deals with heap sizes, which would require special // casing all heap size related code to treat 0 specially. return 2147483648; } function emscripten_realloc_buffer(size) { var b = wasmMemory.buffer; try { // round size grow request up to wasm page size (fixed 64KB per spec) wasmMemory.grow((size - b.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size updateMemoryViews(); return 1 /*success*/; } catch(e) { err('emscripten_realloc_buffer: Attempted to grow heap from ' + b.byteLength + ' bytes to ' + size + ' bytes, but got error: ' + e); } // implicit 0 return to save code size (caller will cast "undefined" into 0 // anyhow) } function _emscripten_resize_heap(requestedSize) { var oldSize = HEAPU8.length; requestedSize = requestedSize >>> 0; // With multithreaded builds, races can happen (another thread might increase the size // in between), so return a failure, and let the caller retry. assert(requestedSize > oldSize); // Memory resize rules: // 1. Always increase heap size to at least the requested size, rounded up // to next page multiple. // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap // geometrically: increase the heap size according to // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap // linearly: increase the heap size by at least // MEMORY_GROWTH_LINEAR_STEP bytes. // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest // 4. If we were unable to allocate as much memory, it may be due to // over-eager decision to excessively reserve due to (3) above. // Hence if an allocation fails, cut down on the amount of excess // growth, in an attempt to succeed to perform a smaller allocation. // A limit is set for how much we can grow. We should not exceed that // (the wasm binary specifies it, so if we tried, we'd fail anyhow). var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) { err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + maxHeapSize + ' bytes!'); return false; } let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; // Loop through potential heap size increases. If we attempt a too eager // reservation that fails, cut down on the attempted size and reserve a // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth // but limit overreserving (default to capping at +96MB overgrowth at most) 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; } } err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!'); return false; } function _emscripten_run_script(ptr) { eval(UTF8ToString(ptr)); } var printCharBuffers = [null,[],[]]; function printChar(stream, curr) { var buffer = printCharBuffers[stream]; assert(buffer); if (curr === 0 || curr === 10) { (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); buffer.length = 0; } else { buffer.push(curr); } } function flush_NO_FILESYSTEM() { // flush anything remaining in the buffers during shutdown _fflush(0); if (printCharBuffers[1].length) printChar(1, 10); if (printCharBuffers[2].length) printChar(2, 10); } var SYSCALLS = {varargs:undefined,get:function() { assert(SYSCALLS.varargs != undefined); SYSCALLS.varargs += 4; var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; return ret; },getStr:function(ptr) { var ret = UTF8ToString(ptr); return ret; }}; function _fd_write(fd, iov, iovcnt, pnum) { // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 var num = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAPU32[((iov)>>2)]; var len = HEAPU32[(((iov)+(4))>>2)]; iov += 8; for (var j = 0; j < len; j++) { printChar(fd, HEAPU8[ptr+j]); } num += len; } HEAPU32[((pnum)>>2)] = num; return 0; } function checkIncomingModuleAPI() { ignoredModuleProp('fetchSettings'); } var wasmImports = { "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, "emscripten_run_script": _emscripten_run_script, "fd_write": _fd_write }; var asm = createWasm(); /** @type {function(...*):?} */ var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors"); /** @type {function(...*):?} */ var _malloc = Module["_malloc"] = createExportWrapper("malloc"); /** @type {function(...*):?} */ var _free = Module["_free"] = createExportWrapper("free"); /** @type {function(...*):?} */ var _FreeMemory = Module["_FreeMemory"] = createExportWrapper("FreeMemory"); /** @type {function(...*):?} */ var _DeString = Module["_DeString"] = createExportWrapper("DeString"); /** @type {function(...*):?} */ var _EnString = Module["_EnString"] = createExportWrapper("EnString"); /** @type {function(...*):?} */ var _getRotateSin = Module["_getRotateSin"] = createExportWrapper("getRotateSin"); /** @type {function(...*):?} */ var _getPageTranX = Module["_getPageTranX"] = createExportWrapper("getPageTranX"); /** @type {function(...*):?} */ var _verifyLog = Module["_verifyLog"] = createExportWrapper("verifyLog"); /** @type {function(...*):?} */ var _print_destring_build = Module["_print_destring_build"] = createExportWrapper("print_destring_build"); /** @type {function(...*):?} */ var _getConfigStatus = Module["_getConfigStatus"] = createExportWrapper("getConfigStatus"); /** @type {function(...*):?} */ var _DeConfig_Parse = Module["_DeConfig_Parse"] = createExportWrapper("DeConfig_Parse"); /** @type {function(...*):?} */ var _DeConfig_Get = Module["_DeConfig_Get"] = createExportWrapper("DeConfig_Get"); /** @type {function(...*):?} */ var _DeConfig_ClearAll = Module["_DeConfig_ClearAll"] = createExportWrapper("DeConfig_ClearAll"); /** @type {function(...*):?} */ var _DeConfig_Remove = Module["_DeConfig_Remove"] = createExportWrapper("DeConfig_Remove"); /** @type {function(...*):?} */ var _CheckDomain = Module["_CheckDomain"] = createExportWrapper("CheckDomain"); /** @type {function(...*):?} */ var _getVerifyString = Module["_getVerifyString"] = createExportWrapper("getVerifyString"); /** @type {function(...*):?} */ var _VerifyBookConfig = Module["_VerifyBookConfig"] = createExportWrapper("VerifyBookConfig"); /** @type {function(...*):?} */ var _getTmpDistance = Module["_getTmpDistance"] = createExportWrapper("getTmpDistance"); /** @type {function(...*):?} */ var _getShadowRate = Module["_getShadowRate"] = createExportWrapper("getShadowRate"); /** @type {function(...*):?} */ var _getPageNewCenterX = Module["_getPageNewCenterX"] = createExportWrapper("getPageNewCenterX"); /** @type {function(...*):?} */ var ___errno_location = createExportWrapper("__errno_location"); /** @type {function(...*):?} */ var _fflush = Module["_fflush"] = createExportWrapper("fflush"); /** @type {function(...*):?} */ var _emscripten_stack_init = function() { return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_free = function() { return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_base = function() { return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); }; /** @type {function(...*):?} */ var _emscripten_stack_get_end = function() { return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); }; /** @type {function(...*):?} */ var stackSave = createExportWrapper("stackSave"); /** @type {function(...*):?} */ var stackRestore = createExportWrapper("stackRestore"); /** @type {function(...*):?} */ var stackAlloc = createExportWrapper("stackAlloc"); /** @type {function(...*):?} */ var _emscripten_stack_get_current = function() { return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); }; /** @type {function(...*):?} */ var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); // include: postamble.js // === Auto-generated postamble setup entry stuff === var missingLibrarySymbols = [ 'zeroMemory', 'stringToNewUTF8', 'exitJS', 'setErrNo', 'inetPton4', 'inetNtop4', 'inetPton6', 'inetNtop6', 'readSockaddr', 'writeSockaddr', 'getHostByName', 'getRandomDevice', 'traverseStack', 'convertPCtoSourceLocation', 'readEmAsmArgs', 'jstoi_q', 'jstoi_s', 'getExecutableName', 'listenOnce', 'autoResumeAudioContext', 'dynCallLegacy', 'getDynCaller', 'dynCall', 'handleException', 'runtimeKeepalivePush', 'runtimeKeepalivePop', 'callUserCallback', 'maybeExit', 'safeSetTimeout', 'asmjsMangle', 'asyncLoad', 'alignMemory', 'mmapAlloc', 'HandleAllocator', 'getNativeTypeSize', 'STACK_SIZE', 'STACK_ALIGN', 'POINTER_SIZE', 'ASSERTIONS', 'writeI53ToI64', 'writeI53ToI64Clamped', 'writeI53ToI64Signaling', 'writeI53ToU64Clamped', 'writeI53ToU64Signaling', 'readI53FromI64', 'readI53FromU64', 'convertI32PairToI53', 'convertI32PairToI53Checked', 'convertU32PairToI53', 'getCFunc', 'ccall', 'cwrap', 'uleb128Encode', 'sigToWasmTypes', 'generateFuncType', 'convertJsFunctionToWasm', 'getEmptyTableSlot', 'updateTableMap', 'getFunctionAddress', 'addFunction', 'removeFunction', 'reallyNegative', 'unSign', 'strLen', 'reSign', 'formatString', 'intArrayFromString', 'intArrayToString', 'AsciiToString', 'stringToAscii', 'UTF16ToString', 'stringToUTF16', 'lengthBytesUTF16', 'UTF32ToString', 'stringToUTF32', 'lengthBytesUTF32', 'allocateUTF8OnStack', 'writeStringToMemory', 'writeArrayToMemory', 'writeAsciiToMemory', 'getSocketFromFD', 'getSocketAddress', 'registerKeyEventCallback', 'maybeCStringToJsString', 'findEventTarget', 'findCanvasEventTarget', 'getBoundingClientRect', 'fillMouseEventData', 'registerMouseEventCallback', 'registerWheelEventCallback', 'registerUiEventCallback', 'registerFocusEventCallback', 'fillDeviceOrientationEventData', 'registerDeviceOrientationEventCallback', 'fillDeviceMotionEventData', 'registerDeviceMotionEventCallback', 'screenOrientation', 'fillOrientationChangeEventData', 'registerOrientationChangeEventCallback', 'fillFullscreenChangeEventData', 'registerFullscreenChangeEventCallback', 'JSEvents_requestFullscreen', 'JSEvents_resizeCanvasForFullscreen', 'registerRestoreOldStyle', 'hideEverythingExceptGivenElement', 'restoreHiddenElements', 'setLetterbox', 'softFullscreenResizeWebGLRenderTarget', 'doRequestFullscreen', 'fillPointerlockChangeEventData', 'registerPointerlockChangeEventCallback', 'registerPointerlockErrorEventCallback', 'requestPointerLock', 'fillVisibilityChangeEventData', 'registerVisibilityChangeEventCallback', 'registerTouchEventCallback', 'fillGamepadEventData', 'registerGamepadEventCallback', 'registerBeforeUnloadEventCallback', 'fillBatteryEventData', 'battery', 'registerBatteryEventCallback', 'setCanvasElementSize', 'getCanvasElementSize', 'demangle', 'demangleAll', 'jsStackTrace', 'stackTrace', 'getEnvStrings', 'checkWasiClock', 'createDyncallWrapper', 'setImmediateWrapped', 'clearImmediateWrapped', 'polyfillSetImmediate', 'getPromise', 'makePromise', 'makePromiseCallback', 'ExceptionInfo', 'exception_addRef', 'exception_decRef', 'setMainLoop', '_setNetworkCallback', 'heapObjectForWebGLType', 'heapAccessShiftForWebGLHeap', 'emscriptenWebGLGet', 'computeUnpackAlignedImageSize', 'emscriptenWebGLGetTexPixelData', 'emscriptenWebGLGetUniform', 'webglGetUniformLocation', 'webglPrepareUniformLocationsBeforeFirstUse', 'webglGetLeftBracePos', 'emscriptenWebGLGetVertexAttrib', 'writeGLArray', 'SDL_unicode', 'SDL_ttfContext', 'SDL_audio', 'GLFW_Window', 'runAndAbortIfError', 'ALLOC_NORMAL', 'ALLOC_STACK', 'allocate', ]; missingLibrarySymbols.forEach(missingLibrarySymbol) var unexportedSymbols = [ 'run', 'UTF8ArrayToString', 'UTF8ToString', 'stringToUTF8Array', 'stringToUTF8', 'lengthBytesUTF8', 'addOnPreRun', 'addOnInit', 'addOnPreMain', 'addOnExit', 'addOnPostRun', 'addRunDependency', 'removeRunDependency', 'FS_createFolder', 'FS_createPath', 'FS_createDataFile', 'FS_createPreloadedFile', 'FS_createLazyFile', 'FS_createLink', 'FS_createDevice', 'FS_unlink', 'out', 'err', 'callMain', 'abort', 'keepRuntimeAlive', 'wasmMemory', 'stackAlloc', 'stackSave', 'stackRestore', 'getTempRet0', 'setTempRet0', 'writeStackCookie', 'checkStackCookie', 'ptrToString', 'getHeapMax', 'emscripten_realloc_buffer', 'ENV', 'ERRNO_CODES', 'ERRNO_MESSAGES', 'DNS', 'Protocols', 'Sockets', 'timers', 'warnOnce', 'UNWIND_CACHE', 'readEmAsmArgsArray', 'freeTableIndexes', 'functionsInTableMap', 'setValue', 'getValue', 'PATH', 'PATH_FS', 'UTF16Decoder', 'allocateUTF8', 'SYSCALLS', 'JSEvents', 'specialHTMLTargets', 'currentFullscreenStrategy', 'restoreOldWindowedStyle', 'ExitStatus', 'flush_NO_FILESYSTEM', 'dlopenMissingError', 'promiseMap', 'uncaughtExceptionCount', 'exceptionLast', 'exceptionCaught', 'Browser', 'wget', 'FS', 'MEMFS', 'TTY', 'PIPEFS', 'SOCKFS', 'tempFixedLengthArray', 'miniTempWebGLFloatBuffers', 'GL', 'AL', 'SDL', 'SDL_gfx', 'GLUT', 'EGL', 'GLFW', 'GLEW', 'IDBStore', ]; unexportedSymbols.forEach(unexportedRuntimeSymbol); var calledRun; dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!calledRun) run(); if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled }; function stackCheckInit() { // This is normally called automatically during __wasm_call_ctors but need to // get these values before even running any of the ctors so we call it redundantly // here. _emscripten_stack_init(); // TODO(sbc): Move writeStackCookie to native to to avoid this. writeStackCookie(); } function run() { if (runDependencies > 0) { return; } stackCheckInit(); preRun(); // a preRun added a dependency, run will be called later if (runDependencies > 0) { return; } function doRun() { // run may have just been called through dependencies being fulfilled just in this very frame, // or while the async setStatus time below was happening if (calledRun) return; calledRun = true; Module['calledRun'] = true; if (ABORT) return; initRuntime(); if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); postRun(); } if (Module['setStatus']) { Module['setStatus']('Running...'); setTimeout(function() { setTimeout(function() { Module['setStatus'](''); }, 1); doRun(); }, 1); } else { doRun(); } checkStackCookie(); } function checkUnflushedContent() { // Compiler settings do not allow exiting the runtime, so flushing // the streams is not possible. but in ASSERTIONS mode we check // if there was something to flush, and if so tell the user they // should request that the runtime be exitable. // Normally we would not even include flush() at all, but in ASSERTIONS // builds we do so just for this check, and here we see if there is any // content to flush, that is, we check if there would have been // something a non-ASSERTIONS build would have not seen. // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 // mode (which has its own special function for this; otherwise, all // the code is inside libc) var oldOut = out; var oldErr = err; var has = false; out = err = (x) => { has = true; } try { // it doesn't matter if it fails flush_NO_FILESYSTEM(); } catch(e) {} out = oldOut; err = oldErr; if (has) { warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); } } if (Module['preInit']) { if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; while (Module['preInit'].length > 0) { Module['preInit'].pop()(); } } run(); // end include: postamble.js