From c3d972afdfa2be954036bcb9403144153e1d3ee0 Mon Sep 17 00:00:00 2001 From: liamcottle Date: Mon, 20 May 2024 16:06:30 +1200 Subject: [PATCH] codec2 audio stream working over reticulum link --- public/assets/js/codec2-emscripten/c2dec.js | 3780 ++++++++++++ public/assets/js/codec2-emscripten/c2dec.wasm | Bin 0 -> 901145 bytes public/assets/js/codec2-emscripten/c2enc.js | 3780 ++++++++++++ public/assets/js/codec2-emscripten/c2enc.wasm | Bin 0 -> 791487 bytes .../assets/js/codec2-emscripten/codec2-lib.js | 127 + public/assets/js/codec2-emscripten/index.html | 127 + .../assets/js/codec2-emscripten/processor.js | 55 + public/assets/js/codec2-emscripten/sox.js | 5128 +++++++++++++++++ public/assets/js/codec2-emscripten/sox.wasm | Bin 0 -> 653393 bytes public/call.html | 231 + web.py | 135 + 11 files changed, 13363 insertions(+) create mode 100755 public/assets/js/codec2-emscripten/c2dec.js create mode 100755 public/assets/js/codec2-emscripten/c2dec.wasm create mode 100755 public/assets/js/codec2-emscripten/c2enc.js create mode 100755 public/assets/js/codec2-emscripten/c2enc.wasm create mode 100644 public/assets/js/codec2-emscripten/codec2-lib.js create mode 100644 public/assets/js/codec2-emscripten/index.html create mode 100644 public/assets/js/codec2-emscripten/processor.js create mode 100755 public/assets/js/codec2-emscripten/sox.js create mode 100755 public/assets/js/codec2-emscripten/sox.wasm create mode 100644 public/call.html diff --git a/public/assets/js/codec2-emscripten/c2dec.js b/public/assets/js/codec2-emscripten/c2dec.js new file mode 100755 index 0000000..3d1753c --- /dev/null +++ b/public/assets/js/codec2-emscripten/c2dec.js @@ -0,0 +1,3780 @@ + +var createC2Dec = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(createC2Dec) { + createC2Dec = createC2Dec || {}; + + + +"use strict"; + +// 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 createC2Dec != 'undefined' ? createC2Dec : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// 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; + +// `/` 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; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + err('exiting due to exception: ' + toLog); +} + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + filename = nodePath['normalize'](filename); + return fs.readFileSync(filename, binary ? undefined : 'utf8'); +}; + +readBinary = (filename) => { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + return ret; +}; + +readAsync = (filename, onload, onerror) => { + 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); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex 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 + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else + +// 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; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // 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 = ''; + } + + // 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 +{ +} + +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; + +// 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']; + +if (Module['thisProgram']) thisProgram = Module['thisProgram']; + +if (Module['quit']) quit_ = Module['quit']; + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// include: runtime_debug.js + + +// end include: runtime_debug.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']; +var noExitRuntime = Module['noExitRuntime'] || true; + +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) { + // This build was created without ASSERTIONS defined. `assert()` should not + // ever be called in this configuration but in case there are callers in + // the wild leave this simple abort() implemenation here for now. + abort(text); + } +} + +// 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 { + 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) { + 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; + 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) { + 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 {!ArrayBuffer} */ + buffer, +/** @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 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 STACK_SIZE = 5242880; + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; + +// 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 + + +// end include: runtime_stack_check.js +// include: runtime_assertions.js + + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + + callRuntimeCallbacks(__ATMAIN__); +} + +function postRun() { + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.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 + +// 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 + +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(); // 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; + + what += '. Build with -sASSERTIONS for more info.'; + + // 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); + + readyPromiseReject(e); + // 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; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// 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 +var wasmBinaryFile; + wasmBinaryFile = 'c2dec.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If 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(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) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, 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(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // 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']; + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + 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 + // 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 USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + abort(reason); + }); + } + + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // 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(wasmBinaryFile, { 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, info); + + return result.then( + receiveInstantiationResult, + 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(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // 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 { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + 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); + } + return null; + } + + + /** + * @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 ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + 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 the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => 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(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + 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 TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + 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); // val == 0 would cut text output off in the middle. + } + },fsync: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); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort(); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + 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); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + 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 we're overwriting a directory at new_name, make sure it's empty. + 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); + } + } + } + // do the internal rewiring + 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 /* 0777 */ | 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) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute 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: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; + + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + 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; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + 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(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + 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) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + 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: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ 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); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(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[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(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[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(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[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(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[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(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[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },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; + }}; + function ___syscall_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.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + 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; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function _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) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(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. + + // 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) { + 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; + } + } + return false; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(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[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + 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/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = false; + +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "exit": _exit, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["__main_argc_argv"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); +}; + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; + + +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 callMain(args) { + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + 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(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return createC2Dec.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = createC2Dec; +else if (typeof define === 'function' && define['amd']) + define([], function() { return createC2Dec; }); +else if (typeof exports === 'object') + exports["createC2Dec"] = createC2Dec; diff --git a/public/assets/js/codec2-emscripten/c2dec.wasm b/public/assets/js/codec2-emscripten/c2dec.wasm new file mode 100755 index 0000000000000000000000000000000000000000..7eba45875dc079d753c08ee1da9e8d870f54c021 GIT binary patch literal 901145 zcmeFa3!G)uUGKRc=l!VKRbBn8ZrEpora_3P2(6NIZD^h$iQ{!=Ys%~OtM(<~AKGfNJz5oC9U;o$oueF2gZoM%Kf*|~S<+ay_`@((K#{2f|3+yj1 z(LN=GB!qjzz1LRA(Zg6eDLsjWy)a;js>b|$}&z0P(*50-+eA~6*ZQ*UctXkb` zO_LM^*G7BQzOPSuyl=01uFww6X&Bb~UTe(WA}c_Xdo}L8t`Ay$8`YxQ_R(x@-)$O? z-szskG$wxIy}lV5bD-?Kw(dr*h71_8^lJqv?vwW#Xi8Tz8sgq-8@^_dr8Kp+cdszg zDRT82Tsu~NRYGf!Fp{gjnwCpT45zDS+SFg=6}Z|9b~L_dpRgOEna+ z8*aXS&(0uP^W)dudc*cxZ@TW5TYvQCJ=<^Dz2nU{?D+BTXuRh(&a-VW~A~g+%TxLU*4{+Z+(0ByjJ@=YTwytcfYH3epqYOw8&Re>$@*lvtiAK3&XHhTVI)8 zx29EVMfGO2IyF(9m<%>2$8HG%LZYlh;(L;Vt2Y4OI{_AI;B4wXtYln9qOkx1u(`LA!o;*sMWlH}C$5D1efn zkQ=ufiCw?v=H0gjZHVs1>u$Jd`*pkDbiMw(Ip~nIWB2ZxZr;B0=IgK9bHmLy1@8&h zZ{L2yO>eki_m1nK<{!K1dL?h)bKQ^Z+z|%NTlZXd{oKE~?#(-b$D@wD{J@S|X?{oW zJ5kHt^PRL6{BG2F!%y6Fi3oi5hS?i}C!*%d!XOXZ>tD9{EKTOizx}-L_|ES-|GO`^ z@WJro;gRr@;ZH~VqmM4=;>9>E9pl@AvulyZ!s3e?Opi+Phuv;RVr) zq5FN_|30f<`gz*FKjq(_@b8cL_ecEir}?%1{rdy{{XYMGw|`%>_xy|P*$bk_={t?{ z7dkv2ch8^E^MmgBPbYak?4F-(@qExdA8+tHujeR#G2;0J+N7P&sm|BS4YT^C-Kgz~cSedo>WX(<@u#eK=hALWas6jKG zqWpzmHm~PlT2Fp8%)`sOwfwkiEcTi6jXX}C3cI1udQR}x3!?9LPq$qV{h)i=n^i7| zeu!rOCZ*Ej!EEwSxS^MK(#wa&w)^f>?PwI0&2S8*wi6e&@Wa&Vn56Bj8* zis1RZchmKGxFPGZSWdd##mZaLYsteF5B1}k7nW-*V%#C zrZ-5#{C#Uknh!Pb1MzI~TOn|Svtux4NXX}Gjt<0mWzQ_6T3IQxBJZ>`Ju;?kUPm-BRYsE%Rue{ao-gp+QRyN-IGCwUL_5hMqr3!*b2 zBxWH^yZOQy3^z3ra=2%%KG$|lrqSl;#fWv_TS>-Tm&Y5v%dj`?QvP((*Qgam-v@cm zfvEZCyYvcfg@)u}SNt=bq5~DrVzMrX&SNxi;Z!(1&jyq#!xp50v+mMvGp&*PLNuFP z(%a)wOzf_)A4le9Awl>(@yS~%;miv46y+M#psFMlsk&a((tCQDQ zLv5$4(sZ`BN<&O&%cwiA&_rSk>#}Z`|A#YkNH*=-+O*|LF>z&w9^uWFY$FfSR`Q{+ zH^W_+x> zSsGz9vl-K(iEJ}zW66w$YcnGZ_4^If-_>0hM=xdwu>2l6P;V;TXk$=w*Kx-tgJoY_t!opZgL2@#i{E9f>IP?%C zH8${xBk8ImcQW#Tk>AV6-LPxP_ok~86sLy%jOkBXf9lBt46u1)?GNt!V z%;sN~Tz?XN9wM&9-;b>>vhLTkm$N=LRb>6qXx3+2Mb?)`vmRbwWbK!>GW~izWe)B71=hsl^nUro=c7teS;!!KqQnO38oF^2umzrR1lJWE8tn@~?M&X>`a^ z@}D*=`5#v2Uz9BPrKZcAPUBg~?}DfzI4_8_u-|byg5E&|SBO||HCtS6o;QWzJ{oxZ ztKHc=6vqqm6FjFua!0hG{r7Q!L+k)>c;Z1MeRyUd>8?7gaCq2>pO%OgvBNd2I(iGw zj~_O%|N9Isl-6>4v;i`swBCKD7r-`F3D9;Lz~785plPDMZDGI_R>*m(gHHI4(|ADY z{Zu4%0A43mE*h{)QJXQz29;9ZQU2m4o)F&Da_#txWPCRN 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 z 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�uGX8~(e<9;v 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

{hnppPLfqI?2r=KPhBRp49o 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 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(createC2Enc) { + createC2Enc = createC2Enc || {}; + + + +"use strict"; + +// 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 createC2Enc != 'undefined' ? createC2Enc : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// 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; + +// `/` 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; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + err('exiting due to exception: ' + toLog); +} + +if (ENVIRONMENT_IS_NODE) { + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + filename = nodePath['normalize'](filename); + return fs.readFileSync(filename, binary ? undefined : 'utf8'); +}; + +readBinary = (filename) => { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + return ret; +}; + +readAsync = (filename, onload, onerror) => { + 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); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex 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 + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else + +// 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; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // 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 = ''; + } + + // 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 +{ +} + +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; + +// 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']; + +if (Module['thisProgram']) thisProgram = Module['thisProgram']; + +if (Module['quit']) quit_ = Module['quit']; + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// include: runtime_debug.js + + +// end include: runtime_debug.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']; +var noExitRuntime = Module['noExitRuntime'] || true; + +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) { + // This build was created without ASSERTIONS defined. `assert()` should not + // ever be called in this configuration but in case there are callers in + // the wild leave this simple abort() implemenation here for now. + abort(text); + } +} + +// 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 { + 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) { + 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; + 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) { + 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 {!ArrayBuffer} */ + buffer, +/** @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 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 STACK_SIZE = 5242880; + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216; + +// 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 + + +// end include: runtime_stack_check.js +// include: runtime_assertions.js + + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + runtimeInitialized = true; + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + + callRuntimeCallbacks(__ATMAIN__); +} + +function postRun() { + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.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 + +// 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 + +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(); // 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; + + what += '. Build with -sASSERTIONS for more info.'; + + // 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); + + readyPromiseReject(e); + // 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; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// 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 +var wasmBinaryFile; + wasmBinaryFile = 'c2enc.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If 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(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) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, 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(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // 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']; + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + 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 + // 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 USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + abort(reason); + }); + } + + function instantiateAsync() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // 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(wasmBinaryFile, { 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, info); + + return result.then( + receiveInstantiationResult, + 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(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // 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 { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + 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); + } + return null; + } + + + /** + * @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 ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + 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 the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => 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(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + 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 TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + 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); // val == 0 would cut text output off in the middle. + } + },fsync: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); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort(); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + 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); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + 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 we're overwriting a directory at new_name, make sure it's empty. + 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); + } + } + } + // do the internal rewiring + 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 /* 0777 */ | 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) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute 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: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = 'FS error'; + + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + 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; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + 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(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + 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) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + 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: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ 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); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(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[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(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[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(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[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(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[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(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[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },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; + }}; + function ___syscall_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.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + 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; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function _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) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(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. + + // 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) { + 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; + } + } + return false; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(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[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + 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/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +var ASSERTIONS = false; + +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_openat": ___syscall_openat, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "exit": _exit, + "fd_close": _fd_close, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { + return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _main = Module["_main"] = function() { + return (_main = Module["_main"] = Module["asm"]["__main_argc_argv"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = function() { + return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = function() { + return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = function() { + return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = function() { + return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = function() { + return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments); +}; + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; + + +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 callMain(args) { + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + 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(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return createC2Enc.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = createC2Enc; +else if (typeof define === 'function' && define['amd']) + define([], function() { return createC2Enc; }); +else if (typeof exports === 'object') + exports["createC2Enc"] = createC2Enc; diff --git a/public/assets/js/codec2-emscripten/c2enc.wasm b/public/assets/js/codec2-emscripten/c2enc.wasm new file mode 100755 index 0000000000000000000000000000000000000000..ec93b0141d0c8821c46ddd33ac533c62f632941c GIT binary patch literal 791487 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Μqw5sCDBd{#;h0ID-9A z0m_f6;x$g5dATLsQ!%FRGv+|G$!VCEE5adLmt&)OD%%N9V9wVX+%x6}rg^iCy3vIc z)~<&G85z)O+gLn&dndX+PRC1$g&2PG1%^CQpuPJnC}Xh$ZK$w;^xyO0*7FJo^mIi@ zZ(khBd(rYob!?}SrAaHbDcjVU#-9j=;0bxKQ9&0?;s_mEEyuhs=XgA-ao41l!2ybY5BpkrI}Fq!T}5BNSK%J;p_SGR~RXh!O|-(PIXv?KlKe6+f`O&<2+p_QM$#NqF7s6^0H} zpav6TYG`FkK3Ar~3FB;-SgDNSlJ5BRRTB2B&ccV{+ib%Uu`a1W3V|jxakeXz&4_`) z%P+yE%JIwtndlI90gu0a&T{+<+oo(OdR#jiu&f2lnl%=BysLzshv(t0JE^$((^d3+ z$NRTe8l-o{fn*)q)3V)DAo%TGIKAT=sBajC-y@f!^ZZ0~>3j;Sj^1P2zbY*U1KQa) z7e>S@;uzCT=&&vrAMK3i{qF(1cl`#h>96qZS$%qBZ%yA@jD}Xws<=U!+u^ovks|+q;nD%vN~nei`nh8{@GV zYw*%!w%2_=jb3Ztql>YK4jk8`iQnzW)NnS8G2IIz{pE3@;e4Ed8!_9mi1qh6-is*F z^r*P##w98<;Dnc z$g@3d1?%LgSbZg%b(!1v>hyaYJ5!M+dYaMj4-TX&b^wdYXb6hRg?LQ^Ebi)om#+l# zcsyf!=6BxD8LF%Y*XC12BHR}L%UUp0#&+yiiwOiC-u=~FiF#vZOH4<^4oEon(-7{^#0Di1$D|-F`z;% zOG-cJNC~!aFrdeEsIIicf*W)2=-q9&Y;YQC{3^!;O?7ezGp2XS*5r2}8QdH{L5!UR z{#rGL_ljwF`duD&xOSiYDzelmifs~R#`Mfi1zzqL3?s6v@#W$G?Bu)+6^3P?YwQE| z(=_0km)bOVx+AHb8U}4c*28^`=U|Y$n{AxO@vzDrR9yZF)!yq;gtraPkv6>kc7xdO z3&6Yc9q>r9M6HQQcZnn`qPUY-7sF35D^Bd*QK%9j>pLg^%y-M~l{var@@qSdpYg$zzRa582Z8 z%zbcuwHg+i1!BzmBrG1y`@DyhQeVo-9{P0C)QMDAy3_7=n;>z;O(^?mf(7QI@L1Fm zYzRul300r4g_;t*xvWbo4qDQg5ou8G_yy>@E#98xgCDO&;<1RGxFNU_cZ~eX^-w3h zFl*A20qFE-6=<_Pd)i|oUR$Dgua|`DsSZ6GRO!PVL;AGefh;AaF#6=(^(~jCb?h5OVMMK=D2jFqe0_AMB;i^kVuuozE(^nv0 z?iZy~Vj69o3Rhdag-JR#cnJ5U=Auj8QcNjE`2Yl4t6|o~#aQ!YKNcJ=!vhOGvM)q~ zR6iNe#-o>tvRi>mx zc9dCN2rjKP(crx=E{fd1`=U%V`h0`ew|DG|l_#rrhGe$enhd=Lf_K#>SbFgje2lk4 z(jJF$^CPjH{$+eJR)(JHS(A)gTbfz010MCwgD(^9aa74_?0h1LeSRmfpHUgxir(Ye z>59}(qC=~52@JzYh8LG@(y>7sCekZBUWd z8aEamKo|J}_P^c7q7R?&cRx8goM6eeTW30NWC7-u!C)?a3d?>vps{5*+gW$9AEyxK zpQ*vV={j_)LmN8uxfEh1h)`ujFWfyb2K#p3h7acD;zzSe)&;+?Kg5De<~fng)3xyW z)?pAGaYhVUgT{9YnMW$|Y1^;ZRYrw=PS7KoWk%wqdEhW+JmR5UY~MP;>-2pLp2zmf z1M+l#c}r?-U_p!8IMMV)d*N%`eYW4X#!S$Jw#Ctv4urjb? z%y|r#{es%F<)|y$1SEP@J4cHHBO-k>);br1h7_0Lfa%LFg zy6i#dw7nFa6Mo{#TPhS|B_@+`PBg^29ZdQX3F|y0pd7Bjd+FntmwXFn9;(HsF-l}T zMwc#caHbE(M!}hp+n_PQ1FyGT%lnCI=x<(&3VRf(K1Z7(`mr5-u_GPq{729jKV|4e+ z_}fv9JlM}U*x8n@Eii+Gi|sYuYw_K$KV$8 zjhOl|hu79;xQh46m1ERsQ_vGQ*Ubc%boWKt8;OgTZo{N@$JpNR0@K+K(a_3>w(YT{ zGK0<#_jxVkrWL}>#_=d0dID`4E@0b{pLh?cKu-0o=;aPq+BRq%th1HHRzRG6Ls}JBYOg`8Zs)5@)rNrkELK>_KF~y*lKK$!Og8<;(8+B%==NZ{*+pIKa^oWI^7zWK zN`X2KZArcRTCoq#nZj!t;KH}|I5m6`dYdKUj`Wkf7rTwh1z(sSRA}6CBkn^Rn%{FA zY+IcSFJ?Xfw|=eBc3(HvWmhnNHL?v$gFaZ<(!SXpXy3|BpuuB&u(dhfcN))r(|v4< zIE5Ws*Wv1&Dx?{uPg}-YkmFNJDCQOClY0>ul}y41%9}B^<1x&yt-^w9-*NeT4SKBZ zN=El*f!m5LV0Tx97Qc4k;p%g||G15kl15yDD)d#+nl`m}qwSk5pxo03&T8aCg24y5Xu1+{t4!E0?tyl1`@9fC42t^NYb$`81>mpt2Y z3@O3Ujv9h?LeEiGq3EtLzO$H*YQ9%l4|>D%yb=2-tI_s1t=S)7K@V&zpxm$v>wNpr zf^9uX-=AT=%};~{s#F-IM@w5-)6_A}wD)`f%f2)a_f*2=Z{1N>VLRIxGTFXz3;R~7 zkj@8d_S3nMT4F4C_|-yfTQTmc8-<=%5A)tyf*a$@@xx7J<|zaAzu8dqnC{Tw`gRDY zs)3v1eQ?Btb!;cuhXWQpM}_=v*pGcPw;$TlQrXpT@yt;em!iS;igh;*3I(>A6(|x=^F)0@g#VE4REfSxYWw4Fy1y1}eNA&~ssOqRW!HEnw zZT|$Uk9NeQ%f48BD4Kl>_woBQIhr|IgL1ywupQW$JkCsnQT>zP*uWRCJgW=GRu$vX zT^~_@mK=St)1-z&Ml@%f70vdm>>l!a6e#r?gKmSi;7pMOKb)+_sVpmO+ZfZd6epS) z)}CG^PJ&+N(?NIA571Tai8Aed@LBP8jPYpTxHBc{V{J=q)7w&pQcuXgv6c4$bujYl zApEsr9X{Q^2MruA;L20?@!)Wde|YN5_GeYt+|C__6eq%sNxz|U?_}I#nuleB_=_l~ zDN_qIGon>(=wZjvP&t1+)ckk?=Ai-DCF3T?k5zEY)DIlFSC!|7Atilxr3Ej?fhZ^y zeAdX~_uTeq`)w|MOIwE%zh~m=mLgh^q06x&Ry5P(Ciwa)Vs*eE)ZVuo&y9}f7=Uva zv+XyQcq{YV6;mIU_ot^U1ACS8a8pqM74$q)E%5)^cov}%2PXi9g?dxVV?c~ z<*i&%_jok6Gs?vIc2`g->nRR=txP%7bm_H-g zmu0&-t|S*b$UbBLu08v6+$rNmEcpDm1utAQvCYIVwkhvJeVyZYXw@UE-SZK%Wz^`x zAba}C-=Jh?U)MdQ!35t;n2Jk>r?M^LGCGL(`|EC~km$J?-MYZ>C0muCYv35D&;oq2 zel@o-4fpf+^}kc*FX&vPOs$TYlKgcS@>UFm+b#!Sz-?oEF=GIZU$6v&KA*thOP}z* zk8SSfRB1)EF)i-37P?-#%{ByWG*<}1ebZKS*aB@np;xYz~hh;DZ(u@9PK_tvE4ZXFS4$a z&!>mq%c)Z1d=rwpZBLW!;$UCi4Uj#pjqdjeH?5z>>rpiBUwWPW=xS8H#)#Sl*wTc# znef_54G-J6@mPK(p(3@VOinrs~iteKVTV=mSTF9e~b#70}O<4-=Q{ z!_{SH*e`S+lW(fiv`CIenr%yY1{nzp}~Vv_St^HoN0>e%eE%h zgU-}4z!vWH7z>Zz=D_VJMeK5P686v8j`LDqvR_`78s$0Wr==;Gwb=+!Wk*3y)dM?T zOu)Cx_hW7Td6Y|dfK@g1xVM8fP3Z1S_Y#(Ya`jnQIZ=#Hzt7<~j}sV}f0cdOuhG6x zlaAgup@YxuX>O}nI8#~4KF-Zpsd$3@$E9eQ`WA1f$x~#$Chu!a>DfCwDwk{oUzKv0 zZfl7h(g))V`DK{fYBz4_S%&;Om-NBIkZz?h?XIbCGWHoPK4FZJGyL$~ymQ#=aXH6- z)nS*3inJ)jfUcc1qgE4L*ghEnN4MXG(CM@AUH3R#`usGAYe z2Dba~zCyhlhJ4?HgQId$Z}=^2X#bXd*^L;N(wffI*pusddlMm82j9i3ISu$-SBtK4e5`t=D}CG$4Obnr0mdp|ntgj55;2VT0ohnPtO0$K6qrZN zsLy13`dJtV-M8IYx-b|Wr-ZabA);74i3*&rtxp|NM@B2t?O$DLwbh6fUS8@ z9b|!1@=`D``ZT7;RbszqUpOw)mJSrUQ|(}NFdQ=)?#?zqiDn!Q*2`quP#MP)D$rB;ypltL&TjiR(H3@5K66H0Nj{jEnjK zd)-H{y($Xp%eJxKG@X6f>~q{EL+fvtkcPi2=^48~#-8n-1-Dq4d`7&}exUwv1oTW1fY%?H}PYyI?p>=jeak& zffJ@nStis#nom!>J$N45>-OUF)sHzw_8Z&JOlim&2bLRAFjg-MTFuwQo*ftA&OS#m zH7^%8?BnkR6suB@E88$vT9UwzngkN7S#%~SVc>i-9H*Ea}Tm_ ztqxS4^=G|m2it!RqFKvwTzW;0_2CwDs??quGX_AW*$N2F`2_u2?&P@CBKAjB;-ar= zv~XW5?mrvCAQw70dpM}QPlJJGiX4mN&U?jm_$DqH?ONQ$gwrzAUP+r`wz*O3^4V}i zZy(sEPQbByHnNW=o!9FE{ODDU--n1ubX1@6lC9{_z-i#-7Y9|xWH?5C6WcC}SU;@5 z<2Pm4eyT}k1I?(o#(@^4ra-Q#nEg%(_>ldjojyLrZLTupeNBtvmvU^=ASWu@<4y;M z<-_p4I;gjH04A>w!qqd@vW|5aJNj4S^9D6))zh4|3;XWFAyCsM4W3Q;42dpdaQ?D% zgrYpw*UGT>a#?Dx&c5PNyzX1cL%Vh(z(m#(d(4}NJ6Fb|-@YUGyu(AbzkJ5qPUf_B zx*OFz>e5~$`q`loMacn@-u_aLviZ{)~!h$&^589Io z>)`BDnSU6aG_Rtp=6CF1)`Frt8I#2V+lgAR4r50;JKB-x*De_Q?GE%c(L?i_y*Rdy`#TA7T61O>X-yZ0D&#i~6&?kJg63 z3*Fhjx*s_17(F}0Gk%DDf2C}f5OG{_E2@*YQeU|l5ZWRU;%3#r+lXZxUvdo7LvLWT zkv!$}*QDw$Mx-2KMVm%-1N{RlplwYF9JpnM(`K*4RlgI_Nc$@5`pPsa*-*OwIB&cT z?7Yu{=|Nk}p0@1emU$zk|&9y7RlL&X-AbKz3(;*26%6R7^~|Xf8B#);_{hS zUvRAISB^ndp}ynv>CzhuTDLs|Zm27v#?x8s-`!nBK6-M$J-JO9ShysvKAU_?(>=|Jqk{xHz;3j91W3|$TO;Xv6UGzt00F)qq< z^OY(4Yn^G6s68y?vmNc1+GAATReVO{3YKV=b4+9d_fHE-zo$cs&-9C6c;RfXXbVXm^No?C#fr-nn;V78U%+CRJ1#gj5A)?;^Y|*#l{H$l%gT~%4bD{I@E(qP zw?*y9VBBrDme;^N=(s8mhn)FmtiphW5a_Dm`8D<5v<^BCZoOqxB z-}ZgTepB}46{^yl4JPCg=Rn63Y#|{j6o$69F4+~`h&Pjsf=wZ@3G{xJUQ~1?O!Tp zz0RHjHUuVL#bcZpP;X960u&BV;Hq1)UGC zVB615Y$uMx*^bvaKDLVEpugjtpQdb&b*BG^qce}I>FdIHr9q=gN{L7%rHMk_z4ksb zg-jt+rjU6aGE-@mWT+@Z$P`hAhP&5A6hfH_QA(vy$XLnGyS;z-r_V>-d(PQ=uk}3N zXPrl%jtRZ}7L9q-g}oT!!CJ(FaHeY!Q^{&CHAm=6CiXT$_jZs%j6JD=M+D7&S4yXq z*f5J7qJAF#ge_j&$jnX{NY}SoNQ>MYrI{mw>CR!tsEt`?_Wn?i@HSttUieFJ9vZ@1 zFqB3Pvy^6Bx06;jXwvTOohd3M(JuaNw8bkxFm;F7^`>&BA$X(GJ?7G!NGD0P>oV%{ zA(u`Y=E#bV%w_WgQTdMp@K~46M$By!daB6Itg@97%jeR08hJtm;XT5qQpC*flZZ3N^`Pe+S7z{*8Vpwqcb9qgjJ@ z5bIxiM0jf#gcn*Z^mjGMFVH~b#=1&}`4qaR{4gDX&*`^|GuWU*SDEMFJEC5%5%q_% z*fVq_zty&qe)>2%ZNzUnMEtJseka5p$yr)v9lQNeOFAl8E{EB6LUZgZb&Kjt4;lth zi`+g;%A({I8h&Tcx)zgfnHM7 z)C9VHET?xLJF_hv!bMIhf%$HI!s=f(v;Ve=y{M(9ln-LPIr!5Lp8ILKPPnip3@1Lf*0XO)cI&In+06Lzwqm1*qW)Ee=(o7oSA ziKHpGst2E@(h-8c`n{%!TJ3NWtVfDq72Y$AEn1TGIzy>vUt94U^py@Scu3=CSP7j+ zu+IaJFs#mIJ!+o|-%m-ZKdL9KIcz2J3yxBw!#cY8L^`c-Z==x5jajD7Vegwln7_VY zTGfmtpAOd2l~p1~urHo2Z@oo_J?_Yior74W!5MZm?W*9`-mr2Fb?Nwa!~ge$GpZbD zdeUmzXL}KKIM9=QI1tYo3@@+%mlC1%ei!<@rc^0>t0mhf)59Zoi>yN(of>_abJ&b}YEfGFWoAB$pi0|7|+EU^{=Y9^QQEH{Ma%Y%W-zjYB zjcjHi7@eMdn*}dzF3ostD|Me4NY~mNrg>4nX?|>s_-uDr__z|*ZtzdmLG+DzVJ1@c z``*%=R8M+&b1;3psh%2bau?Z)DE4P@ChI%!D|>rUP0C6Te#L*?B!|Xi`YGWKU3O<6 z+y2X!75|E5FM^)3Rg>Pc_gf950+A8PEfalI8l~S&bcb^3aw(hW_@Pq_EIloPK0fv30xY>*8 zp$%EI-cgwaC`K{c>>Yx^+b5WT?<}@WLwKAfQjB&#vF4qrp362Gc(|Ot_L{`r$^_%N z;kdZY&sf@lA8bJ%Eosc--qMT-`qXsNFxqnLA~pHeLF9xYSZQ=VBN6YJn#pfwbFQlt zKF&oda&@6BW;3ljolW&Wu4CEj?u$O*1sg4D$@eyzLVK~6R1P^y*PGVSD9hJ$s8dfi zedY+Uz9at6v_2ThMUB_O$~WtXzP6XNa0;helAGuk6B%0{8O02LC9{!(Y7#Qcd$J8t-|A?%2^oJfo8Z>mABw4LZfTPJ6@_ zt^LT-dUTYu4qHg~{+_3^KL1B0^irUa*scw)4o}-Hj{-ytB7T*y5xxS zzJ%?V-y-&FZE4`h?owQ%orE>vv?k~gwYBZaX0;#B7S(PNnPb7!lvgsV1Ow^kV+(2W z0S75MGKQMue5Q|v*|155~Sew#$!Dv5Z7f!rmK3|mt z@2?}h-`Z8WB+kK(TZHaCbuSHSsHLw?dNOtIwZex=5I)@t;W>X{*Ru?yk;3a-@qG?G zT6mCtxiOHX2CrrpoK7)$hr8mwRf$YQlgN~Im$G~Ik*;}7qdULv7yhaXyQ8~A^sARd zuKSVDfg9N9zDm-p&&Gla?2y6QaDm7N zEOnN;uGvN>*UM=|eFwIrx5Pf0FJP=%FhB8+h4%EFJ=$g_72dLuY7CFk)9Iqu&#`9) z`72p?)K!+>UE~(^>cqJ(?wfIE;oDnE4%0*Eq>j&Ma{mr2&rM|g!V}s0rI$n=yi`ne zY!H2mm2^z}-Eg-9G$b^Q-qw^vy`Cy~hAg)6!2@=v=$+uWe~Y@`Mr!=wD4qKwp6u<<#+kPc9p7$Gs{SND6^E#o|sEBMxUbwyS~xHMNXpU4-vX# zh48U|h#sl4=m#C7OOsrs-}h|km$G%Vgk{r#qehE7$4$1o=Mz?yAhg(q4wBn2!LnvL zNIO1Fr*FFKqYn}d1v|Nyt^bqGtfy3pdQwH2-(OFfbkkCjo$DiQ4_iQ=^*T$_-hZVp z^qpB~g17Jp&j?+tnI-&Hl{BMFq~xgXBHy-&CfvJA^Ax(mAMs$7IY-&fc{!rqDHd#( zsx(JrifeoIkc<-g(dxIy1P@X}(=5GNtJXQu!)LQ?yK339!Og<=?k0seIZBhR`_K>5 zonO!D~%w3-2Fff9YlR&azPG12w`&?JCV) zFSvEzDRhHPGA$u*gm*PmWb73zKpJ`Fg2*Z7s{wD0IxP zEZt69GM^!`+npj4m?$Qdz7~CQBm0rkMet2dQriR%3WFC?pQbyMEY)LaG@P9; zED-uod*LnUOMbC7(&tJ2q^TxZf&tKHB?tBiPVT(OZQW+wT3!h*yj3vM+R|RX?$Vs4 z_R?h=8~R}DYN{1{ofhjGGTZG;WNhNui+S(Gzjjh`Rd*?Ik&DzmE}4deeWIsqtl6|5 zbA;x-S9ns#+3bfenX{9U$Ps8u4dcxur~b>R$(KCAR_O>P+LxUwNoKc>oMZdM4C=fS z8q!cZQHPZ|O3|jP=&7fBY3f)fHhtE4c6i|}c3itm>=)|Nu95meo3xTXw{w(^Y+gYR zAFiQc@5}^OI!^dY;q2qvcs5u2G4s0Jzz%(EFI}m1lytjB3-3IQ%GOL5yvi}QDmFu~ zt}mJ2y|1FT(Gl#L(8IRaNaH)Lp>aAXw0T*jm@%-3X??%PmQMe|WTq<8m}DK15jGR+ z+)`@yF`MT7G8F48gatOs+0c0}*qo(5*qcA%e$DPAMLw~U1|8}recHd9zVG#bMi&^e zgQdQrUW;U_mnF022;uka(~`FI>MT(|OX>T{y>#r?956(q1hi|OP*b4ooBycx2Jt!54#yj;ir2^T0iE| zfYDcI>S$B;q&kUB`guWQEba@x@U5upM3(MLPcdu4Nm4R%qY=Yb)4)-Mlm=P~CMQnx zX6M+Jq__WPWrh#bm0D2DBk)h7=|3J)a^3d-4080DjY20b5zOdkCf8~wg@kpJOt_Vl zWix{=ydOu;xT>>Tx?Y02Imf1!zZITOt6(y9BpnrN>FZ`E>E`)Fy7X}?y=O5_`0EKQ zBkDSf*L=r1Lc)v>+^<+Eo6fo=+yT zUU`}9@!AjUsk4f7>7AC)fxC!oprzFKyo3(T7By4+T9KnX$R@6R#_ErL5q^)BbfNWM zuWBXrxYS4b`Nf)UE#5)*c~sFrm)^`GV1YO{&Io3;m<6Ay7Uy>lX^mq)X+%f}T`??` zE?Vov0`;R=@5?Dd*SX6oR2o^6;OkVH^rc5h=F+6TO0-XaE3Gy?Prn#@vEpL~MRqz{ z=!oK+7FwqH!LEY$c9JG+eheSp52m9>3=`KbQh1>k+1g=`M9#I19W(17GAcGwxrVEB z_mB%+@4B2;UHwhZn@thla~GSv{-V%jU$W67+es5WjHGzM!kfJcp+*fCY2Q`7Sk4_^ zu|J0iwnHIUn%C@X#aFf|ri-K=WG#808cA<&h@k~bt7uA)tLS5ni)&cHv=0AbqhE>M zGTBtjiV+;t)yK51pfl_8d^3X~38I&|`2QI&J{_u<A5%5&5v z_7@FnXU!&>jc1{j%b4%c%VL&@p0uQ?t5m(jUSxoG(hBo*T7S}>jfz{y>t#8@-LBR){yMQ?1~8w2{m-uPVFW=p&f&ag*SJK+4R-TtCwQW`ocPvm`ahKZKd($w`rU5XS(?$uyUJ~%=mY>=+keCz2Obpu<3`$ zzW0>WTJ5BvP3P#)tWs(&dh?dDXyF&+F^3*c*@DJTqDK;QXPk|tgY&veZ3D}w<{KwA z-sOmx5pYe+(I{dox74z}-Iaw_q9>ix>nSq)eIzL*j9S@o+P6@H{rv!J-LzSvMiV{P z@;5B|u~IxUE&rcq)XliB$g*Tpzuj-Bhyn}E`ykuq zmL`0^2dvnoO=Ma$gy&}^oy&5Ru6>_EW6vg0^C9inmqfI5f+efEQqQzT2~JSM zR8n1IBTatbMcKeu+J9XIRTq83pq!yBC-1UgZ(0Per6tZbTPa5Px|)%$wAZ3A;hkQm znu5RjwKtDF@u*;(*8XC^j77Oq^(?f5NxM_cJncwcG3p&c~1 zCZ7)Y+l5u?d9w>9A?%Z9f~eVZ*{32U>E3P&X{fx9H1)I{Ef^C)E#2~I>yZ9}Bg_;z z=i4lZ{$Tf0)I`2Vcwpl9sXMHtH!da9XWH**#)R2ymm-gy+4YP09%?V$urZLd7FtUA z-R&g*5No=+?;N`1`4t)^Q)eFst`}MVLt^iLAvEwG%*ap7ND4KQzTbXI2fpgebX`ZW z9b2~uedr|9esV?3H+U+vV`a%GzO$I;(L->Qi|K%>bm}tXCmq;nEBmzNqL|f!Ox9n# z53-%I6sYJVjTG~9uAbgW@04_ACkJd1`J}UK)YK;;E7{7p$Ykv*wUAoM9K?)?{!(lg zNXJ>K;Q)3#;hdAwFzy{xSC7p(}!i6I0hOX-K=L zm`Y1CZ6x)>5p-4Ud75*3yx`U1SdeO}&=9KGA?(Q2r^09d#?Jm$krsT_l_Gn0m1Yf%r^6?|q-j06vM;ySGEbX0k&!wp z&cHgRYt|~fPeWvwIfb+2jT_DQ1Sg@Q%7myVV6- zwM&Z`I*$|?;&8#r9T#lV4K}0drO45@u|*!*62EUDjaGa)c(t@r}{>Q_fQ4DHQQ z<)hf})sakvD@*onx?;cWChZAvly?0T{a~IlyE>*1({h+AxbVYl@8$DiK0uA=<s;NmsHf5IHp4eCqyHiEY$y6?{@k6 zRkQ2|%2M$d!~e6BQS0rcr1LJ)xgkL!M_)*jBl@%X(SGdf=6(M^->MRd*n%ON(jK&u zOb$6n^Yixz4X%=&HSEgXs!e6@XQwc&&`W}meIhbz?WNiKOavDsa-ZensN&~IT6W1^c)c+MT zV00u!cvq22uoIbVH#$paJ}pxzq(|oH30-Kl;7@L_aW&^dN{L)TR^3|Ys2c=LwZy&M$9b`KWT@!h}m+ZrI6;V?eiTOzOQo632 z)QiufwIvxeu~nHlXbfXh?gfh37ICcayZ_h=;T`>)(L<`*)K|*3I7UrIzN6kgo!HOb zD@1Q`TyRk7B3pNti5HZyEniioVj~;rY~+97r)op@llO}n)(fcpN94bFf%MUIRI?^3he)Wa$b-%Hu!>W?nB4d&N=q;IyTrYC; zH)(&+Va+Ck#LJ#H3MMp0u;%v!x34Vq3K5>S(0IRUyrOf;RawRAq3q|U6>NraG~1Cr0!%XUDvadq?_|;$%Esxu1ghV=Hr--%4IP>5MAdbmbq^qeys|8toL<1FG|s!DoIVc2-lygWm&T>E5Gc`kYoi#(pRk z?+n1ymTF#^a)uP84&;4nZ;^nOT=}vZ53=7y!Dkx020do z%|ciz4Z)A%-L}(y%fAjsa|56;at!o|PRJW9{~!M7O}m^W%Ad_R*2R!@7t zubL_te{>!xcKD8d=M1rHH%|=OP)?%u?vbl-H9Tn78Fi$dvg0-$_+HPF-cy#7q=KLP zwCWICeElkH+|!N2_A+=Je;LARYWT7^S18%=p2L=dq<&N^#yr)>=7AHiS7-}wIJTDu z`Mo7qmnHJG+J8`M=V3B$-4d8p)WDZ@O(yO`%)x);Nu1e72WA=}35riA`%l`#CHFdr z_sb`%*4==BAD?i+{LQ3kL^$5sk&iPL@02Z7&*nL%pYT=rV32PX^MoVgQE7#;%;V!z zeyLp@sU7kgD$E^8k+~sG%Sr)_%x=6o-_wIzm?&DWM3Hgsr}&~(1sHT-jlwSW6Yn}@ zH<>=m3U{UWVg1dnflH1&Tb2qLOEyDzzc=`B$`$O?bp#*V?i9|8J4J@yPeJ?ZyWsET0A3L0 zh&KJNL!T^HXnA$S-Rfx&B;3u1sQTx)?!5(cPOu}%V`t#NmJ3*yb`o@34Y4sthen$Q zftlG@xae6({>Cd|(rPs^k8Ugf9Fu|z*B{0b>$&{ym3Ulre>jZ(zESq7}OO64gDb5B9HLmbksRYvMzC<*Ac#N<-xfrE)lU#2KFWY{a0=M|kJVT+(6N+uY54w}Vq_6n}I2TyEfk zW&EhSJucXxjcNBsD4xF5#6Ck+6xRDI@Q;fFU(n}}yxo&+{OgcQSanq!?jJ2iuW$|7 zLHiK-h?4$j7`_WN8YjWd(!rSS?}F6E5Li_oINobMio6BXZhFO+tsTR!do9EX56|)BXaQe7y@bhIhD! zv=Ut!oN;}$#IH{1hhI13!n4P5C=M^a@7`I+Kc|c@a<5?SkqGExcO3s14d?BK3?f^$ zI&f}P1m_Ol1WTWea3ZdlgqZGwtV9dql4*rbZIv>$@qxT&NFPPk$N88vZ9PD?3`7D5 zr-tf6r#nF;)lh*QbY?@np&tF_@z$gI_gmS&y=rx*XkzmRU`_CP>{Mlg(Qo!+nMXFa zjQGZFZ9}pDhQBylZ6JJY|B2ss?2O}s|08I=9zN~sN$g@elU={6<@=3ZVB^rWaB;{n zK4E_}4(%9$zt@cS2=4ZQ{JL8J{$T}BfASZ3`A8Q}nq9*oZq^V*j}q(5v1n5{Sw24G zJwFyT9Xph62QkwQldHnGi?tz+_1jH`E-)pBbB4p`GcM3-Z3&v=75t!ABnDh}grE&G zpnjASrWj`7i)Sso_VH*u{&Wq9`7Tg@<125T5CZA`88|+mo!rzs6;36#^VpI-Pi{Kp z4)FT>K%93F2kDh8K>sKx=Y^Ad?F=9ob*9IqejOy0cFr=IVl$%?uCK&wL; zIgfJ`Q047Q!PNAbQW1+ojE^j`oMfZd*lttgtq_VW3Sk?`Z_pIhOt3rvQbpwWeIE6NoGvxg$O8Ja@ zL&g47Usycm2tKsvh$r6JW3RC<@mcR!d4NMG9G{U7y5pvy{W2G5yfz9SX?a7R09BaV z+XvDEy7Ky0K8n_ald`p&W}^3QIsd-oK8R;c{_III#>}q9gLA53zFSvVIV2GK$A-Y? z-8yL9@QP%-enOtMCgGaWUJ65(`M{JGVa}h`WSRRfyaKt>W0Y*6fCC(0Z@crg$ z=(61s^;I&l!w?%qp#6Q)@vAZ%eRvK!_SQxBq}}d+H>vT8ZmRN2-886$mjZi^=J;H( z0~?Ie$^OY3C=)_;+qZM-Z^88wg#*ytt1YYG+=nWhQi>y z9k10qiFIxJ|E+zGb`8~VxGV<^R;_{Hf?fFjY7WR^j1=E4hGI&`U|6|1SpMis0A^iV zDWCl?h@2c3kIrBFg41hv*>*(?EX@21@|n}{ziYklrRN?9aC(LA!w>V*A2rcm!E*;4 z${@$LzlAMdreP}g#of#RQlG!$1KxOHMoTtv({|#4jcX98|tkc4VcogsQjGK?Ii z2j!A7?v9NI2Q7K7^Y&13^K2}S^O`Oj=lcNHZi~Wa!`#r%`~d$`)=FLs9Z&Z9QCPgV z1+VO0jDtQmf>PQEJk}ZxW$vS4O3h@hoxBwC&4-}<*h)lYV}*OE8k|=iiE3vSVMgl- z91xuawK){;X8hoTWxe2P#b*NgrdY7tf}fC`!J_IfXi)GO#Lr;p4_}W)|1wmIP~icu zCwf@7)2Ew{b%KP|+u)~77@l36hbr5fp<_}kN&OYWivtw4j+VFWo9}|}-gKKsk156E)*Hky-YfpxzA#-okK(6{nr3lquoi_bd5XEcd9vBEbfAp*pm-B z+8%AU^hbT@4Fg<5p}R2ik8CIclVgpfe6R|3Z<5iYd%AMPjXr#Z(|bPO^sUTe&pQ6Z zCkH&*^;3xYjpUyTg37WH_+akC+|M3zNNzobmb;G1lj4H#$j9Hgos@UO?!eRF7QYe( z*ByZCLr;UxlffvP_>}*9t}6a&h(1V3ad}HQ&TX#*TdnoMf8h@@!jZx8ErTHC*cBYR zu05Qd_7R#_j=-%6PspYyKTzr-KK0%Xbi>e<__+8Pf25hhOQbd2X3cp%;<*lnEN#Il zaW1s1x)w9PUE^z?#le7>Mk1R;Vg8vY2pCn$6S`U|x?fvMB66(YY$qGO%xpT|y_zDk zzcr9&vjoto%Y|;HAK}CF0AAL80+vla0@G&~L$6kXA7*gU6C-f&z%bl!$Q!gm`r^O( zfA@jTB;d6XbS|C^t;J@rQ+}CzTRnxem*vZ1KHo<_m6fn)fCr}Q?cl%HXX2u_hj}q- z;J-S}_SrYs7jqidue`+1jo5?PY%;#=aRe%Q?f+SK) zrpaT#xStASTz`O1Z^X*lX}HQCWG=uBL#*lIU-s@^OU^_8^uKu5dJM?DdJwNS^FVGh z4@@t%5L>SXvbTLq?!5F}+-TzyJTR{-9@f=V{CZ%BWxMvFUU({LI}=7e1>P0Ll0DqX z(S_InEyVlWHB{@rfcsha;?YY($oH{d_}Nr<{v_rR$g_fB(gHUyF?FWLGNXeu<&Cg*Dbh<_wJjKdlxM*Zfkc%RQGf^oTC9EPsZJ{-om0bPtF6M$uImq z4di<{AACO-j-8#%TRpva@}fLhL!=`){Piw6JiH+97IB{2yj_N~_Z`68g?C|1$`iD@ zs*lA#5KHbCBb`1R7fqf60WOarN^Kh)GY%nJ*L8xnv#UTg)(Je;KO&>jQn=#PYm8!A zxWUF1WxkOp&RvhL-w?0X5p-it^Yb-5q44cCviw94ndF@ceGctL z$4RD&#-Ue;>o0vSMOcAh^DX?Kx)w@Re)AEdH>2HYfQkQ=!1Gfsu;yn`?!EN2;9*sQ zMavyvqWN%)81BzgmjvLs9j~B*E`hC=FTlyjU&NiFv4Pq38F1K}gW!fC!Q(D@H1iL)c&?5XPF9M* zu-^P?zg=jg8cTc<2SCWlvCz6L3i6DsAv~`R9Ikf5VS~f)^5d7d*0Y{pE@}ps%`eG1 z3njk(=4@D1a}$0%zmLTW(_}86o1l}2)BpQn*&QXQ(RUHGp*PkZ3MLQcB*3rr+7SA< z54m;h0bjN*hfL0_CLOaz!nxexpt`c3+%e6W{|R`@AAhKkR}L@1mJ<=^Si1#Vheo2e z&s4PiJXcOnZVS=9T{1~_g~57Og)9$vhnLzGtM5t9Wv7(T96{4HB-lv~1%7f*0Qaxmn+ z?ha*tE8&DPhmk{?$eXq~8~Q54u9V@g~SwUdT0cYs?A{2n`~U( zHUj$WI15>ub2yt)AYbvd3kLpJjEWbp(D0=OSYQ?J{~?8wk+tZ$vzq+77R!yMqEpln z;;Ge*|I_L21bY(wK_&8I<6E(v);d_%-5$0#s5A#*`TyR4B8hL8yeVN@Z2Ut32#lN0NKBFR; z%zbhc^yZ)8kLK@1j zb8!~tZ29Ue*AF~^bDz8cgUau+%#e|&Gj#_3JF9QUA0eThs&t3J72-IdqpW(lKJ?v- zJbA@VNF03(^)r-l=Nu(;4la<-()PetMzO>*FcN8ln!<5XBzRZ)!trEVw29gy-!YUz zNBgsnz*ShhGvo4WABO7GFyG!9s_zAdw{1U9`cmTt1#ChZy)$*jbarh*98lRS{ zLOS>Sir;(>!@jBwSbgg}_S+@nbN*P6M(u^-OtGa+PQiR@`*YmK-ki1`n$LBY+ha}2 zXVgxVc-9v#kNBB^iO$^{AAa~X zLzdem*$W1YRiphq>PSiaCa^txmn_M-%uoKUl`o5(36Hi}@fQKNaMSHGaQ#p_)JiU}~#AtnvClR!&a>+oZ3MziSUb;zZ0=c2c~9F|gfb zI+!fj#mj9oN#Lt|?DW=vi2gO#XnG24@GQoEdcumADg5wGLsYsw1B|9dLw(pOUU>5X zc)iVswn>uE9;=bga+S6B4E;REwmiI-mw zw*;4KU%=Zu2Y&7O!k77$i*q@g7o5C~>#K&NYJmqH-*S_`4~m6|k~cW`U7^QVSu%*M zI1c=|3y-dv<9;=YqVbY!epp`4&0N=#b5Bzsprbx*TfPZ=W*HO9@pnPdNfXvDFOwh4 z`XGBVu35fq<$u^it(do0-$N=cIl$9VI;c~-6SSW9loc$|Q}hnBAQxJC(CJpo2+XyB zDSHB7aKQ=r^CgGiyiY4H?9>g9{qaKooh!M|uw=}L(oppJ;igDyki-1di*c1~KQ5Rz z4tl)vfq;N_Bs%(p?BHQFu$^tM$ZF~Z;yIFc`Ed!GyEx##``){l@GcJFaC6N?@F1#W zknSv=9I;LG;paf;Q64*oC*h4c4KnEaNgg~giklqCf)__#qDQ?C_ADREYiG^|?>~gt z`e#7oY(LNpuOO*?Zt+c(Ju&2UDzt98KVspL`laxYmNp3gpGdCD>D%2HOc9G=n5G}<=<*1>CF$<{b>c8mt>IGn_XpI1}-)A>6m9^jY1ti$Jq zD)f-1I_|&z3U~C`i7p$m!LizgCoT)e2B%kW3HotcosqJKHA!Sr$J^XHs)J&3{6bmw z1qT#05#KSJDl8l~!ZPy=S=u^(K0!<>{ki!#yxboRxdD6Ohe0zra4-`uZi$CwZ)^Cm z<;P?{`n1QZdHZ2*;y#jLIvbvCFC}~F1v&4b3*(}Uaqf`gu&{1F7@XcGOLp#ovp#R* zxBd2FtBx({(IW~pU0=w@T6#kJx_$6Mew_>)brz!AHj&BJ2Iw7q2;3mGM%QP!JS;PG2ID9IN9Ouy&7~jxrNnLhsEn0R$$2KJ$UPdr_jt)V2r(*yL!k+ z5d9YXoP%g%wiEV;=R?K5aIh|l%C*2A&^tjL<%waK`r@&N!utxi>a7FKzMdFrdlWZL zu_gB2vq(eu6q&0-hHU->N00pb6UegsBX}n#1{z#?D589q6Yt2|IDXV+tot2_z9VY5 z`pZli48M(YPCke8l>>0lmx1u<(WP9+E?vRWRYj3kaS~O9kCeA0fy)PLkt0PVFifkK zUok%ekMExm*WC$*?tFu9QlD|XQ753_gb_H#rQ!WhEo_{t2JW6=sOVQF^KWi1Gr3kE zG|L7^UOtuI9TJ6ISGS`>BCp~0(WPXO%m&e{yL|AJ7_K))mF`FT<&3>G|2*sJI3Phz&*HhP^|C+Ya!@Ck^IqIBmUIrCQMCT%ZHy^AsagC z2-k8fC4D`1;3Mq>Z1epnuhLjR&XXXb9rpXD35jOetQREr)mM zsbsinbx!eu9pa1*#9Sj2g-J*_YTo`Rn^?OU-Al|cyuuQ1d|U%!-ZHeL_!fHvCf5EYtx1pg7oRAcJ8y(cwPqAryiyToMSt1wJ3m0J zDhkE^#`nFgh5|PQd02mk=cg~@KYI^H$Jnbx-)aSk-8Bi7I~RNSkK74Xz4nnoJe~C3 zPzbdLO?Zm4EmoHskoNoh`LoX|;Q2TihSQ7kXM$k%r8EW!~+xp1!6H$Lb^Z!k@J$Upn4(+Z_E;8mUuW_cN8e(DIAtZ58G-W(R6 zEsjJyzlyDMcFM*t*o_00zT#FhyOG$_^Ti%N4;Ky0#~O!U&@uZ5xe%!a58r3zj+>w@ zwBhM!;ZWqUK4sW`6xeDe8xIsdq778m_D?CLlR z_hUZRK0N_0GyCDq0S~#0?F9LD!=og(Y$VRVWkzFfYr~AZIiNIg72Mvuo6nkEO7a#d zE6!a@;+qW`dC=qeJR`zIF=D4W4t(V&-yUuWTBE;W*K_aT**1F=x*)t|U2%2ZZM@uG z4X327hcn6{@b%MOZhT`u(KEEmzS$QUT{&0yoG>Yz!)eBet5TJ?khAS-KLB8H*laQ#Ib% z*%`LKVWiXBIFF78bL9P1hr{m;w(!g29`v}V0d96*$l|`YaC!7z{I8^^sKd*M?X!J& zZc7Jvsn(90`3%M1mn!7*_9Q_CnS}Mht#ajZ6VSe9fEzq7!j(JP!n+)cL(ceszd<|D zjL=lX*xkylak>Di7vp*DwmZ1wg%eiXdCbQaJ>s61?cw1&1L`_5L3Z8C79%<|@E`NG z@qYjP;fFHn$yw)XJToT>2NV=>4Zq1a;Oz*a|L!NQni@(17M;cbqx)Fc`jDh9dPG)Q zjgzI1NI?EU87^-4z?VE}B>!dYCDki_^9##MaQFEwJT)Z@*QpOf_bomgYZwSBj=#=X z2{!#_;j1OeP;F*`8#A2Y&Jlzkc6)J$_G&y+lbqXqW1Ytn^Mh!(q=_U(WI>eWN!gN(DcKN zS3MgJt73|||LY4lCshUd-F6|u!y#K5rwYy>iulfRMdy-TP&eTY^qbI%XUCNjraTev zZd!~Tt|daA%YB*fF=6eO2k`D)5(GN#lBN4M5p7R*c-3(pY-v15-jqk-fuTL%LHp0- z*9GC&YN^rO;70y(y&0(JKgZ0DdURmlSo!nulfZA_I9T2GhzNd0ej!zf=zu@2ymk<6 z`!u;L6xZ<6ffnAp>m`8?C0 zJwEI62=9;F$JeP%mv1xmMmtj_Me_J|bgrH!zAr4;GH)VKh3VeyFIh{$S>-$-F{hQ)=VWu z-J0dFa;CYguIuT4YaEJPdr+m7OX0(mRM~r*$58X_9QF@%g$`bMIEr+KeW!wOe#K(Q ze;Wu#KEC?LvB>(znewfdNAt1kB1CWT88%fF5!0^vJZYm@^# z%kjspnw>!VsRmvD`#iAS0U+)Vul=+J-LGE8zweC|`j>ohi(N0C(!rPyV~2P^N>}oB z^%f9*FDWUy1UY$|vEQ3Pyt7&mhAh0mUkN_na_K-AJ;E1mWIiFsD)XSeRUz)@M{>P% zKCDU)0{3Khv|L_9J`B1^rcBv`&}Tm!ord7MeF&_X|A>3kozDH>d7kV!stbpYU4Xr+ zRkDXYdh_txfVRVodAhuXTvBdAyOo*zpN8-{=MuhelA*G5H?oX$7UxMDzDkWD>`xsp z^4Saf+!iA*QpdzwdWuumo^h}Lx?`fV8Tlm5z!$@k;bGx=9JQ_rK1|z;>wPR>Lc?7g zUPqv?zcXkZ|0HzQ0`x0vkyXvi0j=OWIL&?<+`F?}XrD9TL;VI=>bITj>=TW`1A;^C zy9hn%wk-4OD36J?GWboxP&4W%wEADfKP~+|!YkgAB;|BI@jo~D*r~dpJANo$J=v2~ zbld5Xec%XMtCWzyQavjDHXx~^{>toMuZFJY7UAc$3rL6&=Q$A$WC4#7duJNOhu?X|3g zZ<>&Sug076{+HC~hmYY9555(__$LgeF*J8{p&h=dr&^2L8KlT}t=k70W_2 zZ-0-M$9ti(U8K-DhvTfL?O@Qnxc@UHJ-rR+O6rC!25&Gg>@@Ed-3aE51Ib2@=lo8< z9n$z*moA;z3Ae2}OZFQjLgl>aV(&Tv`S~Gu7l9+pbLnxDqLvgGK-O} zGIsVSvGPjI^&eRS?t@*xv@lXW_sb;HZtg5&^>-$jWudCrfq6+V_;4<1xOc3Y$ zIV|+K58vo+zPLG_YqSp_mJw_C0Ji-Jw&Ncs>HcO}1@G4R z2Ih3B`NwH;19t?x)hNHG^oYcsm66TY$CFdpb{IcZmHd>_$mZA2@p;&}e@qK`<~0g8 z?sdhM6d&BmN}$NiJ9m#$5dJ7pQ;7cj|2j?4faCo9yN&qGBM*N0TH%r%Utz(JMR2?E z5}eF?As>0!9mH%N{Kpt=zIhraOpgNpRl#fu@(<)Q47g+D$l3dW+pY4R6aPs2DjEirqx zv)uXEWN_|t9k-|MgPlhj;q@~m9H*2o&;Q#Mhn#BTO0l+Nth2{{l>bJ) z&3rVvd>ktG$-M%%>}Hbj5j(hGAjzv`lX0V^m(bxgarc9{z||45_k`oiO=17%JnI)p z5Y}~=?Buvo$P9i1uCES|OYY&qJE@e5dRq2BuD(1Ti|>8k79soELQ+vtQd)TC%*;`V zP!y8((z_IuDB47bkR@x#60%py63?7xW|C+x5-BB8vKMW%ghtf*ZQG2ovQa)-+ zoIQ~YTn|5I+7oq9MwK^M5T}YJTKr@p->9RwruFEa*Kr2p9;Px-84c;X5o7h3dM}B7 z80jz-6Ah8ql4+!?ODf(kohaQy0z7W}!d%~Vl%YlpL7~Zg(eCCC!oQ2m$+0^{ z(()lAGh-TByCWGz?RF5ZFzG_VfqAH=wOp`!yAm3wQGxc!n~->aSWJ8P3qAf825x*l zi$3<;6wDo$3j&Kb&cr((VEy+d>6GAO$~Hn z2FrxiO3UsenG+ev!7K)Bou!8^qIeYl*BUigmZS7_cLl+D78Z)%@_>eJIUyEFpi7^< z0M;)QUauzSVH`?dv=k)CQo?I@HVCl?2WTwjftBS(U^+_;T;BE& z{QBn&etB+28y2i&_Nk~Kl_mMa;`fPYbH^cYzhx#mpjwMW9>;_Rou%kV$0p#C_6Cg8 zsIdmiTj|C0u&#Uq!(QT{X9Rv`Mo`j^YtBE!v`rAmD=bHrezIuQ zKf!QdId#Kf6j0>5b!RH07L7qBG)^Yu~r>|+Exi5nYG{<|DEvWavE(LXDUIur{*;{s%1LF6_tJ0ZTBkbLI$7J2TX~qlrm&`a(!p zX)*UqH-Kth89j`(5bgN(6frj{f$&*4xK=L()?+IK<5WdtV(Nmt-qjGq-bis3rGBAQInGPMi3&ia%FxwLJz}v<$=EI^R=wDes@_2h)*!t`!sPyne z%MM*NN;ha0wXxZpQW~Og4(yCHHy9e!2y~-!R8Y_^yFN6Yz zv-<=mABUrVe(Iu>`E$ru3i?1aRK=`5^^>`f8bWOM`V5Xa*CY44>CD3X`(W(^Wx>q2 z5$17A31R=;9N!U9NH6&&@osMjN?ncwHb1Sw^;NyhmzImf@8w&7%gt^=E!_gFjH?iS z*79Vo{HS9>=50r-#wVc?pAvAaP7Rb4MxnSBse*A)SCEk?+hXns0J@*8Mr()<3|=Fw zXU(j!(7i!;9r71E?^dt5TwQ_2OUyvt5^CsN-!@d|lLYh^%7}6gtYsc-i$aR6&iJ15 zI+&-c3;whJjEuj|VT{y!g`Q7ufdfjGXm|Q$RG$@3;JSg?NC&9@(5imXW$T3!g%%$pr$>I0Q-ZWP18yQ<8n`8z1?Y?$GsS{pLxvcv;pF%?j}ZB zrI6|WRSCSO#aL|cB9Zzu4bk#7Mdu7FbQD?%%|I$$>cJTSPOj!aWBk;HaG zl>9Cb)S1r#%l?HBo_;ZmuiPPG%9BQB{@jlQ{1F4_aCdM;`8lJMdJ!4!EP(faAG0$}9XYOkh6XbCBP9h}v}0E} zVSBF~ygfQwIPJ(8a1^94pO%v7$iz|RLEl+0!tN!`&Q>8@eFCdrwFH4P;7iS2Vgay{ zt_DW@X*ByuJ~5hp2~-Bgf=Awcs6Tfc&|h>81P?g_tzC;z_li5T zFESS4TtIv%b_cY>BeY~Kfegf=L~@{ zo$#RF0U+!72z_>&fQDPIWL+_?A5%;8#vGFW&RKX4Xl#>T; z>1E6(mo-cor-d*lS(9KZZN4z%1v9UmV z*#$7BDc<0rDk`-93qJ2XB=A#uLhKwLNX+rg0M|3efv=;#z~)z&C;#hb5%}ysgy)h1 ztbZWZ$LFIBx1XR2%`@Q8!c78;N9TarY0T$FVm{D!5mJfC1p}%K8q)?1jr%Uh1Vbox z!4AeIi)VH@hoA(9--H~S0C2wz7_GU1Zlts_&G$lp_7)rP?`REBs;VV+pOga$wp~o$ zmOhZ|`T|5q?m-g9hZuJ$b#UpVvGClsogh3U23&g=0j%HtW@PA1K>11*vhBITI2`(b zilHlb@n{KHOl6>jh0~bWmyf}e<4K^vr;b@}X9Mn;r3&rC9x<{Sn@}OLM(Yz)(dfVy z5PXINwMvhOJ%<;d-T*};r*aT^>vRc>JXR3*YbY=;N=mdz@RTsyJ;Gp)*8KCn&B)Yn zDd{qB8C*=y7MvW{%Z%~+mNVxON?&q-|EzlebIVNg$9({E&KCRm^I*n~2$bWJ0?x~H zf`CH_%)Xk}sQJMp04lo)F4+><9uhVCve*- zMk+N0pd#Z4bo0thp!|?P1j6U-Up9E>aRFKAE<`XO2`#u54d$5VGY?DhZhDv4B73_b zG-*E`)wFv$$Wu=M_rmlDtbq_5S!9m!bcY}@Qyr9BTmbzV?ZOCMe_~?Hd6fFmhUk8J zt|m~?hfuwh1D4cvF`G)8!0IniOxp%uB76QG)D!-fz?uuGj0K5 zWc7hXgw(w=AVg^<_*<(<+$dj%I`2!7&{|rwecxg*rkVWl{VB+DOhsqnwt!f*%fzYO z0(5bw7|7VsY>vH0Q2eB}>J53{g)wGJ(b?tM$i8MSm~$u`_-_71jQof|t}(|!cHkGL z?B#B-&@n_H6M%J0gC5KwPej~v6l3tds*b+f$;_&h5ILj2!X36sOqk{iroP!4{H_v+ z=1n>T3{As<@{tH)-3%5*C*A}*w}%riM~YBDH_r?v88Q4~+z%L~j=kU)SUkFI1`d~~ zqU@S#LB_Ibte2}sazk<`Q)fQrcgu*bbu=uipBlpm9E*rh?o)4rI!$I|uQy_0xjlBP@ zLm*gk4(+z0z;MugFcfbJ><;c_8b@W&Jtru<-f95)dW*o%3DdysO>4oP@%4hIzDa1C zZ#9~`bqKvpGr*V_fy+CuAbbbL{5~cUcrR@NSYtzEUu?p9=`^Hct_sYn-!QLBr--J{ z)d0W0>;u_z^8xNnvDh)R8BKJR!S{^&7~1qaI&P{CzP?ojV`s&vT?b%~Z$v)M#CO== z84ukou-K;nR5cqDUv{{GDJfIX*)3<#p(uB7|KdcTX_pQ2awL%>@{nGmoY6)GrFMj!7PlA2mFAVY2`QaiCukhuLXlCYh}d;>dy z6+9@k8Hz`bE_Wf#*P&qbY!iYK=;6Mc{uVX1U2S2GpnmU z*HkIwAY6Ojj8)D9IQN2|eM-1r&0dIk7iQjF9(2r0LrDojM!fbA6FBz(U^cx&t1EEK zn;gWvO?!_9cK;%7f4mA*N{Sfm8@qsU&@&V;(huVA%tEcq9N>1d1Z7B10K4ZbC#>5a z2`?`*1gXnZQR@$Ra9HpM_c7IA&TIn`H}OGJch`W~n`_XYzyM_w0cA$WBxx|sKc7~H)j!>5q8p|6Olzq@m z-ze1apEodlXa-DALLzoK8W%HPztvSTpl%-(R*U7;1+BFnBv56^>SOn}%o`T?<5cHXM2L;_L!LZ#= z=7f?K^R%ZA_dG@dstXsEeQ8K{BnG*5TLLSYcW6^wiU8j~3MM}84y#8S zOc}7vTmrB`cbV0)<3$mESzyahCGIDQLe)!)7`JDJz+c`SmCm1wXDtj8!|GX}Az=;L zUBL+tSmy}w*+6Ee&!IsXNfL7tL{*Ya&6}J6U>1^tIm1Saa9oS9%P^*h8zr7S#rKVE zjmSP@0W(`a7CfClIt9z6!?rmYaK;!7c4F zv|Q5zbY$-Vwh~T^alZz*KQw`Pe`O{zvoQugX(Np7I|;0lM1E~GfWJ2lCAQonCR$V? z+apmx;#oPMMa!|~FOKPMHXrMg1Leia2>I;6T5|-}+H3|@PXn17*H5A@9-mpqY^;e4 zW4iP7t{YDwtb>GpY z)J9|+lwfhBz<@ZJ_zF}U=wptJ`l4J1O)#Ucj2Y{@v%ak^jC(4MR&CKC`u|ihqq8-T zW7|fs)9?hC=Ig+Se%b*&IKccjUz(&O{-Nz_U!jgYE1AV*H1T)c9Kk{^6yH}KMKj9t zP~4ZlgrmoD;mW(kjB~CfGilv5bkSxq@CmXdemU#_d*Z$bV~6H|OE-4{%;z%OJ7bsv zvrDM@whD2_V=37)e=ES+bPK5?6->kU0#xwNn6bAr6wSud_xfbdGu94&nZPCiI(qdt z=xKLF#+lB^+Ah{9Y%$%Da@h)MX;)A8yHo(CRqO<9M|3w zqH^!$AnxmV&>zt;rk@lZy;esgx)5m z53d7Nb7YZLYZvjnKt{0cMm;*9?1gsU6epdW3lLM9fW~z1^(`V~uM{!XPtM$IP#_Jt zYl5enb|b5kjljG6GqLQx1v>ZTFgmpM7bw2|m3UwB7{y#ZhVPbTz|XX^%-Zx|uyk)I zs2g2C%*jWDkH;$@J-?fXn^28TmfmM_q??4!YRkcuKuh#1zZ?{FS}`x4d_jg;vNam6 z$|9X{;lu=))8NR`8ph3Zqg^S^>dXz87rXe~pPbtB&MX)Sz2`7l};$wVCE#F%&pUo0)bW$L}XMQOuu8 zaJ2V7P`a;NxH+dA)#K>~v%Us{$!R+1y{;Iq^cth|^#U5Z+e%({nsEJR2(WIA_|+*7nx9yqx&CE%Pgw%0VSxqi0RxNmZV`u~ zZX>uu$YAYLbxz4v0Xjf{@ahl{@OLILIZH}Z^p!#OVSTt?YZDMmoB~cB<-tFxWFq;T zB6?ey1fsj!fzAA8FlU_|cw%*hsgtT8Emn6^a6BA?<;SK+U1f=Yriis*~k>cF3<nN8jhFpke0F=!g_jeRQw1LeH5YNCL#gON9Z9@Eev>z_w$`v zF#df3NPT=1$ZtMdz4eqT(&;KfXAS>=Ws@qvuDAP`TE(46|3J0S9z_G(!-gWxD`SmF z0j}koz;uxsN_sjTbY3mQ{khlC=5|xTwhwpEnAYml<=2F`b_|++Nt@|&vjpG648R!I zzGY{!p#9Sf&cI~b!rsdx;mR!kv+rrk&TjE;ck=2mE*;XP)s@gd=QZWl`7 zywDi;ZQdkB)D@Qy5~t09(~@MSc2*A(KeLO-DS0CV3a-f7lm@FWq#^uHiPASE|LZG% zc0mB9?oI{Ky=RgC6HmenNrB0`5NO|e63Kin!uK?5K}MrEu19i_pWS9KR*%2RN9;BioQjbf%5 z+A<(TDqr14L?3xov*KqEN{*Q!oUD*Frb7`8x7{G7GPvF!5}^~%4uK;WOZGi0&W00a|21K4hbODpBFOomwxEu>+ zf8GHS_@_+dD?p|If^d^~Mzwt*)7DUdm{>(HX+Z{Y|D`xN zHorn`=LTTUNP>_4b~TP|lSO+&J(!Nx8;qNYvrCm&~U?+ zF+COycK2;ZxWAoQo8pJGte;>m=m63COarv6P7q4^ae$xnfw{2L9PDzMNQPcN$oTyy z!RSwJ0AF^!1W#7vpu)C3V$Ho=LiyTraN<-j@=^W{?oQJOXz2iR-QB_uSJUX!{AJV2O9sNmWa(-3QCsjMWfrcjrF}U zm8P1aF@5S-pXY+&CFs+nQsg^*is(>#0@h)@6DHnNBw~Xl$dgh5!vDApz<bwHL2k&1?|TOL>`Wcgcr%Bzf{>eX5m<1f6X5&% zYF1f7g!df~ySJ6VdOAU7kA+Y-41)h OHCc!cW+ZBQ=WN*KH`MqBJ|5VGxgjH%%s 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 +b)MY3 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 pRF; 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

Gq>WjX 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 p^Etxi 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 literal 0 HcmV?d00001 diff --git a/public/assets/js/codec2-emscripten/codec2-lib.js b/public/assets/js/codec2-emscripten/codec2-lib.js new file mode 100644 index 0000000..fd6bdb8 --- /dev/null +++ b/public/assets/js/codec2-emscripten/codec2-lib.js @@ -0,0 +1,127 @@ +class Codec2Lib { + + static arrayBufferToBase64(buffer) { + let binary = ""; + let bytes = new Uint8Array(buffer); + for (let byte of bytes) { + binary += String.fromCharCode(byte); + } + return window.btoa(binary); + } + + static base64ToArrayBuffer(base64) { + let binary = window.atob(base64); + let bytes = new Uint8Array(binary.length); + for (let i = 0; i < binary.length; i++) { + bytes[i] = binary.charCodeAt(i); + } + return bytes.buffer; + } + + static readFileAsArrayBuffer(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => { + resolve(reader.result); + }; + reader.readAsArrayBuffer(file); + }); + } + + static runDecode(mode, data) { + return new Promise((resolve, reject) => { + const module = { + arguments: [mode, "input.bit", "output.raw"], + preRun: () => { + module.FS.writeFile("input.bit", new Uint8Array(data)); + }, + postRun: () => { + let buffer = module.FS.readFile("output.raw", { + encoding: "binary", + }); + resolve(buffer); + }, + }; + createC2Dec(module); + }); + } + + static runEncode(mode, data) { + return new Promise((resolve, reject) => { + const module = { + arguments: [mode, "input.raw", "output.bit"], + preRun: () => { + module.FS.writeFile("input.raw", new Uint8Array(data)); + }, + postRun: () => { + let buffer = module.FS.readFile("output.bit", { + encoding: "binary", + }); + resolve(buffer); + }, + }; + createC2Enc(module); + }); + } + + static rawToWav(buffer) { + return new Promise((resolve, reject) => { + const module = { + arguments: [ + "-r", + "8000", + "-L", + "-e", + "signed-integer", + "-b", + "16", + "-c", + "1", + "input.raw", + "output.wav", + ], + preRun: () => { + module.FS.writeFile("input.raw", new Uint8Array(buffer)); + }, + postRun: () => { + let output = module.FS.readFile("output.wav", { + encoding: "binary", + }); + resolve(output); + }, + }; + SOXModule(module); + }); + } + + static audioFileToRaw(buffer, filename) { + return new Promise((resolve, reject) => { + const module = { + arguments: [ + filename, + "-r", + "8000", + "-L", + "-e", + "signed-integer", + "-b", + "16", + "-c", + "1", + "output.raw", + ], + preRun: () => { + module.FS.writeFile(filename, new Uint8Array(buffer)); + }, + postRun: () => { + let output = module.FS.readFile("output.raw", { + encoding: "binary", + }); + resolve(output); + }, + }; + SOXModule(module); + }); + } + +} diff --git a/public/assets/js/codec2-emscripten/index.html b/public/assets/js/codec2-emscripten/index.html new file mode 100644 index 0000000..fc3f7fe --- /dev/null +++ b/public/assets/js/codec2-emscripten/index.html @@ -0,0 +1,127 @@ + + +

+ + + + + + + \ No newline at end of file diff --git a/public/assets/js/codec2-emscripten/processor.js b/public/assets/js/codec2-emscripten/processor.js new file mode 100644 index 0000000..850287d --- /dev/null +++ b/public/assets/js/codec2-emscripten/processor.js @@ -0,0 +1,55 @@ +class AudioProcessor extends AudioWorkletProcessor { + + constructor() { + super(); + this.bufferSize = 4096; // Adjust the buffer size as needed + this.sampleRate = 8000; // Target sample rate + this.inputBuffer = new Float32Array(this.bufferSize); + this.bufferIndex = 0; + } + + process(inputs, outputs, parameters) { + const input = inputs[0]; + if (input.length > 0) { + const inputData = input[0]; + for (let i = 0; i < inputData.length; i++) { + if (this.bufferIndex < this.bufferSize) { + this.inputBuffer[this.bufferIndex++] = inputData[i]; + } + if (this.bufferIndex === this.bufferSize) { + // Downsample the buffer and send to the main thread + const downsampledBuffer = this.downsampleBuffer(this.inputBuffer, this.sampleRate); + this.port.postMessage(downsampledBuffer); + this.bufferIndex = 0; + } + } + } + return true; + } + + downsampleBuffer(buffer, targetSampleRate) { + if (targetSampleRate === this.sampleRate) { + return buffer; + } + const sampleRateRatio = this.sampleRate / targetSampleRate; + const newLength = Math.round(buffer.length / sampleRateRatio); + const result = new Float32Array(newLength); + let offsetResult = 0; + let offsetBuffer = 0; + while (offsetResult < result.length) { + const nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio); + let accum = 0; + let count = 0; + for (let i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) { + accum += buffer[i]; + count++; + } + result[offsetResult] = accum / count; + offsetResult++; + offsetBuffer = nextOffsetBuffer; + } + return result; + } +} + +registerProcessor('audio-processor', AudioProcessor); diff --git a/public/assets/js/codec2-emscripten/sox.js b/public/assets/js/codec2-emscripten/sox.js new file mode 100755 index 0000000..53144bd --- /dev/null +++ b/public/assets/js/codec2-emscripten/sox.js @@ -0,0 +1,5128 @@ + +var SOXModule = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(SOXModule) { + SOXModule = SOXModule || {}; + + + +"use strict"; + +// 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 SOXModule != 'undefined' ? SOXModule : {}; + +// See https://caniuse.com/mdn-javascript_builtins_object_assign + +// See https://caniuse.com/mdn-javascript_builtins_bigint64array + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// 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; + +// Normally we don't log exceptions but instead let them bubble out the top +// level where the embedding environment (e.g. the browser) can handle +// them. +// However under v8 and node we sometimes exit the process direcly in which case +// its up to use us to log the exception before exiting. +// If we fix https://github.com/emscripten-core/emscripten/issues/15080 +// this may no longer be needed under node. +function logExceptionOnExit(e) { + if (e instanceof ExitStatus) return; + let toLog = e; + if (e && typeof e == 'object' && e.stack) { + toLog = [e, e.stack]; + } + err('exiting due to exception: ' + toLog); +} + +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?)'); + if (ENVIRONMENT_IS_WORKER) { + scriptDirectory = require('path').dirname(scriptDirectory) + '/'; + } else { + scriptDirectory = __dirname + '/'; + } + +// include: node_shell_read.js + + +// These modules will usually be used on Node.js. Load them eagerly to avoid +// the complexity of lazy-loading. However, for now we must guard on require() +// actually existing: if the JS is put in a .mjs file (ES6 module) and run on +// node, then we'll detect node as the environment and get here, but require() +// does not exist (since ES6 modules should use |import|). If the code actually +// uses the node filesystem then it will crash, of course, but in the case of +// code that never uses it we don't want to crash here, so the guarding if lets +// such code work properly. See discussion in +// https://github.com/emscripten-core/emscripten/pull/17851 +var fs, nodePath; +if (typeof require === 'function') { + fs = require('fs'); + nodePath = require('path'); +} + +read_ = (filename, binary) => { + 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) => { + 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); + + // MODULARIZE will export the module in the proper place outside, we don't need to export here + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex 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 + process['on']('unhandledRejection', function(reason) { throw reason; }); + + quit_ = (status, toThrow) => { + if (keepRuntimeAlive()) { + process['exitCode'] = status; + throw toThrow; + } + logExceptionOnExit(toThrow); + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + +} else +if (ENVIRONMENT_IS_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 scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + logExceptionOnExit(toThrow); + quit(status); + }; + } + + 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; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // 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."); + + + + +var STACK_ALIGN = 16; +var POINTER_SIZE = 4; + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': case 'u8': return 1; + case 'i16': case 'u16': return 2; + case 'i32': case 'u32': return 4; + case 'i64': case 'u64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length - 1] === '*') { + return POINTER_SIZE; + } + if (type[0] === 'i') { + const bits = Number(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } + return 0; + } + } +} + +// 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 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; + } + }); + } +} + +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); + } + }); + } +} + +// end include: runtime_debug.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. +function _free() { + // Show a helpful error since we used to include free by default in the past. + abort("free() called but not included in the build - add '_free' to EXPORTED_FUNCTIONS"); +} + +// 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) { + 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 {!ArrayBuffer} */ + buffer, +/** @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 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 STACK_SIZE = 5242880; +if (Module['STACK_SIZE']) assert(STACK_SIZE === Module['STACK_SIZE'], 'the stack size can no longer be determined at runtime') + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;legacyModuleProp('INITIAL_MEMORY', 'INITIAL_MEMORY'); + +assert(INITIAL_MEMORY >= STACK_SIZE, 'INITIAL_MEMORY should be larger than STACK_SIZE, was ' + INITIAL_MEMORY + '! (STACK_SIZE=' + STACK_SIZE + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +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. +assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); +assert(INITIAL_MEMORY == 16777216, '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)] = 0x2135467; + 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 != 0x2135467 || 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 __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +function keepRuntimeAlive() { + return noExitRuntime; +} + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + +if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); +FS.ignorePermissions = false; + +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + + callRuntimeCallbacks(__ATMAIN__); +} + +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 addOnPreMain(cb) { + __ATMAIN__.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); + + readyPromiseReject(e); + // 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; +} + +// {{MEM_INITIALIZER}} + +// include: memoryprofiler.js + + +// end include: memoryprofiler.js +// 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); + }; +} + +var wasmBinaryFile; + wasmBinaryFile = 'sox.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise() { + // If 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(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) { + // fetch is not available or url is file => try XHR (readAsync uses XHR internally) + return new Promise(function(resolve, reject) { + readAsync(wasmBinaryFile, 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(wasmBinaryFile); }); +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': asmLibraryArg, + 'wasi_snapshot_preview1': asmLibraryArg, + }; + // 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); + updateGlobalBufferAndViews(wasmMemory.buffer); + + wasmTable = Module['asm']['__indirect_function_table']; + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + + } + // we can't run yet (except in a pthread, where we have a custom sync instantiator) + 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 USE_PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + function instantiateArrayBuffer(receiver) { + return getBinaryPromise().then(function(binary) { + return WebAssembly.instantiate(binary, info); + }).then(function (instance) { + return instance; + }).then(receiver, function(reason) { + err('failed to asynchronously prepare wasm: ' + reason); + + // 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() { + if (!wasmBinary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(wasmBinaryFile) && + // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. + !isFileURI(wasmBinaryFile) && + // 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(wasmBinaryFile, { 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, info); + + return result.then( + receiveInstantiationResult, + 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(receiveInstantiationResult); + }); + }); + } else { + return instantiateArrayBuffer(receiveInstantiationResult); + } + } + + // 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 { + var exports = Module['instantiateWasm'](info, receiveInstance); + return exports; + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync().catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = { + +}; + + + + + + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = 'Program terminated with exit(' + status + ')'; + this.status = status; + } + + 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); + } + return null; + } + + function ptrToString(ptr) { + 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 ___assert_fail(condition, filename, line, func) { + abort('Assertion failed: ' + UTF8ToString(condition) + ', at: ' + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + var PATH = {isAbs:(path) => path.charAt(0) === '/',splitPath:(filename) => { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:(parts, allowAboveRoot) => { + // if the path tries to go above the root, `up` ends up > 0 + 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 the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift('..'); + } + } + return parts; + },normalize:(path) => { + var isAbsolute = PATH.isAbs(path), + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:(path) => { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:(path) => { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },join:function() { + var paths = Array.prototype.slice.call(arguments); + return PATH.normalize(paths.join('/')); + },join2:(l, r) => { + return PATH.normalize(l + '/' + r); + }}; + + function getRandomDevice() { + if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + return () => { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else + if (ENVIRONMENT_IS_NODE) { + // for nodejs with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + return () => crypto_module['randomBytes'](1)[0]; + } catch (e) { + // nodejs doesn't have crypto support + } + } + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + return () => abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); + } + + 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(); + // Skip empty and invalid entries + if (typeof path != 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = PATH.isAbs(path); + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:(from, to) => { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + /** @type {function(string, boolean=, number=)} */ + 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 TTY = {ttys:[],init:function () { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function() { + // https://github.com/emscripten-core/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + },close:function(stream) { + // flush any pending line data + stream.tty.ops.fsync(stream.tty); + },fsync:function(stream) { + stream.tty.ops.fsync(stream.tty); + },read:function(stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function(stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = Buffer.alloc(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = fs.readSync(process.stdin.fd, buf, 0, BUFSIZE, -1); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().includes('EOF')) bytesRead = 0; + else throw e; + } + + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + } else + if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + 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); // val == 0 would cut text output off in the middle. + } + },fsync: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); + } + },fsync:function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address; + } + + function alignMemory(size, alignment) { + assert(alignment, "alignment argument is required"); + return Math.ceil(size / alignment) * alignment; + } + function mmapAlloc(size) { + abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); + } + var MEMFS = {ops_table:null,mount:function(mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + },getFileDataAsTypedArray:function(node) { + if (!node.contents) return new Uint8Array(0); + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + },resizeFileStorage:function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + } + },node_ops:{getattr:function(node) { + var attr = {}; + // device numbers reuse inode numbers. + 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); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + 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 we're overwriting a directory at new_name, make sure it's empty. + 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); + } + } + } + // do the internal rewiring + 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 /* 0777 */ | 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); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function(stream, buffer, offset, length, position, canOwn) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + canOwn = false; + } + + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = buffer.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) { + // Use typed array write which is available. + node.contents.set(buffer.subarray(offset, offset + length), position); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + },llseek:function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + },allocate:function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function(stream, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if (!(flags & 2) && contents.buffer === buffer) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function(stream, buffer, offset, length, mmapFlags) { + MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + /** @param {boolean=} noRunDep */ + function asyncLoad(url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + readAsync(url, (arrayBuffer) => { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, (event) => { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + } + + var ERRNO_MESSAGES = {0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"}; + + var ERRNO_CODES = {}; + + function withStackSave(f) { + var stack = stackSave(); + var ret = f(); + stackRestore(stack); + return ret; + } + function demangle(func) { + warnOnce('warning: build with -sDEMANGLE_SUPPORT to link in libcxxabi demangling'); + 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 + ']'); + }); + } + var FS = {root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path, opts = {}) => { + path = PATH_FS.resolve(path); + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + opts = Object.assign(defaults, opts) + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // split the absolute path + var parts = path.split('/').filter((p) => !!p); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:(node) => { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:(parentid, name) => { + var hash = 0; + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:(node) => { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:(parent, name) => { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:(parent, name, mode, rdev) => { + assert(typeof parent == 'object') + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:(node) => { + FS.hashRemoveNode(node); + },isRoot:(node) => { + return node === node.parent; + },isMountpoint:(node) => { + return !!node.mounted; + },isFile:(mode) => { + return (mode & 61440) === 32768; + },isDir:(mode) => { + return (mode & 61440) === 16384; + },isLink:(mode) => { + return (mode & 61440) === 40960; + },isChrdev:(mode) => { + return (mode & 61440) === 8192; + },isBlkdev:(mode) => { + return (mode & 61440) === 24576; + },isFIFO:(mode) => { + return (mode & 61440) === 4096; + },isSocket:(mode) => { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:(str) => { + var flags = FS.flagModes[str]; + if (typeof flags == 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:(flag) => { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:(node, perms) => { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.includes('r') && !(node.mode & 292)) { + return 2; + } else if (perms.includes('w') && !(node.mode & 146)) { + return 2; + } else if (perms.includes('x') && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:(dir) => { + var errCode = FS.nodePermissions(dir, 'x'); + if (errCode) return errCode; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:(dir, name) => { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:(dir, name, isdir) => { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, 'wx'); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:(node, flags) => { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:(fd_start = 0, fd_end = FS.MAX_OPEN_FDS) => { + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:(fd) => FS.streams[fd],createStream:(stream, fd_start, fd_end) => { + if (!FS.FSStream) { + FS.FSStream = /** @constructor */ function() { + this.shared = { }; + }; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + /** @this {FS.FSStream} */ + get: function() { return this.node; }, + /** @this {FS.FSStream} */ + set: function(val) { this.node = val; } + }, + isRead: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + /** @this {FS.FSStream} */ + get: function() { return (this.flags & 1024); } + }, + flags: { + /** @this {FS.FSStream} */ + get: function() { return this.shared.flags; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.flags = val; }, + }, + position : { + /** @this {FS.FSStream} */ + get: function() { return this.shared.position; }, + /** @this {FS.FSStream} */ + set: function(val) { this.shared.position = val; }, + }, + }); + } + // clone it, so we can return an instance of FSStream + stream = Object.assign(new FS.FSStream(), stream); + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:(fd) => { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:(stream) => { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:() => { + throw new FS.ErrnoError(70); + }},major:(dev) => ((dev) >> 8),minor:(dev) => ((dev) & 0xff),makedev:(ma, mi) => ((ma) << 8 | (mi)),registerDevice:(dev, ops) => { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:(dev) => FS.devices[dev],getMounts:(mount) => { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:(populate, callback) => { + if (typeof populate == 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(errCode) { + assert(FS.syncFSRequests > 0); + 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); + } + }; + + // sync all mounts + mounts.forEach((mount) => { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:(type, opts, mountpoint) => { + if (typeof type == 'string') { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + 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; // use the absolute 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: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:(mountpoint) => { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach((hash) => { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:(parent, name) => { + return parent.node_ops.lookup(parent, name); + },mknod:(path, mode, dev) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:(path, mode) => { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:(path, mode) => { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:(path, mode) => { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != 20) throw e; + } + } + },mkdev:(path, mode, dev) => { + if (typeof dev == 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:(oldpath, newpath) => { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:(old_path, new_path) => { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + + // let the errors from non existant directories percolate up + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + errCode = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + },rmdir:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + },readdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + },unlink:(path) => { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + },readlink:(path) => { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:(path, dontFollow) => { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + },lstat:(path) => { + return FS.stat(path, true); + },chmod:(path, mode, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:(path, mode) => { + FS.chmod(path, mode, true); + },fchmod:(fd, mode) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + },chown:(path, uid, gid, dontFollow) => { + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:(path, uid, gid) => { + FS.chown(path, uid, gid, true); + },fchown:(fd, uid, gid) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + },truncate:(path, len) => { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path == 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, 'w'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:(fd, len) => { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + },utime:(path, atime, mtime) => { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:(path, flags, mode) => { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags == 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path == 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + // do truncation if necessary + if ((flags & 512) && !created) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512 | 131072); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + } + } + return stream; + },close:(stream) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + },isClosed:(stream) => { + return stream.fd === null; + },llseek:(stream, offset, whence) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:(stream, buffer, offset, length, position) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:(stream, buffer, offset, length, position, canOwn) => { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position != 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + },allocate:(stream, offset, length) => { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:(stream, length, position, prot, flags) => { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap(stream, length, position, prot, flags); + },msync:(stream, buffer, offset, length, mmapFlags) => { + if (!stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:(stream) => 0,ioctl:(stream, cmd, arg) => { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:(path, opts = {}) => { + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:(path, data, opts = {}) => { + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data == 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:() => FS.currentPath,chdir:(path) => { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, 'x'); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:() => { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:() => { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: () => 0, + write: (stream, buffer, offset, length, pos) => length, + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using err() rather than out() + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device = getRandomDevice(); + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:() => { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the + // name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + var proc_self = FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: () => { + var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: (parent, name) => { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: () => stream.path }, + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:() => { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 0); + var stdout = FS.open('/dev/stdout', 1); + var stderr = FS.open('/dev/stderr', 1); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:() => { + if (FS.ErrnoError) return; + FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) { + this.node = node; + this.setErrno = /** @this{Object} */ function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + + // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack + // now ensures it shows what we want. + if (this.stack) { + // Define the stack property for Node.js 4, which otherwise errors on the next line. + Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); + this.stack = demangleAll(this.stack); + } + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [44].forEach((code) => { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:() => { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + }; + },init:(input, output, error) => { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:() => { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + _fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:(canRead, canWrite) => { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },findObject:(path, dontResolveLastLink) => { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (!ret.exists) { + return null; + } + return ret.object; + },analyzePath:(path, dontResolveLastLink) => { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createPath:(parent, path, canRead, canWrite) => { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:(parent, name, properties, canRead, canWrite) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:(parent, name, data, canRead, canWrite, canOwn) => { + var path = name; + if (parent) { + parent = typeof parent == 'string' ? parent : FS.getPath(parent); + path = name ? PATH.join2(parent, name) : parent; + } + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data == 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:(parent, name, input, output) => { + var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: (stream) => { + stream.seekable = false; + }, + close: (stream) => { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: (stream, buffer, offset, length, pos /* ignored */) => { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: (stream, buffer, offset, length, pos) => { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },forceLoadFile:(obj) => { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + if (typeof XMLHttpRequest != 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (read_) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + },createLazyFile:(parent, name, url, canRead, canWrite) => { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + /** @constructor */ + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + 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; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (from, to) => { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + 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(/** @type{Array} */(xhr.response || [])); + } + return intArrayFromString(xhr.responseText || '', true); + }; + var lazyArray = this; + lazyArray.setDataGetter((chunkNum) => { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + 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) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + 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: /** @this{Object} */ function() { + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: /** @this{Object} */ 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); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: /** @this {FSNode} */ function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach((key) => { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + function writeChunks(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + } + // use a custom read function + stream_ops.read = (stream, buffer, offset, length, position) => { + FS.forceLoadFile(node); + return writeChunks(stream, buffer, offset, length, position) + }; + // use a custom mmap function + stream_ops.mmap = (stream, length, position, prot, flags) => { + FS.forceLoadFile(node); + var ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + writeChunks(stream, HEAP8, ptr, length, position); + return { ptr: ptr, allocated: true }; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + if (Browser.handledByPreloadPlugin(byteArray, fullname, finish, () => { + if (onerror) onerror(); + removeRunDependency(dep); + })) { + return; + } + finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + asyncLoad(url, (byteArray) => processData(byteArray), onerror); + } else { + processData(url); + } + },indexedDB:() => { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:() => { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = () => { + out('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = () => { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = () => { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:(paths, onload, onerror) => { + onload = onload || (() => {}); + onerror = onerror || (() => {}); + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = () => { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach((path) => { + var getRequest = files.get(path); + getRequest.onsuccess = () => { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = () => { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },absolutePath:() => { + abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); + },createFolder:() => { + abort('FS.createFolder has been removed; use FS.mkdir instead'); + },createLink:() => { + abort('FS.createLink has been removed; use FS.symlink instead'); + },joinPath:() => { + abort('FS.joinPath has been removed; use PATH.join instead'); + },mmapAlloc:() => { + abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); + },standardizePath:() => { + abort('FS.standardizePath has been removed; use PATH.normalize instead'); + }}; + var SYSCALLS = {DEFAULT_POLLMASK:5,calculateAt:function(dirfd, path, allowEmpty) { + if (PATH.isAbs(path)) { + return path; + } + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = SYSCALLS.getStreamFromFD(dirfd); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44);; + } + return dir; + } + return PATH.join2(dir, path); + },doStat:function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -54; + } + throw e; + } + HEAP32[((buf)>>2)] = stat.dev; + HEAP32[(((buf)+(8))>>2)] = stat.ino; + HEAP32[(((buf)+(12))>>2)] = stat.mode; + HEAPU32[(((buf)+(16))>>2)] = stat.nlink; + HEAP32[(((buf)+(20))>>2)] = stat.uid; + HEAP32[(((buf)+(24))>>2)] = stat.gid; + HEAP32[(((buf)+(28))>>2)] = stat.rdev; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(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[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); + HEAP32[(((buf)+(48))>>2)] = 4096; + HEAP32[(((buf)+(52))>>2)] = stat.blocks; + (tempI64 = [Math.floor(stat.atime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.atime.getTime() / 1000),(+(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[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(64))>>2)] = 0; + (tempI64 = [Math.floor(stat.mtime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.mtime.getTime() / 1000),(+(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[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(80))>>2)] = 0; + (tempI64 = [Math.floor(stat.ctime.getTime() / 1000)>>>0,(tempDouble=Math.floor(stat.ctime.getTime() / 1000),(+(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[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); + HEAPU32[(((buf)+(96))>>2)] = 0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(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[(((buf)+(104))>>2)] = tempI64[0],HEAP32[(((buf)+(108))>>2)] = tempI64[1]); + return 0; + },doMsync:function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (flags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags); + },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; + },getStreamFromFD:function(fd) { + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + }}; + function ___syscall__newselect(nfds, readfds, writefds, exceptfds, timeout) { + try { + + // readfds are supported, + // writefds checks socket open status + // exceptfds not supported + // timeout is always 0 - fully async + assert(nfds <= 64, 'nfds must be less than or equal to 64'); // fd sets have 64 bits // TODO: this could be 1024 based on current musl headers + assert(!exceptfds, 'exceptfds not supported'); + + 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 < nfds; fd++) { + var mask = 1 << (fd % 32); + if (!(check(fd, allLow, allHigh, mask))) { + continue; // index isn't in the set + } + + var stream = SYSCALLS.getStreamFromFD(fd); + + var flags = SYSCALLS.DEFAULT_POLLMASK; + + if (stream.stream_ops.poll) { + flags = stream.stream_ops.poll(stream); + } + + if ((flags & 1) && check(fd, srcReadLow, srcReadHigh, mask)) { + fd < 32 ? (dstReadLow = dstReadLow | mask) : (dstReadHigh = dstReadHigh | mask); + total++; + } + if ((flags & 4) && check(fd, srcWriteLow, srcWriteHigh, mask)) { + fd < 32 ? (dstWriteLow = dstWriteLow | mask) : (dstWriteHigh = dstWriteHigh | mask); + total++; + } + if ((flags & 2) && check(fd, srcExceptLow, srcExceptHigh, mask)) { + fd < 32 ? (dstExceptLow = dstExceptLow | mask) : (dstExceptHigh = dstExceptHigh | mask); + total++; + } + } + + if (readfds) { + HEAP32[((readfds)>>2)] = dstReadLow; + HEAP32[(((readfds)+(4))>>2)] = dstReadHigh; + } + if (writefds) { + HEAP32[((writefds)>>2)] = dstWriteLow; + HEAP32[(((writefds)+(4))>>2)] = dstWriteHigh; + } + if (exceptfds) { + HEAP32[((exceptfds)>>2)] = dstExceptLow; + HEAP32[(((exceptfds)+(4))>>2)] = dstExceptHigh; + } + + return total; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function setErrNo(value) { + HEAP32[((___errno_location())>>2)] = value; + return value; + } + function ___syscall_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.createStream(stream, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 5: + /* case 5: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)] = 2; + return 0; + } + case 6: + case 7: + /* case 6: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 7: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fcntl() returns that, and we set errno ourselves. + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_fstat64(fd, buf) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_getdents64(fd, dirp, count) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd) + if (!stream.getdents) { + stream.getdents = FS.readdir(stream.path); + } + + var struct_size = 280; + var pos = 0; + var off = FS.llseek(stream, 0, 1); + + var idx = Math.floor(off / struct_size); + + while (idx < stream.getdents.length && pos + struct_size <= count) { + var id; + var type; + var name = stream.getdents[idx]; + if (name === '.') { + id = stream.node.id; + type = 4; // DT_DIR + } + else if (name === '..') { + var lookup = FS.lookupPath(stream.path, { parent: true }); + id = lookup.node.id; + type = 4; // DT_DIR + } + else { + var child = FS.lookupNode(stream.node, name); + id = child.id; + type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device. + FS.isDir(child.mode) ? 4 : // DT_DIR, directory. + FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link. + 8; // DT_REG, regular file. + } + assert(id); + (tempI64 = [id>>>0,(tempDouble=id,(+(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[((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.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[(((dirp + pos)+(8))>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(12))>>2)] = tempI64[1]); + HEAP16[(((dirp + pos)+(16))>>1)] = 280; + HEAP8[(((dirp + pos)+(18))>>0)] = type; + stringToUTF8(name, dirp + pos + 19, 256); + pos += struct_size; + idx += 1; + } + FS.llseek(stream, idx * struct_size, 0); + return pos; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + 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; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: return -28; // not supported + } + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_lstat64(path, buf) { + try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.lstat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_newfstatat(dirfd, path, buf, flags) { + try { + + path = SYSCALLS.getStr(path); + var nofollow = flags & 256; + var allowEmpty = flags & 4096; + flags = flags & (~4352); + assert(!flags, flags); + path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); + return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_openat(dirfd, path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + var mode = varargs ? SYSCALLS.get() : 0; + return FS.open(path, flags, mode).fd; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_stat64(path, buf) { + try { + + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + function ___syscall_unlinkat(dirfd, path, flags) { + try { + + path = SYSCALLS.getStr(path); + path = SYSCALLS.calculateAt(dirfd, path); + if (flags === 0) { + FS.unlink(path); + } else if (flags === 512) { + FS.rmdir(path); + } else { + abort('Invalid flags passed to unlinkat'); + } + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return -e.errno; + } + } + + var nowIsMonotonic = true;; + function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic; + } + + function readI53FromI64(ptr) { + return HEAPU32[ptr>>2] + HEAP32[ptr+4>>2] * 4294967296; + } + function __gmtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time)*1000); + HEAP32[((tmPtr)>>2)] = date.getUTCSeconds(); + HEAP32[(((tmPtr)+(4))>>2)] = date.getUTCMinutes(); + HEAP32[(((tmPtr)+(8))>>2)] = date.getUTCHours(); + HEAP32[(((tmPtr)+(12))>>2)] = date.getUTCDate(); + HEAP32[(((tmPtr)+(16))>>2)] = date.getUTCMonth(); + HEAP32[(((tmPtr)+(20))>>2)] = date.getUTCFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)] = yday; + } + + function __isLeapYear(year) { + return year%4 === 0 && (year%100 !== 0 || year%400 === 0); + } + + var __MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; + + var __MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; + function __yday_from_date(date) { + var isLeapYear = __isLeapYear(date.getFullYear()); + var monthDaysCumulative = (isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE); + var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 + + return yday; + } + function __localtime_js(time, tmPtr) { + var date = new Date(readI53FromI64(time)*1000); + 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 yday = __yday_from_date(date)|0; + HEAP32[(((tmPtr)+(28))>>2)] = yday; + HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); + + // Attention: DST is in December in South, and some regions don't have DST at all. + var start = new Date(date.getFullYear(), 0, 1); + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; + HEAP32[(((tmPtr)+(32))>>2)] = dst; + } + + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function __tzset_js(timezone, daylight, tzname) { + // TODO: Use (malleable) environment variables instead of system settings. + 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(); + + // Local standard timezone offset. Local standard time is not adjusted for daylight savings. + // This code uses the fact that getTimezoneOffset returns a greater value during Standard Time versus Daylight Saving Time (DST). + // Thus it determines the expected output during Standard Time, and it compares whether the output of the given date the same (Standard) or less (DST). + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by stdTimezoneOffset. + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; + + HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + // Northern hemisphere + HEAPU32[((tzname)>>2)] = winterNamePtr; + HEAPU32[(((tzname)+(4))>>2)] = summerNamePtr; + } else { + HEAPU32[((tzname)>>2)] = summerNamePtr; + HEAPU32[(((tzname)+(4))>>2)] = winterNamePtr; + } + } + + function _emscripten_date_now() { + return Date.now(); + } + + var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = () => { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else _emscripten_get_now = () => performance.now(); + ; + + function _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) { + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16); // .grow() takes a delta compared to the previous size + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1 /*success*/; + } catch(e) { + err('emscripten_realloc_buffer: Attempted to grow heap from ' + buffer.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; + } + + var ENV = {}; + + function getExecutableName() { + return thisProgram || './this.program'; + } + function getEnvStrings() { + if (!getEnvStrings.strings) { + // Default values. + // Browser language detection #8751 + 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() + }; + // Apply the user-provided values, if any. + for (var x in ENV) { + // x is a key in ENV; if ENV[x] is undefined, that means it was + // explicitly set to be so. We allow user code to do that to + // force variables with default values to remain unset. + if (ENV[x] === undefined) delete env[x]; + else env[x] = ENV[x]; + } + var strings = []; + for (var x in env) { + strings.push(x + '=' + env[x]); + } + getEnvStrings.strings = strings; + } + return getEnvStrings.strings; + } + + /** @param {boolean=} dontAddNull */ + function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff)); + HEAP8[((buffer++)>>0)] = str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)] = 0; + } + function _environ_get(__environ, environ_buf) { + var bufSize = 0; + getEnvStrings().forEach(function(string, i) { + var ptr = environ_buf + bufSize; + HEAPU32[(((__environ)+(i*4))>>2)] = ptr; + writeAsciiToMemory(string, ptr); + bufSize += string.length + 1; + }); + return 0; + } + + function _environ_sizes_get(penviron_count, penviron_buf_size) { + var strings = getEnvStrings(); + HEAPU32[((penviron_count)>>2)] = strings.length; + var bufSize = 0; + strings.forEach(function(string) { + bufSize += string.length + 1; + }); + HEAPU32[((penviron_buf_size)>>2)] = bufSize; + return 0; + } + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module['onExit']) Module['onExit'](code); + ABORT = true; + } + quit_(code, new ExitStatus(code)); + } + /** @param {boolean|number=} implicit */ + function exitJS(status, implicit) { + EXITSTATUS = status; + + checkUnflushedContent(); + + // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down + if (keepRuntimeAlive() && !implicit) { + var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)'; + readyPromiseReject(msg); + err(msg); + } + + _proc_exit(status); + } + var _exit = exitJS; + + function _fd_close(fd) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function _fd_fdstat_get(fd, pbuf) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + // All character devices are terminals (other things a Linux system would + // assume is a character device, like the mouse, we have special APIs for). + var type = stream.tty ? 2 : + FS.isDir(stream.mode) ? 3 : + FS.isLink(stream.mode) ? 7 : + 4; + HEAP8[((pbuf)>>0)] = type; + // TODO HEAP16[(((pbuf)+(2))>>1)] = ?; + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(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[(((pbuf)+(8))>>2)] = tempI64[0],HEAP32[(((pbuf)+(12))>>2)] = tempI64[1]); + // TODO (tempI64 = [?>>>0,(tempDouble=?,(+(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[(((pbuf)+(16))>>2)] = tempI64[0],HEAP32[(((pbuf)+(20))>>2)] = tempI64[1]); + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doReadv(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doReadv(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + function convertI32PairToI53Checked(lo, hi) { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + + var offset = convertI32PairToI53Checked(offset_low, offset_high); if (isNaN(offset)) return 61; + var stream = SYSCALLS.getStreamFromFD(fd); + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(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[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + /** @param {number=} offset */ + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = doWritev(stream, iov, iovcnt); + HEAPU32[((pnum)>>2)] = num; + return 0; + } catch (e) { + if (typeof FS == 'undefined' || !(e instanceof FS.ErrnoError)) throw e; + return e.errno; + } + } + + + function handleException(e) { + // Certain exception types we do not treat as errors since they are used for + // internal control flow. + // 1. ExitStatus, which is thrown by exit() + // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others + // that wish to return to JS event loop. + if (e instanceof ExitStatus || e == 'unwind') { + return EXITSTATUS; + } + checkStackCookie(); + if (e instanceof WebAssembly.RuntimeError) { + if (_emscripten_stack_get_current() <= 0) { + err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to ' + STACK_SIZE + ')'); + } + } + quit_(1, e); + } + + function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + + + var FSNode = /** @constructor */ function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + 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/*292*/ | 73/*73*/; + var writeMode = 146/*146*/; + Object.defineProperties(FSNode.prototype, { + read: { + get: /** @this{FSNode} */function() { + return (this.mode & readMode) === readMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: /** @this{FSNode} */function() { + return (this.mode & writeMode) === writeMode; + }, + set: /** @this{FSNode} */function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: /** @this{FSNode} */function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: /** @this{FSNode} */function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit();; +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 ASSERTIONS = true; + +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var asmLibraryArg = { + "__assert_fail": ___assert_fail, + "__syscall__newselect": ___syscall__newselect, + "__syscall_fcntl64": ___syscall_fcntl64, + "__syscall_fstat64": ___syscall_fstat64, + "__syscall_getdents64": ___syscall_getdents64, + "__syscall_ioctl": ___syscall_ioctl, + "__syscall_lstat64": ___syscall_lstat64, + "__syscall_newfstatat": ___syscall_newfstatat, + "__syscall_openat": ___syscall_openat, + "__syscall_stat64": ___syscall_stat64, + "__syscall_unlinkat": ___syscall_unlinkat, + "_emscripten_get_now_is_monotonic": __emscripten_get_now_is_monotonic, + "_gmtime_js": __gmtime_js, + "_localtime_js": __localtime_js, + "_tzset_js": __tzset_js, + "emscripten_date_now": _emscripten_date_now, + "emscripten_get_now": _emscripten_get_now, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "environ_get": _environ_get, + "environ_sizes_get": _environ_sizes_get, + "exit": _exit, + "fd_close": _fd_close, + "fd_fdstat_get": _fd_fdstat_get, + "fd_read": _fd_read, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors"); + +/** @type {function(...*):?} */ +var _main = Module["_main"] = createExportWrapper("__main_argc_argv"); + +/** @type {function(...*):?} */ +var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location"); + +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); + +/** @type {function(...*):?} */ +var _malloc = Module["_malloc"] = createExportWrapper("malloc"); + +/** @type {function(...*):?} */ +var _emscripten_stack_init = Module["_emscripten_stack_init"] = function() { + return (_emscripten_stack_init = Module["_emscripten_stack_init"] = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_free = Module["_emscripten_stack_get_free"] = function() { + return (_emscripten_stack_get_free = Module["_emscripten_stack_get_free"] = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_base = Module["_emscripten_stack_get_base"] = function() { + return (_emscripten_stack_get_base = Module["_emscripten_stack_get_base"] = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_end = Module["_emscripten_stack_get_end"] = function() { + return (_emscripten_stack_get_end = Module["_emscripten_stack_get_end"] = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = Module["stackSave"] = createExportWrapper("stackSave"); + +/** @type {function(...*):?} */ +var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore"); + +/** @type {function(...*):?} */ +var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc"); + +/** @type {function(...*):?} */ +var _emscripten_stack_get_current = Module["_emscripten_stack_get_current"] = function() { + return (_emscripten_stack_get_current = Module["_emscripten_stack_get_current"] = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_iij = Module["dynCall_iij"] = createExportWrapper("dynCall_iij"); + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + + + + + +// === Auto-generated postamble setup entry stuff === + +Module["FS"] = FS; +var unexportedRuntimeSymbols = [ + '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', + 'getLEB', + 'getFunctionTables', + 'alignFunctionTables', + 'registerFunctions', + 'prettyPrint', + 'getCompilerSetting', + 'out', + 'err', + 'callMain', + 'abort', + 'keepRuntimeAlive', + 'wasmMemory', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'ptrToString', + 'zeroMemory', + 'stringToNewUTF8', + 'exitJS', + 'getHeapMax', + 'emscripten_realloc_buffer', + 'ENV', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'DNS', + 'getHostByName', + 'Protocols', + 'Sockets', + 'getRandomDevice', + 'warnOnce', + 'traverseStack', + 'UNWIND_CACHE', + 'convertPCtoSourceLocation', + 'readAsmConstArgsArray', + 'readAsmConstArgs', + 'mainThreadEM_ASM', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'handleException', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertI32PairToI53Checked', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'freeTableIndexes', + 'functionsInTableMap', + 'getEmptyTableSlot', + 'updateTableMap', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'writeStringToMemory', + 'writeArrayToMemory', + 'writeAsciiToMemory', + 'SYSCALLS', + 'getSocketFromFD', + 'getSocketAddress', + 'JSEvents', + 'registerKeyEventCallback', + 'specialHTMLTargets', + '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', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'ExitStatus', + 'getEnvStrings', + 'checkWasiClock', + 'doReadv', + 'doWritev', + 'dlopenMissingError', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'Browser', + 'setMainLoop', + 'wget', + 'MEMFS', + 'TTY', + 'PIPEFS', + 'SOCKFS', + '_setNetworkCallback', +]; +unexportedRuntimeSymbols.forEach(unexportedRuntimeSymbol); +var missingLibrarySymbols = [ + 'stringToNewUTF8', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'traverseStack', + 'convertPCtoSourceLocation', + 'readAsmConstArgs', + 'mainThreadEM_ASM', + 'jstoi_q', + 'jstoi_s', + 'listenOnce', + 'autoResumeAudioContext', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'writeStringToMemory', + 'writeArrayToMemory', + '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', + 'jsStackTrace', + 'stackTrace', + 'checkWasiClock', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'setMainLoop', + '_setNetworkCallback', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + + +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 callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + var entryFunction = Module['_main']; + + args = args || []; + args.unshift(thisProgram); + + var argc = args.length; + var argv = stackAlloc((argc + 1) * 4); + var argv_ptr = argv >> 2; + args.forEach((arg) => { + HEAP32[argv_ptr++] = allocateUTF8OnStack(arg); + }); + HEAP32[argv_ptr] = 0; + + try { + + var ret = entryFunction(argc, argv); + + // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as + // execution is asynchronously handed off to a pthread. + // if we're not running an evented main loop, it's time to exit + exitJS(ret, /* implicit = */ true); + return ret; + } + catch (e) { + return handleException(e); + } +} + +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(); +} + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + 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(); + + preMain(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (shouldRunNow) callMain(args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + 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 + _fflush(0); + // also flush in the JS FS layer + ['stdout', 'stderr'].forEach(function(name) { + var info = FS.analyzePath('/dev/' + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true; + } + }); + } 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.'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; + +if (Module['noInitialRun']) shouldRunNow = false; + +run(); + + + + + + + + return SOXModule.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = SOXModule; +else if (typeof define === 'function' && define['amd']) + define([], function() { return SOXModule; }); +else if (typeof exports === 'object') + exports["SOXModule"] = SOXModule; diff --git a/public/assets/js/codec2-emscripten/sox.wasm b/public/assets/js/codec2-emscripten/sox.wasm new file mode 100755 index 0000000000000000000000000000000000000000..d7fdef7bd402c1663b9816902779d6ba8bf2b35d GIT binary patch literal 653393 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%0DQZncwG#S}Pn@S|)cDI-PK|O|%~C=RojbtG)iG;k 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

^@h{gOgH0wbABMtnyHxDl2KX9aC~jQ$Z0GjQ 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 literal 0 HcmV?d00001 diff --git a/public/call.html b/public/call.html new file mode 100644 index 0000000..56ab5c2 --- /dev/null +++ b/public/call.html @@ -0,0 +1,231 @@ + + +

+ +
+ + + + +
+ +
+ +
+ +
Encoded Bytes Sent:
+ +
+ + + + + + + \ No newline at end of file diff --git a/web.py b/web.py index a62494f..05f6f2a 100644 --- a/web.py +++ b/web.py @@ -146,6 +146,141 @@ class ReticulumWebChat: return websocket_response + # handle websocket clients for initiating a call + @routes.get("/call/initiate/{destination_hash}") + async def ws(request): + + # get path params + destination_hash = request.match_info.get("destination_hash", "") + + # convert destination hash to bytes + destination_hash = bytes.fromhex(destination_hash) + + # prepare websocket response + websocket_response = web.WebSocketResponse() + await websocket_response.prepare(request) + + # wait until we have a path to the destination + if not RNS.Transport.has_path(destination_hash): + print("waiting for path to server") + RNS.Transport.request_path(destination_hash) + while not RNS.Transport.has_path(destination_hash): + await asyncio.sleep(0.1) + + # connect to server + print("establishing link with server") + server_identity = RNS.Identity.recall(destination_hash) + server_destination = RNS.Destination( + server_identity, + RNS.Destination.OUT, + RNS.Destination.SINGLE, + "call", + "audio" + ) + + # todo implement + def link_established(link): + print("link established") + + # todo implement + def link_closed(link): + if link.teardown_reason == RNS.Link.TIMEOUT: + print("The link timed out, exiting now") + elif link.teardown_reason == RNS.Link.DESTINATION_CLOSED: + print("The link was closed by the server, exiting now") + else: + print("Link closed") + + # todo implement + def client_packet_received(message, packet): + # todo, we don't send anything from the call initiator from the call receiver yet... + pass + + # create link + link = RNS.Link(server_destination) + + # register link state callbacks + link.set_packet_callback(client_packet_received) + link.set_link_established_callback(link_established) + link.set_link_closed_callback(link_closed) + + # handle websocket messages until disconnected + async for msg in websocket_response: + msg: WSMessage = msg + if msg.type == WSMsgType.BINARY: + try: + + # drop audio packet if it is too big to send + if len(msg.data) > RNS.Link.MDU: + print("dropping packet " + str(len(msg.data)) + " bytes exceeds the link packet MDU of " + str(RNS.Link.MDU) + " bytes") + continue + + # send codec2 audio received from call initiator on websocket, to call receiver over reticulum link + print("sending bytes to call receiver: {}".format(len(msg.data))) + RNS.Packet(link, msg.data).send() + + except Exception as e: + # ignore errors while handling message + print("failed to process client message") + print(e) + elif msg.type == WSMsgType.ERROR: + # ignore errors while handling message + print('ws connection error %s' % websocket_response.exception()) + + return websocket_response + + # handle websocket clients for listening for calls + @routes.get("/call/listen") + async def ws(request): + + # prepare websocket response + websocket_response = web.WebSocketResponse() + await websocket_response.prepare(request) + + # create destination to allow incoming audio calls + server_identity = self.identity + server_destination = RNS.Destination( + server_identity, + RNS.Destination.IN, + RNS.Destination.SINGLE, + "call", + "audio", + ) + + # client connected to us + def client_connected(link): + print("client connected") + link.set_link_closed_callback(client_disconnected) + link.set_packet_callback(server_packet_received) + + # client disconnected from us + def client_disconnected(link): + print("client disconnected") + + # client sent us a packet + def server_packet_received(message, packet): + + # send audio received from call initiator to call receiver websocket + asyncio.run(websocket_response.send_bytes(message)) + + # todo send our audio back to call initiator + + # register link state callbacks + server_destination.set_link_established_callback(client_connected) + + # announce our call.audio destination + print("call.audio announced and waiting for connection: "+ RNS.prettyhexrep(server_destination.hash)) + server_destination.announce() + + # handle websocket messages until disconnected + async for msg in websocket_response: + msg: WSMessage = msg + if msg.type == WSMsgType.ERROR: + # ignore errors while handling message + print('ws connection error %s' % websocket_response.exception()) + + return websocket_response + # serve announces @routes.get("/api/v1/announces") async def index(request):

9LLOhc@^#4L8yAP0 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 #REq-ly*xtyh8&4 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