diff --git a/.pnp.js b/.pnp.js index 23394ee31c90..a67d89feaf2d 100755 --- a/.pnp.js +++ b/.pnp.js @@ -837,16 +837,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/types", "npm:7.2.2"] ], "linkType": "HARD", - }], - ["npm:7.4.4", { - "packageLocation": "./.yarn/cache/@babel-helper-call-delegate-npm-7.4.4-5db6f3d54e-1230372235.zip/node_modules/@babel/helper-call-delegate/", - "packageDependencies": [ - ["@babel/helper-call-delegate", "npm:7.4.4"], - ["@babel/helper-hoist-variables", "npm:7.4.4"], - ["@babel/traverse", "npm:7.5.5"], - ["@babel/types", "npm:7.5.5"] - ], - "linkType": "HARD", }] ]], ["@babel/helper-compilation-targets", [ @@ -1075,14 +1065,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:7.4.4", { - "packageLocation": "./.yarn/cache/@babel-helper-hoist-variables-npm-7.4.4-8a2c0c8fbf-0bd7272b8a.zip/node_modules/@babel/helper-hoist-variables/", - "packageDependencies": [ - ["@babel/helper-hoist-variables", "npm:7.4.4"], - ["@babel/types", "npm:7.5.5"] - ], - "linkType": "HARD", - }], ["npm:7.8.3", { "packageLocation": "./.yarn/cache/@babel-helper-hoist-variables-npm-7.8.3-6031c194ad-b5a95ca28d.zip/node_modules/@babel/helper-hoist-variables/", "packageDependencies": [ @@ -1150,19 +1132,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:7.5.5", { - "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.5.5-cd153e23a8-f2e9093fc7.zip/node_modules/@babel/helper-module-transforms/", - "packageDependencies": [ - ["@babel/helper-module-transforms", "npm:7.5.5"], - ["@babel/helper-module-imports", "npm:7.0.0"], - ["@babel/helper-simple-access", "npm:7.1.0"], - ["@babel/helper-split-export-declaration", "npm:7.4.4"], - ["@babel/template", "npm:7.4.4"], - ["@babel/types", "npm:7.5.5"], - ["lodash", "npm:4.17.15"] - ], - "linkType": "HARD", - }], ["npm:7.9.0", { "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.9.0-7118ec95c9-a667ba6930.zip/node_modules/@babel/helper-module-transforms/", "packageDependencies": [ @@ -1389,16 +1358,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:7.5.5", { - "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.5.5-2acf0131a5-9c6058991f.zip/node_modules/@babel/helpers/", - "packageDependencies": [ - ["@babel/helpers", "npm:7.5.5"], - ["@babel/template", "npm:7.4.4"], - ["@babel/traverse", "npm:7.5.5"], - ["@babel/types", "npm:7.5.5"] - ], - "linkType": "HARD", - }], ["npm:7.7.4", { "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.7.4-83963dc7c2-f054ca6a33.zip/node_modules/@babel/helpers/", "packageDependencies": [ @@ -1553,7 +1512,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/core", "npm:7.7.4"], ["@babel/helper-create-class-features-plugin", "virtual:648ba06458b69205b9d640e8c5b50aa22e7dee48527b0736b68ecff39542d68328b3ea2f90fea76b0ec7a6085b6de674b80f4c08297b063e6dc48e357c24214b#npm:7.5.5"], ["@babel/helper-plugin-utils", "npm:7.0.0"], - ["@babel/plugin-syntax-decorators", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"] + ["@babel/plugin-syntax-decorators", "virtual:b34e37f85731a93043708435d3428c840c2d64585b3979bf49faa87ad2e06f75d8b1b6739200280d960fc9a14c100767e511f8e016ccd80fc1e0430af9a087f9#npm:7.2.0"] ], "packagePeers": [ "@babel/core" @@ -1891,25 +1850,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], - ["@babel/plugin-syntax-class-properties", [ - ["virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0", { - "packageLocation": "./.yarn/$$virtual/@babel-plugin-syntax-class-properties-virtual-bddc1dfabb/0/cache/@babel-plugin-syntax-class-properties-npm-7.2.0-e507d069c2-34f4e77d32.zip/node_modules/@babel/plugin-syntax-class-properties/", - "packageDependencies": [ - ["@babel/plugin-syntax-class-properties", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], - ["@babel/core", "npm:7.7.4"], - ["@babel/helper-plugin-utils", "npm:7.0.0"] - ], - "packagePeers": [ - "@babel/core" - ], - "linkType": "HARD", - }] - ]], ["@babel/plugin-syntax-decorators", [ - ["virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0", { - "packageLocation": "./.yarn/$$virtual/@babel-plugin-syntax-decorators-virtual-4fe99cb1c8/0/cache/@babel-plugin-syntax-decorators-npm-7.2.0-5c8225a910-eb0f2eb2d7.zip/node_modules/@babel/plugin-syntax-decorators/", + ["virtual:b34e37f85731a93043708435d3428c840c2d64585b3979bf49faa87ad2e06f75d8b1b6739200280d960fc9a14c100767e511f8e016ccd80fc1e0430af9a087f9#npm:7.2.0", { + "packageLocation": "./.yarn/$$virtual/@babel-plugin-syntax-decorators-virtual-2ce5e7b726/0/cache/@babel-plugin-syntax-decorators-npm-7.2.0-5c8225a910-eb0f2eb2d7.zip/node_modules/@babel/plugin-syntax-decorators/", "packageDependencies": [ - ["@babel/plugin-syntax-decorators", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], + ["@babel/plugin-syntax-decorators", "virtual:b34e37f85731a93043708435d3428c840c2d64585b3979bf49faa87ad2e06f75d8b1b6739200280d960fc9a14c100767e511f8e016ccd80fc1e0430af9a087f9#npm:7.2.0"], ["@babel/core", "npm:7.7.4"], ["@babel/helper-plugin-utils", "npm:7.0.0"] ], @@ -3143,20 +3088,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "@babel/core" ], "linkType": "HARD", - }], - ["virtual:a96e6efd3262248fae2d286ca31b288ad38cafa2de114c27e622800df4004dcb3469792a260b05464c66f538aa0128efffa304614142ee92116ca471a14782d9#npm:7.4.4", { - "packageLocation": "./.yarn/$$virtual/@babel-plugin-transform-parameters-virtual-4259229fff/0/cache/@babel-plugin-transform-parameters-npm-7.4.4-73057dcc00-1eb2387f2c.zip/node_modules/@babel/plugin-transform-parameters/", - "packageDependencies": [ - ["@babel/plugin-transform-parameters", "virtual:a96e6efd3262248fae2d286ca31b288ad38cafa2de114c27e622800df4004dcb3469792a260b05464c66f538aa0128efffa304614142ee92116ca471a14782d9#npm:7.4.4"], - ["@babel/core", "npm:7.7.4"], - ["@babel/helper-call-delegate", "npm:7.4.4"], - ["@babel/helper-get-function-arity", "npm:7.0.0"], - ["@babel/helper-plugin-utils", "npm:7.0.0"] - ], - "packagePeers": [ - "@babel/core" - ], - "linkType": "HARD", }] ]], ["@babel/plugin-transform-property-literals", [ @@ -4148,16 +4079,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:7.4.4", { - "packageLocation": "./.yarn/cache/@babel-template-npm-7.4.4-70497d8e10-fece766ad8.zip/node_modules/@babel/template/", - "packageDependencies": [ - ["@babel/template", "npm:7.4.4"], - ["@babel/code-frame", "npm:7.0.0"], - ["@babel/parser", "npm:7.7.4"], - ["@babel/types", "npm:7.5.5"] - ], - "linkType": "HARD", - }], ["npm:7.7.4", { "packageLocation": "./.yarn/cache/@babel-template-npm-7.7.4-d5348cff88-7ea6038f06.zip/node_modules/@babel/template/", "packageDependencies": [ @@ -7947,8 +7868,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@yarnpkg/builder", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-builder"], ["@babel/core", "npm:7.7.4"], - ["@babel/plugin-syntax-class-properties", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], - ["@babel/plugin-syntax-decorators", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], ["@types/filesize", "npm:4.1.0"], ["@types/terser-webpack-plugin", "npm:1.2.1"], ["@types/webpack", "npm:4.32.1"], @@ -7960,7 +7879,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/monorepo", "workspace:."], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["babel-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:8.0.6"], - ["babel-plugin-lazy-import", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b"], ["chalk", "npm:3.0.0"], ["clipanion", "npm:2.4.0"], ["filesize", "npm:4.1.2"], @@ -7984,8 +7902,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@yarnpkg/builder", "workspace:packages/yarnpkg-builder"], ["@babel/core", "npm:7.7.4"], - ["@babel/plugin-syntax-class-properties", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], - ["@babel/plugin-syntax-decorators", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:7.2.0"], ["@types/filesize", "npm:4.1.0"], ["@types/terser-webpack-plugin", "npm:1.2.1"], ["@types/webpack", "npm:4.32.1"], @@ -7997,7 +7913,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@yarnpkg/monorepo", "workspace:."], ["@yarnpkg/pnpify", "virtual:16110bda3ce959c103b1979c5d750ceb8ac9cfbd2049c118b6278e46e65aa65fd17e71e04a0ce5f75b7ca3203efd8e9c9b03c948a76c7f4bca807539915b5cfc#workspace:packages/yarnpkg-pnpify"], ["babel-loader", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#npm:8.0.6"], - ["babel-plugin-lazy-import", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b"], ["chalk", "npm:3.0.0"], ["clipanion", "npm:2.4.0"], ["filesize", "npm:4.1.2"], @@ -10728,24 +10643,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], - ["babel-plugin-lazy-import", [ - ["virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b", { - "packageLocation": "./.yarn/$$virtual/babel-plugin-lazy-import-virtual-a96e6efd32/0/cache/babel-plugin-lazy-import-https-0f0ba3c3c3-e5b5246c2b.zip/node_modules/babel-plugin-lazy-import/", - "packageDependencies": [ - ["babel-plugin-lazy-import", "virtual:e04a2594c769771b96db34e7a92a8a3af1c98ae86dce662589a5c5d5209e16875506f8cb5f4c2230a2b2ae06335b14466352c4ed470d39edf9edb6c515984525#https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b"], - ["@babel/core", "npm:7.7.4"], - ["@babel/helper-module-transforms", "npm:7.5.5"], - ["@babel/helper-plugin-utils", "npm:7.0.0"], - ["@babel/helpers", "npm:7.5.5"], - ["@babel/plugin-transform-parameters", "virtual:a96e6efd3262248fae2d286ca31b288ad38cafa2de114c27e622800df4004dcb3469792a260b05464c66f538aa0128efffa304614142ee92116ca471a14782d9#npm:7.4.4"], - ["@babel/template", "npm:7.4.4"] - ], - "packagePeers": [ - "@babel/core" - ], - "linkType": "HARD", - }] - ]], ["babel-plugin-macros", [ ["npm:2.5.0", { "packageLocation": "./.yarn/cache/babel-plugin-macros-npm-2.5.0-0d1beee4a9-c1e14248fa.zip/node_modules/babel-plugin-macros/", @@ -34681,9011 +34578,8108 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 13); +/******/ return __webpack_require__(__webpack_require__.s = 15); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; -}; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const path_1 = __importDefault(__webpack_require__(7)); - -var PathType; - -(function (PathType) { - PathType[PathType["File"] = 0] = "File"; - PathType[PathType["Portable"] = 1] = "Portable"; - PathType[PathType["Native"] = 2] = "Native"; -})(PathType || (PathType = {})); - -exports.PortablePath = { - root: `/`, - dot: `.` -}; -exports.Filename = { - nodeModules: `node_modules`, - manifest: `package.json`, - lockfile: `yarn.lock` -}; -exports.npath = Object.create(path_1.default); -exports.ppath = Object.create(path_1.default.posix); - -exports.npath.cwd = () => process.cwd(); +/***/ (function(module, exports) { -exports.ppath.cwd = () => toPortablePath(process.cwd()); +module.exports = require("module"); -exports.ppath.resolve = (...segments) => path_1.default.posix.resolve(exports.ppath.cwd(), ...segments); +/***/ }), +/* 1 */ +/***/ (function(module, exports) { -const contains = function (pathUtils, from, to) { - from = pathUtils.normalize(from); - to = pathUtils.normalize(to); - if (from === to) return `.`; - if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; +module.exports = require("fs"); - if (to.startsWith(from)) { - return to.slice(from.length); - } else { - return null; - } -}; +/***/ }), +/* 2 */ +/***/ (function(module, exports) { -exports.npath.fromPortablePath = fromPortablePath; -exports.npath.toPortablePath = toPortablePath; +module.exports = require("path"); -exports.npath.contains = (from, to) => contains(exports.npath, from, to); +/***/ }), +/* 3 */ +/***/ (function(module, exports) { -exports.ppath.contains = (from, to) => contains(exports.ppath, from, to); +module.exports = require("util"); -const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; -const UNC_WINDOWS_PATH_REGEXP = /^\\\\(\.\\)?(.*)$/; -const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; -const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; // Path should look like "/N:/berry/scripts/plugin-pack.js" -// And transform to "N:\berry\scripts\plugin-pack.js" +/***/ }), +/* 4 */ +/***/ (function(module, exports) { -function fromPortablePath(p) { - if (process.platform !== `win32`) return p; - if (p.match(PORTABLE_PATH_REGEXP)) p = p.replace(PORTABLE_PATH_REGEXP, `$1`);else if (p.match(UNC_PORTABLE_PATH_REGEXP)) p = p.replace(UNC_PORTABLE_PATH_REGEXP, (match, p1, p2) => `\\\\${p1 ? `.\\` : ``}${p2}`);else return p; - return p.replace(/\//g, `\\`); -} // Path should look like "N:/berry/scripts/plugin-pack.js" -// And transform to "/N:/berry/scripts/plugin-pack.js" +module.exports = require("os"); +/***/ }), +/* 5 */ +/***/ (function(module, exports) { -function toPortablePath(p) { - if (process.platform !== `win32`) return p; - if (p.match(WINDOWS_PATH_REGEXP)) p = p.replace(WINDOWS_PATH_REGEXP, `/$1`);else if (p.match(UNC_WINDOWS_PATH_REGEXP)) p = p.replace(UNC_WINDOWS_PATH_REGEXP, (match, p1, p2) => `/unc/${p1 ? `.dot/` : ``}${p2}`); - return p.replace(/\\/g, `/`); -} +module.exports = require("url"); -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === exports.npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} +/***/ }), +/* 6 */ +/***/ (function(module, exports) { -exports.convertPath = convertPath; +module.exports = require("stream"); -function toFilename(filename) { - if (exports.npath.parse(filename).dir !== `` || exports.ppath.parse(filename).dir !== ``) throw new Error(`Invalid filename: "${filename}"`); - return filename; -} +/***/ }), +/* 7 */ +/***/ (function(module, exports) { -exports.toFilename = toFilename; +module.exports = require("string_decoder"); /***/ }), -/* 1 */ +/* 8 */, +/* 9 */, +/* 10 */, +/* 11 */, +/* 12 */, +/* 13 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; - - -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; -}; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fs_1 = __importDefault(__webpack_require__(2)); - -const FakeFS_1 = __webpack_require__(3); - -const errors_1 = __webpack_require__(11); - -const path_1 = __webpack_require__(0); - -class NodeFS extends FakeFS_1.BasePortableFakeFS { - constructor(realFs = fs_1.default) { - super(); - this.realFs = realFs; // @ts-ignore - - if (typeof this.realFs.lutimes !== `undefined`) { - this.lutimesPromise = this.lutimesPromiseImpl; - this.lutimesSync = this.lutimesSyncImpl; - } - } - - getExtractHint() { - return false; - } - - getRealPath() { - return path_1.PortablePath.root; +var frozenFs = Object.assign({}, __webpack_require__(1)); +var Module = typeof Module !== "undefined" ? Module : {}; +var moduleOverrides = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; } - - resolve(p) { - return path_1.ppath.resolve(p); +} +var arguments_ = []; +var thisProgram = "./this.program"; +var quit_ = function(status, toThrow) { + throw toThrow; +}; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = true; +var ENVIRONMENT_HAS_NODE = ENVIRONMENT_IS_NODE; +var scriptDirectory = ""; +function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); } - - async openPromise(p, flags, mode) { - return await new Promise((resolve, reject) => { - this.realFs.open(path_1.npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); - }); + return scriptDirectory + path; +} +var read_, readBinary; +var nodeFS; +var nodePath; +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + "/"; + read_ = function shell_read(filename, binary) { + var ret; + ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = frozenFs; + if (!nodePath) nodePath = __webpack_require__(2); + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + thisProgram = process["argv"][1].replace(/\\/g, "/"); } - - openSync(p, flags, mode) { - return this.realFs.openSync(path_1.npath.fromPortablePath(p), flags, mode); + arguments_ = process["argv"].slice(2); + if (true) { + module["exports"] = Module; } - - async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { - return await new Promise((resolve, reject) => { - this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { - if (error) { - reject(error); - } else { - resolve(bytesRead); - } - }); - }); + (function() {})("uncaughtException", function(ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + (function() {})("unhandledRejection", abort); + quit_ = function(status) { + process["exit"](status); + }; + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; +} else { +} +var out = Module["print"] || console.log.bind(console); +var err = Module["printErr"] || console.warn.bind(console); +for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; } - - readSync(fd, buffer, offset, length, position) { - return this.realFs.readSync(fd, buffer, offset, length, position); +} +moduleOverrides = null; +if (Module["arguments"]) arguments_ = Module["arguments"]; +if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; +if (Module["quit"]) quit_ = Module["quit"]; +function dynamicAlloc(size) { + var ret = HEAP32[DYNAMICTOP_PTR >> 2]; + var end = (ret + size + 15) & -16; + if (end > _emscripten_get_heap_size()) { + abort(); } - - async writePromise(fd, buffer, offset, length, position) { - return await new Promise((resolve, reject) => { - if (typeof buffer === `string`) { - return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + HEAP32[DYNAMICTOP_PTR >> 2] = end; + return ret; +} +function getNativeTypeSize(type) { + switch (type) { + case "i1": + case "i8": + return 1; + case "i16": + return 2; + case "i32": + return 4; + case "i64": + return 8; + case "float": + return 4; + case "double": + return 8; + default: { + if (type[type.length - 1] === "*") { + return 4; + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1)); + assert( + bits % 8 === 0, + "getNativeTypeSize invalid bits " + bits + ", type " + type + ); + return bits / 8; } else { - return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + return 0; } - }); - } - - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.realFs.writeSync(fd, buffer, offset); - } else { - return this.realFs.writeSync(fd, buffer, offset, length, position); } } - - async closePromise(fd) { - await new Promise((resolve, reject) => { - this.realFs.close(fd, this.makeCallback(resolve, reject)); - }); +} +var tempRet0 = 0; +var setTempRet0 = function(value) { + tempRet0 = value; +}; +var wasmBinary; +if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; +var noExitRuntime; +if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; +if (typeof WebAssembly !== "object") { + err("no native wasm support detected"); +} +function setValue(ptr, value, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + 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 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | + 0) >>> + 0 + : ~~+Math_ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 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; + default: + abort("invalid type for setValue: " + type); } - - closeSync(fd) { - this.realFs.closeSync(fd); +} +function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") type = "i32"; + 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]; + default: + abort("invalid type for getValue: " + type); } - - createReadStream(p, opts) { - const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p; - return this.realFs.createReadStream(realPath, opts); + return null; +} +var wasmMemory; +var wasmTable = new WebAssembly.Table({ + initial: 31, + maximum: 31 + 0, + element: "anyfunc" +}); +var ABORT = false; +var EXITSTATUS = 0; +function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); } - - createWriteStream(p, opts) { - const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p; - return this.realFs.createWriteStream(realPath, opts); +} +function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; +} +function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1; + ret = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + array: function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + function convertReturnValue(ret) { + if (returnType === "string") return UTF8ToString(ret); + if (returnType === "boolean") return Boolean(ret); + return ret; } - - async realpathPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.realpath(path_1.npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); - }).then(path => { - return path_1.npath.toPortablePath(path); - }); + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } } - - realpathSync(p) { - return path_1.npath.toPortablePath(this.realFs.realpathSync(path_1.npath.fromPortablePath(p), {})); + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} +function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); } - - async existsPromise(p) { - return await new Promise(resolve => { - this.realFs.exists(path_1.npath.fromPortablePath(p), resolve); - }); + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + }; +} +var ALLOC_NORMAL = 0; +var ALLOC_NONE = 3; +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === "number") { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; } - - accessSync(p, mode) { - return this.realFs.accessSync(path_1.npath.fromPortablePath(p), mode); - } - - async accessPromise(p, mode) { - return await new Promise((resolve, reject) => { - this.realFs.access(path_1.npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); - }); - } - - existsSync(p) { - return this.realFs.existsSync(path_1.npath.fromPortablePath(p)); - } - - async statPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.stat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - - statSync(p) { - return this.realFs.statSync(path_1.npath.fromPortablePath(p)); - } - - async lstatPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.lstat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - - lstatSync(p) { - return this.realFs.lstatSync(path_1.npath.fromPortablePath(p)); - } - - async chmodPromise(p, mask) { - return await new Promise((resolve, reject) => { - this.realFs.chmod(path_1.npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); - }); - } - - chmodSync(p, mask) { - return this.realFs.chmodSync(path_1.npath.fromPortablePath(p), mask); - } - - async renamePromise(oldP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.rename(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); + var singleType = typeof types === "string" ? types : null; + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [_malloc, stackAlloc, dynamicAlloc][allocator]( + Math.max(size, singleType ? 1 : types.length) + ); } - - renameSync(oldP, newP) { - return this.realFs.renameSync(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP)); + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0; + } + return ret; } - - async copyFilePromise(sourceP, destP, flags = 0) { - return await new Promise((resolve, reject) => { - this.realFs.copyFile(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); - }); + if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; } - - copyFileSync(sourceP, destP, flags = 0) { - return this.realFs.copyFileSync(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags); + var i = 0, + type, + typeSize, + previousType; + while (i < size) { + var curr = slab[i]; + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + if (type == "i64") type = "i32"; + setValue(ret + i, curr, type); + if (previousType !== type) { + typeSize = getNativeTypeSize(type); + previousType = type; + } + i += typeSize; } - - async appendFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - - if (opts) { - this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + return ret; +} +var UTF8Decoder = + typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = u8Array[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = u8Array[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode(((u0 & 31) << 6) | u1); + continue; + } + var u2 = u8Array[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { - this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63); } - }); - } - - appendFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - - if (opts) { - this.realFs.appendFileSync(fsNativePath, content, opts); - } else { - this.realFs.appendFileSync(fsNativePath, content); - } - } - - async writeFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - - if (opts) { - this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + if (u0 < 65536) { + str += String.fromCharCode(u0); } else { - this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + var ch = u0 - 65536; + str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); } - }); + } } - - writeFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - - if (opts) { - this.realFs.writeFileSync(fsNativePath, content, opts); + return str; +} +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; +} +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); + } + if (u <= 127) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 192 | (u >> 6); + outU8Array[outIdx++] = 128 | (u & 63); + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 224 | (u >> 12); + outU8Array[outIdx++] = 128 | ((u >> 6) & 63); + outU8Array[outIdx++] = 128 | (u & 63); } else { - this.realFs.writeFileSync(fsNativePath, content); + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 240 | (u >> 18); + outU8Array[outIdx++] = 128 | ((u >> 12) & 63); + outU8Array[outIdx++] = 128 | ((u >> 6) & 63); + outU8Array[outIdx++] = 128 | (u & 63); } } - - async unlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.unlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - - unlinkSync(p) { - return this.realFs.unlinkSync(path_1.npath.fromPortablePath(p)); - } - - async utimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.utimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - - utimesSync(p, atime, mtime) { - this.realFs.utimesSync(path_1.npath.fromPortablePath(p), atime, mtime); - } - - async lutimesPromiseImpl(p, atime, mtime) { - // @ts-ignore: Not yet in DefinitelyTyped - const lutimes = this.realFs.lutimes; - if (typeof lutimes === `undefined`) throw errors_1.ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); - return await new Promise((resolve, reject) => { - lutimes.call(this.realFs, path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - - lutimesSyncImpl(p, atime, mtime) { - // @ts-ignore: Not yet in DefinitelyTyped - const lutimesSync = this.realFs.lutimesSync; - if (typeof lutimesSync === `undefined`) throw errors_1.ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); - lutimesSync.call(this.realFs, path_1.npath.fromPortablePath(p), atime, mtime); - } - - async mkdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - this.realFs.mkdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - }); + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} +function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); +} +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023); + if (u <= 127) ++len; + else if (u <= 2047) len += 2; + else if (u <= 65535) len += 3; + else len += 4; } - - mkdirSync(p, opts) { - return this.realFs.mkdirSync(path_1.npath.fromPortablePath(p), opts); + return len; +} +var UTF16Decoder = + typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; +function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); +} +var WASM_PAGE_SIZE = 65536; +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); } - - async rmdirPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.rmdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); + return x; +} +var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; +function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); +} +var DYNAMIC_BASE = 5263680, + DYNAMICTOP_PTR = 20640; +var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216; +if (Module["wasmMemory"]) { + wasmMemory = Module["wasmMemory"]; +} else { + wasmMemory = new WebAssembly.Memory({ + initial: INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE + }); +} +if (wasmMemory) { + buffer = wasmMemory.buffer; +} +INITIAL_TOTAL_MEMORY = buffer.byteLength; +updateGlobalBufferAndViews(buffer); +HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; +function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func); + } else { + Module["dynCall_vi"](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } } - - rmdirSync(p) { - return this.realFs.rmdirSync(path_1.npath.fromPortablePath(p)); +} +var __ATPRERUN__ = []; +var __ATINIT__ = []; +var __ATMAIN__ = []; +var __ATPOSTRUN__ = []; +var runtimeInitialized = false; +function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } } - - async symlinkPromise(target, p, type) { - const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); - return await new Promise((resolve, reject) => { - this.realFs.symlink(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), symlinkType, this.makeCallback(resolve, reject)); - }); + callRuntimeCallbacks(__ATPRERUN__); +} +function initRuntime() { + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); + TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} +function preMain() { + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); +} +function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } } - - symlinkSync(target, p, type) { - const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); - return this.realFs.symlinkSync(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), symlinkType); + callRuntimeCallbacks(__ATPOSTRUN__); +} +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +var Math_abs = Math.abs; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_min = Math.min; +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; +function getUniqueRunDependency(id) { + return id; +} +function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); } - - async readFilePromise(p, encoding) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); - }); +} +function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); } - - readFileSync(p, encoding) { - const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p; - return this.realFs.readFileSync(fsNativePath, encoding); + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } } - - async readdirPromise(p, { - withFileTypes - } = {}) { - return await new Promise((resolve, reject) => { - if (withFileTypes) { - this.realFs.readdir(path_1.npath.fromPortablePath(p), { - withFileTypes: true - }, this.makeCallback(resolve, reject)); - } else { - this.realFs.readdir(path_1.npath.fromPortablePath(p), this.makeCallback(value => resolve(value), reject)); - } - }); +} +Module["preloadedImages"] = {}; +Module["preloadedAudios"] = {}; +function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); } - - readdirSync(p, { - withFileTypes - } = {}) { - if (withFileTypes) { - return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), { - withFileTypes: true - }); + what += ""; + out(what); + err(what); + ABORT = true; + EXITSTATUS = 1; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + throw new WebAssembly.RuntimeError(what); +} +var dataURIPrefix = "data:application/octet-stream;base64,"; +function isDataURI(filename) { + return String.prototype.startsWith + ? filename.startsWith(dataURIPrefix) + : filename.indexOf(dataURIPrefix) === 0; +} +var wasmBinaryFile = + "data:application/octet-stream;base64,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EDcaCyABKAIMKAIkQQFGBEAgASgCDBBmCwJAIAEoAgwoAixFDQAgASgCDC0AKEEBcQ0AIAEoAgwoAiwgASgCDBD8AgsgASgCDEEAQgBBBRAkGiABKAIMKAIABEAgASgCDCgCABAeCyABKAIMEBgLIAFBEGokAAuBAgEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMKAIcNgIEIAEoAgQQ4gIgASABKAIEKAIUNgIIIAEoAgggASgCDCgCEEsEQCABIAEoAgwoAhA2AggLAkAgASgCCEUNACABKAIMKAIMIAEoAgQoAhAgASgCCBAcGiABKAIMIgAgASgCCCAAKAIMajYCDCABKAIEIgAgASgCCCAAKAIQajYCECABKAIMIgAgASgCCCAAKAIUajYCFCABKAIMIgAgACgCECABKAIIazYCECABKAIEIgAgACgCFCABKAIIazYCFCABKAIEKAIUDQAgASgCBCABKAIEKAIINgIQCyABQRBqJAALYAEBfyMAQRBrIgEkACABIAA2AgggASABKAIIQgIQITYCBAJAIAEoAgRFBEAgAUEAOwEODAELIAEgASgCBC0AACABKAIELQABQQh0ajsBDgsgAS8BDiEAIAFBEGokACAAC1oBAX8jAEEgayICJAAgAiAANgIcIAIgATcDECACIAIoAhwgAikDEBDLATYCDCACKAIMBEAgAigCHCIAIAIpAxAgACkDEHw3AxALIAIoAgwhACACQSBqJAAgAAtvAQF/IwBBEGsiAiQAIAIgADYCCCACIAE7AQYgAiACKAIIQgIQITYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAi8BBjoAACACKAIAIAIvAQZBCHU6AAEgAkEANgIMCyACKAIMGiACQRBqJAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBCACIAIoAghCBBAhNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACKAIEOgAAIAIoAgAgAigCBEEIdjoAASACKAIAIAIoAgRBEHY6AAIgAigCACACKAIEQRh2OgADIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBcgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEDADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQQANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQghBBBAkQgBTBEAgBCgCJEEMakEUQQAQFwwBCyAEKAIkQQxqIAQoAgAgBCgCBBAXCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACCxcAIAAtAABBIHFFBEAgASACIAAQdBoLC1ABAX8jAEEQayIBJAAgASAANgIMA0AgASgCDARAIAEgASgCDCgCADYCCCABKAIMKAIMEBggASgCDBAYIAEgASgCCDYCDAwBCwsgAUEQaiQAC3cBAX8jAEGAAmsiBSQAAkAgAiADTA0AIARBgMAEcQ0AIAUgASACIANrIgRBgAIgBEGAAkkiARsQNCAAIAUgAQR/IAQFIAIgA2shAQNAIAAgBUGAAhAlIARBgH5qIgRB/wFLDQALIAFB/wFxCxAlCyAFQYACaiQAC30BAX8jAEEQayIBJAAgASAANgIMIAEoAgwEQCABQgA3AwADQCABKQMAIAEoAgwpAwhaRQRAIAEoAgwoAgAgASkDAKdBBHRqEGMgASABKQMAQgF8NwMADAELCyABKAIMKAIAEBggASgCDCgCKBApIAEoAgwQGAsgAUEQaiQACz4BAX8jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIAEBggASgCDCgCDBAYIAEoAgwQGAsgAUEQaiQAC7gIAQF/IwBBMGsiBCQAIAQgADYCLCAEIAE2AiggBCACNgIkIAQgAzYCICAEQQA2AhQCQCAEKAIsKAKEAUEASgRAIAQoAiwoAgAoAixBAkYEQCAEKAIsEN4CIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHkgBCgCLCAEKAIsQaQWahB5IAQgBCgCLBDdAjYCFCAEIAQoAiwoAqgtQQpqQQN2NgIcIAQgBCgCLCgCrC1BCmpBA3Y2AhggBCgCGCAEKAIcTQRAIAQgBCgCGDYCHAsMAQsgBCAEKAIkQQVqIgA2AhggBCAANgIcCwJAAkAgBCgCJEEEaiAEKAIcSw0AIAQoAihFDQAgBCgCLCAEKAIoIAQoAiQgBCgCIBBWDAELAkACQCAEKAIsKAKIAUEERwRAIAQoAhggBCgCHEcNAQsgBEEDNgIQAkAgBCgCLCgCvC1BECAEKAIQa0oEQCAEIAQoAiBBAmo2AgwgBCgCLCIAIAAvAbgtIAQoAgxB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdSEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCDEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAhBBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEECakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIQIAAoArwtajYCvC0LIAQoAixB4N8AQeDoABCsAQwBCyAEQQM2AggCQCAEKAIsKAK8LUEQIAQoAghrSgRAIAQgBCgCIEEEajYCBCAEKAIsIgAgAC8BuC0gBCgCBEH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwvAbgtQf8BcSEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwvAbgtQQh1IQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLCAEKAIEQf//A3FBECAEKAIsKAK8LWt1OwG4LSAEKAIsIgAgACgCvC0gBCgCCEEQa2o2ArwtDAELIAQoAiwiACAALwG4LSAEKAIgQQRqQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLCIAIAQoAgggACgCvC1qNgK8LQsgBCgCLCAEKAIsKAKcFkEBaiAEKAIsKAKoFkEBaiAEKAIUQQFqENwCIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQrAELCyAEKAIsEK8BIAQoAiAEQCAEKAIsEK4BCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBsiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBsiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBgLIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEECE2AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAvUAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgQQBLBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAXIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQJEIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALYQEBfyMAQRBrIgIgADYCCCACIAE3AwACQCACKQMAIAIoAggpAwhWBEAgAigCCEEAOgAAIAJBfzYCDAwBCyACKAIIQQE6AAAgAigCCCACKQMANwMQIAJBADYCDAsgAigCDAvvAQEBfyMAQSBrIgIkACACIAA2AhggAiABNwMQIAIgAigCGEIIECE2AgwCQCACKAIMRQRAIAJBfzYCHAwBCyACKAIMIAIpAxBC/wGDPAAAIAIoAgwgAikDEEIIiEL/AYM8AAEgAigCDCACKQMQQhCIQv8BgzwAAiACKAIMIAIpAxBCGIhC/wGDPAADIAIoAgwgAikDEEIgiEL/AYM8AAQgAigCDCACKQMQQiiIQv8BgzwABSACKAIMIAIpAxBCMIhC/wGDPAAGIAIoAgwgAikDEEI4iEL/AYM8AAcgAkEANgIcCyACKAIcGiACQSBqJAALjwEBA38gACEBAkACQCAAQQNxRQ0AIAAtAABFBEAMAgsDQCABQQFqIgFBA3FFDQEgAS0AAA0ACwwBCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIhAQwBCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAXIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQJCICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQITYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAIL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAYIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAYIAEoAgwoAgQQGCABKAIMEBgLIAFBEGokAAtrAQF/IwBBIGsiAiAANgIcIAJCASACKAIcrYY3AxAgAkEMaiABNgIAA0AgAiACKAIMIgBBBGo2AgwgAiAAKAIANgIIIAIoAghBAEhFBEAgAiACKQMQQgEgAigCCK2GhDcDEAwBCwsgAikDEAuoAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIgQQBNBEAgASgCCEEMakESQQAQFyABQX82AgwMAQsgASgCCCIAIAAoAiBBf2o2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECQaIAEoAggoAgAEQCABKAIIKAIAEDdBAEgEQCABKAIIQQxqQRRBABAXCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQGCABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFyACQX82AgwMAQsgAigCBBA+IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAaIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAkQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAACzEBAX8jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMEFsgASgCDBAYCyABQRBqJAALYAIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQoAiRBAUcEQCABKAIEQQxqQRJBABAXIAFCfzcDCAwBCyABIAEoAgRBAEIAQQ0QJDcDCAsgASkDCCECIAFBEGokACACC6ABAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNwMIIAMgAygCGCgCACADKAIUIAMpAwgQyAEiAjcDAAJAIAJCAFMEQCADKAIYQQhqIAMoAhgoAgAQGiADQX82AhwMAQsgAykDACADKQMIUgRAIAMoAhhBCGpBBkEbEBcgA0F/NgIcDAELIANBADYCHAsgAygCHCEAIANBIGokACAAC98EAQF/IwBBIGsiAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAkEBNgIcDAELIAIgAigCGCgCADYCDAJAIAIoAhgoAggEQCACIAIoAhgoAgg2AhAMAQsgAkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSgRAIAIoAgwgAigCCGotAABBgAFIDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIIIAIoAgBqIAIoAhgvAQRPBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILTgEBf0GgoQEoAgAiASAAaiIAQX9MBEBBtJwBQTA2AgBBfw8LAkAgAD8AQRB0TQ0AIAAQCg0AQbScAUEwNgIAQX8PC0GgoQEgADYCACABCz8BAX8jAEEQayIDJAAgAyAANgIMIAMgATYCCCADIAI2AgQgAygCDCADKAIIIAMoAgQQ5AIhACADQRBqJAAgAAuqAgEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAgAEQCABKAIMKAIAEDcaIAEoAgwoAgAQHgsgASgCDCgCHBAYIAEoAgwoAiAQKSABKAIMKAIkECkgASgCDCgCUBD6AiABKAIMKAJABEAgAUIANwMAA0AgASkDACABKAIMKQMwWkUEQCABKAIMKAJAIAEpAwCnQQR0ahBjIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCQBAYCyABQgA3AwADQCABKQMAIAEoAgwoAkStWkUEQCABKAIMKAJMIAEpAwCnQQJ0aigCABD9AiABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkwQGCABKAIMKAJUEPQCIAEoAgxBCGoQOCABKAIMEBgLIAFBEGokAAtvAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCADKAIQrRAhNgIMAkAgAygCDEUEQCADQX82AhwMAQsgAygCDCADKAIUIAMoAhAQHBogA0EANgIcCyADKAIcGiADQSBqJAALogEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCDCAEKQMQECsiADYCBAJAIABFBEAgBCgCCEEOQQAQFyAEQQA2AhwMAQsgBCgCGCAEKAIEKAIEIAQpAxAgBCgCCBBiQQBIBEAgBCgCBBAZIARBADYCHAwBCyAEIAQoAgQ2AhwLIAQoAhwhACAEQSBqJAAgAAugAQEBfyMAQSBrIgMkACADIAA2AhQgAyABNgIQIAMgAjcDCCADIAMoAhA2AgQCQCADKQMIQghUBEAgA0J/NwMYDAELIwBBEGsiACADKAIUNgIMIAAoAgwoAgAhACADKAIEIAA2AgAjAEEQayIAIAMoAhQ2AgwgACgCDCgCBCEAIAMoAgQgADYCBCADQgg3AxgLIAMpAxghAiADQSBqJAAgAgs/AQF/IwBBEGsiAiAANgIMIAIgATYCCCACKAIMBEAgAigCDCACKAIIKAIANgIAIAIoAgwgAigCCCgCBDYCBAsLgwECA38BfgJAIABCgICAgBBUBEAgACEFDAELA0AgAUF/aiIBIAAgAEIKgCIFQgp+fadBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBf2oiASACIAJBCm4iA0EKbGtBMHI6AAAgAkEJSyEEIAMhAiAEDQALCyABC7wCAQF/IwBBIGsiBCQAIAQgADYCGCAEIAE3AxAgBCACNgIMIAQgAzYCCCAEKAIIRQRAIAQgBCgCGEEIajYCCAsCQCAEKQMQIAQoAhgpAzBaBEAgBCgCCEESQQAQFyAEQQA2AhwMAQsCQCAEKAIMQQhxRQRAIAQoAhgoAkAgBCkDEKdBBHRqKAIEDQELIAQoAhgoAkAgBCkDEKdBBHRqKAIARQRAIAQoAghBEkEAEBcgBEEANgIcDAILAkAgBCgCGCgCQCAEKQMQp0EEdGotAAxBAXFFDQAgBCgCDEEIcQ0AIAQoAghBF0EAEBcgBEEANgIcDAILIAQgBCgCGCgCQCAEKQMQp0EEdGooAgA2AhwMAQsgBCAEKAIYKAJAIAQpAxCnQQR0aigCBDYCHAsgBCgCHCEAIARBIGokACAAC4QBAQF/IwBBEGsiASQAIAEgADYCCCABQdgAEBsiADYCBAJAIABFBEAgAUEANgIMDAELAkAgASgCCARAIAEoAgQgASgCCEHYABAcGgwBCyABKAIEEFwLIAEoAgRBADYCACABKAIEQQE6AAUgASABKAIENgIMCyABKAIMIQAgAUEQaiQAIAALOQEBfyMAQRBrIgEgADYCDEEAIQAgASgCDC0AAEEBcQR/IAEoAgwpAxAgASgCDCkDCFEFQQALQQFxC4IBAQJ/IABFBEAgARAbDwsgAUFATwRAQbScAUEwNgIAQQAPCyAAQXhqQRAgAUELakF4cSABQQtJGxDYASICBEAgAkEIag8LIAEQGyICRQRAQQAPCyACIAAgAEF8aigCACIDQXhxQQRBCCADQQNxG2siAyABIAMgAUkbEBwaIAAQGCACC50BAQF/IwBBEGsiASAANgIIAkACQAJAIAEoAghFDQAgASgCCCgCIEUNACABKAIIKAIkDQELIAFBATYCDAwBCyABIAEoAggoAhw2AgQCQAJAIAEoAgRFDQAgASgCBCgCACABKAIIRw0AIAEoAgQoAgRBtP4ASQ0AIAEoAgQoAgRB0/4ATQ0BCyABQQE2AgwMAQsgAUEANgIMCyABKAIMC4ABAQN/IwBBEGsiAiAANgIMIAIgATYCCCACKAIIQQh2IQEgAigCDCgCCCEDIAIoAgwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCCEH/AXEhASACKAIMKAIIIQMgAigCDCICKAIUIQAgAiAAQQFqNgIUIAAgA2ogAToAAAubBQEBfyMAQUBqIgQkACAEIAA2AjggBCABNwMwIAQgAjYCLCAEIAM2AiggBEHIABAbIgA2AiQCQCAARQRAIARBADYCPAwBCyAEKAIkQgA3AzggBCgCJEIANwMYIAQoAiRCADcDMCAEKAIkQQA2AgAgBCgCJEEANgIEIAQoAiRCADcDCCAEKAIkQgA3AxAgBCgCJEEANgIoIAQoAiRCADcDIAJAIAQpAzBQBEBBCBAbIQAgBCgCJCAANgIEIABFBEAgBCgCJBAYIAQoAihBDkEAEBcgBEEANgI8DAMLIAQoAiQoAgRCADcDAAwBCyAEKAIkIAQpAzBBABCzAUEBcUUEQCAEKAIoQQ5BABAXIAQoAiQQNSAEQQA2AjwMAgsgBEIANwMIIARCADcDGCAEQgA3AxADQCAEKQMYIAQpAzBUBEAgBCgCOCAEKQMYp0EEdGopAwhQRQRAIAQoAjggBCkDGKdBBHRqKAIARQRAIAQoAihBEkEAEBcgBCgCJBA1IARBADYCPAwFCyAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aigCADYCACAEKAIkKAIAIAQpAxCnQQR0aiAEKAI4IAQpAxinQQR0aikDCDcDCCAEKAIkKAIEIAQpAxinQQN0aiAEKQMINwMAIAQgBCgCOCAEKQMYp0EEdGopAwggBCkDCHw3AwggBCAEKQMQQgF8NwMQCyAEIAQpAxhCAXw3AxgMAQsLIAQoAiQgBCkDEDcDCCAEKAIkAn5CACAEKAIsDQAaIAQoAiQpAwgLNwMYIAQoAiQoAgQgBCgCJCkDCKdBA3RqIAQpAwg3AwAgBCgCJCAEKQMINwMwCyAEIAQoAiQ2AjwLIAQoAjwhACAEQUBrJAAgAAueAQEBfyMAQSBrIgQkACAEIAA2AhggBCABNwMQIAQgAjYCDCAEIAM2AgggBCAEKAIYIAQpAxAgBCgCDCAEKAIIEEciADYCBAJAIABFBEAgBEEANgIcDAELIAQgBCgCBCgCMEEAIAQoAgwgBCgCCBBPIgA2AgAgAEUEQCAEQQA2AhwMAQsgBCAEKAIANgIcCyAEKAIcIQAgBEEgaiQAIAAL1AIBAX8jAEEgayIEJAAgBCAANgIYIAQgATYCFCAEIAI2AhAgBCADNgIMAkAgBCgCGEUEQCAEKAIUBEAgBCgCFEEANgIACyAEQdDXADYCHAwBCyAEKAIQQcAAcUUEQCAEKAIYKAIIRQRAIAQoAhhBABA9GgsCQAJAAkAgBCgCEEGAAXFFDQAgBCgCGCgCCEEBRg0AIAQoAhgoAghBAkcNAQsgBCgCGCgCCEEERw0BCyAEKAIYKAIMRQRAIAQoAhgoAgAgBCgCGC8BBCAEKAIYQRBqIAQoAgwQzwEhACAEKAIYIAA2AgwgAEUEQCAEQQA2AhwMBAsLIAQoAhQEQCAEKAIUIAQoAhgoAhA2AgALIAQgBCgCGCgCDDYCHAwCCwsgBCgCFARAIAQoAhQgBCgCGC8BBDYCAAsgBCAEKAIYKAIANgIcCyAEKAIcIQAgBEEgaiQAIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkF/aiICDQEMAgsLIAQgBWshAwsgAwubAQEEfyAAKAJMQQBOBH9BAQVBAAsaIAAoAgBBAXEiBEUEQBB3IQEgACgCNCICBEAgAiAAKAI4NgI4CyAAKAI4IgMEQCADIAI2AjQLIAAgASgCAEYEQCABIAM2AgALQficARAACyAAEJgBIQEgACAAKAIMEQgAIQIgACgCYCIDBEAgAxAYCyABIAJyIQEgBEUEQCAAEBggAQ8LIAELjgMCAX8BfiMAQTBrIgQkACAEIAA2AiQgBCABNgIgIAQgAjYCHCAEIAM2AhgCQCAEKAIkRQRAIARCfzcDKAwBCyAEKAIgRQRAIAQoAhhBEkEAEBcgBEJ/NwMoDAELIAQoAhxBgyBxBEAgBEEYQRkgBCgCHEEBcRs2AhQgBEIANwMAA0AgBCkDACAEKAIkKQMwVARAIAQgBCgCJCAEKQMAIAQoAhwgBCgCGBBONgIQIAQoAhAEQCAEKAIcQQJxBEAgBCAEKAIQIgAgABAwQQFqEKUCNgIMIAQoAgwEQCAEIAQoAgxBAWo2AhALCyAEKAIgIAQoAhAgBCgCFBEHAEUEQCMAQRBrIgAgBCgCGDYCDCAAKAIMBEAgACgCDEEANgIAIAAoAgxBADYCBAsgBCAEKQMANwMoDAULCyAEIAQpAwBCAXw3AwAMAQsLIAQoAhhBCUEAEBcgBEJ/NwMoDAELIAQgBCgCJCgCUCAEKAIgIAQoAhwgBCgCGBD4AjcDKAsgBCkDKCEFIARBMGokACAFC/ICAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggtAChBAXEEQCABQX82AgwMAQsgASgCCCgCJEEDRgRAIAEoAghBDGpBF0EAEBcgAUF/NgIMDAELAkAgASgCCCgCIEEASwRAAn8jAEEQayIAIAEoAgg2AgwgACgCDCkDGELAAINQCwRAIAEoAghBDGpBHUEAEBcgAUF/NgIMDAMLDAELIAEoAggoAgAEQCABKAIIKAIAEFNBAEgEQCABKAIIQQxqIAEoAggoAgAQGiABQX82AgwMAwsLIAEoAghBAEIAQQAQJEIAUwRAIAEoAggoAgAEQCABKAIIKAIAEDcaCyABQX82AgwMAgsLIAEoAghBADoANCABKAIIQQA6ADUjAEEQayIAIAEoAghBDGo2AgwgACgCDARAIAAoAgxBADYCACAAKAIMQQA2AgQLIAEoAggiACAAKAIgQQFqNgIgIAFBADYCDAsgASgCDCEAIAFBEGokACAAC3cCAX8BfiMAQRBrIgEkACABIAA2AgQCQCABKAIELQAoQQFxBEAgAUJ/NwMIDAELIAEoAgQoAiBBAE0EQCABKAIEQQxqQRJBABAXIAFCfzcDCAwBCyABIAEoAgRBAEIAQQcQJDcDCAsgASkDCCECIAFBEGokACACC9AHAQF/IwBBIGsiASQAIAEgADYCHCABIAEoAhwoAiw2AhADQCABIAEoAhwoAjwgASgCHCgCdGsgASgCHCgCbGs2AhQgASgCHCgCbCABKAIQIAEoAhwoAixBhgJrak8EQCABKAIcKAI4IAEoAhwoAjggASgCEGogASgCECABKAIUaxAcGiABKAIcIgAgACgCcCABKAIQazYCcCABKAIcIgAgACgCbCABKAIQazYCbCABKAIcIgAgACgCXCABKAIQazYCXCABKAIcENMCIAEgASgCECABKAIUajYCFAsgASgCHCgCACgCBARAIAEgASgCHCgCACABKAIcKAJ0IAEoAhwoAjggASgCHCgCbGpqIAEoAhQQdTYCGCABKAIcIgAgASgCGCAAKAJ0ajYCdCABKAIcKAJ0IAEoAhwoArQtakEDTwRAIAEgASgCHCgCbCABKAIcKAK0LWs2AgwgASgCHCABKAIcKAI4IAEoAgxqLQAANgJIIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAWpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSANAIAEoAhwoArQtBEAgASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEECamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIIAEoAhwoAkAgASgCDCABKAIcKAI0cUEBdGogASgCHCgCRCABKAIcKAJIQQF0ai8BADsBACABKAIcKAJEIAEoAhwoAkhBAXRqIAEoAgw7AQAgASABKAIMQQFqNgIMIAEoAhwiACAAKAK0LUF/ajYCtC0gASgCHCgCdCABKAIcKAK0LWpBA08NAQsLC0EAIQAgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDQgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBA0IAEoAhwiACABKAIE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AygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCCAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBArNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAvIAMoAhwgAygCpAEpAyAQLwwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLwsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAvCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC8LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAIcEBkgAygCkAEQJiADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQXjYCjAEgAygCHBAZIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECs2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFyADKAKQARAmIANBfzYCrAEMAgsgAygCEEECECIgAygCEEHv1wBBAhBCIAMoAhAgAygCpAEvAVJB/wFxEIUBIAMoAhAgAygCpAEoAhBB//8DcRAiAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCEBAZIAMoApABECYgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQXjYCDCADKAIQEBkgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKyIANgJMIABFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAELIAMoAkxB5dcAQerXACADKAKgAUGAAnEbQQQQQiADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIgsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQIiADKAJMIAMoAqQBLwEMECICQCADLQCFAUEBcQRAIAMoAkxB4wAQIgwBCyADKAJMIAMoAqQBKAIQQf//A3EQIgsgAygCpAEoAhQgA0GeAWogA0GcAWoQvAEgAygCTCADLwGeARAiIAMoAkwgAy8BnAEQIgJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIwwBCyADKAJMIAMoAqQBKAIYECMLAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAjIAMoAkxBfxAjDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIwwBCyADKAJMQX8QIwsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAjDAELIAMoAkxBfxAjCwsgAygCTCADKAKkASgCMBBgQf//A3EQIiADIAMoAqQBKAI0IAMoAqABEMEBQf//A3EgAygCkAFBgAYQwQFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAiIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EGBB//8DcRAiIAMoAkwgAygCpAEoAjxB//8DcRAiIAMoAkwgAygCpAEvAUAQIiADKAJMIAMoAqQBKAJEECMCQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAjDAELIAMoAkxBfxAjCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAJMEBkgAygCkAEQJiADQX82AqwBDAELIAMo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DAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EMQBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQWyADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQLpgEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEPsBIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgAgAygCDCADKAIUNgIEIAMoAhRBEHEEQCADKAIMIgAgACgCFEECcjYCFCADKAIMIgAgACgCGEECcjYCGAsgAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL1QEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIAkACQCAEKQMQQv///////////wBXBEAgBCkDEEKAgICAgICAgIB/WQ0BCyAEKAIIQQRBPRAXIARBfzYCHAwBCwJ/IAQpAxAhASAEKAIMIQAgBCgCGCICKAJMQX9MBEAgAiABIAAQkwEMAQsgAiABIAAQkwELQQBIBEAgBCgCCEEEQbScASgCABAXIARBfzYCHAwBCyAEQQA2AhwLIAQoAhwhACAEQSBqJAAgAAsnAAJ/QQBBACAAEAYiACAAQRtGGyIARQ0AGkG0nAEgADYCAEEACxoLagEBfyMAQRBrIgMkACADIAFBwICAAnEEfyADIAJBBGo2AgwgAigCAAVBAAs2AgggAyAANgIAIAMgAUGAgAJyNgIEQQUgAxARIgBBgWBPBEBBtJwBQQAgAGs2AgBBfyEACyADQRBqJAAgAAtXAQJ/IwBBIGsiASQAIAEgADYCEEEKIAFBEGoQEyICQWFGBH8gASAANgIAQSggARASBSACCyIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgAUEgaiQAIAALaQECfwJAIAAoAhQgACgCHE0NACAAQQBBACAAKAIkEQAAGiAAKAIUDQBBfw8LIAAoAgQiASAAKAIIIgJJBEAgACABIAJrrEEBIAAoAigRCgAa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GEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQX9qNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBSEUEQCACKAIsIAIoAiQgAigCGBB4IAIgAigCGEF/ajYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBf2o2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeCACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBf2ohACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAIMQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCACKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA2AuAWIAIoAiwgAigCJEEBEHggAigCLCgC0ChBAk4NAAsgAigCLCgC4BYh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ACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C54QAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACQQFBACACKAIkQQRGBH8gAigCHCACKAIYIAIoAigoAgAoAgRqRgVBAAtBAXEbNgIQIAIoAihBAEEAIAIoAhAQViACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAfIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAcGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBB1GiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAcGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBwaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBwaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQHBogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBB1GiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAJBAUEAAn9BACACKAIkQQRHDQAaQQAgAigCKCgCACgCBA0AGiACKAIcIAIoAhhGC0EBcRs2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBWIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHwsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHYEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBECAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQIACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRAgALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBECAAsgASgC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Rw0AIAIoAgwvAQoEQCACKAIMKAIMIAIoAhQoAgwgAigCDC8BChBQDQELIAIoAgwiACAAKAIEIAIoAhQoAgRBgAZxcjYCBCACQQE2AgQMAQsgAiACKAIMKAIANgIMDAELCyACKAIUQQA2AgACQCACKAIEBEAgAigCFBAmDAELIAIoAgggAigCFCIANgIAIAIgADYCCAsgAiACKAIQNgIUDAELCyACIAIoAhg2AhwLIAIoAhwhACACQSBqJAAgAAtdAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIERQRAIAJBADYCDAwBCyACIAIoAgggAigCBCgCACACKAIELwEErRA8NgIMCyACKAIMIQAgAkEQaiQAIAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBAJAAkAgAigCCARAIAIoAgQNAQsgAiACKAIIIAIoAgRGNgIMDAELIAIoAggvAQQgAigCBC8BBEcEQCACQQA2AgwMAQsgAiACKAIIKAIAIAIoAgQoAgAgAigCCC8BBBBQRTYCDAsgAigCDCEAIAJBEGokACAAC1UBAX8jAEEQayIBJAAgASAANgIMIAFBAEEAQQAQHTYCCCABKAIMBEAgASABKAIIIAEoAgwoAgAgASgCDC8BBBAdNgIICyABKAIIIQAgAUEQaiQAIAALiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBcgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAkNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCABKQMIEC42AhwLIAEoAhwaIAFBIGokAAsGAEG0nAELlgEBAX8jAEEgayICIAA2AhggAiABNwMQAkACQAJAIAIoAhgtAABBAXFFDQAgAigCGCkDECACKQMQfCACKQMQVA0AIAIoAhgpAxAgAikDEHwgAigCGCkDCFgNAQsgAigCGEEAOgAAIAJBADYCHAwBCyACIAIoAhgoAgQg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AiAANgIYIAIgATYCFCACQYmYATYCECACQQQ2AgwCQAJAIAIoAhQgAigCDE8EQCACKAIMDQELIAJBADYCHAwBCyACIAIoAhhBf2o2AggDQAJAIAIgAigCCEEBaiACKAIQLQAAIAIoAhggAigCCGsgAigCFCACKAIMa2oQuAEiADYCCCAARQ0AIAIoAghBAWogAigCEEEBaiACKAIMQQFrEFANASACIAIoAgg2AhwMAgsLIAJBADYCHAsgAigCHCEAIAJBIGokACAACykAIAEgASgCAEEPakFwcSIBQRBqNgIAIAAgASkDACABKQMIEOACOQMAC8EGAQF/IwBB4ABrIgIkACACIAA2AlggAiABNwNQAkAgAikDUEIWVARAIAIoAlhBCGpBE0EAEBcgAkEANgJcDAELIAICfiACKQNQQqqABFQEQCACKQNQDAELQqqABAs3AzAgAigCWCgCAEIAIAIpAzB9QQIQLUEASARAIwBBEGsiACACKAJYKAIANgIMIAIgACgCDEEMajYCCAJAAn8jAEEQayIAIAIoAgg2AgwgACgCDCgCAEEERgsEQCMAQRBrIgAgAigCCDYCDCAAKAIMKAIEQRZGDQELIAIoAlhBCGogAigCCBBFIAJBADYCXAwCCwsgAiACKAJYKAIAEFQiATcDOCABQgBTBEAgAigCWEEIaiACKAJYKAIAEBogAkEANgJcDAELIAIgAigCWCgCACACKQMwQQAgAigCWEEIahBDIgA2AgwgAEUEQCACQQA2AlwMAQsgAkJ/NwMgIAJBADYCTCACKQMwQqqABFoEQCACKAIMQhQQLhoLIAJBEGpBE0EAEBcgAiACKAIMQgAQITYCRANAAkAgAiACKAJEIAIoAgwQMkISfacQ9QEiADYCRCAARQ0AIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLhogAiACKAJYIAIoAgwgAikDOCACQRBqEPQBIgA2AkggAARAAkAgAigCTARAIAIpAyBCAFcEQCACIAIoAlggAigCTCACQRBqEGg3AyALIAIgAigCWCACKAJIIAJBEGoQaDcDKAJAIAIpAyAgAikDKFMEQCACKAJMECggAiACKAJINgJMIAIgAikDKDcDIAwBCyACKAJIECgLDAELIAIgAigCSDYCTAJAIAIoAlgoAgRBBHEE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AXFHDQELCyACDwsgABAwIABqDwsgAAurAwEBfyMAQTBrIgIkACACIAA2AiggAiABNgIkIAJBADYCECACIAIoAiggAigCKBAwajYCGCACIAIoAhhBf2o2AhwDQCACKAIcIAIoAihPBH8gAigCHCwAAEHYAEYFQQALQQFxBEAgAiACKAIQQQFqNgIQIAIgAigCHEF/ajYCHAwBCwsCQCACKAIQRQRAQbScAUEcNgIAIAJBfzYCLAwBCyACIAIoAhxBAWo2AhwDQCACEIcCNgIMIAIgAigCHDYCFANAIAIoAhQgAigCGEkEQCACIAIoAgxBJHA6AAsCfyACLAALQQpIBEAgAiwAC0EwagwBCyACLAALQdcAagshACACIAIoAhQiAUEBajYCFCABIAA6AAAgAiACKAIMQSRuNgIMDAELCyACKAIoIQAgAgJ/QbYDIAIoAiRBf0YNABogAigCJAs2AgAgAiAAQcKBICACEGwiADYCICAAQQBOBEAgAigCJEF/RwRAIAIoAiggAigCJBCGAgsgAiACKAIgNgIsDAILQbScASgCAEEURg0ACyACQX82AiwLIAIoAiwhACACQTBqJAAgAAtDAQF/IwBBEGsiAiQAIAIgATYCBCACIAA2AgBBDyACEA8iAEGBYE8Ef0G0nAFBACAAazYCAEEABSAACxogAkEQaiQAC2cBAn8jAEEQayIAJAACQCAAQQhqEIgCQQFxBEAgACAAKAIINgIMDAELQYShAS0AAEEBcUUEQEEAEAIhAUH4oAEQAyABEIoCQfigARAACyAAEIkCNgIMCyAAKAIMIQEgAEEQaiQAIAELjAEBAX8jAEEQayIBJAAgASAANgIIIAFBBDsBBiABQeeXAUEAQQAQbCIANgIAAkAgAEEASARAIAFBADoADwwBCyABKAIAIAEoAgggAS8BBhCLAiABLwEGRwRAIAEoAgAQayABQQA6AA8MAQsgASgCABBrIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC60BAQR/QfigARADQdiaASgCACEAAkBB1JoBKAIAIgNFBEAgACAAKAIAQe2cmY4EbEG54ABqQf////8HcSIANgIADAELIABB3JoBKAIAIgJBAnRqIgEgASgCACAAQYChASgCACIBQQJ0aigCAGoiADYCAEGAoQFBACABQQFqIgEgASADRhs2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IAEgAzYCBCABIAI2AgAgAEHNlwEgARBxIAEoAqgBIAEoAhw2AgggASABKAIcNgKsAQsgASgCrAEhACABQbABaiQAIAALcQEDfwJAAkADQCAAIAJB0IgBai0AAEcEQEHXACEDIAJBAWoiAkHXAEcNAQwCCwsgAiIDDQBBsIkBIQAMAQtBsIkBIQIDQCACLQAAIQQgAkEBaiIAIQIgBA0AIAAhAiADQX9qIgMNAAsLIAEoAhQaIAALMwEBfyAAKAIUIgMgASACIAAoAhAgA2siASABIAJLGyIBEBwaIAAgACgCFCABajYCFCACC4oBAQJ/IwBBoAFrIgMkACADQQhqQbiHAUGQARAcGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HQf////8HIARLGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC9AiAEBEAgAygCHCIAIAAgAygCGEZrQQA6AAALIANBoAFqJAALvgIBAX8jAEHAwABrIgMkACADIAA2ArhAIAMgATYCtEAgAyACNwOoQAJAIAMoArRAEFNBAEgEQCADKAK4QEEIaiADKAK0QBAaIANBfzYCvEAMAQsgA0EANgIMIANCADcDEANAAkAgAyADKAK0QCADQSBqQoDAABAxIgI3AxggAkIAVw0AIAMoArhAIANBIGogAykDGBA8QQBIBEAgA0F/NgIMBSADKQMYQoDAAFINAiADKAK4QCgCVEUNAiADKQOoQEIAVw0CIAMgAykDGCADKQMQfDcDECADKAK4QCgCVCADKQMQuSADKQOoQLmjEFcMAgsLCyADKQMYQgBTBEAgAygCuEBBCGogAygCtEAQGiADQX82AgwLIAMoArRAEDcaIAMgAygCDDYCvEALIAMoArxAIQAgA0HAwABqJAAgAAuqAQEBfyMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjcDGCADIAMoAigoAgAQOyICNwMQAkAgAkIAUwRAIANBfzYCLAwBCyADIAMoAiggAygCJCADKQMYEIoDIgI3AwAgAkIAUwRAIANBfzYCLAwBCyADIAMoAigoAgAQOyICNwMIIAJCAFMEQCADQX82AiwMAQsgA0EANgIsCyADKAIsIQAgA0EwaiQAIAAL/gEBAX8jAEGgwABrIgIkACACIAA2AphAIAIgATcDkEAgAiACKQOQQLo5AwACQANAIAIpA5BAQgBWBEAgAgJ+QoDAACACKQOQQEKAwABWDQAaIAIpA5BACz4CDCACKAKYQCgCACACQRBqIAIoAgytIAIoAphAQQhqEGJBAEgEQCACQX82ApxADAMLIAIoAphAIAJBEGogAigCDK0QPEEASARAIAJBfzYCnEAMAwUgAiACKQOQQCACNQIMfTcDkEAgAigCmEAoAlQgAisDACACKQOQQLqhIAIrAwCjEFcMAgsACwsgAkEANgKcQAsgAigCnEAhACACQaDAAGokACAAC/IRAgF/AX4jAEGgAWsiAyQAIAMgADYCmAEgAyABNgKUASADIAI2ApABAkAgAygClAEgA0E4ahA5QQBIBEAgAygCmAFBCGogAygClAEQGiADQX82ApwBDAELIAMpAzhCwACDUARAIAMgAykDOELAAIQ3AzggA0EAOwFoCwJAAkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BCyADLwFoRQ0AIAMoApABIAMvAWg2AhAMAQsCQAJAIAMoApABKAIQDQAgAykDOEIEg1ANACADIAMpAzhCCIQ3AzggAyADKQNQNwNYDAELIAMgAykDOEL3////D4M3AzgLCyADKQM4QoABg1AEQCADIAMpAzhCgAGENwM4IANBADsBagsgA0GAAjYCJAJAIAMpAzhCBINQBEAgAyADKAIkQYAIcjYCJCADQn83A3AMAQsgAygCkAEgAykDUDcDKCADIAMpA1A3A3ACQCADKQM4QgiDUARAAkACQAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxIgBBDEsNAAJAAkACQCAAQQFrDgwDAwMDAwMDAQMDAwACCyADQpTC5PMPNwMQDAMLIANCg4Ow/w83AxAMAgsgA0L/////DzcDEAwBCyADQgA3AxALIAMpA1AgAykDEFYEQCADIAMoAiRBgAhyNgIkCwwBCyADKAKQASADKQNYNwMgCwsgAyADKAKYASgCABA7IgQ3A4gBIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAaIANBfzYCnAEMAQsgAygCkAEiACAALwEMQff/A3E7AQwgAyADKAKYASADKAKQASADKAIkEF0iADYCKCAAQQBIBEAgA0F/NgKcAQwBCyADIAMvAWgCfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcUc6ACIgAyADLQAiQQFxBH8gAy8BaEEARwVBAAtBAXE6ACEgAyADLwFoBH8gAy0AIQVBAQtBAXE6ACAgAyADLQAiQQFxBH8gAygCkAEoAhBBAEcFQQALQQFxOgAfIAMCf0EBIAMtACJBAXENABpBASADKAKQASgCAEGAAXENABogAygCkAEvAVIgAy8BakcLQQFxOgAeIAMgAy0AHkEBcQR/IAMvAWpBAEcFQQALQQFxOgAdIAMgAy0AHkEBcQR/IAMoApABLwFSQQBHBUEAC0EBcToAHCADIAMoApQBNgI0IwBBEGsiACADKAI0NgIMIAAoAgwiACAAKAIwQQFqNgIwIAMtAB1BAXEEQCADIAMvAWpBABB6IgA2AgwgAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAy8BakEAIAMoApgBKAIcIAMoAgwRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMtACFBAXEEQCADIAMoApgBIAMoAjQgAy8BaBCiASIANgIwIABFBEAgAygCNBAeIANBfzYCnAEMAgsgAygCNBAeIAMgAygCMDYCNAsgAy0AIEEBcQRAIAMgAygCmAEgAygCNEEAEKEBIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAfQQFxBEAgAyADKAKYASADKAI0IAMoApABKAIQIAMoApABLwFQELgCIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAcQQFxBEAgA0EANgIEAkAgAygCkAEoAlQEQCADIAMoApABKAJUNgIEDAELIAMoApgBKAIcBEAgAyADKAKYASgCHDYCBAsLIAMgAygCkAEvAVJBARB6IgA2AgggAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAygCkAEvAVJBASADKAIEIAMoAggRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMgAygCmAEoAgAQOyIENwOAASAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMgAygCmAEgAygCNCADKQNwEKwCNgIsIAMoAjQgA0E4ahA5QQBIBEAgAygCmAFBCGogAygCNBAaIANBfzYCLAsgAyADKAI0ELICIgA6ACMgAEEYdEEYdUEASARAIAMoApgBQQhqIAMoAjQQGiADQX82AiwLIAMoAjQQHiADKAIsQQBIBEAgA0F/NgKcAQwBCyADIAMoApgBKAIAEDsiBDcDeCAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMoApgBKAIAIAMpA4gBEJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMpAzhC5ACDQuQAUgRAIAMoApgBQQhqQRRBABAXIANBfzYCnAEMAQsgAygCkAEoAgBBIHFFBEACQCADKQM4QhCDQgBSBEAgAygCkAEgAygCYDYCFAwBCyADKAKQAUEUahACGgsLIAMoApABIAMvAWg2AhAgAygCkAEgAygCZDYCGCADKAKQASADKQNQNwMoIAMoApABIAMpA3ggAykDgAF9NwMgIAMoApABIAMoApABLwEMQfn/A3EgAy0AI0EBdHI7AQwgAygCkAEgAygCJEGACHFBAEcQhAMgAyADKAKYASADKAKQASADKAIkEF0iADYCLCAAQQBIBEAgA0F/NgKcAQwBCyADKAIoIAMoAixHBEAgAygCmAFBCGpBFEEAEBcgA0F/NgKcAQwBCyADKAKYASgCACADKQN4EJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIANBADYCnAELIAMoApwBIQAgA0GgAWokACAAC68CAQF/IwBBIGsiAiAANgIcIAIgATYCGCACQQA2AhQgAkIANwMAAkAgAigCHC0AKEEBcUUEQCACKAIcKAIYIAIoAhwoAhRGDQELIAJBATYCFAsgAkIANwMIA0AgAikDCCACKAIcKQMwVARAAkACQCACKAIcKAJAIAIpAwinQQR0aigCCA0AIAIoAhwoAkAgAikDCKdBBHRqLQAMQQFxDQAgAigCHCgCQCACKQMIp0EEdGooAgRFDQEgAigCHCgCQCACKQMIp0EEdGooAgQoAgBFDQELIAJBATYCFAsgAigCHCgCQCACKQMIp0EEdGotAAxBAXFFBEAgAiACKQMAQgF8NwMACyACIAIpAwhCAXw3AwgMAQsLIAIoAhgEQCACKAIYIAIpAwA3AwALIAIoAhQLjRADAn8BfgF8IwBB4ABrIgEkACABIAA2AlgCQCABKAJYRQRAIAFBfzYCXAwBCyABIAEoAlggAUFAaxCwAjYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCyABKAJYKAIAENUBQQBIBEACQAJ/IwBBEGsiAiABKAJYKAIANgIMIwBBEGsiACACKAIMQQxqNgIMIAAoAgwoAgBBFkYLBEAjAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQGiABQX82AlwMBAsLCyABKAJYEEEgAUEANgJcDAELIAEoAiRFBEAgASgCWBBBIAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFyABQX82AlwMAQsgASABKQNAp0EDdBAbIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBggASgCWEEIakEUQQAQFyABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQGCABKAJYQQhqQRRBABAXIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEgASgCWCABKQMYIAEoAlhBCGoQggMiAzcDOCADUARAIAEoAigQGCABQX82AlwMBAsLCyABKQM4QgBWBEAgASgCWCgCACABKQM4EPECQQBIBEAgAUIANwM4CwsLIAEpAzhQBEAgASgCWCgCABDwAkEASARAIAEoAlhBCGogASgCWCgCABAaIAEoAigQGCABQX82AlwMAgsLIAEoAlgoAlQQ8wIgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQgASkDSCIDuiABKQNAuiIEoyADQgF8uiAEoxDyAiABIAEoAiggASkDSKdBA3RqKQMANwNQIAEgASgCWCgCQCABKQNQp0EEdGo2AhACQAJAIAEoAhAoAgBFDQAgASgCECgCACkDSCABKQM4Wg0ADAELIAECf0EBIAEoAhAoAggNABogASgCECgCBARAQQEgASgCECgCBCgCAEEBcQ0BGgsgASgCECgCBAR/IAEoAhAoAgQoAgBBwABxQQBHBUEACwtBAXE2AhQgASgCECgCBEUEQCABKAIQKAIAEEghACABKAIQIAA2AgQgAEUEQCABKAJYQQhqQQ5BABAXIAFBATYCLAwDCwsgASABKAIQKAIENgIMIAEoAlggASkDUBCMA0EASARAIAFBATYCLAwCCyABIAEoAlgoAgAQOyIDNwMwIANCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEKABIgA2AgggAEUEQCABQQE2AiwMBQsLIAEoAlgCfyABKAIIBEAgASgCCAwBCyABKAIQKAIICyABKAIMEK8CQQBIBEAgAUEBNgIsIAEoAggEQCABKAII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HAwCCwsgAygCDCgCAEENIAMoAggQFyADQQI2AhwLIAMoAhwhACADQSBqJAAgAAskAQF/IwBBEGsiASAANgIMIAEgASgCDDYCCCABKAIIQQE6AAwLywIBA38jAEHQAWsiAyQAIAMgAjYCzAFBACECIANBoAFqQQBBKBA0IAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEHJBAEgNACAAKAJMQQBOBEBBASECCyAAKAIAIQQgACwASkEATARAIAAgBEFfcTYCAAsgBEEgcSEFAn8gACgCMARAIAAgASADQcgBaiADQdAAaiADQaABahByDAELIABB0AA2AjAgACADQdAAajYCECAAIAM2AhwgACADNgIUIAAoAiwhBCAAIAM2AiwgACABIANByAFqIANB0ABqIANBoAFqEHIgBEUNABogAEEAQQAgACgCJBEAABogAEEANgIwIAAgBDYCLCAAQQA2AhwgAEEANgIQIAAoAhQaIABBADYCFEEACxogACAAKAIAIAVyNgIAIAJFDQALIANB0AFqJAALmQEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI3AwggAyADKAIYNgIEAkACQCADKQMIQv////8PWARAIAMoAgQoAhRBAE0NAQsgAygCBCgCAEESQQAQFyADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAuQAQEBfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahCpATYCAAwBCyABIAEoAgRBEGoQxAI2AgALAkAgASgCAARAIAEoAgQoAgBBDSABKAIAEBcgAUEAOgAPDAELIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC8ABAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAgg2AgQgASgCBEEANgIUIAEoAgRBADYCECABKAIEQQA2AiAgASgCBEEANgIcAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQaiABKAIEKAIIENgCNgIADAELIAEgASgCBEEQahDJAjYCAAsCQCABKAIABEAgASgCBCgCAEENIAEoAgAQFyABQQA6AA8MAQsgAUEBOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALbwEBfyMAQRBrIgEgADYCCCABIAEoAgg2AgQCQCABKAIELQAEQQFxRQRAIAFBADYCDAwBCyABKAIEKAIIQQNIBEAgAUECNgIMDAELIAEoAgQoAghBB0oEQCABQQE2AgwMAQsgAUEANgIMCyABKAIMCywBAX8jAEEQayIBJAAgASAANgIMIAEgASgCDDYCCCABKAIIEBggAUEQaiQACzwBAX8jAEEQayIDJAAgAyAAOwEOIAMgATYCCCADIAI2AgRBASADKAIIIAMoAgQQpgEhACADQRBqJAAgAAuZAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEEsEQCABQX42AgwMAQsgASABKAIIKAIcNgIEIAEoAgQoAjgEQCABKAIIKAIoIAEoAgQoAjggASgCCCgCJBECAAsgASgCCCgCKCABKAIIKAIcIAEoAggoAiQRAgAgASgCCEEANgIcIAFBADYCDAsgASgCDCEAIAFBEGokACAAC50EAQF/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNgIQIAMgAygCGCgCHDYCDAJAIAMoAgwoAjhFBEAgAygCGCgCKEEBIAMoAgwoAih0QQEgAygCGCgCIBEAACEAIAMoAgwgADYCOCADKAIMKAI4RQRAIANBATYCHAwCCwsgAygCDCgCLEUEQCADKAIMQQEgAygCDCgCKHQ2AiwgAygCDEEANgI0IAMoAgxBADYCMAsCQCADKAIQIAMoAgwoAixPBEAgAygCDCgCOCADKAIUIAMoAgwoAixrIAMoAgwoAiwQHBogAygCDEEANgI0IAMoAgwgAygCDCgCLDYCMAwBCyADIAMoAgwoAiwgAygCDCgCNGs2AgggAygCCCADKAIQSwRAIAMgAygCEDYCCAsgAygCDCgCOCADKAIMKAI0aiADKAIUIAMoAhBrIAMoAggQHBogAyADKAIQIAMoAghrNgIQAkAgAygCEARAIAMoAgwoAjggAygCFCADKAIQayADKAIQEBwaIAMoAgwgAygCEDYCNCADKAIMIAMoAgwoAiw2AjAMAQsgAygCDCIAIAMoAgggACgCNGo2AjQgAygCDCgCNCADKAIMKAIsRgRAIAMoAgxBADYCNAsgAygCDCgCMCADKAIMKAIsSQRAIAMoAgwiACADKAIIIAAoAjBqNgIwCwsLIANBADYCHAsgAygCHCEAIANBIGokACAACzwBAX8jAEEQayIBIAA2AgwgASgCDEGw9gA2AlAgASgCDEEJNgJYIAEoAgxBsIYBNgJUIAEoAgxBBTYCXAsvACABAn8gAigCTEF/TARAIAAgASACEHQMAQsgACABIAIQdAsiAEYEQCABDwsgAAuuTwEEfyMAQeAAayIBJAAgASAANgJYIAFBAjYCVAJAAkACQCABKAJYEEsNACABKAJYKAIMRQ0AIAEoAlgoAgANASABKAJYKAIERQ0BCyABQX42AlwMAQsgASABKAJYKAIcNgJQIAEoAlAoAgRBv/4ARgRAIAEoAlBBwP4ANgIECyABIAEoAlgoAgw2AkggASABKAJYKAIQNgJAIAEgASgCWCgCADYCTCABIAEoAlgoAgQ2AkQgASABKAJQKAI8NgI8IAEgASgCUCgCQDYCOCABIAEoAkQ2AjQgASABKAJANgIwIAFBADYCEANAAkAgASgCUCgCBEHMgX9qIgBBH00EQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEEBaw4fAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHwALIAEoAlAoAgxFBEAgASgCUEHA/gA2AgQMIgsDQCABKAI4QRBJBEAgASgCREUNIiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABKAJQKAIMQQJxRQ0AIAEoAjxBn5YCRw0AIAEoAlAoAihFBEAgASgCUEEPNgIoC0EAQQBBABAdIQAgASgCUCAANgIcIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASgCUCgCHCABQQxqQQIQHSEAIAEoAlAgADYCHCABQQA2AjwgAUEANgI4IAEoAlBBtf4ANgIEDCILIAEoAlBBADYCFCABKAJQKAIkBEAgASgCUCgCJEF/NgIwCwJAIAEoAlAoAgxBAXEEQCABKAI8Qf8BcUEIdCABKAI8QQh2akEfcEUNAQsgASgCWEHW8gA2AhggASgCUEHR/gA2AgQMIgsgASgCPEEPcUEIRwRAIAEoAlhB7fIANgIYIAEoAlBB0f4ANgIEDCILIAEgASgCPEEEdjYCPCABIAEoAjhBBGs2AjggASABKAI8QQ9xQQhqNgIUIAEoAlAoAihFBEAgASgCUCABKAIUNgIoCwJAIAEoAhRBD00EQCABKAIUIAEoAlAoAihNDQELIAEoAlhBiPMANgIYIAEoAlBB0f4ANgIEDCILIAEoAlBBASABKAIUdDYCGEEAQQBBABBAIQAgASgCUCAANgIcIAEoAlggADYCMCABKAJQQb3+AEG//gAgASgCPEGABHEbNgIEIAFBADYCPCABQQA2AjgMIQsDQCABKAI4QRBJBEAgASgCREUNISABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASgCUCABKAI8NgIUIAEoAlAoAhRB/wFxQQhHBEAgASgCWEHt8gA2AhggASgCUEHR/gA2AgQMIQsgASgCUCgCFEGAwANxBEAgASgCWEGc8wA2AhggASgCUEHR/gA2AgQMIQsgASgCUCgCJARAIAEoAlAoAiQgASgCPEEIdkEBcTYCAAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASgCUCgCHCABQQxqQQIQHSEAIAEoAlAgADYCHAsgAUEANgI8IAFBADYCOCABKAJQQbb+ADYCBAsDQCABKAI4QSBJBEAgASgCREUNICABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASgCUCgCJARAIAEoAlAoAiQgASgCPDYCBAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASABKAI8QRB2OgAOIAEgASgCPEEYdjoADyABKAJQKAIcIAFBDGpBBBAdIQAgASgCUCAANgIcCyABQQA2AjwgAUEANgI4IAEoAlBBt/4ANgIECwNAIAEoAjhBEEkEQCABKAJERQ0fIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQKAIkBEAgASgCUCgCJCABKAI8Qf8BcTYCCCABKAJQKAIkIAEoAjxBCHY2AgwLAkAgASgCUCgCFEGABHFFDQAgASgCUCgCDEEEcUUNACABIAEoAjw6AAwgASABKAI8QQh2OgANIAEoAlAoAhwgAUEMakECEB0hACABKAJQIAA2AhwLIAFBADYCPCABQQA2AjggASgCUEG4/gA2AgQLAkAgASgCUCgCFEGACHEEQANAIAEoAjhBEEkEQCABKAJERQ0gIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjw2AkQgASgCUCgCJARAIAEoAlAoAiQgASgCPDYCFAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEgASgCPDoADCABIAEoAjxBCHY6AA0gASgCUCgCHCABQQxqQQIQHSEAIAEoAlAgADYCHAsgAUEANgI8IAFBADYCOAwBCyABKAJQKAIkBEAgASgCUCgCJEEANgIQCwsgASgCUEG5/gA2AgQLIAEoAlAoAhRBgAhxBEAgASABKAJQKAJENgIsIAEoAiwgASgCREsEQCABIAEoAkQ2AiwLIAEoAiwEQAJAIAEoAlAoAiRFDQAgASgCUCgCJCgCEEUNACABIAEoAlAoAiQoAhQgASgCUCgCRGs2AhQgASgCUCgCJCgCECABKAIUaiABKAJMAn8gASgCFCABKAIsaiABKAJQKAIkKAIYSwRAIAEoAlAoAiQoAhggASgCFGsMAQsgASgCLAsQHBoLAkAgASgCUCgCFEGABHFFDQAgASgCUCgCDEEEcUUNACABKAJQKAIcIAEoAkwgASgCLBAdIQAgASgCUCAANgIcCyABIAEoAkQgASgCLGs2AkQgASABKAIsIAEoAkxqNgJMIAEoAlAiACAAKAJEIAEoAixrNgJECyABKAJQKAJEDRwLIAEoAlBBADYCRCABKAJQQbr+ADYCBAsCQCABKAJQKAIUQYAQcQRAIAEoAkRFDRwgAUEANgIsA0AgASgCTCEAIAEgASgCLCICQQFqNgIsIAEgACACai0AADYCFAJAIAEoAlAoAiRFDQAgASgCUCgCJCgCHEUNACABKAJQKAJEIAEoAlAoAiQoAiBPDQAgASgCFCECIAEoAlAoAiQoAhwhAyABKAJQIgQoAkQhACAEIABBAWo2AkQgACADaiACOgAACyABKAIUBH8gASgCLCABKAJESQVBAAtBAXENAAsCQCABKAJQKAIUQYAEcUUNACABKAJQKAIMQQRxRQ0AIAEoAlAoAhwgASgCTCABKAIsEB0hACABKAJQIAA2AhwLIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASgCFA0cDAELIAEoAlAoAiQEQCABKAJQKAIkQQA2AhwLCyABKAJQQQA2AkQgASgCUEG7/gA2AgQLAkAgASgCUCgCFEGAIHEEQCABKAJERQ0bIAFBADYCLANAIAEoAkwhACABIAEoAiwiAkEBajYCLCABIAAgAmotAAA2AhQCQCABKAJQKAIkRQ0AIAEoAlAoAiQoAiRFDQAgASgCUCgCRCABKAJQKAIkKAIoTw0AIAEoAhQhAiABKAJQKAIkKAIkIQMgASgCUCIEKAJEIQAgBCAAQQFqNgJEIAAgA2ogAjoAAAsgASgCFAR/IAEoAiwgASgCREkFQQALQQFxDQALAkAgASgCUCgCFEGABHFFDQAgASgCUCgCDEEEcUUNACABKAJQKAIcIAEoAkwgASgCLBAdIQAgASgCUCAANgIcCyABIAEoAkQgASgCLGs2AkQgASABKAIsIAEoAkxqNgJMIAEoAhQNGwwBCyABKAJQKAIkBEAgASgCUCgCJEEANgIkCwsgASgCUEG8/gA2AgQLIAEoAlAoAhRBgARxBEADQCABKAI4QRBJBEAgASgCREUNGyABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABKAJQKAIMQQRxRQ0AIAEoAjwgASgCUCgCHEH//wNxRg0AIAEoAlhBtfMANgIYIAEoAlBB0f4ANgIEDBsLIAFBADYCPCABQQA2AjgLIAEoAlAoAiQEQCABKAJQKAIkIAEoAlAoAhRBCXVBAXE2AiwgASgCUCgCJEEBNgIwC0EAQQBBABAdIQAgASgCUCAANgIcIAEoAlggADYCMCABKAJQQb/+ADYCBAwZCwNAIAEoAjhBIEkEQCABKAJERQ0ZIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjxBCHZBgP4DcSABKAI8QRh2aiABKAI8QYD+A3FBCHRqIAEoAjxB/wFxQRh0aiIANgIcIAEoAlggADYCMCABQQA2AjwgAUEANgI4IAEoAlBBvv4ANgIECyABKAJQKAIQRQRAIAEoAlggASgCSDYCDCABKAJYIAEoAkA2AhAgASgCWCABKAJMNgIAIAEoAlggASgCRDYCBCABKAJQIAEoAjw2AjwgASgCUCABKAI4NgJAIAFBAjYCXAwZC0EAQQBBABBAIQAgASgCUCAANgIcIAEoAlggADYCMCABKAJQQb/+ADYCBAsgASgCVEEFRg0VIAEoAlRBBkYNFQsgASgCUCgCCARAIAEgASgCPCABKAI4QQdxdjYCPCABIAEoAjggASgCOEEHcWs2AjggASgCUEHO/gA2AgQMFgsDQCABKAI4QQNJBEAgASgCREUNFiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASgCUCABKAI8QQFxNgIIIAEgASgCPEEBdjYCPCABIAEoAjhBAWs2AjgCQCABKAI8QQNxIgBBA0sNAAJAAkACQAJAIABBAWsOAwECAwALIAEoAlBBwf4ANgIEDAMLIAEoAlAQxgIgASgCUEHH/gA2AgQgASgCVEEGRgRAIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMGAsMAgsgASgCUEHE/gA2AgQMAQsgASgCWEHJ8wA2AhggASgCUEHR/gA2AgQLIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMFQsgASABKAI8IAEoAjhBB3F2NgI8IAEgASgCOCABKAI4QQdxazYCOANAIAEoAjhBIEkEQCABKAJERQ0VIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAI8Qf//A3EgASgCPEEQdkH//wNzRwRAIAEoAlhB3PMANgIYIAEoAlBB0f4ANgIEDBULIAEoAlAgASgCPEH//wNxNgJEIAFBADYCPCABQQA2AjggASgCUEHC/gA2AgQgASgCVEEGRg0TCyABKAJQQcP+ADYCBAsgASABKAJQKAJENgIsIAEoAiwEQCABKAIsIAEoAkRLBEAgASABKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABKAIsRQ0SIAEoAkggASgCTCABKAIsEBwaIAEgASgCRCABKAIsazYCRCABIAEoAiwgASgCTGo2AkwgASABKAJAIAEoAixrNgJAIAEgASgCLCABKAJIajYCSCABKAJQIgAgACgCRCABKAIsazYCRAwTCyABKAJQQb/+ADYCBAwSCwNAIAEoAjhBDkkEQCABKAJERQ0SIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIAEoAjxBH3FBgQJqNgJkIAEgASgCPEEFdjYCPCABIAEoAjhBBWs2AjggASgCUCABKAI8QR9xQQFqNgJoIAEgASgCPEEFdjYCPCABIAEoAjhBBWs2AjggASgCUCABKAI8QQ9xQQRqNgJgIAEgASgCPEEEdjYCPCABIAEoAjhBBGs2AjgCQCABKAJQKAJkQZ4CTQRAIAEoAlAoAmhBHk0NAQsgASgCWEH58wA2AhggASgCUEHR/gA2AgQMEgsgASgCUEEANgJsIAEoAlBBxf4ANgIECwNAIAEoAlAoAmwgASgCUCgCYEkEQANAIAEoAjhBA0kEQCABKAJERQ0TIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAI8QQdxIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdEGw8gBqLwEAQQF0IANqIAI7AQAgASABKAI8QQN2NgI8IAEgASgCOEEDazYCOAwBCwsDQCABKAJQKAJsQRNJBEAgASgCUEH0AGohAiABKAJQIgMoAmwhACADIABBAWo2AmwgAEEBdEGw8gBqLwEAQQF0IAJqQQA7AQAMAQsLIAEoAlAgASgCUEG0Cmo2AnAgASgCUCABKAJQKAJwNgJQIAEoAlBBBzYCWCABQQAgASgCUEH0AGpBEyABKAJQQfAAaiABKAJQQdgAaiABKAJQQfQFahBzNgIQIAEoAhAEQCABKAJYQZ30ADYCGCABKAJQQdH+ADYCBAwRCyABKAJQQQA2AmwgASgCUEHG/gA2AgQLA0ACQCABKAJQKAJsIAEoAlAoAmQgASgCUCgCaGpPDQADQAJAIAEgASgCUCgCUCABKAI8QQEgASgCUCgCWHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNEiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABLwEiQRBIBEAgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABLwEiIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdCADaiACOwEADAELAkAgAS8BIkEQRgRAA0AgASgCOCABLQAhQQJqSQRAIAEoAkRFDRUgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCgCbEUEQCABKAJYQbb0ADYCGCABKAJQQdH+ADYCBAwECyABIAEoAlAgASgCUCgCbEEBdGovAXI2AhQgASABKAI8QQNxQQNqNgIsIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMAQsCQCABLwEiQRFGBEADQCABKAI4IAEtACFBA2pJBEAgASgCREUNFiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8QQdxQQNqNgIsIAEgASgCPEEDdjYCPCABIAEoAjhBA2s2AjgMAQsDQCABKAI4IAEtACFBB2pJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8Qf8AcUELajYCLCABIAEoAjxBB3Y2AjwgASABKAI4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IAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AGXY2AjwgASABKAI4IAEtABlrNgI4IAEoAlAiACABLQAZIAAoAsg3ajYCyDcLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCIAIAEtACEgACgCyDdqNgLINyABLQAgQcAAcQRAIAEoAlhBw/UANgIYIAEoAlBB0f4ANgIEDAwLIAEoAlAgAS8BIjYCSCABKAJQIAEtACBBD3E2AkwgASgCUEHL/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0MIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCSCABKAI8QQEgASgCUCgCTHRBAWtxajYCSCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACABKAJQKAJMIAAoAsg3ajYCyDcLIAEoAlBBzP4ANgIECyABKAJARQ0IIAEgASgCMCABKAJAazYCLAJAIAEoAlAoAkggASgCLEsEQCABIAEoAlAoAkggASgCLGs2AiwgASgCLCABKAJQKAIwSwRAIAEoAlAoAsQ3BEAgASgCWEHZ9QA2AhggASgCUEHR/gA2AgQMDQsLAkAgASgCLCABKAJQKAI0SwRAIAEgASgCLCABKAJQKAI0azYCLCABIAEoAlAoAjggASgCUCgCLCABKAIsa2o2AigMAQsgASABKAJQKAI4IAEoAlAoAjQgASgCLGtqNgIoCyABKAIsIAEoAlAoAkRLBEAgASABKAJQKAJENgIsCwwBCyABIAEoAkggASgCUCgCSGs2AiggASABKAJQKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABIAEoAkAgASgCLGs2AkAgASgCUCIAIAAoAkQgASgCLGs2AkQDQCABIAEoAigiAEEBajYCKCAALQAAIQAgASABKAJIIgJBAWo2AkggAiAAOgAAIAEgASgCLEF/aiIANgIsIAANAAsgASgCUCgCREUEQCABKAJQQcj+ADYCBAsMCQsgASgCQEUNByABKAJQKAJEIQAgASAB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IAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCJCACKAIsIAIoAhxxQQJ0aigBADYBAAJAAkADQCACIAItABE2AgwgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAItABA2AgwgAigCDEUEQCACLwESIQAgAiACKAJIIgFBAWo2AkggASAAOgAADAILIAIoAgxBEHEEQCACIAIvARI2AgggAiACKAIMQQ9xNgIMIAIoAgwEQCACKAIoIAIoAgxJBEAgAiACKAJQIgBBAWo2AlAgAiACKAIsIAAtAAAgAigCKHRqNgIsIAIgAigCKEEIajYCKAsgAiACKAIIIAIoAixBASACKAIMdEEBa3FqNgIIIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AigLIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCICACKAIsIAIoAhhxQQJ0aigBADYBAAJAA0AgAiACLQARNgIMIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACLQAQNgIMIAIoAgxBEHEEQCACIAIvARI2AgQgAiACKAIMQQ9xNgIMIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoCwsgAiACKAIEIAIoAixBASACKAIMdEEBa3FqNgIEIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACKAJIIAIoAkRrNgIMAkAgAigCBCACKAIMSwRAIAIgAigCBCACKAIMazYCDCACKAIMIAIoAjhLBEAgAigCVCgCxDcEQCACKAJcQdDxADYCGCACKAJUQdH+ADYCBAwKCwsgAiACKAIwNgIAAkAgAigCNEUEQCACIAIoAgAgAigCPCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALDAELAkAgAigCNCACKAIMSQRAIAIgAigCACACKAI8IAIoAjRqIAIoAgxrajYCACACIAIoAgwgAigCNGs2AgwgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAjA2AgAgAigCNCACKAIISQRAIAIgAigCNDYCDCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsMAQsgAiACKAIAIAIoAjQgAigCDGtqNgIAIAIoAgwgAigCCEkEQCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsLA0AgAigCCEECTUUEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAghBA2s2AggMAQsLDAELIAIgAigCSCACKAIEazYCAANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCCACKAIIQQJLDQALCyACKAIIBEAgAiACKAIA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AigoAmxBAE0NACACIAIoAigoAjggAigCKCgCbGpBf2o2AhggAiACKAIYLQAANgIcIAIoAhwhACACIAIoAhgiAUEBajYCGAJAIAEtAAEgAEcNACACKAIcIQAgAiACKAIYIgFBAWo2AhggAS0AASAARw0AIAIoAhwhACACIAIoAhgiAUEBajYCGCABLQABIABHDQAgAiACKAIoKAI4IAIoAigoAmxqQYICajYCFANAIAIoAhwhASACIAIoAhgiA0EBajYCGAJ/QQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhggAigCFEkLQQFxDQALIAIoAihBggIgAigCFCACKAIYa2s2AmAgAigCKCgCYCACKAIoKAJ0SwRAIAIoAiggAigCKCgCdDYCYAsLCwJAIAIoAigoAmBBA08EQCACIAIoAigoAmBBfWo6ABMgAkEBOwEQIAIoAigiACgCpC0gACgCoC1BAXRqIAIvARA7AQAgAi0AEyEBIAIoAigiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvARBBf2o7ARAgAigCKCACLQATQaDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCKEGIE2oCfyACLwEQQYACSARAIAIvARAtAKBZDAELIAIvARBBB3VBgAJqLQCgWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdCACKAIoKAJgazYCdCACKAIoIgAgAigCKCgCYCAAKAJsajYCbCACKAIoQQA2AmAMAQsgAiACKAIoIgAoAjggACgCbGotAAA6AA8gAigCKCIAKAKkLSAAKAKgLUEB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AUEGSARAIAJBATYCJAwBCwJAIAIoAiwoAoQBQQZGBEAgAkECNgIkDAELIAJBAzYCJAsLCyACIAIoAiggAigCJEEGdHI2AiggAigCLCgCbARAIAIgAigCKEEgcjYCKAsgAiACKAIoQR8gAigCKEEfcGtqNgIoIAIoAiwgAigCKBBMIAIoAiwoAmwEQCACKAIsIAIoAjgoAjBBEHYQTCACKAIsIAIoAjgoAjBB//8DcRBMC0EAQQBBABBAIQAgAigCOCAANgIwIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCyACKAIsKAIEQTlGBEBBAEEAQQAQHSEAIAIoAjggADYCMCACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBHzoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBiwE6AAAgAigCLCgCCCEBIAIoAiwiAygCFCEAIAMgAEEBajYCFCAAIAFqQQg6AAACQCACKAIsKAIcRQRAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAAn9BAiACKAIsKAKEAUEJRg0AGkEBIQBBBEEAIAIoAiwoAogBQQJIBH8gAigCLCgChAFBAkgFQQELQQFxGwshACACKAIsKAIIIQMgAigCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogADoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBAzoAACACKAIsQfEANgIEIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwwBC0EBQQAgAigCLCgCHCgCABtBAkEAIAIoAiwoAhwoAiwbakEEQQAgAigCLCgCHCgCEBtqQQhBACACKAIsKAIcKAIcG2pBEEEA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ASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIUQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCGEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUECIAEoAhwoArwtdHI7AbgtIAEoAhwiACABKAIYIAAoArwtajYCvC0LIAFB4ucALwEANgIQAkAgASgCHCgCvC1BECABKAIQa0oEQCABQeDnAC8BADYCDCABKAIcIgAgAC8BuC0gASgCDEH//wNxIAEoAhwoArwtdHI7AbgtIAEoAhwvAbgtQf8BcSECIAEoAhwoAgghAyABKAIcIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAhwvAbgtQQh1IQIgASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIMQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCEEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUHg5wAvAQAgASgCHCgCvC10cjsBuC0gASgCHCIAIAEoAhAgACgCvC1qNgK8LQsgASgCHBCtASABQSBqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBUKAgICAgIDA/0N8IAVCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQQMAgsgBEKAgICAgICAgEB9IQQgAEKAgICAgICAgAiFQgBSDQEgBEIBgyAEfCEEDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBAwBC0KAgICAgICA+P8AIQQgBUL///////+//8MAVg0AQgAhBCAFQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQ7gIgAkEQaiAAIAQgA0H/iH9qEOcCIAIpAwhCBIYgAikDACIAQjyIhCEEIAIpAxAgAikDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgBEIBfCEEDAELIABCgICAgICAgIAIhUIAUg0AIARCAYMgBHwhBAsgAkEgaiQAIAQgAUKAgICAgICAgIB/g4S/C0UAQaCcAUIANwMAQZicAUIANwMAQZCcAUIANwMAQYicAUIANwMAQYCcAUIANwMAQfibAUIANwMAQfCbAUIANwMAQfCbAQsjAQF/IwBBEGsiASQAIAEgADYCDCABKAIMEK0BIAFBEGokAAuWAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMQZQBajYCmBYgASgCDEGg3wA2AqAWIAEoAgwgASgCDEGIE2o2AqQWIAEoAgxBtN8ANgKsFiABKAIMIAEoAgxB/BRqNgKwFiABKAIMQcjfADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQrwEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwg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DAELIAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9CzcDCCADKAIwIAMpAyCnaiADKAI0KAIAIAMpAxinQQR0aigCACADKQMQp2ogAykDCKcQHBogAykDCCADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfVEEQCADIAMpAxhCAXw3AxgLIAMgAykDCCADKQMgfDcDICADQgA3AxAMAQsLIAMoAjQiACADKQMgIAApAzh8NwM4IAMoAjQgAykDGDcDQCADIAMpAyA3AzgLIAMpAzghAiADQUBrJAAgAguuBAEBfyMAQUBqIgMkACADIAA2AjggAyABNwMwIAMgAjYCLAJAIAMpAzBQBEAgA0EAQgBBASADKAIsEE02AjwMAQsgAykDMCADKAI4KQMwVgRAIAMoAixBEkEAEBcgA0EANgI8DAELIAMoAjgoAigEQCADKAIsQR1BABAXIANBADYCPAwBCyADIAMoAjggAykDMBCxATcDICADIAMpAzAgAygCOCgCBCADKQMgp0EDdGopAwB9NwMYIAMpAxhQBEAgAyADKQMgQn98NwMgIAMgAygCOCgCACADKQMgp0EEdGopAwg3AxgLIAMgAygCOCgCACADKQMgp0EEdGopAwggAykDGH03AxAgAykDECADKQMwVgRAIAMoAixBHEEAEBcgA0EANgI8DAELIAMgAygCOCgCACADKQMgQgF8QQAgAygCLBBNIgA2AgwgAEUEQCADQQA2AjwMAQsgAygCDCgCACADKAIMKQMIQgF9p0EEdGogAykDGDcDCCADKAIMKAIEIAMoAgwpAwinQQN0aiADKQMwNwMAIAMoAgwgAykDMDcDMCADKAIMAn4gAygCOCkDGCADKAIMKQMIQgF9VARAIAMoAjgpAxgMAQsgAygCDCkDCEIBfQs3AxggAygCOCADKAIMNgIoIAMoAgwgAygCODYCKCADKAI4IAMoAgwpAwg3AyAgAygCDCADKQMgQgF8NwMgIAMgAygCDDYCPAsgAygCPCEAIANBQGskACAAC1EBAX4CQAJ+IANBwABxBEAgAiADQUBqrYghAUIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiAshAgsgACABNwMAIAAgAjcDCAvTCQEBfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1gg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IABBAWsOAgECAAsgAkGBAjsBBAwDCyACQYICOwEEDAILIAJBgwI7AQQMAQsgAigCFEEYQQAQFyACKAIMEBkgAkEAOgAfDAELIAIvARJBB0cEQCACKAIUQRVBABAXIAIoAgwQGSACQQA6AB8MAQsgAigCGCACLQAHQQFxOgAGIAIoAhggAi8BBDsBUiACKAIMECBB//8DcSEAIAIoAhggADYCECACKAIMEBkgAkEBOgAfCyACLQAfQQFxIQAgAkEgaiQAIAALuQEBAX8jAEEwayICJAAgAiAAOwEuIAIgATsBLCACQgA3AgAgAkEANgIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCACQQA2AiAgAiACLwEsQQl1QdAAajYCFCACIAIvASxBBXVBD3FBAWs2AhAgAiACLwEsQR9xNgIMIAIgAi8BLkELdTYCCCACIAIvAS5BBXVBP3E2AgQgAiACLwEuQQF0QT5xNgIAIAIQCCEAIAJBMGokACAAC0wBAn8jAEEQayIAJAAgAEHYABAbIgE2AggCQCABRQRAIABBADYCDAwBCyAAKAIIEFwgACAAKAIINgIMCyAAKAIMIQEgAEEQaiQAIAELYAEBfyMAQRBrIgMkAAJ+An9BACAAKAI8IAGnIAFCIIinIAJB/wFxIANBCGoQCyIARQ0AGkG0nAEgADYCAEF/C0UEQCADKQMIDAELIANCfzcDCEJ/CyEBIANBEGokACABC+AIAQF/IwBBwAFrIgMkACADIAA2ArQBIAMgATYCsAEgAyACNwOoASADIAMoArQBKAIAEDsiAjcDIAJAIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAaIANCfzcDuAEMAQsgAyADKQMgNwOgASADQQA6ABcgA0IANwMYA0AgAykDGCADKQOoAVQEQCADIAMoArQBKAJAIAMoArABIAMpAxinQQN0aikDAKdBBHRqNgIMIAMgAygCtAECfyADKAIMKAIEBEAgAygCDCgCBAwBCyADKAIMKAIAC0GABBBdIgA2AhAgAEEASARAIANCfzcDuAEMAwsgAygCEARAIANBAToAFwsgAyADKQMYQgF8NwMYDAELCyADIAMoArQBKAIAEDsiAjcDICACQgBTBEAgAygCtAFBCGogAygCtAEoAgAQGiADQn83A7gBDAELIAMgAykDICADKQOgAX03A5gBAkAgAykDoAFC/////w9YBEAgAykDqAFC//8DWA0BCyADQQE6ABcLIAMgA0EwakLiABArIgA2AiwgAEUEQCADKAK0AUEIakEOQQAQFyADQn83A7gBDAELIAMtABdBAXEEQCADKAIsQdbXAEEEEEIgAygCLEIsEC8gAygCLEEtECIgAygCLEEtECIgAygCLEEAECMgAygCLEEAECMgAygCLCADKQOoARAvIAMoAiwgAykDqAEQLyADKAIsIAMpA5gBEC8gAygCLCADKQOgARAvIAMoAixB29cAQQQQQiADKAIsQQAQIyADKAIsIAMpA6ABIAMpA5gBfBAvIAMoAixBARAjCyADKAIsQeDXAEEEEEIgAygCLEEAECMgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAiIAMoAiwCfkL//wMgAykDqAFC//8DWg0AGiADKQOoAQunQf//A3EQIiADKAIsAn9BfyADKQOYAUL/////D1oNABogAykDmAGnCxAjIAMoAiwCf0F/IAMpA6ABQv////8PWg0AGiADKQOgAacLECMgAwJ/IAMoArQBLQAoQQFxBEAgAygCtAEoAiQMAQsgAygCtAEoAiALNgKUASADKAIsAn8gAygClAEEQCADKAKUAS8BBAwBC0EAC0H//wNxECICfyMAQRBrIgAgAygCLDYCDCAAKAIMLQAAQQFxRQsEQCADKAK0AUEIakEUQQAQFyADKAIsEBkgA0J/NwO4AQwBCyADKAK0AQJ/IwBBEGsiACADKAIsNgIMIAAoAgwoAgQLAn4jAEEQayIAIAMoAiw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQPEEASARAIAMoAiwQGSADQn83A7gBDAELIAMoAiwQGSADKAKUAQRAIAMoArQBIAMoApQBKAIAIAMoApQBLwEErRA8QQBIBEAgA0J/NwO4AQwCCwsgAyADKQOYATcDuAELIAMpA7gBIQIgA0HAAWokACACC8cCAQZ/IwBBIGsiAyQAIAMgACgCHCIFNgIQIAAoAhQhBCADIAI2AhwgAyABNgIYIAMgBCAFayIBNgIUIAEgAmohBkECIQUgA0EQaiEBA0ACQAJ/IAYCfwJ/QQAgACgCPCABIAUgA0EMahAWIgRFDQAaQbScASAENgIAQX8LBEAgA0F/NgIMQX8MAQsgAygCDAsiBEYEQCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAQsgBEF/Sg0BIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBUECRg0AGiACIAEoAgRrCyEAIANBIGokACAADwsgAUEIaiABIAQgASgCBCIHSyIIGyIBIAQgB0EAIAgbayIHIAEoAgBqNgIAIAEgASgCBCAHazYCBCAGIARrIQYgBSAIayEFDAAACwALtgUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAXIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFyACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQLUEASARAIAIoAihBCGogAigCKCgCABAaIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQyIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAgOwESIAIgAigCFBAgOwEQIAIoAhQQSUEBcUUEQCACKAIUEBkgAigCKEEIakEUQQAQFyACQX82AiwMAQsgAigCFBAZIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQLUEASARAIAIoAihBCGpBBEG0nAEoAgAQFyACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQYTYCCCACKAIIRQRAIAJBfzYCLAwCCyACKAIIIAIvARBBgAIgAkEMaiACKAIoQQhqEMMBQQFxRQRAIAIoAggQGCACQX82AiwMAgsgAigCCBAYIAIoAgwEQCACIAIoAgwQwgE2AgwgAigCHCgCACgCNCACKAIMEMQBIQAgAigCHCgCACAANgI0CwsgAigCHCgCAEEBOgAEAkAgAigCHCgCBEUNACACKAIcKAIELQAEQQFxDQAgAigCHCgCBCACKAIcKAIAKAI0NgI0IAIoAhwoAgRBAToABAsgAkEANgIsCyACKAIsIQAgAkEw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c2lvbiBtZXRob2QAaW52YWxpZCB3aW5kb3cgc2l6ZQB1bmtub3duIGhlYWRlciBmbGFncyBzZXQAaGVhZGVyIGNyYyBtaXNtYXRjaABpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAQbD2AAuGEWAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAI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OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQbCJAQvdDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABVbmtub3duIGVycm9yICVkACVzJXMlcwAAOiAAL3Byb2Mvc2VsZi9mZC8AL2Rldi91cmFuZG9tAHJ3YQAlcy5YWFhYWFgAcitiAHJiAFBLBQYAQcyZAQsCYE4AQYSaAQvsAQwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAABAAAACAAAAARNAAAkTQAAHwAAAGRNAAADAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////"; +if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); +} +function getBinary() { + try { + if (wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(wasmBinaryFile); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(wasmBinaryFile); } else { - return this.realFs.readdirSync(path_1.npath.fromPortablePath(p)); + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; } + } catch (err) { + abort(err); } - - async readlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.readlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }).then(path => { - return path_1.npath.toPortablePath(path); - }); +} +function createWasm() { + var info = { env: asmLibraryArg, wasi_unstable: asmLibraryArg }; + function receiveInstance(instance, module) { + var exports = instance.exports; + Module["asm"] = exports; + removeRunDependency("wasm-instantiate"); } - - readlinkSync(p) { - return path_1.npath.toPortablePath(this.realFs.readlinkSync(path_1.npath.fromPortablePath(p))); + addRunDependency("wasm-instantiate"); + function instantiateSync() { + var instance; + var module; + var binary; + try { + binary = getBinary(); + module = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if ( + str.indexOf("imported Memory") >= 0 || + str.indexOf("memory import") >= 0 + ) { + err( + "Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + receiveInstance(instance, module); } - - watch(p, a, b) { - return this.realFs.watch(path_1.npath.fromPortablePath(p), // @ts-ignore - a, b); + if (Module["instantiateWasm"]) { + try { + var exports = Module["instantiateWasm"](info, receiveInstance); + return exports; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } } - - makeCallback(resolve, reject) { - return (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }; + instantiateSync(); + return Module["asm"]; +} +var tempDouble; +var tempI64; +__ATINIT__.push({ + func: function() { + ___wasm_call_ctors(); } - +}); +function demangle(func) { + return func; } - -exports.NodeFS = NodeFS; - -/***/ }), -/* 2 */ -/***/ (function(module, exports) { - -module.exports = require("fs"); - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const os_1 = __webpack_require__(9); - -const copyPromise_1 = __webpack_require__(14); - -const path_1 = __webpack_require__(0); - -class FakeFS { - constructor(pathUtils) { - this.pathUtils = pathUtils; - } - - async removePromise(p) { - let stat; - +function demangleAll(text) { + var regex = /\b_Z[\w\d_]+/g; + return text.replace(regex, function(x) { + var y = demangle(x); + return x === y ? x : y + " [" + x + "]"; + }); +} +function jsStackTrace() { + var err = new Error(); + if (!err.stack) { try { - stat = await this.lstatPromise(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; + throw new Error(0); + } catch (e) { + err = e; + } + if (!err.stack) { + return "(no stack trace available)"; + } + } + return err.stack.toString(); +} +function stackTrace() { + var js = jsStackTrace(); + if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); + return demangleAll(js); +} +function ___lock() {} +var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; } } - - if (stat.isDirectory()) { - for (const entry of await this.readdirPromise(p)) await this.removePromise(this.pathUtils.resolve(p, entry)); // 5 gives 1s worth of retries at worst - - - for (let t = 0; t < 5; ++t) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) { - await new Promise(resolve => setTimeout(resolve, t * 100)); - continue; - } else { - throw error; - } - } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); } - } else { - await this.unlinkPromise(p); } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", + trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") return "/"; + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); } - - removeSync(p) { - let stat; - - try { - stat = this.lstatSync(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; +}; +function ___setErrNo(value) { + if (Module["___errno_location"]) + HEAP32[Module["___errno_location"]() >> 2] = value; + return value; +} +var PATH_FS = { + resolve: function() { + var resolvedPath = "", + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; } - - if (stat.isDirectory()) { - for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); - - this.rmdirSync(p); - } else { - this.unlinkSync(p); + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < 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("/"); } - - async mkdirpPromise(p, { - chmod, - utimes - } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) return; - const parts = p.split(this.pathUtils.sep); - - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - - if (!this.existsSync(subPath)) { +}; +var TTY = { + ttys: [], + init: function() {}, + shutdown: function() {}, + 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) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer, offset, length, pos) { + 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 { - await this.mkdirPromise(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); } - - if (chmod != null) await this.chmodPromise(subPath, chmod); - - if (utimes != null) { - await this.utimesPromise(subPath, utimes[0], utimes[1]); - } else { - const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); - await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + 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; } - } - - mkdirpSync(p, { - chmod, - utimes - } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) return; - const parts = p.split(this.pathUtils.sep); - - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - - if (!this.existsSync(subPath)) { - try { - this.mkdirSync(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().indexOf("EOF") != -1) bytesRead = 0; + else throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); } else { - throw error; + result = null; + } + } else if ( + typeof window != "undefined" && + typeof window.prompt == "function" + ) { + result = window.prompt("Input: "); + if (result !== null) { + result += "\n"; + } + } else if (typeof readline == "function") { + result = readline(); + if (result !== null) { + result += "\n"; } } - - if (chmod != null) this.chmodSync(subPath, chmod); - - if (utimes != null) { - this.utimesSync(subPath, utimes[0], utimes[1]); - } else { - const parentStat = this.statSync(this.pathUtils.dirname(subPath)); - this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + if (!result) { + return null; } + tty.input = intArrayFromString(result, true); } - } - } - - async copyPromise(destination, source, { - baseFs = this, - overwrite = true - } = {}) { - return await copyPromise_1.copyPromise(this, destination, baseFs, source, { - overwrite - }); - } - - copySync(destination, source, { - baseFs = this, - overwrite = true - } = {}) { - const stat = baseFs.lstatSync(source); - const exists = this.existsSync(destination); - - if (stat.isDirectory()) { - this.mkdirpSync(destination); - const directoryListing = baseFs.readdirSync(source); - - for (const entry of directoryListing) { - this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { - baseFs, - overwrite - }); - } - } else if (stat.isFile()) { - if (!exists || overwrite) { - if (exists) this.removeSync(destination); - const content = baseFs.readFileSync(source); - this.writeFileSync(destination, content); + 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); } - } else if (stat.isSymbolicLink()) { - if (!exists || overwrite) { - if (exists) this.removeSync(destination); - const target = baseFs.readlinkSync(source); - this.symlinkSync(path_1.convertPath(this.pathUtils, target), destination); + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } - } else { - throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); - } - - const mode = stat.mode & 0o777; - this.chmodSync(destination, mode); - } - - async changeFilePromise(p, content, { - automaticNewlines - } = {}) { - let current = ``; - - try { - current = await this.readFilePromise(p, `utf8`); - } catch (error) {// ignore errors, no big deal - } - - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) return; - await this.writeFilePromise(p, normalizedContent); - } - - changeFileSync(p, content, { - automaticNewlines = false - } = {}) { - let current = ``; - - try { - current = this.readFileSync(p, `utf8`); - } catch (error) {// ignore errors, no big deal } - - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) return; - this.writeFileSync(p, normalizedContent); - } - - async movePromise(fromP, toP) { - try { - await this.renamePromise(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - await this.copyPromise(toP, fromP); - await this.removePromise(fromP); + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } else { - throw error; + if (val != 0) tty.output.push(val); } - } - } - - moveSync(fromP, toP) { - try { - this.renameSync(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - this.copySync(toP, fromP); - this.removeSync(fromP); - } else { - throw error; + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; } } } - - async lockPromise(affectedPath, callback) { - const lockPath = `${affectedPath}.flock`; - const interval = 1000 / 60; - const startTime = Date.now(); - let fd = null; // Even when we detect that a lock file exists, we still look inside to see - // whether the pid that created it is still alive. It's not foolproof - // (there are false positive), but there are no false negative and that's - // all that matters in 99% of the cases. - - const isAlive = async () => { - let pid; - - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - // If we can't read the file repeatedly, we assume the process was - // aborted before even writing finishing writing the payload. - return Date.now() - startTime < 500; - } - - try { - // "As a special case, a signal of 0 can be used to test for the - // existence of a process" - so we check whether it's alive. - process.kill(pid, 0); - return true; - } catch (error) { - return false; - } - }; - - while (fd === null) { - try { - fd = await this.openPromise(lockPath, `wx`); - } catch (error) { - if (error.code === `EEXIST`) { - if (!(await isAlive())) { - try { - await this.unlinkPromise(lockPath); - continue; - } catch (error) {// No big deal if we can't remove it. Just fallback to wait for - // it to be eventually released by its owner. - } - } - - if (Date.now() - startTime < 60 * 1000) { - await new Promise(resolve => setTimeout(resolve, interval)); - } else { - throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); +}; +var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync } - } else { - throw error; + }, + 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 } - } + }; } - - await this.writePromise(fd, JSON.stringify([process.pid])); - - try { - return await callback(); - } finally { - try { - await this.unlinkPromise(lockPath); - await this.closePromise(fd); - } catch (error) {// noop - } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; } - } - - async readJsonPromise(p) { - const content = await this.readFilePromise(p, `utf8`); - - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; } - } - - async readJsonSync(p) { - const content = this.readFileSync(p, `utf8`); - - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; + return node; + }, + getFileDataAsRegularArray: function(node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; } - } - - async writeJsonPromise(p, data) { - return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\n`); - } - - writeJsonSync(p, data) { - return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\n`); - } - - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) p = result; - - if (this.lutimesPromise) { - await this.lutimesPromise(p, stat.atime, stat.mtime); - } else if (!stat.isSymbolicLink()) { - await this.utimesPromise(p, stat.atime, stat.mtime); + return node.contents; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) return new Uint8Array(); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) | 0 + ); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + return; + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + return; } - } - - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) p = result; - - if (this.lutimesSync) { - this.lutimesSync(p, stat.atime, stat.mtime); - } else if (!stat.isSymbolicLink()) { - this.utimesSync(p, stat.atime, stat.mtime); + if (!node.contents || node.contents.subarray) { + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + return; } - } - -} - -exports.FakeFS = FakeFS; -FakeFS.DEFAULT_TIME = 315532800; - -class BasePortableFakeFS extends FakeFS { - constructor() { - super(path_1.ppath); - } - -} - -exports.BasePortableFakeFS = BasePortableFakeFS; - -function getEndOfLine(content) { - const matches = content.match(/\r?\n/g); - if (matches === null) return os_1.EOL; - const crlf = matches.filter(nl => nl === `\r\n`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r\n` : `\n`; -} - -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -exports.normalizeLineEndings = normalizeLineEndings; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const FakeFS_1 = __webpack_require__(3); - -class ProxiedFS extends FakeFS_1.FakeFS { - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - - resolve(path) { - return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); - } - - getRealPath() { - return this.mapFromBase(this.baseFs.getRealPath()); - } - - openPromise(p, flags, mode) { - return this.baseFs.openPromise(this.mapToBase(p), flags, mode); - } - - openSync(p, flags, mode) { - return this.baseFs.openSync(this.mapToBase(p), flags, mode); - } - - async readPromise(fd, buffer, offset, length, position) { - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - } - - readSync(fd, buffer, offset, length, position) { - return this.baseFs.readSync(fd, buffer, offset, length, position); - } - - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + }, + 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]; + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; } - } - - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); + }, + stream_ops: { + read: function(stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer, offset, length, position, canOwn) { + 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)) { + if (canOwn) { + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = new Uint8Array( + buffer.subarray(offset, offset + length) + ); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer.subarray) + node.contents.set(buffer.subarray(offset, offset + length), position); + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; + } + } + 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, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer.buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + var fromHeap = buffer.buffer == HEAP8.buffer; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + (fromHeap ? HEAP8 : buffer).set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + var bytesWritten = MEMFS.stream_ops.write( + stream, + buffer, + 0, + length, + offset, + false + ); + return 0; } } - - closePromise(fd) { - return this.baseFs.closePromise(fd); - } - - closeSync(fd) { - this.baseFs.closeSync(fd); - } - - createReadStream(p, opts) { - return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); - } - - createWriteStream(p, opts) { - return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); - } - - async realpathPromise(p) { - return this.mapFromBase((await this.baseFs.realpathPromise(this.mapToBase(p)))); - } - - realpathSync(p) { - return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); - } - - existsPromise(p) { - return this.baseFs.existsPromise(this.mapToBase(p)); - } - - existsSync(p) { - return this.baseFs.existsSync(this.mapToBase(p)); - } - - accessSync(p, mode) { - return this.baseFs.accessSync(this.mapToBase(p), mode); - } - - accessPromise(p, mode) { - return this.baseFs.accessPromise(this.mapToBase(p), mode); - } - - statPromise(p) { - return this.baseFs.statPromise(this.mapToBase(p)); - } - - statSync(p) { - return this.baseFs.statSync(this.mapToBase(p)); - } - - lstatPromise(p) { - return this.baseFs.lstatPromise(this.mapToBase(p)); - } - - lstatSync(p) { - return this.baseFs.lstatSync(this.mapToBase(p)); - } - - chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - - renamePromise(oldP, newP) { - return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); - } - - renameSync(oldP, newP) { - return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); - } - - copyFilePromise(sourceP, destP, flags = 0) { - return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - - copyFileSync(sourceP, destP, flags = 0) { - return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - - appendFilePromise(p, content, opts) { - return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); - } - - appendFileSync(p, content, opts) { - return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); - } - - writeFilePromise(p, content, opts) { - return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); - } - - writeFileSync(p, content, opts) { - return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); - } - - unlinkPromise(p) { - return this.baseFs.unlinkPromise(this.mapToBase(p)); - } - - unlinkSync(p) { - return this.baseFs.unlinkSync(this.mapToBase(p)); - } - - utimesPromise(p, atime, mtime) { - return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); - } - - utimesSync(p, atime, mtime) { - return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); - } - - mkdirPromise(p, opts) { - return this.baseFs.mkdirPromise(this.mapToBase(p), opts); - } - - mkdirSync(p, opts) { - return this.baseFs.mkdirSync(this.mapToBase(p), opts); - } - - rmdirPromise(p) { - return this.baseFs.rmdirPromise(this.mapToBase(p)); - } - - rmdirSync(p) { - return this.baseFs.rmdirSync(this.mapToBase(p)); - } - - symlinkPromise(target, p, type) { - return this.baseFs.symlinkPromise(this.mapToBase(target), this.mapToBase(p), type); - } - - symlinkSync(target, p, type) { - return this.baseFs.symlinkSync(this.mapToBase(target), this.mapToBase(p), type); - } - - readFilePromise(p, encoding) { - // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) - if (encoding === `utf8`) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } else { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - } - - readFileSync(p, encoding) { - // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) - if (encoding === `utf8`) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } else { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - } - - async readdirPromise(p, { - withFileTypes - } = {}) { - return this.baseFs.readdirPromise(this.mapToBase(p), { - withFileTypes: withFileTypes - }); - } - - readdirSync(p, { - withFileTypes - } = {}) { - return this.baseFs.readdirSync(this.mapToBase(p), { - withFileTypes: withFileTypes - }); - } - - async readlinkPromise(p) { - return this.mapFromBase((await this.baseFs.readlinkPromise(this.mapToBase(p)))); - } - - readlinkSync(p) { - return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); - } - - watch(p, a, b) { - return this.baseFs.watch(this.mapToBase(p), // @ts-ignore - a, b); - } - - fsMapToBase(p) { - if (typeof p === `number`) { - return p; - } else { - return this.mapToBase(p); - } - } - -} - -exports.ProxiedFS = ProxiedFS; - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; -}; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const os_1 = __importDefault(__webpack_require__(9)); - -const util_1 = __webpack_require__(10); - -const NodeFS_1 = __webpack_require__(1); - -const path_1 = __webpack_require__(0); - -var FakeFS_1 = __webpack_require__(3); - -exports.normalizeLineEndings = FakeFS_1.normalizeLineEndings; - -var ZipFS_1 = __webpack_require__(8); - -exports.DEFAULT_COMPRESSION_LEVEL = ZipFS_1.DEFAULT_COMPRESSION_LEVEL; - -var path_2 = __webpack_require__(0); - -exports.PortablePath = path_2.PortablePath; -exports.Filename = path_2.Filename; - -var path_3 = __webpack_require__(0); - -exports.npath = path_3.npath; -exports.ppath = path_3.ppath; -exports.toFilename = path_3.toFilename; - -var AliasFS_1 = __webpack_require__(16); - -exports.AliasFS = AliasFS_1.AliasFS; - -var FakeFS_2 = __webpack_require__(3); - -exports.FakeFS = FakeFS_2.FakeFS; - -var CwdFS_1 = __webpack_require__(17); - -exports.CwdFS = CwdFS_1.CwdFS; - -var JailFS_1 = __webpack_require__(18); - -exports.JailFS = JailFS_1.JailFS; - -var LazyFS_1 = __webpack_require__(19); - -exports.LazyFS = LazyFS_1.LazyFS; - -var NoFS_1 = __webpack_require__(20); - -exports.NoFS = NoFS_1.NoFS; - -var NodeFS_2 = __webpack_require__(1); - -exports.NodeFS = NodeFS_2.NodeFS; - -var PosixFS_1 = __webpack_require__(21); - -exports.PosixFS = PosixFS_1.PosixFS; - -var ProxiedFS_1 = __webpack_require__(4); - -exports.ProxiedFS = ProxiedFS_1.ProxiedFS; - -var VirtualFS_1 = __webpack_require__(22); - -exports.VirtualFS = VirtualFS_1.VirtualFS; - -var ZipFS_2 = __webpack_require__(8); - -exports.ZipFS = ZipFS_2.ZipFS; - -var ZipOpenFS_1 = __webpack_require__(23); - -exports.ZipOpenFS = ZipOpenFS_1.ZipOpenFS; - -function getTempName(prefix) { - const tmpdir = path_1.npath.toPortablePath(os_1.default.tmpdir()); - const hash = Math.ceil(Math.random() * 0x100000000).toString(16).padStart(8, `0`); - return path_1.ppath.join(tmpdir, `${prefix}${hash}`); -} - -function patchFs(patchedFs, fakeFs) { - const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `chmodSync`, `closeSync`, `copyFileSync`, `lstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `unlinkSync`, `utimesSync`, `watch`, `writeFileSync`, `writeSync`]); - const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `closePromise`, `copyFilePromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]); - - const setupFn = (target, name, replacement) => { - const orig = target[name]; - target[name] = replacement; - - if (typeof orig[util_1.promisify.custom] !== `undefined`) { - replacement[util_1.promisify.custom] = orig[util_1.promisify.custom]; - } - }; - - setupFn(patchedFs, `existsSync`, p => { - try { - return fakeFs.existsSync(p); - } catch (error) { - return false; - } - }); - setupFn(patchedFs, `exists`, (p, ...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => {}; - process.nextTick(() => { - fakeFs.existsPromise(p).then(exists => { - callback(exists); - }, () => { - callback(false); - }); - }); - }); - setupFn(patchedFs, `read`, (p, buffer, ...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => {}; - process.nextTick(() => { - fakeFs.readPromise(p, buffer, ...args).then(bytesRead => { - callback(null, bytesRead, buffer); - }, error => { - callback(error); - }); - }); - }); - - for (const fnName of ASYNC_IMPLEMENTATIONS) { - const origName = fnName.replace(/Promise$/, ``); - if (typeof patchedFs[origName] === `undefined`) continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) continue; - - const wrapper = (...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => {}; - process.nextTick(() => { - fakeImpl.apply(fakeFs, args).then(result => { - callback(null, result); - }, error => { - callback(error); - }); - }); - }; - - setupFn(patchedFs, origName, wrapper); - } - - for (const fnName of SYNC_IMPLEMENTATIONS) { - const origName = fnName; - if (typeof patchedFs[origName] === `undefined`) continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) continue; - setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); - } - - patchedFs.realpathSync.native = patchedFs.realpathSync; - patchedFs.realpath.native = patchedFs.realpath; -} - -exports.patchFs = patchFs; - -function extendFs(realFs, fakeFs) { - const patchedFs = Object.create(realFs); - patchFs(patchedFs, fakeFs); - return patchedFs; -} - -exports.extendFs = extendFs; -const tmpdirs = new Set(); -let cleanExitRegistered = false; - -function registerCleanExit() { - if (!cleanExitRegistered) cleanExitRegistered = true;else return; - - const cleanExit = () => { - process.off(`exit`, cleanExit); - - for (const p of tmpdirs) { - tmpdirs.delete(p); - - try { - exports.xfs.removeSync(p); - } catch (_a) {// Too bad if there's an error - } - } - }; - - process.on(`exit`, cleanExit); -} - -exports.xfs = Object.assign(new NodeFS_1.NodeFS(), { - detachTemp(p) { - tmpdirs.delete(p); - }, - - mktempSync(cb) { - registerCleanExit(); - - while (true) { - const p = getTempName(`xfs-`); - - try { - this.mkdirSync(p); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - - const realP = this.realpathSync(p); - tmpdirs.add(realP); - - if (typeof cb !== `undefined`) { - try { - return cb(realP); - } finally { - if (tmpdirs.has(realP)) { - tmpdirs.delete(realP); - - try { - this.removeSync(realP); - } catch (_a) {// Too bad if there's an error - } - } - } - } else { - return p; - } - } - }, - - async mktempPromise(cb) { - registerCleanExit(); - - while (true) { - const p = getTempName(`xfs-`); - - try { - await this.mkdirPromise(p); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - - const realP = await this.realpathPromise(p); - tmpdirs.add(realP); - - if (typeof cb !== `undefined`) { - try { - return await cb(realP); - } finally { - if (tmpdirs.has(realP)) { - tmpdirs.delete(realP); - - try { - await this.removePromise(realP); - } catch (_a) {// Too bad if there's an error - } - } - } - } else { - return realP; - } - } - } - -}); - -/***/ }), -/* 6 */ -/***/ (function(module, exports) { - -module.exports = require("module"); - -/***/ }), -/* 7 */ -/***/ (function(module, exports) { - -module.exports = require("path"); - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importStar = this && this.__importStar || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fs_1 = __webpack_require__(2); - -const stream_1 = __webpack_require__(15); - -const util_1 = __webpack_require__(10); - -const FakeFS_1 = __webpack_require__(3); - -const NodeFS_1 = __webpack_require__(1); - -const errors = __importStar(__webpack_require__(11)); - -const path_1 = __webpack_require__(0); - -exports.DEFAULT_COMPRESSION_LEVEL = `mixed`; -const S_IFMT = 0o170000; -const S_IFDIR = 0o040000; -const S_IFREG = 0o100000; -const S_IFLNK = 0o120000; - -class DirEntry { - constructor() { - this.name = ``; - this.mode = 0; - } - - isBlockDevice() { - return false; - } - - isCharacterDevice() { - return false; - } - - isDirectory() { - return (this.mode & S_IFMT) === S_IFDIR; - } - - isFIFO() { - return false; - } - - isFile() { - return (this.mode & S_IFMT) === S_IFREG; - } - - isSocket() { - return false; - } - - isSymbolicLink() { - return (this.mode & S_IFMT) === S_IFLNK; - } - -} - -class StatEntry { - constructor() { - this.dev = 0; - this.ino = 0; - this.mode = 0; - this.nlink = 1; - this.rdev = 0; - this.blocks = 1; - } - - isBlockDevice() { - return false; - } - - isCharacterDevice() { - return false; - } - - isDirectory() { - return (this.mode & S_IFMT) === S_IFDIR; - } - - isFIFO() { - return false; - } - - isFile() { - return (this.mode & S_IFMT) === S_IFREG; - } - - isSocket() { - return false; - } - - isSymbolicLink() { - return (this.mode & S_IFMT) === S_IFLNK; - } - -} - -function makeDefaultStats() { - return Object.assign(new StatEntry(), { - uid: 0, - gid: 0, - size: 0, - blksize: 0, - atimeMs: 0, - mtimeMs: 0, - ctimeMs: 0, - birthtimeMs: 0, - atime: new Date(0), - mtime: new Date(0), - ctime: new Date(0), - birthtime: new Date(0), - mode: S_IFREG | 0o644 - }); -} - -function toUnixTimestamp(time) { - if (typeof time === `string` && String(+time) === time) return +time; // @ts-ignore - - if (Number.isFinite(time)) { - if (time < 0) { - return Date.now() / 1000; - } else { - return time; - } - } // convert to 123.456 UNIX timestamp - - - if (util_1.isDate(time)) return time.getTime() / 1000; - throw new Error(`Invalid time`); -} - -class ZipFS extends FakeFS_1.BasePortableFakeFS { - constructor(source, opts) { - super(); - this.listings = new Map(); - this.entries = new Map(); - this.fds = new Map(); - this.nextFd = 0; - this.ready = false; - this.readOnly = false; - this.libzip = opts.libzip; - const pathOptions = opts; - this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : exports.DEFAULT_COMPRESSION_LEVEL; - - if (typeof source === `string`) { - const { - baseFs = new NodeFS_1.NodeFS() - } = pathOptions; - this.baseFs = baseFs; - this.path = source; - } else { - this.path = null; - this.baseFs = null; - } - - if (opts.stats) { - this.stats = opts.stats; - } else { - if (typeof source === `string`) { - try { - this.stats = this.baseFs.statSync(source); - } catch (error) { - if (error.code === `ENOENT` && pathOptions.create) { - this.stats = makeDefaultStats(); - } else { - throw error; - } - } - } else { - this.stats = makeDefaultStats(); - } - } - - const errPtr = this.libzip.malloc(4); - - try { - let flags = 0; - if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; - - if (opts.readOnly) { - flags |= this.libzip.ZIP_RDONLY; - this.readOnly = true; - } - - if (typeof source === `string`) { - this.zip = this.libzip.open(path_1.npath.fromPortablePath(source), flags, errPtr); - } else { - const lzSource = this.allocateUnattachedSource(source); - - try { - this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - } - - if (this.zip === 0) { - const error = this.libzip.struct.errorS(); - this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); - throw new Error(this.libzip.error.strerror(error)); - } - } finally { - this.libzip.free(errPtr); - } - - this.listings.set(path_1.PortablePath.root, new Set()); - const entryCount = this.libzip.getNumEntries(this.zip, 0); - - for (let t = 0; t < entryCount; ++t) { - const raw = this.libzip.getName(this.zip, t, 0); - if (path_1.ppath.isAbsolute(raw)) continue; - const p = path_1.ppath.resolve(path_1.PortablePath.root, raw); - this.registerEntry(p, t); // If the raw path is a directory, register it - // to prevent empty folder being skipped - - if (raw.endsWith(`/`)) { - this.registerListing(p); - } - } - - this.ready = true; - } - - getExtractHint(hints) { - for (const fileName of this.entries.keys()) { - const ext = this.pathUtils.extname(fileName); - - if (hints.relevantExtensions.has(ext)) { - return true; - } - } - - return false; - } - - getAllFiles() { - return Array.from(this.entries.keys()); - } - - getRealPath() { - if (!this.path) throw new Error(`ZipFS don't have real paths when loaded from a buffer`); - return this.path; - } - - saveAndClose() { - if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); - if (!this.ready) throw errors.EBUSY(`archive closed, close`); - - if (this.readOnly) { - this.discardAndClose(); - return; - } - - const previousMod = this.baseFs.existsSync(this.path) ? this.baseFs.statSync(this.path).mode & 0o777 : null; - const rc = this.libzip.close(this.zip); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); // this.libzip overrides the chmod when writing the archive, which is a weird - // behavior I don't totally understand (plus the umask seems bogus in some - // weird cases - maybe related to emscripten?) - // - // See also https://github.com/nih-at/libzip/issues/77 - - if (previousMod === null) this.baseFs.chmodSync(this.path, this.stats.mode);else if (previousMod !== (this.baseFs.statSync(this.path).mode & 0o777)) this.baseFs.chmodSync(this.path, previousMod); - this.ready = false; - } - - discardAndClose() { - if (!this.ready) throw errors.EBUSY(`archive closed, close`); - this.libzip.discard(this.zip); - this.ready = false; - } - - resolve(p) { - return path_1.ppath.resolve(path_1.PortablePath.root, p); - } - - async openPromise(p, flags, mode) { - return this.openSync(p, flags, mode); - } - - openSync(p, flags, mode) { - const fd = this.nextFd++; - this.fds.set(fd, { - cursor: 0, - p - }); - return fd; - } - - async readPromise(fd, buffer, offset, length, position) { - return this.readSync(fd, buffer, offset, length, position); - } - - readSync(fd, buffer, offset = 0, length = 0, position = -1) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) throw errors.EBADF(`read`); - let realPosition; - if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position; - const source = this.readFileSync(entry.p); - source.copy(buffer, offset, realPosition, realPosition + length); - const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); - if (position === -1 || position === null) entry.cursor += bytesRead; - return bytesRead; - } - - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.writeSync(fd, buffer, position); - } else { - return this.writeSync(fd, buffer, offset, length, position); - } - } - - writeSync(fd, buffer, offset, length, position) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) throw errors.EBADF(`read`); - throw new Error(`Unimplemented`); - } - - async closePromise(fd) { - return this.closeSync(fd); - } - - closeSync(fd) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) throw errors.EBADF(`read`); - this.fds.delete(fd); - } - - createReadStream(p, { - encoding - } = {}) { - if (p === null) throw new Error(`Unimplemented`); - const stream = Object.assign(new stream_1.PassThrough(), { - bytesRead: 0, - path: p, - close: () => { - clearImmediate(immediate); - } - }); - const immediate = setImmediate(() => { - try { - const data = this.readFileSync(p, encoding); - stream.bytesRead = data.length; - stream.write(data); - stream.end(); - } catch (error) { - stream.emit(`error`, error); - stream.end(); - } - }); - return stream; - } - - createWriteStream(p, { - encoding - } = {}) { - if (this.readOnly) throw errors.EROFS(`open '${p}'`); - if (p === null) throw new Error(`Unimplemented`); - const stream = Object.assign(new stream_1.PassThrough(), { - bytesWritten: 0, - path: p, - close: () => { - stream.end(); - } - }); - const chunks = []; - stream.on(`data`, chunk => { - const chunkBuffer = Buffer.from(chunk); - stream.bytesWritten += chunkBuffer.length; - chunks.push(chunkBuffer); - }); - stream.on(`end`, () => { - this.writeFileSync(p, Buffer.concat(chunks), encoding); - }); - return stream; - } - - async realpathPromise(p) { - return this.realpathSync(p); - } - - realpathSync(p) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`lstat '${p}'`); - return resolvedP; - } - - async existsPromise(p) { - return this.existsSync(p); - } - - existsSync(p) { - let resolvedP; - - try { - resolvedP = this.resolveFilename(`stat '${p}'`, p); - } catch (error) { - return false; - } - - return this.entries.has(resolvedP) || this.listings.has(resolvedP); - } - - async accessPromise(p, mode) { - return this.accessSync(p, mode); - } - - accessSync(p, mode = fs_1.constants.F_OK) { - const resolvedP = this.resolveFilename(`access '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`access '${p}'`); - - if (this.readOnly && mode & fs_1.constants.W_OK) { - throw errors.EROFS(`access '${p}'`); - } - } - - async statPromise(p) { - return this.statSync(p); - } - - statSync(p) { - const resolvedP = this.resolveFilename(`stat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`stat '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`stat '${p}'`); - return this.statImpl(`stat '${p}'`, resolvedP); - } - - async lstatPromise(p) { - return this.lstatSync(p); - } - - lstatSync(p) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`lstat '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`lstat '${p}'`); - return this.statImpl(`lstat '${p}'`, resolvedP); - } - - statImpl(reason, p) { - const entry = this.entries.get(p); // File, or explicit directory - - if (typeof entry !== `undefined`) { - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = this.libzip.struct.statSize(stat) >>> 0; - const blksize = 512; - const blocks = Math.ceil(size / blksize); - const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000; - const atimeMs = mtimeMs; - const birthtimeMs = mtimeMs; - const ctimeMs = mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; - const defaultMode = type === S_IFDIR ? 0o755 : 0o644; - const mode = type | this.getUnixMode(entry, defaultMode) & 0o777; - return Object.assign(new StatEntry(), { - uid, - gid, - size, - blksize, - blocks, - atime, - birthtime, - ctime, - mtime, - atimeMs, - birthtimeMs, - ctimeMs, - mtimeMs, - mode - }); - } // Implicit directory - - - if (this.listings.has(p)) { - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = 0; - const blksize = 512; - const blocks = 0; - const atimeMs = this.stats.mtimeMs; - const birthtimeMs = this.stats.mtimeMs; - const ctimeMs = this.stats.mtimeMs; - const mtimeMs = this.stats.mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const mode = S_IFDIR | 0o755; - return Object.assign(new StatEntry(), { - uid, - gid, - size, - blksize, - blocks, - atime, - birthtime, - ctime, - mtime, - atimeMs, - birthtimeMs, - ctimeMs, - mtimeMs, - mode - }); - } - - throw new Error(`Unreachable`); - } - - getUnixMode(index, defaultMode) { - const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode; - return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - } - - registerListing(p) { - let listing = this.listings.get(p); - if (listing) return listing; - const parentListing = this.registerListing(path_1.ppath.dirname(p)); - listing = new Set(); - parentListing.add(path_1.ppath.basename(p)); - this.listings.set(p, listing); - return listing; - } - - registerEntry(p, index) { - const parentListing = this.registerListing(path_1.ppath.dirname(p)); - parentListing.add(path_1.ppath.basename(p)); - this.entries.set(p, index); - } - - resolveFilename(reason, p, resolveLastComponent = true) { - if (!this.ready) throw errors.EBUSY(`archive closed, ${reason}`); - let resolvedP = path_1.ppath.resolve(path_1.PortablePath.root, p); - if (resolvedP === `/`) return path_1.PortablePath.root; - - while (true) { - const parentP = this.resolveFilename(reason, path_1.ppath.dirname(resolvedP), true); - const isDir = this.listings.has(parentP); - const doesExist = this.entries.has(parentP); - if (!isDir && !doesExist) throw errors.ENOENT(reason); - if (!isDir) throw errors.ENOTDIR(reason); - resolvedP = path_1.ppath.resolve(parentP, path_1.ppath.basename(resolvedP)); - if (!resolveLastComponent) break; - const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); - if (index === -1) break; - - if (this.isSymbolicLink(index)) { - const target = this.getFileSource(index).toString(); - resolvedP = path_1.ppath.resolve(path_1.ppath.dirname(resolvedP), target); - } else { - break; - } - } - - return resolvedP; - } - - allocateBuffer(content) { - if (!Buffer.isBuffer(content)) content = Buffer.from(content); - const buffer = this.libzip.malloc(content.byteLength); - if (!buffer) throw new Error(`Couldn't allocate enough memory`); // Copy the file into the Emscripten heap - - const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); - heap.set(content); - return { - buffer, - byteLength: content.byteLength - }; - } - - allocateUnattachedSource(content) { - const error = this.libzip.struct.errorS(); - const { - buffer, - byteLength - } = this.allocateBuffer(content); - const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); - - if (source === 0) { - this.libzip.free(error); - throw new Error(this.libzip.error.strerror(error)); - } - - return source; - } - - allocateSource(content) { - const { - buffer, - byteLength - } = this.allocateBuffer(content); - const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); - - if (source === 0) { - this.libzip.free(buffer); - throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - } - - return source; - } - - setFileSource(p, content) { - const target = path_1.ppath.relative(path_1.PortablePath.root, p); - const lzSource = this.allocateSource(content); - - try { - const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); - - if (this.level !== `mixed`) { - // Use store for level 0, and deflate for 1..9 - let method; - if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE; - const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); - - if (rc === -1) { - throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - } - } - - return newIndex; - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - } - - isSymbolicLink(index) { - const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (attrs === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false; - const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - return (attributes & S_IFMT) === S_IFLNK; - } - - getFileSource(index) { - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - const size = this.libzip.struct.statSize(stat); - const buffer = this.libzip.malloc(size); - - try { - const file = this.libzip.fopenIndex(this.zip, index, 0, 0); - if (file === 0) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - - try { - const rc = this.libzip.fread(file, buffer, size, 0); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.file.getError(file)));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); - const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); - const data = Buffer.from(memory); - return data; - } finally { - this.libzip.fclose(file); - } - } finally { - this.libzip.free(buffer); - } - } - - async chmodPromise(p, mask) { - return this.chmodSync(p, mask); - } - - chmodSync(p, mask) { - if (this.readOnly) throw errors.EROFS(`chmod '${p}'`); // We don't allow to make the extracted entries group-writable - - mask &= 0o755; - const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); - const entry = this.entries.get(resolvedP); - if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); - const oldMod = this.getUnixMode(entry, S_IFREG | 0o000); - const newMod = oldMod & ~0o777 | mask; - const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); - - if (rc === -1) { - throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - } - } - - async renamePromise(oldP, newP) { - return this.renameSync(oldP, newP); - } - - renameSync(oldP, newP) { - throw new Error(`Unimplemented`); - } - - async copyFilePromise(sourceP, destP, flags) { - return this.copyFileSync(sourceP, destP, flags); - } - - copyFileSync(sourceP, destP, flags = 0) { - if (this.readOnly) throw errors.EROFS(`copyfile '${sourceP} -> '${destP}'`); - if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw errors.ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); - const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); - const indexSource = this.entries.get(resolvedSourceP); - if (typeof indexSource === `undefined`) throw errors.EINVAL(`copyfile '${sourceP}' -> '${destP}'`); - const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); - const indexDest = this.entries.get(resolvedDestP); - if ((flags & (fs_1.constants.COPYFILE_EXCL | fs_1.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw errors.EEXIST(`copyfile '${sourceP}' -> '${destP}'`); - const source = this.getFileSource(indexSource); - const newIndex = this.setFileSource(resolvedDestP, source); - - if (newIndex !== indexDest) { - this.registerEntry(resolvedDestP, newIndex); - } - } - - async appendFilePromise(p, content, opts) { - return this.appendFileSync(p, content, opts); - } - - appendFileSync(p, content, opts = {}) { - if (this.readOnly) throw errors.EROFS(`open '${p}'`); - if (typeof opts === `undefined`) opts = { - flag: `a` - };else if (typeof opts === `string`) opts = { - flag: `a`, - encoding: opts - };else if (typeof opts.flag === `undefined`) opts = { - flag: `a`, - ...opts - }; - return this.writeFileSync(p, content, opts); - } - - async writeFilePromise(p, content, opts) { - return this.writeFileSync(p, content, opts); - } - - writeFileSync(p, content, opts) { - if (typeof p !== `string`) throw errors.EBADF(`read`); - if (this.readOnly) throw errors.EROFS(`open '${p}'`); - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (this.listings.has(resolvedP)) throw errors.EISDIR(`open '${p}'`); - const index = this.entries.get(resolvedP); - if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); - let encoding = null; - if (typeof opts === `string`) encoding = opts;else if (typeof opts === `object` && opts.encoding) encoding = opts.encoding; - if (encoding !== null) content = content.toString(encoding); - const newIndex = this.setFileSource(resolvedP, content); - - if (newIndex !== index) { - this.registerEntry(resolvedP, newIndex); - } - } - - async unlinkPromise(p) { - return this.unlinkSync(p); - } - - unlinkSync(p) { - throw new Error(`Unimplemented`); - } - - async utimesPromise(p, atime, mtime) { - return this.utimesSync(p, atime, mtime); - } - - utimesSync(p, atime, mtime) { - if (this.readOnly) throw errors.EROFS(`utimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p); - this.utimesImpl(resolvedP, mtime); - } - - async lutimesPromise(p, atime, mtime) { - return this.lutimesSync(p, atime, mtime); - } - - lutimesSync(p, atime, mtime) { - if (this.readOnly) throw errors.EROFS(`lutimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); - this.utimesImpl(resolvedP, mtime); - } - - utimesImpl(resolvedP, mtime) { - if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP); - const entry = this.entries.get(resolvedP); - if (entry === undefined) throw new Error(`Unreachable`); - const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); - - if (rc === -1) { - throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - } - } - - async mkdirPromise(p, opts) { - return this.mkdirSync(p, opts); - } - - mkdirSync(p, { - mode = 0o755, - recursive = false - } = {}) { - if (recursive) { - this.mkdirpSync(p, { - chmod: mode - }); - return; - } - - if (this.readOnly) throw errors.EROFS(`mkdir '${p}'`); - const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); - if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw errors.EEXIST(`mkdir '${p}'`); - this.hydrateDirectory(resolvedP); - this.chmodSync(resolvedP, mode); - } - - async rmdirPromise(p) { - return this.rmdirSync(p); - } - - rmdirSync(p) { - throw new Error(`Unimplemented`); - } - - hydrateDirectory(resolvedP) { - const index = this.libzip.dir.add(this.zip, path_1.ppath.relative(path_1.PortablePath.root, resolvedP)); - if (index === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - this.registerListing(resolvedP); - this.registerEntry(resolvedP, index); - return index; - } - - async symlinkPromise(target, p) { - return this.symlinkSync(target, p); - } - - symlinkSync(target, p) { - if (this.readOnly) throw errors.EROFS(`symlink '${target}' -> '${p}'`); - const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); - if (this.listings.has(resolvedP)) throw errors.EISDIR(`symlink '${target}' -> '${p}'`); - if (this.entries.has(resolvedP)) throw errors.EEXIST(`symlink '${target}' -> '${p}'`); - const index = this.setFileSource(resolvedP, target); - this.registerEntry(resolvedP, index); - const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (0o120000 | 0o777) << 16); - - if (rc === -1) { - throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - } - } - - async readFilePromise(p, encoding) { - // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) - switch (encoding) { - case `utf8`: - return this.readFileSync(p, encoding); - - default: - return this.readFileSync(p, encoding); - } - } - - readFileSync(p, encoding) { - if (typeof p !== `string`) throw errors.EBADF(`read`); // This is messed up regarding the TS signatures - - if (typeof encoding === `object`) // @ts-ignore - encoding = encoding ? encoding.encoding : undefined; - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`open '${p}'`); // Ensures that the last component is a directory, if the user said so (even if it is we'll throw right after with EISDIR anyway) - - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) throw errors.EISDIR(`read`); - const entry = this.entries.get(resolvedP); - if (entry === undefined) throw new Error(`Unreachable`); - const data = this.getFileSource(entry); - return encoding ? data.toString(encoding) : data; - } - - async readdirPromise(p, { - withFileTypes - } = {}) { - return this.readdirSync(p, { - withFileTypes: withFileTypes - }); - } - - readdirSync(p, { - withFileTypes - } = {}) { - const resolvedP = this.resolveFilename(`scandir '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`scandir '${p}'`); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) throw errors.ENOTDIR(`scandir '${p}'`); - const entries = [...directoryListing]; - if (!withFileTypes) return entries; - return entries.map(name => { - return Object.assign(this.statImpl(`lstat`, path_1.ppath.join(p, name)), { - name - }); - }); - } - - async readlinkPromise(p) { - return this.readlinkSync(p); - } - - readlinkSync(p) { - const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`readlink '${p}'`); // Ensure that the last component is a directory (if it is we'll throw right after with EISDIR anyway) - - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) throw errors.EINVAL(`readlink '${p}'`); - const entry = this.entries.get(resolvedP); - if (entry === undefined) throw new Error(`Unreachable`); - const rc = this.libzip.file.getExternalAttributes(this.zip, entry, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) throw errors.EINVAL(`readlink '${p}'`); - const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - if ((attributes & 0o170000) !== 0o120000) throw errors.EINVAL(`readlink '${p}'`); - return this.getFileSource(entry).toString(); - } - - watch(p, a, b) { - let persistent; - - switch (typeof a) { - case `function`: - case `string`: - case `undefined`: - { - persistent = true; - } - break; - - default: - { - // @ts-ignore - ({ - persistent = true - } = a); - } - break; - } - - if (!persistent) return { - on: () => {}, - close: () => {} - }; - const interval = setInterval(() => {}, 24 * 60 * 60 * 1000); - return { - on: () => {}, - close: () => { - clearInterval(interval); - } - }; - } - -} - -exports.ZipFS = ZipFS; - -/***/ }), -/* 9 */ -/***/ (function(module, exports) { - -module.exports = require("os"); - -/***/ }), -/* 10 */ -/***/ (function(module, exports) { - -module.exports = require("util"); - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -function makeError(code, message) { - return Object.assign(new Error(`${code}: ${message}`), { - code - }); -} - -function EBUSY(message) { - return makeError(`EBUSY`, message); -} - -exports.EBUSY = EBUSY; - -function ENOSYS(message, reason) { - return makeError(`ENOSYS`, `${message}, ${reason}`); -} - -exports.ENOSYS = ENOSYS; - -function EINVAL(reason) { - return makeError(`EINVAL`, `invalid argument, ${reason}`); -} - -exports.EINVAL = EINVAL; - -function EBADF(reason) { - return makeError(`EBADF`, `bad file descriptor, ${reason}`); -} - -exports.EBADF = EBADF; - -function ENOENT(reason) { - return makeError(`ENOENT`, `no such file or directory, ${reason}`); -} - -exports.ENOENT = ENOENT; - -function ENOTDIR(reason) { - return makeError(`ENOTDIR`, `not a directory, ${reason}`); -} - -exports.ENOTDIR = ENOTDIR; - -function EISDIR(reason) { - return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`); -} - -exports.EISDIR = EISDIR; - -function EEXIST(reason) { - return makeError(`EEXIST`, `file already exists, ${reason}`); -} - -exports.EEXIST = EEXIST; - -function EROFS(reason) { - return makeError(`EROFS`, `read-only filesystem, ${reason}`); -} - -exports.EROFS = EROFS; - -/***/ }), -/* 12 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var ErrorCode; - -(function (ErrorCode) { - ErrorCode["API_ERROR"] = "API_ERROR"; - ErrorCode["BLACKLISTED"] = "BLACKLISTED"; - ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED"; - ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY"; - ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY"; - ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED"; - ErrorCode["INTERNAL"] = "INTERNAL"; - ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY"; - ErrorCode["UNSUPPORTED"] = "UNSUPPORTED"; -})(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {})); // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages -// that expect this umbrella error when the resolution fails - - -const MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BLACKLISTED, ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]); -/** - * Simple helper function that assign an error code to an error, so that it can more easily be caught and used - * by third-parties. - */ - -function makeError(pnpCode, message, data = {}) { - const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; - const propertySpec = { - configurable: true, - writable: true, - enumerable: false - }; - return Object.defineProperties(new Error(message), { - code: { ...propertySpec, - value: code - }, - pnpCode: { ...propertySpec, - value: pnpCode - }, - data: { ...propertySpec, - value: data - } - }); -} - -exports.makeError = makeError; -/** - * Returns the module that should be used to resolve require calls. It's usually the direct parent, except if we're - * inside an eval expression. - */ - -function getIssuerModule(parent) { - let issuer = parent; - - while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) issuer = issuer.parent; - - return issuer || null; -} - -exports.getIssuerModule = getIssuerModule; - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; -}; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fslib_1 = __webpack_require__(5); - -const libzip_1 = __webpack_require__(24); - -const fs_1 = __importDefault(__webpack_require__(2)); - -const module_1 = __importDefault(__webpack_require__(6)); - -const string_decoder_1 = __importDefault(__webpack_require__(28)); - -const applyPatch_1 = __webpack_require__(29); - -const hydrateRuntimeState_1 = __webpack_require__(31); - -const makeApi_1 = __webpack_require__(32); - -const makeManager_1 = __webpack_require__(33); // We must copy the fs into a local, because otherwise -// 1. we would make the NodeFS instance use the function that we patched (infinite loop) -// 2. Object.create(fs) isn't enough, since it won't prevent the proto from being modified - - -const localFs = { ...fs_1.default -}; -const nodeFs = new fslib_1.NodeFS(localFs); -const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState_1.hydrateRuntimeState); -const defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things: -// 1. all requests inside a folder named "$$virtual" will be remapped according the virtual folder rules -// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation -// 3. any remaining request will be forwarded to Node as-is - -const defaultFsLayer = new fslib_1.VirtualFS({ - baseFs: new fslib_1.ZipOpenFS({ - baseFs: nodeFs, - libzip: libzip_1.getLibzipSync(), - maxOpenFiles: 80, - readOnlyArchives: true - }) -}); -let manager; -const defaultApi = Object.assign(makeApi_1.makeApi(defaultRuntimeState, { - fakeFs: defaultFsLayer, - pnpapiResolution: defaultPnpapiResolution -}), { - /** - * Can be used to generate a different API than the default one (for example - * to map it on `/` rather than the local directory path, or to use a - * different FS layer than the default one). - */ - makeApi: ({ - basePath = undefined, - fakeFs = defaultFsLayer, - pnpapiResolution = defaultPnpapiResolution, - ...rest - }) => { - const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState_1.hydrateRuntimeState, basePath) : defaultRuntimeState; - return makeApi_1.makeApi(apiRuntimeState, { - fakeFs, - pnpapiResolution, - ...rest - }); - }, - - /** - * Will inject the specified API into the environment, monkey-patching FS. Is - * automatically called when the hook is loaded through `--require`. - */ - setup: api => { - applyPatch_1.applyPatch(api || defaultApi, { - fakeFs: defaultFsLayer, - manager - }); - } -}); -manager = makeManager_1.makeManager(defaultApi, { - fakeFs: defaultFsLayer -}); // eslint-disable-next-line arca/no-default-export - -exports.default = defaultApi; - -if (__non_webpack_module__.parent && __non_webpack_module__.parent.id === `internal/preload`) { - defaultApi.setup(); - - if (__non_webpack_module__.filename) { - // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run" - // It's annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn't happen anyway. - // @ts-ignore - delete module_1.default._cache[__non_webpack_module__.filename]; - } -} // @ts-ignore - - -if (process.mainModule === __non_webpack_module__) { - const reportError = (code, message, data) => { - process.stdout.write(`${JSON.stringify([{ - code, - message, - data - }, null])}\n`); - }; - - const reportSuccess = resolution => { - process.stdout.write(`${JSON.stringify([null, resolution])}\n`); - }; - - const processResolution = (request, issuer) => { - try { - reportSuccess(defaultApi.resolveRequest(request, issuer)); - } catch (error) { - reportError(error.code, error.message, error.data); - } - }; - - const processRequest = data => { - try { - const [request, issuer] = JSON.parse(data); - processResolution(request, issuer); - } catch (error) { - reportError(`INVALID_JSON`, error.message, error.data); - } - }; - - if (process.argv.length > 2) { - if (process.argv.length !== 4) { - process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} \n`); - process.exitCode = 64; - /* EX_USAGE */ - } else { - processResolution(process.argv[2], process.argv[3]); - } - } else { - let buffer = ``; - const decoder = new string_decoder_1.default.StringDecoder(); - process.stdin.on(`data`, chunk => { - buffer += decoder.write(chunk); - - do { - const index = buffer.indexOf(`\n`); - if (index === -1) break; - const line = buffer.slice(0, index); - buffer = buffer.slice(index + 1); - processRequest(line); - } while (true); - }); - } -} - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod - }; -}; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fs_1 = __importDefault(__webpack_require__(2)); - -const path_1 = __webpack_require__(0); - -async function copyPromise(destinationFs, destination, sourceFs, source, opts) { - const normalizedDestination = destinationFs.pathUtils.normalize(destination); - const normalizedSource = sourceFs.pathUtils.normalize(source); - const operations = []; - const lutimes = []; - await destinationFs.mkdirpPromise(destination); - await copyImpl(operations, lutimes, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts); - - for (const operation of operations) await operation(); - - const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); - - for (const [p, atime, mtime] of lutimes) { - await updateTime(p, atime, mtime); - } -} - -exports.copyPromise = copyPromise; - -async function copyImpl(operations, lutimes, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = await maybeLStat(destinationFs, destination); - const sourceStat = await sourceFs.lstatPromise(source); - lutimes.push([destination, sourceStat.atime, sourceStat.mtime]); - - switch (true) { - case sourceStat.isDirectory(): - { - await copyFolder(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - - case sourceStat.isFile(): - { - await copyFile(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - - case sourceStat.isSymbolicLink(): - { - await copySymlink(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - - default: - { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - break; - } - - operations.push(async () => destinationFs.chmodPromise(destination, sourceStat.mode & 0o777)); -} - -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} - -async function copyFolder(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null && !destinationStat.isDirectory()) { - if (opts.overwrite) { - operations.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return; - } - } - - if (destinationStat === null) operations.push(async () => destinationFs.mkdirPromise(destination, { - mode: sourceStat.mode - })); - const entries = await sourceFs.readdirPromise(source); - await Promise.all(entries.map(async entry => { - await copyImpl(operations, lutimes, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts); - })); -} - -async function copyFile(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - operations.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return; - } - } - - if (destinationFs === sourceFs) { - operations.push(async () => destinationFs.copyFilePromise(source, destination, fs_1.default.constants.COPYFILE_FICLONE)); - } else { - operations.push(async () => destinationFs.writeFilePromise(destination, (await sourceFs.readFilePromise(source)))); - } -} - -async function copySymlink(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - operations.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return; - } - } - - const target = await sourceFs.readlinkPromise(source); - operations.push(async () => destinationFs.symlinkPromise(path_1.convertPath(destinationFs.pathUtils, target), destination)); -} - -/***/ }), -/* 15 */ -/***/ (function(module, exports) { - -module.exports = require("stream"); - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const ProxiedFS_1 = __webpack_require__(4); - -class AliasFS extends ProxiedFS_1.ProxiedFS { - constructor(target, { - baseFs, - pathUtils - }) { - super(pathUtils); - this.target = target; - this.baseFs = baseFs; - } - - getRealPath() { - return this.target; - } - - getBaseFs() { - return this.baseFs; - } - - mapFromBase(p) { - return p; - } - - mapToBase(p) { - return p; - } - -} - -exports.AliasFS = AliasFS; - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const NodeFS_1 = __webpack_require__(1); - -const ProxiedFS_1 = __webpack_require__(4); - -const path_1 = __webpack_require__(0); - -class CwdFS extends ProxiedFS_1.ProxiedFS { - constructor(target, { - baseFs = new NodeFS_1.NodeFS() - } = {}) { - super(path_1.ppath); - this.target = this.pathUtils.normalize(target); - this.baseFs = baseFs; - } - - getRealPath() { - return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target); - } - - resolve(p) { - if (this.pathUtils.isAbsolute(p)) { - return path_1.ppath.normalize(p); - } else { - return this.baseFs.resolve(path_1.ppath.join(this.target, p)); - } - } - - mapFromBase(path) { - return path; - } - - mapToBase(path) { - if (this.pathUtils.isAbsolute(path)) { - return path; - } else { - return this.pathUtils.join(this.target, path); - } - } - -} - -exports.CwdFS = CwdFS; - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const NodeFS_1 = __webpack_require__(1); - -const ProxiedFS_1 = __webpack_require__(4); - -const path_1 = __webpack_require__(0); - -const JAIL_ROOT = path_1.PortablePath.root; - -class JailFS extends ProxiedFS_1.ProxiedFS { - constructor(target, { - baseFs = new NodeFS_1.NodeFS() - } = {}) { - super(path_1.ppath); - this.target = this.pathUtils.resolve(path_1.PortablePath.root, target); - this.baseFs = baseFs; - } - - getRealPath() { - return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(path_1.PortablePath.root, this.target)); - } - - getTarget() { - return this.target; - } - - getBaseFs() { - return this.baseFs; - } - - mapToBase(p) { - const normalized = this.pathUtils.normalize(p); - if (this.pathUtils.isAbsolute(p)) return this.pathUtils.resolve(this.target, this.pathUtils.relative(JAIL_ROOT, p)); - if (normalized.match(/^\.\.\/?/)) throw new Error(`Resolving this path (${p}) would escape the jail`); - return this.pathUtils.resolve(this.target, p); - } - - mapFromBase(p) { - return this.pathUtils.resolve(JAIL_ROOT, this.pathUtils.relative(this.target, p)); - } - -} - -exports.JailFS = JailFS; - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const ProxiedFS_1 = __webpack_require__(4); - -class LazyFS extends ProxiedFS_1.ProxiedFS { - constructor(factory, pathUtils) { - super(pathUtils); - this.instance = null; - this.factory = factory; - } - - get baseFs() { - if (!this.instance) this.instance = this.factory(); - return this.instance; - } - - set baseFs(value) { - this.instance = value; - } - - mapFromBase(p) { - return p; - } - - mapToBase(p) { - return p; - } - -} - -exports.LazyFS = LazyFS; - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const FakeFS_1 = __webpack_require__(3); - -const path_1 = __webpack_require__(0); - -const makeError = () => Object.assign(new Error(`ENOSYS: unsupported filesystem access`), { - code: `ENOSYS` -}); - -class NoFS extends FakeFS_1.FakeFS { - constructor() { - super(path_1.ppath); - } - - getExtractHint() { - throw makeError(); - } - - getRealPath() { - throw makeError(); - } - - resolve() { - throw makeError(); - } - - async openPromise() { - throw makeError(); - } - - openSync() { - throw makeError(); - } - - async readPromise() { - throw makeError(); - } - - readSync() { - throw makeError(); - } - - async writePromise() { - throw makeError(); - } - - writeSync() { - throw makeError(); - } - - async closePromise() { - throw makeError(); - } - - closeSync() { - throw makeError(); - } - - createWriteStream() { - throw makeError(); - } - - createReadStream() { - throw makeError(); - } - - async realpathPromise() { - throw makeError(); - } - - realpathSync() { - throw makeError(); - } - - async readdirPromise() { - throw makeError(); - } - - readdirSync() { - throw makeError(); - } - - async existsPromise(p) { - throw makeError(); - } - - existsSync(p) { - throw makeError(); - } - - async accessPromise() { - throw makeError(); - } - - accessSync() { - throw makeError(); - } - - async statPromise() { - throw makeError(); - } - - statSync() { - throw makeError(); - } - - async lstatPromise(p) { - throw makeError(); - } - - lstatSync(p) { - throw makeError(); - } - - async chmodPromise() { - throw makeError(); - } - - chmodSync() { - throw makeError(); - } - - async mkdirPromise() { - throw makeError(); - } - - mkdirSync() { - throw makeError(); - } - - async rmdirPromise() { - throw makeError(); - } - - rmdirSync() { - throw makeError(); - } - - async symlinkPromise() { - throw makeError(); - } - - symlinkSync() { - throw makeError(); - } - - async renamePromise() { - throw makeError(); - } - - renameSync() { - throw makeError(); - } - - async copyFilePromise() { - throw makeError(); - } - - copyFileSync() { - throw makeError(); - } - - async appendFilePromise() { - throw makeError(); - } - - appendFileSync() { - throw makeError(); - } - - async writeFilePromise() { - throw makeError(); - } - - writeFileSync() { - throw makeError(); - } - - async unlinkPromise() { - throw makeError(); - } - - unlinkSync() { - throw makeError(); - } - - async utimesPromise() { - throw makeError(); - } - - utimesSync() { - throw makeError(); - } - - async readFilePromise() { - throw makeError(); - } - - readFileSync() { - throw makeError(); - } - - async readlinkPromise() { - throw makeError(); - } - - readlinkSync() { - throw makeError(); - } - - watch() { - throw makeError(); - } - -} - -exports.NoFS = NoFS; -NoFS.instance = new NoFS(); - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const ProxiedFS_1 = __webpack_require__(4); - -const path_1 = __webpack_require__(0); - -class PosixFS extends ProxiedFS_1.ProxiedFS { - constructor(baseFs) { - super(path_1.npath); - this.baseFs = baseFs; - } - - mapFromBase(path) { - return path_1.npath.fromPortablePath(path); - } - - mapToBase(path) { - return path_1.npath.toPortablePath(path); - } - -} - -exports.PosixFS = PosixFS; - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const NodeFS_1 = __webpack_require__(1); - -const ProxiedFS_1 = __webpack_require__(4); - -const path_1 = __webpack_require__(0); - -const NUMBER_REGEXP = /^[0-9]+$/; // $0: full path -// $1: virtual folder -// $2: virtual segment -// $3: hash -// $4: depth -// $5: subpath - -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; - -class VirtualFS extends ProxiedFS_1.ProxiedFS { - constructor({ - baseFs = new NodeFS_1.NodeFS() - } = {}) { - super(path_1.ppath); - this.baseFs = baseFs; - } - - static makeVirtualPath(base, component, to) { - if (path_1.ppath.basename(base) !== `$$virtual`) throw new Error(`Assertion failed: Virtual folders must be named "$$virtual"`); - if (!path_1.ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target - - const target = path_1.ppath.relative(path_1.ppath.dirname(base), to); - const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path - - let depth = 0; - - while (depth < segments.length && segments[depth] === `..`) depth += 1; - - const finalSegments = segments.slice(depth); - const fullVirtualPath = path_1.ppath.join(base, component, String(depth), ...finalSegments); - return fullVirtualPath; - } - - static resolveVirtual(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match || !match[3] && match[5]) return p; - const target = path_1.ppath.dirname(match[1]); - if (!match[3] || !match[4]) return target; - const isnum = NUMBER_REGEXP.test(match[4]); - if (!isnum) return p; - const depth = Number(match[4]); - const backstep = `../`.repeat(depth); - const subpath = match[5] || `.`; - return VirtualFS.resolveVirtual(path_1.ppath.join(target, backstep, subpath)); - } - - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - - getRealPath() { - return this.baseFs.getRealPath(); - } - - realpathSync(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) return this.baseFs.realpathSync(p); - if (!match[5]) return p; - const realpath = this.baseFs.realpathSync(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - - async realpathPromise(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) return await this.baseFs.realpathPromise(p); - if (!match[5]) return p; - const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - - mapToBase(p) { - return VirtualFS.resolveVirtual(p); - } - - mapFromBase(p) { - return p; - } - -} - -exports.VirtualFS = VirtualFS; - -/***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fs_1 = __webpack_require__(2); - -const FakeFS_1 = __webpack_require__(3); - -const NodeFS_1 = __webpack_require__(1); - -const ZipFS_1 = __webpack_require__(8); - -const path_1 = __webpack_require__(0); - -const ZIP_FD = 0x80000000; - -class ZipOpenFS extends FakeFS_1.BasePortableFakeFS { - constructor({ - libzip, - baseFs = new NodeFS_1.NodeFS(), - filter = null, - maxOpenFiles = Infinity, - readOnlyArchives = false, - useCache = true - }) { - super(); - this.fdMap = new Map(); - this.nextFd = 3; - this.isZip = new Set(); - this.notZip = new Set(); - this.libzip = libzip; - this.baseFs = baseFs; - this.zipInstances = useCache ? new Map() : null; - this.filter = filter; - this.maxOpenFiles = maxOpenFiles; - this.readOnlyArchives = readOnlyArchives; - this.isZip = new Set(); - this.notZip = new Set(); - } - - static async openPromise(fn, opts) { - const zipOpenFs = new ZipOpenFS(opts); - - try { - return await fn(zipOpenFs); - } finally { - zipOpenFs.saveAndClose(); - } - } - - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - - getRealPath() { - return this.baseFs.getRealPath(); - } - - saveAndClose() { - if (this.zipInstances) { - for (const [path, zipFs] of this.zipInstances.entries()) { - zipFs.saveAndClose(); - this.zipInstances.delete(path); - } +var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 +}; +var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; } - } - - discardAndClose() { - if (this.zipInstances) { - for (const [path, zipFs] of this.zipInstances.entries()) { - zipFs.discardAndClose(); - this.zipInstances.delete(path); - } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + assert(code in ERRNO_CODES); + return ERRNO_CODES[code]; + }, + mount: function(mount) { + assert(ENVIRONMENT_HAS_NODE); + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); } - } - - resolve(p) { - return this.baseFs.resolve(p); - } - - remapFd(zipFs, fd) { - const remappedFd = this.nextFd++ | ZIP_FD; - this.fdMap.set(remappedFd, [zipFs, fd]); - return remappedFd; - } - - async openPromise(p, flags, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.openPromise(p, flags, mode); - }, async (zipFs, { - subPath - }) => { - return this.remapFd(zipFs, (await zipFs.openPromise(subPath, flags, mode))); - }); - } - - openSync(p, flags, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.openSync(p, flags, mode); - }, (zipFs, { - subPath - }) => { - return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); - }); - } - - async readPromise(fd, buffer, offset, length, position) { - if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { - code: `EBADF` - }); - const [zipFs, realFd] = entry; - return await zipFs.readPromise(realFd, buffer, offset, length, position); - } - - readSync(fd, buffer, offset, length, position) { - if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { - code: `EBADF` - }); - const [zipFs, realFd] = entry; - return zipFs.readSync(realFd, buffer, offset, length, position); - } - - async writePromise(fd, buffer, offset, length, position) { - if ((fd & ZIP_FD) === 0) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | ((stat.mode & 292) >> 2); } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); } - - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { - code: `EBADF` - }); - const [zipFs, realFd] = entry; - - if (typeof buffer === `string`) { - return await zipFs.writePromise(realFd, buffer, offset); - } else { - return await zipFs.writePromise(realFd, buffer, offset, length, position); + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - } - - writeSync(fd, buffer, offset, length, position) { - if ((fd & ZIP_FD) === 0) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; } } - - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { - code: `EBADF` - }); - const [zipFs, realFd] = entry; - - if (typeof buffer === `string`) { - return zipFs.writeSync(realFd, buffer, offset); + if (!flags) { + return newFlags; } else { - return zipFs.writeSync(realFd, buffer, offset, length, position); + throw new FS.ErrnoError(28); } - } - - async closePromise(fd) { - if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { - code: `EBADF` - }); - this.fdMap.delete(fd); - const [zipFs, realFd] = entry; - return await zipFs.closePromise(realFd); - } - - closeSync(fd) { - if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { - code: `EBADF` - }); - this.fdMap.delete(fd); - const [zipFs, realFd] = entry; - return zipFs.closeSync(realFd); - } - - createReadStream(p, opts) { - if (p === null) return this.baseFs.createReadStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createReadStream(p, opts); - }, (zipFs, { - subPath - }) => { - return zipFs.createReadStream(subPath, opts); - }); - } - - createWriteStream(p, opts) { - if (p === null) return this.baseFs.createWriteStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createWriteStream(p, opts); - }, (zipFs, { - subPath - }) => { - return zipFs.createWriteStream(subPath, opts); - }); - } - - async realpathPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.realpathPromise(p); - }, async (zipFs, { - archivePath, - subPath - }) => { - return this.pathUtils.resolve((await this.baseFs.realpathPromise(archivePath)), this.pathUtils.relative(path_1.PortablePath.root, (await zipFs.realpathPromise(subPath)))); - }); - } - - realpathSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.realpathSync(p); - }, (zipFs, { - archivePath, - subPath - }) => { - return this.pathUtils.resolve(this.baseFs.realpathSync(archivePath), this.pathUtils.relative(path_1.PortablePath.root, zipFs.realpathSync(subPath))); - }); - } - - async existsPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.existsPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.existsPromise(subPath); - }); - } - - existsSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.existsSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.existsSync(subPath); - }); - } - - async accessPromise(p, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.accessPromise(p, mode); - }, async (zipFs, { - subPath - }) => { - return await zipFs.accessPromise(subPath, mode); - }); - } - - accessSync(p, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.accessSync(p, mode); - }, (zipFs, { - subPath - }) => { - return zipFs.accessSync(subPath, mode); - }); - } - - async statPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.statPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.statPromise(subPath); - }); - } - - statSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.statSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.statSync(subPath); - }); - } - - async lstatPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lstatPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.lstatPromise(subPath); - }); - } - - lstatSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.lstatSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.lstatSync(subPath); - }); - } - - async chmodPromise(p, mask) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chmodPromise(p, mask); - }, async (zipFs, { - subPath - }) => { - return await zipFs.chmodPromise(subPath, mask); - }); - } - - chmodSync(p, mask) { - return this.makeCallSync(p, () => { - return this.baseFs.chmodSync(p, mask); - }, (zipFs, { - subPath - }) => { - return zipFs.chmodSync(subPath, mask); - }); - } - - async renamePromise(oldP, newP) { - return await this.makeCallPromise(oldP, async () => { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.renamePromise(oldP, newP); - }, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); - }); - }, async (zipFsO, { - subPath: subPathO - }) => { - return await this.makeCallPromise(newP, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); - }, async (zipFsN, { - subPath: subPathN - }) => { - if (zipFsO !== zipFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); } else { - return await zipFsO.renamePromise(subPathO, subPathN); + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); } - }); - }); - } - - renameSync(oldP, newP) { - return this.makeCallSync(oldP, () => { - return this.makeCallSync(newP, () => { - return this.baseFs.renameSync(oldP, newP); - }, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); - }); - }, (zipFsO, { - subPath: subPathO - }) => { - return this.makeCallSync(newP, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); - }, (zipFsN, { - subPath: subPathN - }) => { - if (zipFsO !== zipFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { - code: `EEXDEV` - }); - } else { - return zipFsO.renameSync(subPathO, subPathN); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); } - }); - }); - } - - async copyFilePromise(sourceP, destP, flags = 0) { - const fallback = async (sourceFs, sourceP, destFs, destP) => { - if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { - code: `EXDEV` - }); - if (flags & fs_1.constants.COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { - code: `EEXIST` - }); - let content; - + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer, offset, length, position) { + if (length === 0) return 0; try { - content = await sourceFs.readFilePromise(sourceP); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { - code: `EINVAL` - }); + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); } - - await destFs.writeFilePromise(destP, content); - }; - - return await this.makeCallPromise(sourceP, async () => { - return await this.makeCallPromise(destP, async () => { - return await this.baseFs.copyFilePromise(sourceP, destP, flags); - }, async (zipFsD, { - subPath: subPathD - }) => { - return await fallback(this.baseFs, sourceP, zipFsD, subPathD); - }); - }, async (zipFsS, { - subPath: subPathS - }) => { - return await this.makeCallPromise(destP, async () => { - return await fallback(zipFsS, subPathS, this.baseFs, destP); - }, async (zipFsD, { - subPath: subPathD - }) => { - if (zipFsS !== zipFsD) { - return await fallback(zipFsS, subPathS, zipFsD, subPathD); - } else { - return await zipFsS.copyFilePromise(subPathS, subPathD, flags); - } - }); - }); - } - - copyFileSync(sourceP, destP, flags = 0) { - const fallback = (sourceFs, sourceP, destFs, destP) => { - if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { - code: `EXDEV` - }); - if (flags & fs_1.constants.COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { - code: `EEXIST` - }); - let content; - + }, + write: function(stream, buffer, offset, length, position) { try { - content = sourceFs.readFileSync(sourceP); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { - code: `EINVAL` - }); + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); } - - destFs.writeFileSync(destP, content); - }; - - return this.makeCallSync(sourceP, () => { - return this.makeCallSync(destP, () => { - return this.baseFs.copyFileSync(sourceP, destP, flags); - }, (zipFsD, { - subPath: subPathD - }) => { - return fallback(this.baseFs, sourceP, zipFsD, subPathD); - }); - }, (zipFsS, { - subPath: subPathS - }) => { - return this.makeCallSync(destP, () => { - return fallback(zipFsS, subPathS, this.baseFs, destP); - }, (zipFsD, { - subPath: subPathD - }) => { - if (zipFsS !== zipFsD) { - return fallback(zipFsS, subPathS, zipFsD, subPathD); - } else { - return zipFsS.copyFileSync(subPathS, subPathD, flags); + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } } - }); - }); - } - - async appendFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.appendFilePromise(p, content, opts); - }, async (zipFs, { - subPath - }) => { - return await zipFs.appendFilePromise(subPath, content, opts); - }); - } - - appendFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.appendFileSync(p, content, opts); - }, (zipFs, { - subPath - }) => { - return zipFs.appendFileSync(subPath, content, opts); - }); - } - - async writeFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.writeFilePromise(p, content, opts); - }, async (zipFs, { - subPath - }) => { - return await zipFs.writeFilePromise(subPath, content, opts); - }); - } - - writeFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.writeFileSync(p, content, opts); - }, (zipFs, { - subPath - }) => { - return zipFs.writeFileSync(subPath, content, opts); - }); - } - - async unlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.unlinkPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.unlinkPromise(subPath); - }); - } - - unlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.unlinkSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.unlinkSync(subPath); - }); - } - - async utimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.utimesPromise(p, atime, mtime); - }, async (zipFs, { - subPath - }) => { - return await zipFs.utimesPromise(subPath, atime, mtime); - }); - } - - utimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.utimesSync(p, atime, mtime); - }, (zipFs, { - subPath - }) => { - return zipFs.utimesSync(subPath, atime, mtime); - }); - } - - async mkdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.mkdirPromise(p, opts); - }, async (zipFs, { - subPath - }) => { - return await zipFs.mkdirPromise(subPath, opts); - }); - } - - mkdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.mkdirSync(p, opts); - }, (zipFs, { - subPath - }) => { - return zipFs.mkdirSync(subPath, opts); - }); - } - - async rmdirPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.rmdirPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.rmdirPromise(subPath); - }); - } - - rmdirSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.rmdirSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.rmdirSync(subPath); - }); - } - - async symlinkPromise(target, p, type) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.symlinkPromise(target, p, type); - }, async (zipFs, { - subPath - }) => { - return await zipFs.symlinkPromise(target, subPath); - }); - } - - symlinkSync(target, p, type) { - return this.makeCallSync(p, () => { - return this.baseFs.symlinkSync(target, p, type); - }, (zipFs, { - subPath - }) => { - return zipFs.symlinkSync(target, subPath); - }); - } - - async readFilePromise(p, encoding) { - return this.makeCallPromise(p, async () => { - // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) - switch (encoding) { - case `utf8`: - return await this.baseFs.readFilePromise(p, encoding); - - default: - return await this.baseFs.readFilePromise(p, encoding); } - }, async (zipFs, { - subPath - }) => { - return await zipFs.readFilePromise(subPath, encoding); - }); + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + } + } +}; +var NODERAWFS = { + lookupPath: function(path) { + return { path: path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode: mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function() { + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd: fd, + nfd: nfd, + position: 0, + path: path, + flags: flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer.buffer), + offset, + length, + position + ); + if (!seeking) stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + }, + msync: function() { + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); } - - readFileSync(p, encoding) { - return this.makeCallSync(p, () => { - // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) - switch (encoding) { - case `utf8`: - return this.baseFs.readFileSync(p, encoding); - - default: - return this.baseFs.readFileSync(p, encoding); +}; +var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + handleFSError: function(e) { + if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); + return ___setErrNo(e.errno); + }, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; } - }, (zipFs, { - subPath - }) => { - return zipFs.readFileSync(subPath, encoding); - }); - } - - async readdirPromise(p, { - withFileTypes - } = {}) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readdirPromise(p, { - withFileTypes: withFileTypes - }); - }, async (zipFs, { - subPath - }) => { - return await zipFs.readdirPromise(subPath, { - withFileTypes: withFileTypes - }); - }, { - requireSubpath: false - }); - } - - readdirSync(p, { - withFileTypes - } = {}) { - return this.makeCallSync(p, () => { - return this.baseFs.readdirSync(p, { - withFileTypes: withFileTypes - }); - }, (zipFs, { - subPath - }) => { - return zipFs.readdirSync(subPath, { - withFileTypes: withFileTypes - }); - }, { - requireSubpath: false - }); - } - - async readlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readlinkPromise(p); - }, async (zipFs, { - subPath - }) => { - return await zipFs.readlinkPromise(subPath); - }); - } - - readlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.readlinkSync(p); - }, (zipFs, { - subPath - }) => { - return zipFs.readlinkSync(subPath); - }); - } - - watch(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watch(p, // @ts-ignore - a, b); - }, (zipFs, { - subPath - }) => { - return zipFs.watch(subPath, // @ts-ignore - a, b); - }); - } - - async makeCallPromise(p, discard, accept, { - requireSubpath = true - } = {}) { - if (typeof p !== `string`) return await discard(); - const normalizedP = this.resolve(p); - const zipInfo = this.findZip(normalizedP); - if (!zipInfo) return await discard(); - if (requireSubpath && zipInfo.subPath === `/`) return await discard(); - return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo)); - } - - makeCallSync(p, discard, accept, { - requireSubpath = true - } = {}) { - if (typeof p !== `string`) return discard(); - const normalizedP = this.resolve(p); - const zipInfo = this.findZip(normalizedP); - if (!zipInfo) return discard(); - if (requireSubpath && zipInfo.subPath === `/`) return discard(); - return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo)); - } - - findZip(p) { - if (this.filter && !this.filter.test(p)) return null; - const parts = p.split(/\//g); - - for (let t = 2; t <= parts.length; ++t) { - const archivePath = parts.slice(0, t).join(`/`); - if (this.notZip.has(archivePath)) continue; - if (this.isZip.has(archivePath)) return { - archivePath, - subPath: this.pathUtils.resolve(path_1.PortablePath.root, parts.slice(t).join(`/`)) - }; - let realArchivePath = archivePath; - let stat; - - while (true) { - try { - stat = this.baseFs.lstatSync(realArchivePath); - } catch (error) { - return null; - } - - if (stat.isSymbolicLink()) { - realArchivePath = this.pathUtils.resolve(this.pathUtils.dirname(realArchivePath), this.baseFs.readlinkSync(realArchivePath)); - } else { - break; + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; } } - - const isZip = stat.isFile() && this.pathUtils.extname(realArchivePath) === `.zip`; - - if (isZip) { - this.isZip.add(archivePath); - return { - archivePath, - subPath: this.pathUtils.resolve(path_1.PortablePath.root, parts.slice(t).join(`/`)) - }; - } else { - this.notZip.add(archivePath); - - if (stat.isFile()) { - return null; + 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 + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } } } } - - return null; - } - - limitOpenFiles(max) { - if (this.zipInstances === null) return; - let closeCount = this.zipInstances.size - max; - - for (const [path, zipFs] of this.zipInstances.entries()) { - if (closeCount <= 0) break; - zipFs.saveAndClose(); - this.zipInstances.delete(path); - closeCount -= 1; + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length - 1] !== "/" + ? mount + "/" + path + : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; } - } - - async getZipPromise(p, accept) { - const getZipOptions = async () => ({ - baseFs: this.baseFs, - libzip: this.libzip, - readOnly: this.readOnlyArchives, - stats: await this.baseFs.statPromise(p) - }); - - if (this.zipInstances) { - let zipFs = this.zipInstances.get(p); - - if (!zipFs) { - const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may - // have instantiated the zip archive while we were waiting - - zipFs = this.zipInstances.get(p); - - if (!zipFs) { - zipFs = new ZipFS_1.ZipFS(p, zipOptions); - } - } // Removing then re-adding the field allows us to easily implement - // a basic LRU garbage collection strategy - - - this.zipInstances.delete(p); - this.zipInstances.set(p, zipFs); - this.limitOpenFiles(this.maxOpenFiles); - return await accept(zipFs); + }, + hashName: function(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: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; } else { - const zipFs = new ZipFS_1.ZipFS(p, (await getZipOptions())); - - try { - return await accept(zipFs); - } finally { - zipFs.saveAndClose(); + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; } } - } - - getZipSync(p, accept) { - const getZipOptions = () => ({ - baseFs: this.baseFs, - libzip: this.libzip, - readOnly: this.readOnlyArchives, - stats: this.baseFs.statSync(p) - }); - - if (this.zipInstances) { - let zipFs = this.zipInstances.get(p); - if (!zipFs) zipFs = new ZipFS_1.ZipFS(p, getZipOptions()); // Removing then re-adding the field allows us to easily implement - // a basic LRU garbage collection strategy - - this.zipInstances.delete(p); - this.zipInstances.set(p, zipFs); - this.limitOpenFiles(this.maxOpenFiles); - return accept(zipFs); - } else { - const zipFs = new ZipFS_1.ZipFS(p, getZipOptions()); - - try { - return accept(zipFs); - } finally { - zipFs.saveAndClose(); + }, + lookupNode: function(parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, 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; } } - } - -} - -exports.ZipOpenFS = ZipOpenFS; - -/***/ }), -/* 24 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const makeInterface_1 = __webpack_require__(25); - -let mod = null; - -function getLibzipSync() { - if (mod === null) mod = makeInterface_1.makeInterface(__webpack_require__(26)); - return mod; -} - -exports.getLibzipSync = getLibzipSync; - -async function getLibzipPromise() { - return getLibzipSync(); -} - -exports.getLibzipPromise = getLibzipPromise; - -/***/ }), -/* 25 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -const number64 = [`number`, `number`]; - -exports.makeInterface = libzip => ({ - // Those are getters because they can change after memory growth - get HEAP8() { - return libzip.HEAP8; + return FS.lookup(parent, name); }, - - get HEAPU8() { - return libzip.HEAPU8; + createNode: function(parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + FS.FSNode.prototype = {}; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? (this.mode |= readMode) : (this.mode &= ~readMode); + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? (this.mode |= writeMode) : (this.mode &= ~writeMode); + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } + }); + } + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; }, - - ZIP_CHECKCONS: 4, - ZIP_CREATE: 1, - ZIP_EXCL: 2, - ZIP_TRUNCATE: 8, - ZIP_RDONLY: 16, - ZIP_FL_OVERWRITE: 8192, - ZIP_OPSYS_DOS: 0x00, - ZIP_OPSYS_AMIGA: 0x01, - ZIP_OPSYS_OPENVMS: 0x02, - ZIP_OPSYS_UNIX: 0x03, - ZIP_OPSYS_VM_CMS: 0x04, - ZIP_OPSYS_ATARI_ST: 0x05, - ZIP_OPSYS_OS_2: 0x06, - ZIP_OPSYS_MACINTOSH: 0x07, - ZIP_OPSYS_Z_SYSTEM: 0x08, - ZIP_OPSYS_CPM: 0x09, - ZIP_OPSYS_WINDOWS_NTFS: 0x0a, - ZIP_OPSYS_MVS: 0x0b, - ZIP_OPSYS_VSE: 0x0c, - ZIP_OPSYS_ACORN_RISC: 0x0d, - ZIP_OPSYS_VFAT: 0x0e, - ZIP_OPSYS_ALTERNATE_MVS: 0x0f, - ZIP_OPSYS_BEOS: 0x10, - ZIP_OPSYS_TANDEM: 0x11, - ZIP_OPSYS_OS_400: 0x12, - ZIP_OPSYS_OS_X: 0x13, - ZIP_CM_DEFAULT: -1, - ZIP_CM_STORE: 0, - ZIP_CM_DEFLATE: 8, - uint08S: libzip._malloc(1), - uint16S: libzip._malloc(2), - uint32S: libzip._malloc(4), - uint64S: libzip._malloc(8), - malloc: libzip._malloc, - free: libzip._free, - getValue: libzip.getValue, - open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), - openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), - close: libzip.cwrap(`zip_close`, `number`, [`number`]), - discard: libzip.cwrap(`zip_discard`, null, [`number`]), - getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), - getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), - getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), - stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), - statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), - fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), - fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), - fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), - fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), - dir: { - add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { + r: 0, + rs: 1052672, + "r+": 2, + w: 577, + wx: 705, + xw: 705, + "w+": 578, + "wx+": 706, + "xw+": 706, + a: 1089, + ax: 1217, + xa: 1217, + "a+": 1090, + "ax+": 1218, + "xa+": 1218 }, - file: { - add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), - getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), - getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), - setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; }, - error: { - initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), - strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; }, - name: { - locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { + return 2; + } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { + return 2; + } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { + return 2; + } + return 0; }, - source: { - fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), - fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), - free: libzip.cwrap(`zip_source_free`, null, [`number`]), - setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + mayLookup: function(dir) { + var err = FS.nodePermissions(dir, "x"); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0; }, - struct: { - stat: libzip.cwrap(`zipstruct_stat`, `number`, []), - statS: libzip.cwrap(`zipstruct_statS`, `number`, []), - statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), - statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), - statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), - statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), - error: libzip.cwrap(`zipstruct_error`, `number`, []), - errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []) - } -}); - -/***/ }), -/* 26 */ -/***/ (function(module, exports, __webpack_require__) { - -var frozenFs = Object.assign({}, __webpack_require__(2)); -var Module = typeof Module !== "undefined" ? Module : {}; -var moduleOverrides = {}; -var key; -for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} -var arguments_ = []; -var thisProgram = "./this.program"; -var quit_ = function(status, toThrow) { - throw toThrow; -}; -var ENVIRONMENT_IS_WORKER = false; -var ENVIRONMENT_IS_NODE = true; -var ENVIRONMENT_HAS_NODE = ENVIRONMENT_IS_NODE; -var scriptDirectory = ""; -function locateFile(path) { - if (Module["locateFile"]) { - return Module["locateFile"](path, scriptDirectory); - } - return scriptDirectory + path; -} -var read_, readBinary; -var nodeFS; -var nodePath; -if (ENVIRONMENT_IS_NODE) { - scriptDirectory = __dirname + "/"; - read_ = function shell_read(filename, binary) { - var ret; - ret = tryParseAsDataURI(filename); - if (ret) { - return binary ? ret : ret.toString(); - } - if (!nodeFS) nodeFS = frozenFs; - if (!nodePath) nodePath = __webpack_require__(7); - filename = nodePath["normalize"](filename); - return nodeFS["readFileSync"](filename, binary ? null : "utf8"); - }; - readBinary = function readBinary(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) {} + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; } - assert(ret.buffer); - return ret; - }; - if (process["argv"].length > 1) { - thisProgram = process["argv"][1].replace(/\\/g, "/"); - } - arguments_ = process["argv"].slice(2); - if (true) { - module["exports"] = Module; - } - (function() {})("uncaughtException", function(ex) { - if (!(ex instanceof ExitStatus)) { - throw ex; + var err = FS.nodePermissions(dir, "wx"); + if (err) { + return err; } - }); - (function() {})("unhandledRejection", abort); - quit_ = function(status) { - process["exit"](status); - }; - Module["inspect"] = function() { - return "[Emscripten Module object]"; - }; -} else { -} -var out = Module["print"] || console.log.bind(console); -var err = Module["printErr"] || console.warn.bind(console); -for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} -moduleOverrides = null; -if (Module["arguments"]) arguments_ = Module["arguments"]; -if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; -if (Module["quit"]) quit_ = Module["quit"]; -function dynamicAlloc(size) { - var ret = HEAP32[DYNAMICTOP_PTR >> 2]; - var end = (ret + size + 15) & -16; - if (end > _emscripten_get_heap_size()) { - abort(); - } - HEAP32[DYNAMICTOP_PTR >> 2] = end; - return ret; -} -function getNativeTypeSize(type) { - switch (type) { - case "i1": - case "i8": - return 1; - case "i16": - return 2; - case "i32": - return 4; - case "i64": - return 8; - case "float": - return 4; - case "double": - return 8; - default: { - if (type[type.length - 1] === "*") { - return 4; - } else if (type[0] === "i") { - var bits = parseInt(type.substr(1)); - assert( - bits % 8 === 0, - "getNativeTypeSize invalid bits " + bits + ", type " + type - ); - return bits / 8; - } else { - return 0; + 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; } } - } -} -var tempRet0 = 0; -var setTempRet0 = function(value) { - tempRet0 = value; -}; -var wasmBinary; -if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; -var noExitRuntime; -if (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"]; -if (typeof WebAssembly !== "object") { - err("no native wasm support detected"); -} -function setValue(ptr, value, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") type = "i32"; - 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 - ? tempDouble > 0 - ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | - 0) >>> - 0 - : ~~+Math_ceil( - (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 - ) >>> 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; - default: - abort("invalid type for setValue: " + type); - } -} -function getValue(ptr, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") type = "i32"; - 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]; - default: - abort("invalid type for getValue: " + type); - } - return null; -} -var wasmMemory; -var wasmTable = new WebAssembly.Table({ - initial: 31, - maximum: 31 + 0, - element: "anyfunc" -}); -var ABORT = false; -var EXITSTATUS = 0; -function assert(condition, text) { - if (!condition) { - abort("Assertion failed: " + text); - } -} -function getCFunc(ident) { - var func = Module["_" + ident]; - assert( - func, - "Cannot call unknown function " + ident + ", make sure it is exported" - ); - return func; -} -function ccall(ident, returnType, argTypes, args, opts) { - var toC = { - string: function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { - var len = (str.length << 2) + 1; - ret = stackAlloc(len); - stringToUTF8(str, ret, len); + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; } - return ret; - }, - array: function(arr) { - var ret = stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; } - }; - function convertReturnValue(ret) { - if (returnType === "string") return UTF8ToString(ret); - if (returnType === "boolean") return Boolean(ret); - return ret; - } - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; } } - } - var ret = func.apply(null, cArgs); - ret = convertReturnValue(ret); - if (stack !== 0) stackRestore(stack); - return ret; -} -function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - var numericArgs = argTypes.every(function(type) { - return type === "number"; - }); - var numericRet = returnType !== "string"; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments, opts); - }; -} -var ALLOC_NORMAL = 0; -var ALLOC_NONE = 3; -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === "number") { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - var singleType = typeof types === "string" ? types : null; - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, stackAlloc, dynamicAlloc][allocator]( - Math.max(size, singleType ? 1 : types.length) - ); - } - if (zeroinit) { - var stop; - ptr = ret; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[ptr >> 2] = 0; + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() {}; + FS.FSStream.prototype = {}; + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }); } - stop = ret + size; - while (ptr < stop) { - HEAP8[ptr++ >> 0] = 0; + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; } - return ret; - } - if (singleType === "i8") { - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); } - return ret; - } - var i = 0, - type, - typeSize, - previousType; - while (i < size) { - var curr = slab[i]; - type = singleType || types[i]; - if (type === 0) { - i++; - continue; + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return (ma << 8) | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + console.log( + "warning: " + + FS.syncFSRequests + + " FS.syncfs operations in flight at once, probably just doing extra work" + ); } - if (type == "i64") type = "i32"; - setValue(ret + i, curr, type); - if (previousType !== type) { - typeSize = getNativeTypeSize(type); - previousType = type; + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(err) { + FS.syncFSRequests--; + return callback(err); } - i += typeSize; - } - return ret; -} -var UTF8Decoder = - typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; -function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; - if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { - return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); - } else { - var str = ""; - while (idx < endPtr) { - var u0 = u8Array[idx++]; - if (!(u0 & 128)) { - str += String.fromCharCode(u0); - continue; + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; } - var u1 = u8Array[idx++] & 63; - if ((u0 & 224) == 192) { - str += String.fromCharCode(((u0 & 31) << 6) | u1); - continue; + if (++completed >= mounts.length) { + doCallback(null); } - var u2 = u8Array[idx++] & 63; - if ((u0 & 240) == 224) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63); + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); } - if (u0 < 65536) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 65536; - str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023)); + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); } } - } - return str; -} -function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; -} -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) return 0; - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) { - var u1 = str.charCodeAt(++i); - u = (65536 + ((u & 1023) << 10)) | (u1 & 1023); - } - if (u <= 127) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 2047) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 192 | (u >> 6); - outU8Array[outIdx++] = 128 | (u & 63); - } else if (u <= 65535) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 224 | (u >> 12); - outU8Array[outIdx++] = 128 | ((u >> 6) & 63); - outU8Array[outIdx++] = 128 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 240 | (u >> 18); - outU8Array[outIdx++] = 128 | ((u >> 12) & 63); - outU8Array[outIdx++] = 128 | ((u >> 6) & 63); - outU8Array[outIdx++] = 128 | (u & 63); + var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } } - } - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); -} -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) - u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023); - if (u <= 127) ++len; - else if (u <= 2047) len += 2; - else if (u <= 65535) len += 3; - else len += 4; - } - return len; -} -var UTF16Decoder = - typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; -function writeArrayToMemory(array, buffer) { - HEAP8.set(array, buffer); -} -var WASM_PAGE_SIZE = 65536; -function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - (x % multiple); - } - return x; -} -var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; -function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module["HEAP8"] = HEAP8 = new Int8Array(buf); - Module["HEAP16"] = HEAP16 = new Int16Array(buf); - Module["HEAP32"] = HEAP32 = new Int32Array(buf); - Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); - Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); - Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); - Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); - Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); -} -var DYNAMIC_BASE = 5263680, - DYNAMICTOP_PTR = 20640; -var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216; -if (Module["wasmMemory"]) { - wasmMemory = Module["wasmMemory"]; -} else { - wasmMemory = new WebAssembly.Memory({ - initial: INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE - }); -} -if (wasmMemory) { - buffer = wasmMemory.buffer; -} -INITIAL_TOTAL_MEMORY = buffer.byteLength; -updateGlobalBufferAndViews(buffer); -HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; -function callRuntimeCallbacks(callbacks) { - while (callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == "function") { - callback(); - continue; + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); } - var func = callback.func; - if (typeof func === "number") { - if (callback.arg === undefined) { - Module["dynCall_v"](func); - } else { - Module["dynCall_vi"](func, callback.arg); + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + current = next; } - } else { - func(callback.arg === undefined ? null : callback.arg); + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); } - } -} -var __ATPRERUN__ = []; -var __ATINIT__ = []; -var __ATMAIN__ = []; -var __ATPOSTRUN__ = []; -var runtimeInitialized = false; -function preRun() { - if (Module["preRun"]) { - if (typeof Module["preRun"] == "function") - Module["preRun"] = [Module["preRun"]]; - while (Module["preRun"].length) { - addOnPreRun(Module["preRun"].shift()); + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - } - callRuntimeCallbacks(__ATPRERUN__); -} -function initRuntime() { - runtimeInitialized = true; - if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); - TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} -function preMain() { - FS.ignorePermissions = false; - callRuntimeCallbacks(__ATMAIN__); -} -function postRun() { - if (Module["postRun"]) { - if (typeof Module["postRun"] == "function") - Module["postRun"] = [Module["postRun"]]; - while (Module["postRun"].length) { - addOnPostRun(Module["postRun"].shift()); + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -var Math_abs = Math.abs; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_min = Math.min; -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; -function getUniqueRunDependency(id) { - return id; -} -function addRunDependency(id) { - runDependencies++; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } -} -function removeRunDependency(id) { - runDependencies--; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== undefined ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== undefined ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) throw e; + } } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; } - } -} -Module["preloadedImages"] = {}; -Module["preloadedAudios"] = {}; -function abort(what) { - if (Module["onAbort"]) { - Module["onAbort"](what); - } - what += ""; - out(what); - err(what); - ABORT = true; - EXITSTATUS = 1; - what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; - throw new WebAssembly.RuntimeError(what); -} -var dataURIPrefix = "data:application/octet-stream;base64,"; -function isDataURI(filename) { - return String.prototype.startsWith - ? filename.startsWith(dataURIPrefix) - : filename.indexOf(dataURIPrefix) === 0; -} -var wasmBinaryFile = - "data:application/octet-stream;base64,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EDcaCyABKAIMKAIkQQFGBEAgASgCDBBmCwJAIAEoAgwoAixFDQAgASgCDC0AKEEBcQ0AIAEoAgwoAiwgASgCDBD8AgsgASgCDEEAQgBBBRAkGiABKAIMKAIABEAgASgCDCgCABAeCyABKAIMEBgLIAFBEGokAAuBAgEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMKAIcNgIEIAEoAgQQ4gIgASABKAIEKAIUNgIIIAEoAgggASgCDCgCEEsEQCABIAEoAgwoAhA2AggLAkAgASgCCEUNACABKAIMKAIMIAEoAgQoAhAgASgCCBAcGiABKAIMIgAgASgCCCAAKAIMajYCDCABKAIEIgAgASgCCCAAKAIQajYCECABKAIMIgAgASgCCCAAKAIUajYCFCABKAIMIgAgACgCECABKAIIazYCECABKAIEIgAgACgCFCABKAIIazYCFCABKAIEKAIUDQAgASgCBCABKAIEKAIINgIQCyABQRBqJAALYAEBfyMAQRBrIgEkACABIAA2AgggASABKAIIQgIQITYCBAJAIAEoAgRFBEAgAUEAOwEODAELIAEgASgCBC0AACABKAIELQABQQh0ajsBDgsgAS8BDiEAIAFBEGokACAAC1oBAX8jAEEgayICJAAgAiAANgIcIAIgATcDECACIAIoAhwgAikDEBDLATYCDCACKAIMBEAgAigCHCIAIAIpAxAgACkDEHw3AxALIAIoAgwhACACQSBqJAAgAAtvAQF/IwBBEGsiAiQAIAIgADYCCCACIAE7AQYgAiACKAIIQgIQITYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAi8BBjoAACACKAIAIAIvAQZBCHU6AAEgAkEANgIMCyACKAIMGiACQRBqJAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBCACIAIoAghCBBAhNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACKAIEOgAAIAIoAgAgAigCBEEIdjoAASACKAIAIAIoAgRBEHY6AAIgAigCACACKAIEQRh2OgADIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEA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Qf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIhAQwBCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAXIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQJCICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQITYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAIL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAYIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAYIAEoAgwoAgQQGCABKAIMEBgLIAFBEGokAAtrAQF/IwBBIGsiAiAANgIcIAJCASACKAIcrYY3AxAgAkEMaiABNgIAA0AgAiACKAIMIgBBBGo2AgwgAiAAKAIANgIIIAIoAghBAEhFBEAgAiACKQMQQgEgAigCCK2GhDcDEAwBCwsgAikDEAuoAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIgQQBNBEAgASgCCEEMakESQQAQFyABQX82AgwMAQsgASgCCCIAIAAoAiBBf2o2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECQaIAEoAggoAgAEQCABKAIIKAIAEDdBAEgEQCABKAIIQQxqQRRBABAXCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQGCABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFyACQX82AgwMAQsgAigCBBA+IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAaIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAkQgBTBEAgAkF/NgIMDAELIAJB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ASgCHCgCbGs2AhQgASgCHCgCbCABKAIQIAEoAhwoAixBhgJrak8EQCABKAIcKAI4IAEoAhwoAjggASgCEGogASgCECABKAIUaxAcGiABKAIcIgAgACgCcCABKAIQazYCcCABKAIcIgAgACgCbCABKAIQazYCbCABKAIcIgAgACgCXCABKAIQazYCXCABKAIcENMCIAEgASgCECABKAIUajYCFAsgASgCHCgCACgCBARAIAEgASgCHCgCACABKAIcKAJ0IAEoAhwoAjggASgCHCgCbGpqIAEoAhQQdTYCGCABKAIcIgAgASgCGCAAKAJ0ajYCdCABKAIcKAJ0IAEoAhwoArQtakEDTwRAIAEgASgCHCgCbCABKAIcKAK0LWs2AgwgASgCHCABKAIcKAI4IAEoAgxqLQAANgJIIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAWpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSANAIAEoAhwoArQtBEAgASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEECamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIIAEoAhwoAkAgASgCDCABKAIcKAI0cUEBdGogASgCHCgCRCABKAIcKAJIQQF0ai8BADsBACABKAIcKAJEIAEoAhwoAkhBAXRqIAEoAgw7AQAgASABKAIMQQFqNgIMIAEoAhwiACAAKAK0LUF/ajYCtC0gASgCHCgCdCABKAIcKAK0LWpBA08NAQsLC0EAIQAgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDQgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBA0IAEoAhwiACABKAIE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AygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCCAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBArNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAvIAMoAhwgAygCpAEpAyAQLwwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLwsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAvCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC8LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAIcEBkgAygCkAEQJiADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQXjYCjAEgAygCHBAZIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECs2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFyADKAKQARAmIANBfzYCrAEMAgsgAygCEEECECIgAygCEEHv1wBBAhBCIAMoAhAgAygCpAEvAVJB/wFxEIUBIAMoAhAgAygCpAEoAhBB//8DcRAiAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCEBAZIAMoApABECYgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQXjYCDCADKAIQEBkgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKyIANgJMIABFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAELIAMoAkxB5dcAQerXACADKAKgAUGAAnEbQQQQQiADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIgsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQIiADKAJMIAMoAqQBLwEMECICQCADLQCFAUEBcQRAIAMoAkxB4wAQIgwBCyADKAJMIAMoAqQBKAIQQf//A3EQIgsgAygCpAEoAhQgA0GeAWogA0GcAWoQvAEgAygCTCADLwGeARAiIAMoAkwgAy8BnAEQIgJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIwwBCyADKAJMIAMoAqQBKAIYECMLAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAjIAMoAkxBfxAjDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIwwBCyADKAJMQX8QIwsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAjDAELIAMoAkxBfxAjCwsgAygCTCADKAKkASgCMBBgQf//A3EQIiADIAMoAqQBKAI0IAMoAqABEMEBQf//A3EgAygCkAFBgAYQwQFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAiIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EGBB//8DcRAiIAMoAkwgAygCpAEoAjxB//8DcRAiIAMoAkwgAygCpAEvAUAQIiADKAJMIAMoAqQBKAJEECMCQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAjDAELIAMoAkxBfxAjCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAJMEBkgAygCkAEQJiADQX82AqwBDAELIAMo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DAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EMQBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQWyADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQLpgEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEPsBIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgAgAygCDCADKAIUNgIEIAMoAhRBEHEEQCADKAIMIgAgACgCFEECcjYCFCADKAIMIgAgACgCGEECcjYCGAsgAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL1QEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIAkACQCAEKQMQQv///////////wBXBEAgBCkDEEKAgICAgICAgIB/WQ0BCyAEKAIIQQRBPRAXIARBfzYCHAwBCwJ/IAQpAxAhASAEKAIMIQAgBCgCGCICKAJMQX9MBEAgAiABIAAQkwEMAQsgAiABIAAQkwELQQBIBEAgBCgCCEEEQbScASgCABAXIARBfzYCHAwBCyAEQQA2AhwLIAQoAhwhACAEQSBqJAAgAAsnAAJ/QQBBACAAEAYiACAAQRtGGyIARQ0AGkG0nAEgADYCAEEACxoLagEBfyMAQRBrIgMkACADIAFBwICAAnEEfyADIAJBBGo2AgwgAigCAAVBAAs2AgggAyAANgIAIAMgAUGAgAJyNgIEQQUgAxARIgBBgWBPBEBBtJwBQQAgAGs2AgBBfyEACyADQRBqJAAgAAtXAQJ/IwBBIGsiASQAIAEgADYCEEEKIAFBEGoQEyICQWFGBH8gASAANgIAQSggARASBSACCyIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgAUEgaiQAIAALaQECfwJAIAAoAhQgACgCHE0NACAAQQBBACAAKAIkEQAAGiAAKAIUDQBBfw8LIAAoAgQiASAAKAIIIgJJBEAgACABIAJrrEEBIAAoAigRCgAa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GEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQX9qNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBSEUEQCACKAIsIAIoAiQgAigCGBB4IAIgAigCGEF/ajYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBf2o2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeCACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBf2ohACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAIMQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCACKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA2AuAWIAIoAiwgAigCJEEBEHggAigCLCgC0ChBAk4NAAsgAigCLCgC4BYh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ACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C54QAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACQQFBACACKAIkQQRGBH8gAigCHCACKAIYIAIoAigoAgAoAgRqRgVBAAtBAXEbNgIQIAIoAihBAEEAIAIoAhAQViACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAfIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAcGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBB1GiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAcGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBwaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBwaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQHBogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBB1GiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAJBAUEAAn9BACACKAIkQQRHDQAaQQAgAigCKCgCACgCBA0AGiACKAIcIAIoAhhGC0EBcRs2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBWIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHwsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHYEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBECAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQIACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRAgALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBECAAsgASgC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Rw0AIAIoAgwvAQoEQCACKAIMKAIMIAIoAhQoAgwgAigCDC8BChBQDQELIAIoAgwiACAAKAIEIAIoAhQoAgRBgAZxcjYCBCACQQE2AgQMAQsgAiACKAIMKAIANgIMDAELCyACKAIUQQA2AgACQCACKAIEBEAgAigCFBAmDAELIAIoAgggAigCFCIANgIAIAIgADYCCAsgAiACKAIQNgIUDAELCyACIAIoAhg2AhwLIAIoAhwhACACQSBqJAAgAAtdAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIERQRAIAJBADYCDAwBCyACIAIoAgggAigCBCgCACACKAIELwEErRA8NgIMCyACKAIMIQAgAkEQaiQAIAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBAJAAkAgAigCCARAIAIoAgQNAQsgAiACKAIIIAIoAgRGNgIMDAELIAIoAggvAQQgAigCBC8BBEcEQCACQQA2AgwMAQsgAiACKAIIKAIAIAIoAgQoAgAgAigCCC8BBBBQRTYCDAsgAigCDCEAIAJBEGokACAAC1UBAX8jAEEQayIBJAAgASAANgIMIAFBAEEAQQAQHTYCCCABKAIMBEAgASABKAIIIAEoAgwoAgAgASgCDC8BBBAdNgIICyABKAIIIQAgAUEQaiQAIAALiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBcgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAkNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCABKQMIEC42AhwLIAEoAhwaIAFBIGokAAsGAEG0nAELlgEBAX8jAEEgayICIAA2AhggAiABNwMQAkACQAJAIAIoAhgtAABBAXFFDQAgAigCGCkDECACKQMQfCACKQMQVA0AIAIoAhgpAxAgAikDEHwgAigCGCkDCFgNAQsgAigCGEEAOgAAIAJBADYCHAwBCyACIAIoAhgoAgQg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AiAANgIYIAIgATYCFCACQYmYATYCECACQQQ2AgwCQAJAIAIoAhQgAigCDE8EQCACKAIMDQELIAJBADYCHAwBCyACIAIoAhhBf2o2AggDQAJAIAIgAigCCEEBaiACKAIQLQAAIAIoAhggAigCCGsgAigCFCACKAIMa2oQuAEiADYCCCAARQ0AIAIoAghBAWogAigCEEEBaiACKAIMQQFrEFANASACIAIoAgg2AhwMAgsLIAJBADYCHAsgAigCHCEAIAJBIGokACAACykAIAEgASgCAEEPakFwcSIBQRBqNgIAIAAgASkDACABKQMIEOACOQMAC8EGAQF/IwBB4ABrIgIkACACIAA2AlggAiABNwNQAkAgAikDUEIWVARAIAIoAlhBCGpBE0EAEBcgAkEANgJcDAELIAICfiACKQNQQqqABFQEQCACKQNQDAELQqqABAs3AzAgAigCWCgCAEIAIAIpAzB9QQIQLUEASARAIwBBEGsiACACKAJYKAIANgIMIAIgACgCDEEMajYCCAJAAn8jAEEQayIAIAIoAgg2AgwgACgCDCgCAEEERgsEQCMAQRBrIgAgAigCCDYCDCAAKAIMKAIEQRZGDQELIAIoAlhBCGogAigCCBBFIAJBADYCXAwCCwsgAiACKAJYKAIAEFQiATcDOCABQgBTBEAgAigCWEEIaiACKAJYKAIAEBogAkEANgJcDAELIAIgAigCWCgCACACKQMwQQAgAigCWEEIahBDIgA2AgwgAEUEQCACQQA2AlwMAQsgAkJ/NwMgIAJBADYCTCACKQMwQqqABFoEQCACKAIMQhQQLhoLIAJBEGpBE0EAEBcgAiACKAIMQgAQITYCRANAAkAgAiACKAJEIAIoAgwQMkISfacQ9QEiADYCRCAARQ0AIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLhogAiACKAJYIAIoAgwgAikDOCACQRBqEPQBIgA2AkggAARAAkAgAigCTARAIAIpAyBCAFcEQCACIAIoAlggAigCTCACQRBqEGg3AyALIAIgAigCWCACKAJIIAJBEGoQaDcDKAJAIAIpAyAgAikDKFMEQCACKAJMECggAiACKAJINgJMIAIgAikDKDcDIAwBCyACKAJIECgLDAELIAIgAigCSDYCTAJAIAIoAlgoAgRBBHEE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AXFHDQELCyACDwsgABAwIABqDwsgAAurAwEBfyMAQTBrIgIkACACIAA2AiggAiABNgIkIAJBADYCECACIAIoAiggAigCKBAwajYCGCACIAIoAhhBf2o2AhwDQCACKAIcIAIoAihPBH8gAigCHCwAAEHYAEYFQQALQQFxBEAgAiACKAIQQQFqNgIQIAIgAigCHEF/ajYCHAwBCwsCQCACKAIQRQRAQbScAUEcNgIAIAJBfzYCLAwBCyACIAIoAhxBAWo2AhwDQCACEIcCNgIMIAIgAigCHDYCFANAIAIoAhQgAigCGEkEQCACIAIoAgxBJHA6AAsCfyACLAALQQpIBEAgAiwAC0EwagwBCyACLAALQdcAagshACACIAIoAhQiAUEBajYCFCABIAA6AAAgAiACKAIMQSRuNgIMDAELCyACKAIoIQAgAgJ/QbYDIAIoAiRBf0YNABogAigCJAs2AgAgAiAAQcKBICACEGwiADYCICAAQQBOBEAgAigCJEF/RwRAIAIoAiggAigCJBCGAgsgAiACKAIgNgIsDAILQbScASgCAEEURg0ACyACQX82AiwLIAIoAiwhACACQTBqJAAgAAtDAQF/IwBBEGsiAiQAIAIgATYCBCACIAA2AgBBDyACEA8iAEGBYE8Ef0G0nAFBACAAazYCAEEABSAACxogAkEQaiQAC2cBAn8jAEEQayIAJAACQCAAQQhqEIgCQQFxBEAgACAAKAIINgIMDAELQYShAS0AAEEBcUUEQEEAEAIhAUH4oAEQAyABEIoCQfigARAACyAAEIkCNgIMCyAAKAIMIQEgAEEQaiQAIAELjAEBAX8jAEEQayIBJAAgASAANgIIIAFBBDsBBiABQeeXAUEAQQAQbCIANgIAAkAgAEEASARAIAFBADoADwwBCyABKAIAIAEoAgggAS8BBhCLAiABLwEGRwRAIAEoAgAQayABQQA6AA8MAQsgASgCABBrIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC60BAQR/QfigARADQdiaASgCACEAAkBB1JoBKAIAIgNFBEAgACAAKAIAQe2cmY4EbEG54ABqQf////8HcSIANgIADAELIABB3JoBKAIAIgJBAnRqIgEgASgCACAAQYChASgCACIBQQJ0aigCAGoiADYCAEGAoQFBACABQQFqIgEgASADRhs2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IAEgAzYCBCABIAI2AgAgAEHNlwEgARBxIAEoAqgBIAEoAhw2AgggASABKAIcNgKsAQsgASgCrAEhACABQbABaiQAIAALcQEDfwJAAkADQCAAIAJB0IgBai0AAEcEQEHXACEDIAJBAWoiAkHXAEcNAQwCCwsgAiIDDQBBsIkBIQAMAQtBsIkBIQIDQCACLQAAIQQgAkEBaiIAIQIgBA0AIAAhAiADQX9qIgMNAAsLIAEoAhQaIAALMwEBfyAAKAIUIgMgASACIAAoAhAgA2siASABIAJLGyIBEBwaIAAgACgCFCABajYCFCACC4oBAQJ/IwBBoAFrIgMkACADQQhqQbiHAUGQARAcGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HQf////8HIARLGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC9AiAEBEAgAygCHCIAIAAgAygCGEZrQQA6AAALIANBoAFqJAALvgIBAX8jAEHAwABrIgMkACADIAA2ArhAIAMgATYCtEAgAyACNwOoQAJAIAMoArRAEFNBAEgEQCADKAK4QEEIaiADKAK0QBAaIANBfzYCvEAMAQsgA0EANgIMIANCADcDEANAAkAgAyADKAK0QCADQSBqQoDAABAxIgI3AxggAkIAVw0AIAMoArhAIANBIGogAykDGBA8QQBIBEAgA0F/NgIMBSADKQMYQoDAAFINAiADKAK4QCgCVEUNAiADKQOoQEIAVw0CIAMgAykDGCADKQMQfDcDECADKAK4QCgCVCADKQMQuSADKQOoQLmjEFcMAgsLCyADKQMYQgBTBEAgAygCuEBBCGogAygCtEAQGiADQX82AgwLIAMoArRAEDcaIAMgAygCDDYCvEALIAMoArxAIQAgA0HAwABqJAAgAAuqAQEBfyMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjcDGCADIAMoAigoAgAQOyICNwMQAkAgAkIAUwRAIANBfzYCLAwBCyADIAMoAiggAygCJCADKQMYEIoDIgI3AwAgAkIAUwRAIANBfzYCLAwBCyADIAMoAigoAgAQOyICNwMIIAJCAFMEQCADQX82AiwMAQsgA0EANgIsCyADKAIsIQAgA0EwaiQAIAAL/gEBAX8jAEGgwABrIgIkACACIAA2AphAIAIgATcDkEAgAiACKQOQQLo5AwACQANAIAIpA5BAQgBWBEAgAgJ+QoDAACACKQOQQEKAwABWDQAaIAIpA5BACz4CDCACKAKYQCgCACACQRBqIAIoAgytIAIoAphAQQhqEGJBAEgEQCACQX82ApxADAMLIAIoAphAIAJBEGogAigCDK0QPEEASARAIAJBfzYCnEAMAwUgAiACKQOQQCACNQIMfTcDkEAgAigCmEAoAlQgAisDACACKQOQQLqhIAIrAwCjEFcMAgsACwsgAkEANgKcQAsgAigCnEAhACACQaDAAGokACAAC/IRAgF/AX4jAEGgAWsiAyQAIAMgADYCmAEgAyABNgKUASADIAI2ApABAkAgAygClAEgA0E4ahA5QQBIBEAgAygCmAFBCGogAygClAEQGiADQX82ApwBDAELIAMpAzhCwACDUARAIAMgAykDOELAAIQ3AzggA0EAOwFoCwJAAkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BCyADLwFoRQ0AIAMoApABIAMvAWg2AhAMAQsCQAJAIAMoApABKAIQDQAgAykDOEIEg1ANACADIAMpAzhCCIQ3AzggAyADKQNQNwNYDAELIAMgAykDOEL3////D4M3AzgLCyADKQM4QoABg1AEQCADIAMpAzhCgAGENwM4IANBADsBagsgA0GAAjYCJAJAIAMpAzhCBINQBEAgAyADKAIkQYAIcjYCJCADQn83A3AMAQsgAygCkAEgAykDUDcDKCADIAMpA1A3A3ACQCADKQM4QgiDUARAAkACQAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxIgBBDEsNAAJAAkACQCAAQQFrDgwDAwMDAwMDAQMDAwACCyADQpTC5PMPNwMQDAMLIANCg4Ow/w83AxAMAgsgA0L/////DzcDEAwBCyADQgA3AxALIAMpA1AgAykDEFYEQCADIAMoAiRBgAhyNgIkCwwBCyADKAKQASADKQNYNwMgCwsgAyADKAKYASgCABA7IgQ3A4gBIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAaIANBfzYCnAEMAQsgAygCkAEiACAALwEMQff/A3E7AQwgAyADKAKYASADKAKQASADKAIkEF0iADYCKCAAQQBIBEAgA0F/NgKcAQwBCyADIAMvAWgCfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcUc6ACIgAyADLQAiQQFxBH8gAy8BaEEARwVBAAtBAXE6ACEgAyADLwFoBH8gAy0AIQVBAQtBAXE6ACAgAyADLQAiQQFxBH8gAygCkAEoAhBBAEcFQQALQQFxOgAfIAMCf0EBIAMtACJBAXENABpBASADKAKQASgCAEGAAXENABogAygCkAEvAVIgAy8BakcLQQFxOgAeIAMgAy0AHkEBcQR/IAMvAWpBAEcFQQALQQFxOgAdIAMgAy0AHkEBcQR/IAMoApABLwFSQQBHBUEAC0EBcToAHCADIAMoApQBNgI0IwBBEGsiACADKAI0NgIMIAAoAgwiACAAKAIwQQFqNgIwIAMtAB1BAXEEQCADIAMvAWpBABB6IgA2AgwgAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAy8BakEAIAMoApgBKAIcIAMoAgwRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMtACFBAXEEQCADIAMoApgBIAMoAjQgAy8BaBCiASIANgIwIABFBEAgAygCNBAeIANBfzYCnAEMAgsgAygCNBAeIAMgAygCMDYCNAsgAy0AIEEBcQRAIAMgAygCmAEgAygCNEEAEKEBIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAfQQFxBEAgAyADKAKYASADKAI0IAMoApABKAIQIAMoApABLwFQELgCIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAcQQFxBEAgA0EANgIEAkAgAygCkAEoAlQEQCADIAMoApABKAJUNgIEDAELIAMoApgBKAIcBEAgAyADKAKYASgCHDYCBAsLIAMgAygCkAEvAVJBARB6IgA2AgggAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAygCkAEvAVJBASADKAIEIAMoAggRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMgAygCmAEoAgAQOyIENwOAASAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMgAygCmAEgAygCNCADKQNwEKwCNgIsIAMoAjQgA0E4ahA5QQBIBEAgAygCmAFBCGogAygCNBAaIANBfzYCLAsgAyADKAI0ELICIgA6ACMgAEEYdEEYdUEASARAIAMoApgBQQhqIAMoAjQQGiADQX82AiwLIAMoAjQQHiADKAIsQQBIBEAgA0F/NgKcAQwBCyADIAMoApgBKAIAEDsiBDcDeCAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMoApgBKAIAIAMpA4gBEJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMpAzhC5ACDQuQAUgRAIAMoApgBQQhqQRRBABAXIANBfzYCnAEMAQsgAygCkAEoAgBBIHFFBEACQCADKQM4QhCDQgBSBEAgAygCkAEgAygCYDYCFAwBCyADKAKQAUEUahACGgsLIAMoApABIAMvAWg2AhAgAygCkAEgAygCZDYCGCADKAKQASADKQNQNwMoIAMoApABIAMpA3ggAykDgAF9NwMgIAMoApABIAMoApABLwEMQfn/A3EgAy0AI0EBdHI7AQwgAygCkAEgAygCJEGACHFBAEcQhAMgAyADKAKYASADKAKQASADKAIkEF0iADYCLCAAQQBIBEAgA0F/NgKcAQwBCyADKAIoIAMoAixHBEAgAygCmAFBCGpBFEEAEBcgA0F/NgKcAQwBCyADKAKYASgCACADKQN4EJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIANBADYCnAELIAMoApwBIQAgA0GgAWokACAAC68CAQF/IwBBIGsiAiAANgIcIAIgATYCGCACQQA2AhQgAkIANwMAAkAgAigCHC0AKEEBcUUEQCACKAIcKAIYIAIoAhwoAhRGDQELIAJBATYCFAsgAkIANwMIA0AgAikDCCACKAIcKQMwVARAAkACQCACKAIcKAJAIAIpAwinQQR0aigCCA0AIAIoAhwoAkAgAikDCKdBBHRqLQAMQQFxDQAgAigCHCgCQCACKQMIp0EEdGooAgRFDQEgAigCHCgCQCACKQMIp0EEdGooAgQoAgBFDQELIAJBATYCFAsgAigCHCgCQCACKQMIp0EEdGotAAxBAXFFBEAgAiACKQMAQgF8NwMACyACIAIpAwhCAXw3AwgMAQsLIAIoAhgEQCACKAIYIAIpAwA3AwALIAIoAhQLjRADAn8BfgF8IwBB4ABrIgEkACABIAA2AlgCQCABKAJYRQRAIAFBfzYCXAwBCyABIAEoAlggAUFAaxCwAjYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCyABKAJYKAIAENUBQQBIBEACQAJ/IwBBEGsiAiABKAJYKAIANgIMIwBBEGsiACACKAIMQQxqNgIMIAAoAgwoAgBBFkYLBEAjAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQGiABQX82AlwMBAsLCyABKAJYEEEgAUEANgJcDAELIAEoAiRFBEAgASgCWBBBIAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFyABQX82AlwMAQsgASABKQNAp0EDdBAbIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBggASgCWEEIakEUQQAQFyABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQGCABKAJYQQhqQRRBABAXIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEgASgCWCABKQMYIAEoAlhBCGoQggMiAzcDOCADUARAIAEoAigQGCABQX82AlwMBAsLCyABKQM4QgBWBEAgASgCWCgCACABKQM4EPECQQBIBEAgAUIANwM4CwsLIAEpAzhQBEAgASgCWCgCABDwAkEASARAIAEoAlhBCGogASgCWCgCABAaIAEoAigQGCABQX82AlwMAgsLIAEoAlgoAlQQ8wIgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQgASkDSCIDuiABKQNAuiIEoyADQgF8uiAEoxDyAiABIAEoAiggASkDSKdBA3RqKQMANwNQIAEgASgCWCgCQCABKQNQp0EEdGo2AhACQAJAIAEoAhAoAgBFDQAgASgCECgCACkDSCABKQM4Wg0ADAELIAECf0EBIAEoAhAoAggNABogASgCECgCBARAQQEgASgCECgCBCgCAEEBcQ0BGgsgASgCECgCBAR/IAEoAhAoAgQoAgBBwABxQQBHBUEACwtBAXE2AhQgASgCECgCBEUEQCABKAIQKAIAEEghACABKAIQIAA2AgQgAEUEQCABKAJYQQhqQQ5BABAXIAFBATYCLAwDCwsgASABKAIQKAIENgIMIAEoAlggASkDUBCMA0EASARAIAFBATYCLAwCCyABIAEoAlgoAgAQOyIDNwMwIANCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEKABIgA2AgggAEUEQCABQQE2AiwMBQsLIAEoAlgCfyABKAIIBEAgASgCCAwBCyABKAIQKAIICyABKAIMEK8CQQBIBEAgAUEBNgIsIAEoAggEQCABKAII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HAwCCwsgAygCDCgCAEENIAMoAggQFyADQQI2AhwLIAMoAhwhACADQSBqJAAgAAskAQF/IwBBEGsiASAANgIMIAEgASgCDDYCCCABKAIIQQE6AAwLywIBA38jAEHQAWsiAyQAIAMgAjYCzAFBACECIANBoAFqQQBBKBA0IAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEHJBAEgNACAAKAJMQQBOBEBBASECCyAAKAIAIQQgACwASkEATARAIAAgBEFfcTYCAAsgBEEgcSEFAn8gACgCMARAIAAgASADQcgBaiADQdAAaiADQaABahByDAELIABB0AA2AjAgACADQdAAajYCECAAIAM2AhwgACADNgIUIAAoAiwhBCAAIAM2AiwgACABIANByAFqIANB0ABqIANBoAFqEHIgBEUNABogAEEAQQAgACgCJBEAABogAEEANgIwIAAgBDYCLCAAQQA2AhwgAEEANgIQIAAoAhQaIABBADYCFEEACxogACAAKAIAIAVyNgIAIAJFDQALIANB0AFqJAALmQEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI3AwggAyADKAIYNgIEAkACQCADKQMIQv////8PWARAIAMoAgQoAhRBAE0NAQsgAygCBCgCAEESQQAQFyADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAuQAQEBfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahCpATYCAAwBCyABIAEoAgRBEGoQxAI2AgALAkAgASgCAARAIAEoAgQoAgBBDSABKAIAEBcgAUEAOgAPDAELIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC8ABAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAgg2AgQgASgCBEEANgIUIAEoAgRBADYCECABKAIEQQA2AiAgASgCBEEANgIcAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQaiABKAIEKAIIENgCNgIADAELIAEgASgCBEEQahDJAjYCAAsCQCABKAIABEAgASgCBCgCAEENIAEoAgAQFyABQQA6AA8MAQsgAUEBOgAPCyABLQAPQQFx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QdH+ADYCBAwRCyABKAJQQQA2AmwgASgCUEHG/gA2AgQLA0ACQCABKAJQKAJsIAEoAlAoAmQgASgCUCgCaGpPDQADQAJAIAEgASgCUCgCUCABKAI8QQEgASgCUCgCWHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNEiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABLwEiQRBIBEAgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABLwEiIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdCADaiACOwEADAELAkAgAS8BIkEQRgRAA0AgASgCOCABLQAhQQJqSQRAIAEoAkRFDRUgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCgCbEUEQCABKAJYQbb0ADYCGCABKAJQQdH+ADYCBAwECyABIAEoAlAgASgCUCgCbEEBdGovAXI2AhQgASABKAI8QQNxQQNqNgIsIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMAQsCQCABLwEiQRFGBEADQCABKAI4IAEtACFBA2pJBEAgASgCREUNFiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8QQdxQQNqNgIsIAEgASgCPEEDdjYCPCABIAEoAjhBA2s2AjgMAQsDQCABKAI4IAEtACFBB2pJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8Qf8AcUELajYCLCABIAEoAjxBB3Y2AjwgASABKAI4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IAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AGXY2AjwgASABKAI4IAEtABlrNgI4IAEoAlAiACABLQAZIAAoAsg3ajYCyDcLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCIAIAEtACEgACgCyDdqNgLINyABLQAgQcAAcQRAIAEoAlhBw/UANgIYIAEoAlBB0f4ANgIEDAwLIAEoAlAgAS8BIjYCSCABKAJQIAEtACBBD3E2AkwgASgCUEHL/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0MIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCSCABKAI8QQEgASgCUCgCTHRBAWtxajYCSCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACABKAJQKAJMIAAoAsg3ajYCyDcLIAEoAlBBzP4ANgIECyABKAJARQ0IIAEgASgCMCABKAJAazYCLAJAIAEoAlAoAkggASgCLEsEQCABIAEoAlAoAkggASgCLGs2AiwgASgCLCABKAJQKAIwSwRAIAEoAlAoAsQ3BEAgASgCWEHZ9QA2AhggASgCUEHR/gA2AgQMDQsLAkAgASgCLCABKAJQKAI0SwRAIAEgASgCLCABKAJQKAI0azYCLCABIAEoAlAoAjggASgCUCgCLCABKAIsa2o2AigMAQsgASABKAJQKAI4IAEoAlAoAjQgASgCLGtqNgIoCyABKAIsIAEoAlAoAkRLBEAgASABKAJQKAJENgIsCwwBCyABIAEoAkggASgCUCgCSGs2AiggASABKAJQKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABIAEoAkAgASgCLGs2AkAgASgCUCIAIAAoAkQgASgCLGs2AkQDQCABIAEoAigiAEEBajYCKCAALQAAIQAgASABKAJIIgJBAWo2AkggAiAAOgAAIAEgASgCLEF/aiIANgIsIAANAAsgASgCUCgCREUEQCABKAJQQcj+ADYCBAsMCQsgASgCQEUNByABKAJQKAJEIQAgASAB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IAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCJCACKAIsIAIoAhxxQQJ0aigBADYBAAJAAkADQCACIAItABE2AgwgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAItABA2AgwgAigCDEUEQCACLwESIQAgAiACKAJIIgFBAWo2AkggASAAOgAADAILIAIoAgxBEHEEQCACIAIvARI2AgggAiACKAIMQQ9xNgIMIAIoAgwEQCACKAIoIAIoAgxJBEAgAiACKAJQIgBBAWo2AlAgAiACKAIsIAAtAAAgAigCKHRqNgIsIAIgAigCKEEIajYCKAsgAiACKAIIIAIoAixBASACKAIMdEEBa3FqNgIIIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AigLIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCICACKAIsIAIoAhhxQQJ0aigBADYBAAJAA0AgAiACLQARNgIMIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACLQAQNgIMIAIoAgxBEHEEQCACIAIvARI2AgQgAiACKAIMQQ9xNgIMIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoCwsgAiACKAIEIAIoAixBASACKAIMdEEBa3FqNgIEIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACKAJIIAIoAkRrNgIMAkAgAigCBCACKAIMSwRAIAIgAigCBCACKAIMazYCDCACKAIMIAIoAjhLBEAgAigCVCgCxDcEQCACKAJcQdDxADYCGCACKAJUQdH+ADYCBAwKCwsgAiACKAIwNgIAAkAgAigCNEUEQCACIAIoAgAgAigCPCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALDAELAkAgAigCNCACKAIMSQRAIAIgAigCACACKAI8IAIoAjRqIAIoAgxrajYCACACIAIoAgwgAigCNGs2AgwgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAjA2AgAgAigCNCACKAIISQRAIAIgAigCNDYCDCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsMAQsgAiACKAIAIAIoAjQgAigCDGtqNgIAIAIoAgwgAigCCEkEQCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsLA0AgAigCCEECTUUEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAghBA2s2AggMAQsLDAELIAIgAigCSCACKAIEazYCAANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCCACKAIIQQJLDQALCyACKAIIBEAgAiACKAIA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AigoAmxBAE0NACACIAIoAigoAjggAigCKCgCbGpBf2o2AhggAiACKAIYLQAANgIcIAIoAhwhACACIAIoAhgiAUEBajYCGAJAIAEtAAEgAEcNACACKAIcIQAgAiACKAIYIgFBAWo2AhggAS0AASAARw0AIAIoAhwhACACIAIoAhgiAUEBajYCGCABLQABIABHDQAgAiACKAIoKAI4IAIoAigoAmxqQYICajYCFANAIAIoAhwhASACIAIoAhgiA0EBajYCGAJ/QQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhggAigCFEkLQQFxDQALIAIoAihBggIgAigCFCACKAIYa2s2AmAgAigCKCgCYCACKAIoKAJ0SwRAIAIoAiggAigCKCgCdDYCYAsLCwJAIAIoAigoAmBBA08EQCACIAIoAigoAmBBfWo6ABMgAkEBOwEQIAIoAigiACgCpC0gACgCoC1BAXRqIAIvARA7AQAgAi0AEyEBIAIoAigiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvARBBf2o7ARAgAigCKCACLQATQaDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCKEGIE2oCfyACLwEQQYACSARAIAIvARAtAKBZDAELIAIvARBBB3VBgAJqLQCgWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdCACKAIoKAJgazYCdCACKAIoIgAgAigCKCgCYCAAKAJsajYCbCACKAIoQQA2AmAMAQsgAiACKAIoIgAoAjggACgCbGotAAA6AA8gAigCKCIAKAKkLSAAKAKgLUEB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AUEGSARAIAJBATYCJAwBCwJAIAIoAiwoAoQBQQZGBEAgAkECNgIkDAELIAJBAzYCJAsLCyACIAIoAiggAigCJEEGdHI2AiggAigCLCgCbARAIAIgAigCKEEgcjYCKAsgAiACKAIoQR8gAigCKEEfcGtqNgIoIAIoAiwgAigCKBBMIAIoAiwoAmwEQCACKAIsIAIoAjgoAjBBEHYQTCACKAIsIAIoAjgoAjBB//8DcRBMC0EAQQBBABBAIQAgAigCOCAANgIwIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCyACKAIsKAIEQTlGBEBBAEEAQQAQHSEAIAIoAjggADYCMCACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBHzoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBiwE6AAAgAigCLCgCCCEBIAIoAiwiAygCFCEAIAMgAEEBajYCFCAAIAFqQQg6AAACQCACKAIsKAIcRQRAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAAn9BAiACKAIsKAKEAUEJRg0AGkEBIQBBBEEAIAIoAiwoAogBQQJIBH8gAigCLCgChAFBAkgFQQELQQFxGwshACACKAIsKAIIIQMgAigCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogADoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBAzoAACACKAIsQfEANgIEIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwwBC0EBQQAgAigCLCgCHCgCABtBAkEAIAIoAiwoAhwoAiwbakEEQQAgAigCLCgCHCgCEBtqQQhBACACKAIsKAIcKAIcG2pBEEEAIAIoAiwoAhwoAiQbaiEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAiwoAhwoAgRB/wFxIQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCLCgCHCgCBEEIdkH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAIsKAIcKAIEQRB2Qf8BcSEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAiwoAhwoAgRBGHYhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAAAJ/QQIgAigCLCgChAFBCUYNABpBASEAQQRBACACKAIsKAKIAUECSAR/IAIoAiwoAoQBQQJIBUEBC0EBcRsLIQAgAigCLCgCCCEDIAIoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAA6AAAgAigCLCgCHCgCDEH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAIsKAIcKAIQBEAgAigCLCgCHCgCFEH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAIsKAIcKAIUQQh2Qf8BcSEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAACyACKAIsKAIcKAIsBEAgAigCOCgCMCACKAIsKAIIIAIoAiwoAhQQHSEAIAIoAjggADYCMAsgAigCLEEANgIgIAIoAixBxQA2AgQLCyACKAIsKAIEQcUARgRAIAIoAiwoAhwoAhAEQCACIAIoAiwoAhQ2AiAgAiACKAIsKAIcKAIUQf//A3EgAigCLCgCIGs2AhwDQCACKAIsKAIUIAIoAhxqIAIoAiwoAgxLBEAgAiACKAIsKAIMIAIoAiwoAhRrNgIYIAIoAiwoAgggAigCLCgCFGogAigCLCgCHCgCECACKAIsKAIgaiACKAIYEBwaIAIoAiwgAigCLCgCDDYCFAJAIAIoAiwoAhwoAixFDQAgAigCLCgCFCACKAIgTQ0AIAIoAjgoAjAgAigCLCgCCCACKAIgaiACKAIsKAIUIAIoAiBrEB0hACACKAI4IAA2AjALIAIoAiwiACACKAIYIAAoAiBqNgIgIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwFBSACQQA2AiAgAiACKAIcIAIoAhhrNgIcDAILAAsLIAIoAiwoAgggAigCLCgCFGogAigCLCgCHCgCECACKAIsKAIgaiACKAIcEBwaIAIoAiwiACACKAIcIAAoAhRqNgIUAkAgAigCLCgCHCgCLEUNACACKAIsKAIUIAIoAiBNDQAgAigCOCgCMCACKAIsKAIIIAIoAiBqIAIoAiwoAhQgAigCIGsQHSEAIAIoAjggADYCMAsgAigCLEEANgIgCyACKAIsQckANgIECyACKAIsKAIEQckARgRAIAIoAiwoAhwoAhwEQCACIAIoAiwoAhQ2AhQDQCACKAIsKAIUIAIoAiwoAgxGBEACQCACKAIsKAIcKAIsRQ0AIAIoAiwoAhQgAigCFE0NACACKAI4KAIwIAIoAiwoAgggAigCFGogAigCLCgCFCACKAIUaxAdIQAgAigCOCAANgIwCyACKAI4EB8gAigCLCgCFARAIAIoAixBfzYCKCACQQA2AjwMBQsgAkEANgIUCyACKAIsKAIcKAIcIQEgAigCLCIDKAIgIQAgAyAAQQFqNgIgIAIgACABai0AADYCECACKAIQIQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCEA0ACwJAIAIoAiwoAhwoAixFDQAgAigCLCgCFCACKAIUTQ0AIAIoAjgoAjAgAigCLCgCCCACKAIUaiACKAIsKAIUIAIoAhRrEB0hACACKAI4IAA2AjALIAIoAixBADYCIAsgAigCLEHbADYCBAsgAigCLCgCBEHbAEYEQCACKAIsKAIcKAIkBEAgAiACKAIsKAIUNgIMA0AgAigCLCgCFCACKAIsKAIMRgRAAkAgAigCLCgCHCgCLEUNACACKAIsKAIUIAIoAgxNDQAgAigCOCgCMCACKAIsKAIIIAIoAgxqIAIoAiwoAhQgAigCDGsQHSEAIAIoAjggADYCMAsgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAULIAJBADYCDAsgAigCLCgCHCgCJCEBIAIoAiwiAygCICEAIAMgAEEBajYCICACIAAgAWotAAA2AgggAigCCCEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAggNAAsCQCACKAIsKAIcKAIsRQ0AIAIoAiwoAhQgAigCDE0NACACKAI4KAIwIAIoAiwoAgggAigCDGogAigCLCgCFCACKAIMaxAdIQAgAigCOCAANgIwCwsgAigCLEHnADYCBAsgAigCLCgCBEHnAEYEQCACKAIsKAIcKAIsBEAgAigCLCgCFEECaiACKAIsKAIMSwRAIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwsgAigCOCgCMEH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAI4KAIwQQh2Qf8BcSEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAQQBBAEEAEB0hACACKAI4IAA2AjALIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCwJAAkAgAigCOCgCBA0AIAIoAiwoAnQNACACKAI0RQ0BIAIoAiwoAgRBmgVGDQELIAICfyACKAIsKAKEAUUEQCACKAIsIAIoAjQQqAEMAQsCfyACKAIsKAKIAUECRgRAIAIoAiwgAigCNBDRAgwBCwJ/IAIoAiwoAogBQQNGBEAgAigCLCACKAI0ENACDAELIAIoAiwgAigCNCACKAIsKAKEAUEMbEHQ7gBqKAIIEQcACwsLNgIEAkAgAigCBEECRwRAIAIoAgRBA0cNAQsgAigCLEGaBTYCBAsCQCACKAIEBEAgAigCBEECRw0BCyACKAI4KAIQRQRAIAIoAixBfzYCKAsgAkEANgI8DAILIAIoAgRBAUYEQAJAIAIoAjRBAUYEQCACKAIsEN8CDAELIAIoAjRBBUcEQCACKAIsQQBBAEEAEFYgAigCNEEDRgRAIAIoAiwoAkQgAigCLCgCTEEBa0EBdGpBADsBACACKAIsKAJEQQAgAigCLCgCTEEBa0EBdBA0IAIoAiwoAnRFBEAgAigCLEEANgJsIAIoAixBADYCXCACKAIsQQA2ArQtCwsLCyACKAI4EB8gAigCOCgCEEUEQCACKAIsQX82AiggAkEANgI8DAMLCwsgAigCNEEERwRAIAJBADYCPAwBCyACKAIsKAIYQQBMBEAgAkEBNgI8DAELAkAgAigCLCgCGEECRgRAIAIoAjgoAjBB/wFxIQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCOCgCMEEIdkH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAI4KAIwQRB2Qf8BcSEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAjgoAjBBGHYhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAI4KAIIQf8BcSEBIAIoAiwoAgghAyACKAIsIgQoAhQhACAEIABBAWo2AhQgACADaiABOgAAIAIoAjgoAghBCHZB/wFxIQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAgAigCOCgCCEEQdkH/AXEhASACKAIsKAIIIQMgAigCLCIEKAIUIQAgBCAAQQFqNgIUIAAgA2ogAToAACACKAI4KAIIQRh2IQEgAigCLCgCCCEDIAIoAiwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAE6AAAMAQsgAigCLCACKAI4KAIwQRB2EEwgAigCLCACKAI4KAIwQf//A3EQTAsgAigCOBAfIAIoAiwoAhhBAEoEQCACKAIsQQAgAigCLCgCGGs2AhgLIAJBAEEBIAIoAiwoAhQbNgI8CyACKAI8IQAgAkFAayQAIAALjgIBAX8jAEEgayIBIAA2AhwgASABKAIcKAIsNgIMIAEgASgCHCgCTDYCGCABIAEoAhwoAkQgASgCGEEBdGo2AhADQCABIAEoAhBBfmoiADYCECABIAAvAQA2AhQgASgCEAJ/IAEoAhQgASgCDE8EQCABKAIUIAEoAgxrDAELQQALOwEAIAEgASgCGEF/aiIANgIYIAANAAsgASABKAIMNgIYIAEgASgCHCgCQCABKAIYQQF0ajYCEANAIAEgASgCEEF+aiIANgIQIAEgAC8BADYCFCABKAIQAn8gASgCFCABKAIMTwRAIAEoAhQgASgCDGsMAQtBAAs7AQAgASABKAIYQX9qIgA2AhggAA0ACwtZAQF/IAAgAC0ASiIBQX9qIAFyOgBKIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAuoAgEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMKAIsQQF0NgI8IAEoAgwoAkQgASgCDCgCTEEBa0EBdGpBADsBACABKAIMKAJEQQAgASgCDCgCTEEBa0EBdBA0IAEoAgwgASgCDCgChAFBDGxB0O4Aai8BAjYCgAEgASgCDCABKAIMKAKEAUEMbEHQ7gBqLwEANgKMASABKAIMIAEoAgwoAoQBQQxsQdDuAGovAQQ2ApABIAEoAgwgASgCDCgChAFBDGxB0O4Aai8BBjYCfCABKAIMQQA2AmwgASgCDEEANgJcIAEoAgxBADYCdCABKAIMQQA2ArQtIAEoAgxBAjYCeCABKAIMQQI2AmAgASgCDEEANgJoIAEoAgxBADYCSCABQRBqJAALmwIBAX8jAEEQayIBJAAgASAANgIIAkAgASgCCBB2BEAgAUF+NgIMDAELIAEoAghBADYCFCABKAIIQQA2AgggASgCCEEANgIYIAEoAghBAjYCLCABIAEoAggoAhw2AgQgASgCBEEANgIUIAEoAgQgASgCBCgCCDYCECABKAIEKAIYQQBIBEAgASgCBEEAIAEoAgQoAhhrNgIYCyABKAIEAn9BOSABKAIEKAIYQQJGDQAaQSpB8QAgASgCBCgCGBsLNgIEAn8gASgCBCgCGEECRgRAQQBBAEEAEB0MAQtBAEEAQQAQQAshACABKAIIIAA2AjAgASgCBEEANgIoIAEoAgQQ4wIgAUEANgIMCyABKAIMIQAgAUEQaiQAIAALRQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMENYCNgIIIAEoAghFBEAgASgCDCgCHBDVAgsgASgCCCEAIAFBEGokACAAC+AIAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAkEINgIgIAJBcTYCHCACQQk2AhggAkEANgIUIAJBsIcBNgIQIAJBODYCDCACQQE2AgQCQAJAAkAgAigCEEUNACACKAIQLAAAQcjuACwAAEcNACACKAIMQThGDQELIAJBejYCLAwBCyACKAIoRQRAIAJBfjYCLAwBCyACKAIoQQA2AhggAigCKCgCIEUEQCACKAIoQQc2AiAgAigCKEEANgIoCyACKAIoKAIkRQRAIAIoAihBCDYCJAsgAigCJEF/RgRAIAJBBjYCJAsCQCACKAIcQQBIBEAgAkEANgIEIAJBACACKAIcazYCHAwBCyACKAIcQQ9KBEAgAkECNgIEIAIgAigCHEEQazYCHAsLAkACQCACKAIYQQFIDQAgAigCGEEJSg0AIAIoAiBBCEcNACACKAIcQQhIDQAgAigCHEEPSg0AIAIoAiRBAEgNACACKAIkQQlKDQAgAigCFEEASA0AIAIoAhRBBEoNACACKAIcQQhHDQEgAigCBEEBRg0BCyACQX42AiwMAQsgAigCHEEIRgRAIAJBCTYCHAsgAiACKAIoKAIoQQFBxC0gAigCKCgCIBEAADYCCCACKAIIRQRAIAJBfDYCLAwBCyACKAIoIAIoAgg2AhwgAigCCCACKAIoNgIAIAIoAghBKjYCBCACKAIIIAIoAgQ2AhggAigCCEEANgIcIAIoAgggAigCHDYCMCACKAIIQQEgAigCCCgCMHQ2AiwgAigCCCACKAIIKAIsQQFrNgI0IAIoAgggAigCGEEHajYCUCACKAIIQQEgAigCCCgCUHQ2AkwgAigCCCACKAIIKAJMQQFrNgJUIAIoAgggAigCCCgCUEECakEDbjYCWCACKAIoKAIoIAIoAggoAixBAiACKAIoKAIgEQAAIQAgAigCCCAANgI4IAIoAigoAiggAigCCCgCLEECIAIoAigoAiARAAAhACACKAIIIAA2AkAgAigCKCgCKCACKAIIKAJMQQIgAigCKCgCIBEAACEAIAIoAgggADYCRCACKAIIQQA2AsAtIAIoAghBASACKAIYQQZqdDYCnC0gAiACKAIoKAIoIAIoAggoApwtQQQgAigCKCgCIBEAADYCACACKAIIIAIoAgA2AgggAigCCCACKAIIKAKcLUECdDYCDAJAAkAgAigCCCgCOEUNACACKAIIKAJARQ0AIAIoAggoAkRFDQAgAigCCCgCCA0BCyACKAIIQZoFNgIEIAIoAihBiNkAKAIANgIYIAIoAigQqQEaIAJBfDYCLAwBCyACKAIIIAIoAgAgAigCCCgCnC1BAXZBAXRqNgKkLSACKAIIIAIoAggoAgggAigCCCgCnC1BA2xqNgKYLSACKAIIIAIoAiQ2AoQBIAIoAgggAigCFDYCiAEgAigCCCACKAIgOgAkIAIgAigCKBDXAjYCLAsgAigCLCEAIAJBMGokACAAC2wBAX8jAEEQayICIAA2AgwgAiABNgIIIAJBADYCBANAIAIgAigCBCACKAIMQQFxcjYCBCACIAIoAgxBAXY2AgwgAiACKAIEQQF0NgIEIAIgAigCCEF/aiIANgIIIABBAEoNAAsgAigCBEEBdguVAgEBfyMAQUBqIgMkACADIAA2AjwgAyABNgI4IAMgAjYCNCADQQA2AgwgA0EBNgIIA0AgAygCCEEPSkUEQCADIAMoAgwgAygCNCADKAIIQQFrQQF0ai8BAGpBAXQ2AgwgA0EQaiADKAIIQQF0aiADKAIMOwEAIAMgAygCCEEBajYCCAwBCwsgA0EANgIEA0AgAygCBCADKAI4TARAIAMgAygCPCADKAIEQQJ0ai8BAjYCACADKAIABEAgA0EQaiADKAIAQQF0aiIBLwEAIQAgASAAQQFqOwEAIABB//8DcSADKAIAENkCIQAgAygCPCADKAIEQQJ0aiAAOwEACyADIAMoAgRBAWo2AgQMAQsLIANBQGskAAuICAEBfyMAQUBqIgIgADYCPCACIAE2AjggAiACKAI4KAIANgI0IAIgAigCOCgCBDYCMCACIAIoAjgoAggoAgA2AiwgAiACKAI4KAIIKAIENgIoIAIgAigCOCgCCCgCCDYCJCACIAIoAjgoAggoAhA2AiAgAkEANgIEIAJBADYCEANAIAIoAhBBD0pFBEAgAigCPEG8FmogAigCEEEBdGpBADsBACACIAIoAhBBAWo2AhAMAQsLIAIoAjQgAigCPEHcFmogAigCPCgC1ChBAnRqKAIAQQJ0akEAOwECIAIgAigCPCgC1ChBAWo2AhwDQCACKAIcQb0ESARAIAIgAigCPEHcFmogAigCHEECdGooAgA2AhggAiACKAI0IAIoAjQgAigCGEECdGovAQJBAnRqLwECQQFqNgIQIAIoAhAgAigCIEoEQCACIAIoAiA2AhAgAiACKAIEQQFqNgIECyACKAI0IAIoAhhBAnRqIAIoAhA7AQIgAigCGCACKAIwTARAIAIoAjwgAigCEEEBdGpBvBZqIgAgAC8BAEEBajsBACACQQA2AgwgAigCGCACKAIkTgRAIAIgAigCKCACKAIYIAIoAiRrQQJ0aigCADYCDAsgAiACKAI0IAIoAhhBAnRqLwEAOwEKIAIoAjwiACAAKAKoLSACLwEKIAIoAhAgAigCDGpsajYCqC0gAigCLARAIAIoAjwiACAAKAKsLSACLwEKIAIoAiwgAigCGEECdGovAQIgAigCDGpsajYCrC0LCyACIAIoAhxBAWo2AhwMAQsLAkAgAigCBEUNAANAIAIgAigCIEEBazYCEANAIAIoAjxBvBZqIAIoAhBBAXRqLwEARQRAIAIgAigCEEF/ajYCEAwBCwsgAigCPCACKAIQQQF0akG8FmoiACAALwEAQX9qOwEAIAIoAjwgAigCEEEBdGpBvhZqIgAgAC8BAEECajsBACACKAI8IAIoAiBBAXRqQbwWaiIAIAAvAQBBf2o7AQAgAiACKAIEQQJrNgIEIAIoAgRBAEoNAAsgAiACKAIgNgIQA0AgAigCEEUNASACIAIoAjxBvBZqIAIoAhBBAXRqLwEANgIYA0AgAigCGARAIAIoAjxB3BZqIQAgAiACKAIcQX9qIgE2AhwgAiABQQJ0IABqKAIANgIUIAIoAhQgAigCMEoNASACKAI0IAIoAhRBAnRqLwECIAIoAhBHBEAgAigCPCIAIAAoAqgtIAIoAjQgAigCFEECdGovAQAgAigCECACKAI0IAIoAhRBAnRqLwECa2xqNgKoLSACKAI0IAIoAhRBAnRqIAIoAhA7AQILIAIgAigCGEF/ajYCGAwBCwsgAiACKAIQQX9qNgIQDAAACwALC6ULAQF/IwBBQGoiBCQAIAQgADYCPCAEIAE2AjggBCACNgI0IAQgAzYCMCAEQQU2AigCQCAEKAI8KAK8LUEQIAQoAihrSgRAIAQgBCgCOEGBAms2AiQgBCgCPCIAIAAvAbgtIAQoAiRB//8DcSAEKAI8KAK8LXRyOwG4LSAEKAI8LwG4LUH/AXEhASAEKAI8KAIIIQIgBCgCPCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAI8LwG4LUEIdSEBIAQoAjwoAgghAiAEKAI8IgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAjwgBCgCJEH//wNxQRAgBCgCPCgCvC1rdTsBuC0gBCgCPCIAIAAoArwtIAQoAihBEGtqNgK8LQwBCyAEKAI8IgAgAC8BuC0gBCgCOEGBAmtB//8DcSAEKAI8KAK8LXRyOwG4LSAEKAI8IgAgBCgCKCAAKAK8LWo2ArwtCyAEQQU2AiACQCAEKAI8KAK8LUEQIAQoAiBrSgRAIAQgBCgCNEEBazYCHCAEKAI8IgAgAC8BuC0gBCgCHEH//wNxIAQoAjwoArwtdHI7AbgtIAQoAjwvAbgtQf8BcSEBIAQoAjwoAgghAiAEKAI8IgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAjwvAbgtQQh1IQEgBCgCPCgCCCECIAQoAjwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCPCAEKAIcQf//A3FBECAEKAI8KAK8LWt1OwG4LSAEKAI8IgAgACgCvC0gBCgCIEEQa2o2ArwtDAELIAQoAjwiACAALwG4LSAEKAI0QQFrQf//A3EgBCgCPCgCvC10cjsBuC0gBCgCPCIAIAQoAiAgACgCvC1qNgK8LQsgBEEENgIYAkAgBCgCPCgCvC1BECAEKAIYa0oEQCAEIAQoAjBBBGs2AhQgBCgCPCIAIAAvAbgtIAQoAhRB//8DcSAEKAI8KAK8LXRyOwG4LSAEKAI8LwG4LUH/AXEhASAEKAI8KAIIIQIgBCgCPCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAI8LwG4LUEIdSEBIAQoAjwoAgghAiAEKAI8IgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAjwgBCgCFEH//wNxQRAgBCgCPCgCvC1rdTsBuC0gBCgCPCIAIAAoArwtIAQoAhhBEGtqNgK8LQwBCyAEKAI8IgAgAC8BuC0gBCgCMEEEa0H//wNxIAQoAjwoArwtdHI7AbgtIAQoAjwiACAEKAIYIAAoArwtajYCvC0LIARBADYCLANAIAQoAiwgBCgCME5FBEAgBEEDNgIQAkAgBCgCPCgCvC1BECAEKAIQa0oEQCAEIAQoAjxB/BRqIAQoAiwtALBsQQJ0ai8BAjYCDCAEKAI8IgAgAC8BuC0gBCgCDEH//wNxIAQoAjwoArwtdHI7AbgtIAQoAjwvAbgtQf8BcSEBIAQoAjwoAgghAiAEKAI8IgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAjwvAbgtQQh1IQEgBCgCPCgCCCECIAQoAjwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCPCAEKAIMQf//A3FBECAEKAI8KAK8LWt1OwG4LSAEKAI8IgAgACgCvC0gBCgCEEEQa2o2ArwtDAELIAQoAjwiACAALwG4LSAEKAI8QfwUaiAEKAIsLQCwbEECdGovAQIgBCgCPCgCvC10cjsBuC0gBCgCPCIAIAQoAhAgACgCvC1qNgK8LQsgBCAEKAIsQQFqNgIsDAELCyAEKAI8IAQoAjxBlAFqIAQoAjhBAWsQqgEgBCgCPCAEKAI8QYgTaiAEKAI0QQFrEKoBIARBQGskAAvGAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMQZQBaiABKAIMKAKcFhCrASABKAIMIAEoAgxBiBNqIAEoAgwoAqgWEKsBIAEoAgwgASgCDEGwFmoQeSABQRI2AggDQAJAIAEoAghBA0gNACABKAIMQfwUaiABKAIILQCwbEECdGovAQINACABIAEoAghBf2o2AggMAQsLIAEoAgwiACAAKAKoLSABKAIIQQNsQRFqajYCqC0gASgCCCEAIAFBEGokACAAC4MCAQF/IwBBEGsiASAANgIIIAFB/4D/n382AgQgAUEANgIAAkADQCABKAIAQR9MBEACQCABKAIEQQFxRQ0AIAEoAghBlAFqIAEoAgBBAnRqLwEARQ0AIAFBADYCDAwDCyABIAEoAgBBAWo2AgAgASABKAIEQQF2NgIEDAELCwJAAkAgASgCCC8BuAENACABKAIILwG8AQ0AIAEoAggvAcgBRQ0BCyABQQE2AgwMAQsgAUEgNgIAA0AgASgCAEGAAkgEQCABKAIIQZQBaiABKAIAQQJ0ai8BAARAIAFBATYCDAwDBSABIAEoAgBBAWo2AgAMAgsACwsgAUEANgIMCyABKAIMC44FAQR/IwBBIGsiASQAIAEgADYCHCABQQM2AhgCQCABKAIcKAK8LUEQIAEoAhhrSgRAIAFBAjYCFCABKAIcIgAgAC8BuC0gASgCFEH//wNxIAEoAhwoArwtdHI7AbgtIAEoAhwvAbgtQf8BcSECIAEoAhwoAgghAyABKAIcIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAhwvAbgtQQh1IQIgASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIUQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCGEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUECIAEoAhwoArwtdHI7AbgtIAEoAhwiACABKAIYIAAoArwtajYCvC0LIAFB4ucALwEANgIQAkAgASgCHCgCvC1BECABKAIQa0oEQCABQeDnAC8BADYCDCABKAIcIgAgAC8BuC0gASgCDEH//wNxIAEoAhwoArwtdHI7AbgtIAEoAhwvAbgtQf8BcSECIAEoAhwoAgghAyABKAIcIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAhwvAbgtQQh1IQIgASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIMQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCEEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUHg5wAvAQAgASgCHCgCvC10cjsBuC0gASgCHCIAIAEoAhAgACgCvC1qNgK8LQsgASgCHBCtASABQSBqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBUKAgICAgIDA/0N8IAVCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQQMAgsgBEKAgICAgICAgEB9IQQgAEKAgICAgICAgAiFQgBSDQEgBEIBgyAEfCEEDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBAwBC0KAgICAgICA+P8AIQQgBUL///////+//8MAVg0AQgAhBCAFQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQ7gIgAkEQaiAAIAQgA0H/iH9qEOcCIAIpAwhCBIYgAikDACIAQjyIhCEEIAIpAxAgAikDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgBEIBfCEEDAELIABCgICAgICAgIAIhUIAUg0AIARCAYMgBHwhBAsgAkEgaiQAIAQgAUKAgICAgICAgIB/g4S/C0UAQaCcAUIANwMAQZicAUIANwMAQZCcAUIANwMAQYicAUIANwMAQYCcAUIANwMAQfibAUIANwMAQfCbAUIANwMAQfCbAQsjAQF/IwBBEGsiASQAIAEgADYCDCABKAIMEK0BIAFBEGokAAuWAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMQZQBajYCmBYgASgCDEGg3wA2AqAWIAEoAgwgASgCDEGIE2o2AqQWIAEoAgxBtN8ANgKsFiABKAIMIAEoAgxB/BRqNgKwFiABKAIMQcjfADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQrwEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFAwBCwsDQCADIAMoAhAiAEF/ajYCECAABEAgAyADKAIUIgBBAWo2AhQgAyAALQAAIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDAwBCwsgAyADKAIYQfH/A3A2AhggAyADKAIMQfH/A3A2AgwLIAMgAygCGCADKAIMQRB0cjYCHAsgAygCHAspAQF/IwBBEGsiAiQAIAIgADYCDCACIAE2AgggAigCCBAYIAJBEGokAAs6AQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgggAygCBGwQGyEAIANBEGokACAAC1ABAX4CQCADQcAAcQRAIAEgA0FAaq2GIQJCACEBDAELIANFDQAgAiADrSIEhiABQcAAIANrrYiEIQIgASAEhiEBCyAAIAE3AwAgACACNwMIC4QCAgF/AX4jAEHgAGsiAiQAIAIgADYCWCACIAE2AlQgAiACKAJYIAJByABqQgwQMSIDNwMIAkAgA0IAUwRAIAIoAlQgAigCWBAaIAJBfzYCXAwBCyACKQMIQgxSBEAgAigCVEERQQAQFyACQX82AlwMAQsgAigCVCACQcgAaiIAIABCDEEAEHsgAigCWCACQRBqEDlBAEgEQCACQQA2AlwMAQsgAigCOCACQQZqIAJBBGoQvAECQCACLQBTIAIoAjxBGHZGDQAgAi0AUyACLwEGQQh1Rg0AIAIoAlRBG0EAEBcgAkF/NgJcDAELIAJBADYCXAsgAigCXCEAIAJB4ABqJAAgAAvVAwEBfyMAQdAAayIFJAAgBSAANgJEIAUgATYCQCAFIAI2AjwgBSADNwMwIAUgBDYCLCAFIAUoAkA2AigCQAJAIAUoAiwiAEEOSw0AAkACQAJAAkACQAJAAkAgAEEBaw4OAQIDBQYHBwcHBwcHBwQACyAFKAJEIAUoAigQ6AJBAEgEQCAFQn83A0gMCAsgBUIANwNIDAcLIAUgBSgCRCAFKAI8IAUpAzAQMSIDNwMgIANCAFMEQCAFKAIoIAUoAkQQGiAFQn83A0gMBwsgBSgCQCAFKAI8IAUoAjwgBSkDIEEAEHsgBSAFKQMgNwNIDAYLIAVCADcDSAwFCyAFIAUoAjw2AhwgBSgCHEEAOwEyIAUoAhwiACAAKQMAQoABhDcDACAFKAIcKQMAQgiDQgBSBEAgBSgCHCIAIAApAyBCDH03AyALIAVCADcDSAwECyAFQX82AhQgBUEFNgIQIAVBBDYCDCAFQQM2AgggBUECNgIEIAVBATYCACAFQQAgBRA2NwNIDAMLIAUgBSgCKCAFKAI8IAUpAzAQRDcDSAwCCyAFKAIoELABIAVCADcDSAwBCyAFKAIoQRJBABAXIAVCfzcDSAsgBSkDSCEDIAVB0ABqJAAgAwvuAgEBfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjsBEiAFIAM2AgwgBSAENgIIAkACQAJAIAUoAghFDQAgBSgCFEUNACAFLwESQQFGDQELIAUoAhhBCGpBEkEAEBcgBUEANgIcDAELIAUoAgxBAXEEQCAFKAIYQQhqQRhBABAXIAVBADYCHAwBCyAFQRgQGyIANgIEIABFBEAgBSgCGEEIakEOQQAQFyAFQQA2AhwMAQsjAEEQayIAIAUoAgQ2AgwgACgCDEEANgIAIAAoAgxBADYCBCAAKAIMQQA2AgggBSgCBEH4rNGRATYCDCAFKAIEQYnPlZoCNgIQIAUoAgRBkPHZogM2AhQgBSgCBEEAIAUoAgggBSgCCBAwrUEBEHsgBSAFKAIYIAUoAhRBBSAFKAIEEGUiADYCACAARQRAIAUoAgQQsAEgBUEANgIcDAELIAUgBSgCADYCHAsgBSgCHCEAIAVBIGokACAAC+gGAQF/IwBB4ABrIgQkACAEIAA2AlQgBCABNgJQIAQgAjcDSCAEIAM2AkQCQCAEKAJUKQM4IAQpA0h8QoCABHxCAX0gBCkDSFQEQCAEKAJEQRJBABAXIARCfzcDWAwBCyAEIAQoAlQoAgQgBCgCVCkDCKdBA3RqKQMANwMgIAQoAlQpAzggBCkDSHwgBCkDIFYEQCAEIAQoAlQpAwggBCkDSCAEKQMgIAQoAlQpAzh9fUKAgAR8QgF9QhCIfDcDGCAEKQMYIAQoAlQpAxBWBEAgBCAEKAJUKQMQNwMQIAQpAxBQBEAgBEIQNwMQCwNAIAQpAxAgBCkDGFpFBEAgBCAEKQMQQgGGNwMQDAELCyAEKAJUIAQpAxAgBCgCRBCzAUEBcUUEQCAEKAJEQQ5BABAXIARCfzcDWAwDCwsDQCAEKAJUKQMIIAQpAxhUBEBBgIAEEBshACAEKAJUKAIAIAQoAlQpAwinQQR0aiAANgIAIAAEQCAEKAJUKAIAIAQoAlQpAwinQQR0akKAgAQ3AwggBCgCVCIAIAApAwhCAXw3AwggBCAEKQMgQoCABHw3AyAgBCgCVCgCBCAEKAJUKQMIp0EDdGogBCkDIDcDAAwCBSAEKAJEQQ5BABAXIARCfzcDWAwECwALCwsgBCAEKAJUKQNANwMwIAQgBCgCVCkDOCAEKAJUKAIEIAQpAzCnQQN0aikDAH03AyggBEIANwM4A0AgBCkDOCAEKQNIVARAIAQCfiAEKQNIIAQpAzh9IAQoAlQoAgAgBCkDMKdBBHRqKQMIIAQpAyh9VARAIAQpA0ggBCkDOH0MAQsgBCgCVCgCACAEKQMwp0EEdGopAwggBCkDKH0LNwMIIAQoAlQoAgAgBCkDMKdBBHRqKAIAIAQpAyinaiAEKAJQIAQpAzinaiAEKQMIpxAcGiAEKQMIIAQoAlQoAgAgBCkDMKdBBHRqKQMIIAQpAyh9UQRAIAQgBCkDMEIBfDcDMAsgBCAEKQMIIAQpAzh8NwM4IARCADcDKAwBCwsgBCgCVCIAIAQpAzggACkDOHw3AzggBCgCVCAEKQMwNwNAIAQoAlQpAzggBCgCVCkDMFYEQCAEKAJUIAQoAlQpAzg3AzALIAQgBCkDODcDWAsgBCkDWCECIARB4ABqJAAgAgvnAwEBfyMAQUBqIgMkACADIAA2AjQgAyABNgIwIAMgAjcDKCADAn4gAykDKCADKAI0KQMwIAMoAjQpAzh9VARAIAMpAygMAQsgAygCNCkDMCADKAI0KQM4fQs3AygCQCADKQMoUARAIANCADcDOAwBCyADKQMoQv///////////wBWBEAgA0J/NwM4DAELIAMgAygCNCkDQDcDGCADIAMoAjQpAzggAygCNCgCBCADKQMYp0EDdGopAwB9NwMQIANCADcDIANAIAMpAyAgAykDKFQEQCADAn4gAykDKCADKQMgfSADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfVQEQCADKQMoIAMpAyB9DAELIAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9CzcDCCADKAIwIAMpAyCnaiADKAI0KAIAIAMpAxinQQR0aigCACADKQMQp2ogAykDCKcQHBogAykDCCADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfVEEQCADIAMpAxhCAXw3AxgLIAMgAykDCCADKQMgfDcDICADQgA3AxAMAQsLIAMoAjQiACADKQMgIAApAzh8NwM4IAMoAjQgAykDGDcDQCADIAMpAyA3AzgLIAMpAzghAiADQUBrJAAgAguuBAEBfyMAQUBqIgMkACADIAA2AjggAyABNwMwIAMgAjYCLAJAIAMpAzBQBEAgA0EAQgBBASADKAIsEE02AjwMAQsgAykDMCADKAI4KQMwVgRAIAMoAixBEkEAEBcgA0EANgI8DAELIAMoAjgoAigEQCADKAIsQR1BABAXIANBADYCPAwBCyADIAMoAjggAykDMBCxATcDICADIAMpAzAgAygCOCgCBCADKQMgp0EDdGopAwB9NwMYIAMpAxhQBEAgAyADKQMgQn98NwMgIAMgAygCOCgCACADKQMgp0EEdGopAwg3AxgLIAMgAygCOCgCACADKQMgp0EEdGopAwggAykDGH03AxAgAykDECADKQMwVgRAIAMoAixBHEEAEBcgA0EANgI8DAELIAMgAygCOCgCACADKQMgQgF8QQAgAygCLBBNIgA2AgwgAEUEQCADQQA2AjwMAQsgAygCDCgCACADKAIMKQMIQgF9p0EEdGogAykDGDcDCCADKAIMKAIEIAMoAgwpAwinQQN0aiADKQMwNwMAIAMoAgwgAykDMDcDMCADKAIMAn4gAygCOCkDGCADKAIMKQMIQgF9VARAIAMoAjgpAxgMAQsgAygCDCkDCEIBfQs3AxggAygCOCADKAIMNgIoIAMoAgwgAygCODYCKCADKAI4IAMoAgwpAwg3AyAgAygCDCADKQMgQgF8NwMgIAMgAygCDDYCPAsgAygCPCEAIANBQGskACAAC1EBAX4CQAJ+IANBwABxBEAgAiADQUBqrYghAUIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiAshAgsgACABNwMAIAAgAjcDCAvTCQEBfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1gg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IABBAWsOAgECAAsgAkGBAjsBBAwDCyACQYICOwEEDAILIAJBgwI7AQQMAQsgAigCFEEYQQAQFyACKAIMEBkgAkEAOgAfDAELIAIvARJBB0cEQCACKAIUQRVBABAXIAIoAgwQGSACQQA6AB8MAQsgAigCGCACLQAHQQFxOgAGIAIoAhggAi8BBDsBUiACKAIMECBB//8DcSEAIAIoAhggADYCECACKAIMEBkgAkEBOgAfCyACLQAfQQFxIQAgAkEgaiQAIAALuQEBAX8jAEEwayICJAAgAiAAOwEuIAIgATsBLCACQgA3AgAgAkEANgIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCACQQA2AiAgAiACLwEsQQl1QdAAajYCFCACIAIvASxBBXVBD3FBAWs2AhAgAiACLwEsQR9xNgIMIAIgAi8BLkELdTYCCCACIAIvAS5BBXVBP3E2AgQgAiACLwEuQQF0QT5xNgIAIAIQCCEAIAJBMGokACAAC0wBAn8jAEEQayIAJAAgAEHYABAbIgE2AggCQCABRQRAIABBADYCDAwBCyAAKAIIEFwgACAAKAIINgIMCyAAKAIMIQEgAEEQaiQAIAELYAEBfyMAQRBrIgMkAAJ+An9BACAAKAI8IAGnIAFCIIinIAJB/wFxIANBCGoQCyIARQ0AGkG0nAEgADYCAEF/C0UEQCADKQMIDAELIANCfzcDCEJ/CyEBIANBEGokACABC+AIAQF/IwBBwAFrIgMkACADIAA2ArQBIAMgATYCsAEgAyACNwOoASADIAMoArQBKAIAEDsiAjcDIAJAIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAaIANCfzcDuAEMAQsgAyADKQMgNwOgASADQQA6ABcgA0IANwMYA0AgAykDGCADKQOoAVQEQCADIAMoArQBKAJAIAMoArABIAMpAxinQQN0aikDAKdBBHRqNgIMIAMgAygCtAECfyADKAIMKAIEBEAgAygCDCgCBAwBCyADKAIMKAIAC0GABBBdIgA2AhAgAEEASARAIANCfzcDuAEMAwsgAygCEARAIANBAToAFwsgAyADKQMYQgF8NwMYDAELCyADIAMoArQBKAIAEDsiAjcDICACQgBTBEAgAygCtAFBCGogAygCtAEoAgAQGiADQn83A7gBDAELIAMgAykDICADKQOgAX03A5gBAkAgAykDoAFC/////w9YBEAgAykDqAFC//8DWA0BCyADQQE6ABcLIAMgA0EwakLiABArIgA2AiwgAEUEQCADKAK0AUEIakEOQQAQFyADQn83A7gBDAELIAMtABdBAXEEQCADKAIsQdbXAEEEEEIgAygCLEIsEC8gAygCLEEtECIgAygCLEEtECIgAygCLEEAECMgAygCLEEAECMgAygCLCADKQOoARAvIAMoAiwgAykDqAEQLyADKAIsIAMpA5gBEC8gAygCLCADKQOgARAvIAMoAixB29cAQQQQQiADKAIsQQAQIyADKAIsIAMpA6ABIAMpA5gBfBAvIAMoAixBARAjCyADKAIsQeDXAEEEEEIgAygCLEEAECMgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAiIAMoAiwCfkL//wMgAykDqAFC//8DWg0AGiADKQOoAQunQf//A3EQIiADKAIsAn9BfyADKQOYAUL/////D1oNABogAykDmAGnCxAjIAMoAiwCf0F/IAMpA6ABQv////8PWg0AGiADKQOgAacLECMgAwJ/IAMoArQBLQAoQQFxBEAgAygCtAEoAiQMAQsgAygCtAEoAiALNgKUASADKAIsAn8gAygClAEEQCADKAKUAS8BBAwBC0EAC0H//wNxECICfyMAQRBrIgAgAygCLDYCDCAAKAIMLQAAQQFxRQsEQCADKAK0AUEIakEUQQAQFyADKAIsEBkgA0J/NwO4AQwBCyADKAK0AQJ/IwBBEGsiACADKAIsNgIMIAAoAgwoAgQLAn4jAEEQayIAIAMoAiw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQPEEASARAIAMoAiwQGSADQn83A7gBDAELIAMoAiwQGSADKAKUAQRAIAMoArQBIAMoApQBKAIAIAMoApQBLwEErRA8QQBIBEAgA0J/NwO4AQwCCwsgAyADKQOYATcDuAELIAMpA7gBIQIgA0HAAWokACACC8cCAQZ/IwBBIGsiAyQAIAMgACgCHCIFNgIQIAAoAhQhBCADIAI2AhwgAyABNgIYIAMgBCAFayIBNgIUIAEgAmohBkECIQUgA0EQaiEBA0ACQAJ/IAYCfwJ/QQAgACgCPCABIAUgA0EMahAWIgRFDQAaQbScASAENgIAQX8LBEAgA0F/NgIMQX8MAQsgAygCDAsiBEYEQCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAQsgBEF/Sg0BIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBUECRg0AGiACIAEoAgRrCyEAIANBIGokACAADwsgAUEIaiABIAQgASgCBCIHSyIIGyIBIAQgB0EAIAgbayIHIAEoAgBqNgIAIAEgASgCBCAHazYCBCAGIARrIQYgBSAIayEFDAAACwALtgUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAXIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFyACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQLUEASARAIAIoAihBCGogAigCKCgCABAaIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQyIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAgOwESIAIgAigCFBAgOwEQIAIoAhQQSUEBcUUEQCACKAIUEBkgAigCKEEIakEUQQAQFyACQX82AiwMAQsgAigCFBAZIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQLUEASARAIAIoAihBCGpBBEG0nAEoAgAQFyACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQYTYCCCACKAIIRQRAIAJBfzYCLAwCCyACKAIIIAIvARBBgAIgAkEMaiACKAIoQQhqEMMBQQFxRQRAIAIoAggQGCACQX82AiwMAgsgAigCCBAYIAIoAgwEQCACIAIoAgwQwgE2AgwgAigCHCgCACgCNCACKAIMEMQBIQAgAigCHCgCACAANgI0CwsgAigCHCgCAEEBOgAEAkAgAigCHCgCBEUNACACKAIcKAIELQAEQQFxDQAgAigCHCgCBCACKAIcKAIAKAI0NgI0IAIoAhwoAgRBAToABAsgAkEANgIsCyACKAIsIQAgAkEw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c2lvbiBtZXRob2QAaW52YWxpZCB3aW5kb3cgc2l6ZQB1bmtub3duIGhlYWRlciBmbGFncyBzZXQAaGVhZGVyIGNyYyBtaXNtYXRjaABpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAQbD2AAuGEWAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAI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OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQbCJAQvdDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABVbmtub3duIGVycm9yICVkACVzJXMlcwAAOiAAL3Byb2Mvc2VsZi9mZC8AL2Rldi91cmFuZG9tAHJ3YQAlcy5YWFhYWFgAcitiAHJiAFBLBQYAQcyZAQsCYE4AQYSaAQvsAQwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAABAAAACAAAAARNAAAkTQAAHwAAAGRNAAADAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////"; -if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); -} -function getBinary() { - try { - if (wasmBinary) { - return new Uint8Array(wasmBinary); + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); } - var binary = tryParseAsDataURI(wasmBinaryFile); - if (binary) { - return binary; + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); } - if (readBinary) { - return readBinary(wasmBinaryFile); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); } - } catch (err) { - abort(err); - } -} -function createWasm() { - var info = { env: asmLibraryArg, wasi_unstable: asmLibraryArg }; - function receiveInstance(instance, module) { - var exports = instance.exports; - Module["asm"] = exports; - removeRunDependency("wasm-instantiate"); - } - addRunDependency("wasm-instantiate"); - function instantiateSync() { - var instance; - var module; - var binary; + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; try { - binary = getBinary(); - module = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module, info); + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; } catch (e) { - var str = e.toString(); - err("failed to compile wasm module: " + str); - if ( - str.indexOf("imported Memory") >= 0 || - str.indexOf("memory import") >= 0 - ) { - err( - "Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)." - ); + throw new FS.ErrnoError(10); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) {} + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + err = new_node + ? FS.mayDelete(new_dir, new_name, isdir) + : FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, "w"); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); } + } catch (e) { + console.log( + "FS.trackingDelegate['willMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + console.log( + "FS.trackingDelegate['onMovePath']('" + + old_path + + "', '" + + new_path + + "') threw an exception: " + + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); } - receiveInstance(instance, module); - } - if (Module["instantiateWasm"]) { try { - var exports = Module["instantiateWasm"](info, receiveInstance); - return exports; + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } } catch (e) { - err("Module.instantiateWasm callback failed with error: " + e); - return false; + console.log( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); } - } - instantiateSync(); - return Module["asm"]; -} -var tempDouble; -var tempI64; -__ATINIT__.push({ - func: function() { - ___wasm_call_ctors(); - } -}); -function demangle(func) { - return func; -} -function demangleAll(text) { - var regex = /\b_Z[\w\d_]+/g; - return text.replace(regex, function(x) { - var y = demangle(x); - return x === y ? x : y + " [" + x + "]"; - }); -} -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); try { - throw new Error(0); + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); } catch (e) { - err = e; + console.log( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); } - if (!err.stack) { - return "(no stack trace available)"; + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); } - } - return err.stack.toString(); -} -function stackTrace() { - var js = jsStackTrace(); - if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); - return demangleAll(js); -} -function ___lock() {} -var PATH = { - splitPath: function(filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); + return node.node_ops.readdir(node); }, - normalizeArray: function(parts, allowAboveRoot) { - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === ".") { - parts.splice(i, 1); - } else if (last === "..") { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + throw new FS.ErrnoError(err); } - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift(".."); + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); } + } catch (e) { + console.log( + "FS.trackingDelegate['willDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + console.log( + "FS.trackingDelegate['onDeletePath']('" + + path + + "') threw an exception: " + + e.message + ); } - return parts; }, - normalize: function(path) { - var isAbsolute = path.charAt(0) === "/", - trailingSlash = path.substr(-1) === "/"; - path = PATH.normalizeArray( - path.split("/").filter(function(p) { - return !!p; - }), - !isAbsolute - ).join("/"); - if (!path && !isAbsolute) { - path = "."; + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); } - if (path && trailingSlash) { - path += "/"; + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); } - return (isAbsolute ? "/" : "") + path; + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); }, - dirname: function(path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - return "."; + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); } - if (dir) { - dir = dir.substr(0, dir.length - 1); + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); } - return root + dir; + return node.node_ops.getattr(node); }, - basename: function(path) { - if (path === "/") return "/"; - var lastSlash = path.lastIndexOf("/"); - if (lastSlash === -1) return path; - return path.substr(lastSlash + 1); + lstat: function(path) { + return FS.stat(path, true); }, - extname: function(path) { - return PATH.splitPath(path)[3]; + chmod: function(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() + }); }, - join: function() { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join("/")); + lchmod: function(path, mode) { + FS.chmod(path, mode, true); }, - join2: function(l, r) { - return PATH.normalize(l + "/" + r); - } -}; -function ___setErrNo(value) { - if (Module["___errno_location"]) - HEAP32[Module["___errno_location"]() >> 2] = value; - return value; -} -var PATH_FS = { - resolve: function() { - var resolvedPath = "", - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = i >= 0 ? arguments[i] : FS.cwd(); - if (typeof path !== "string") { - throw new TypeError("Arguments to path.resolve must be strings"); - } else if (!path) { - return ""; - } - resolvedPath = path + "/" + resolvedPath; - resolvedAbsolute = path.charAt(0) === "/"; + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); } - resolvedPath = PATH.normalizeArray( - resolvedPath.split("/").filter(function(p) { - return !!p; - }), - !resolvedAbsolute - ).join("/"); - return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + FS.chmod(stream.node, mode); }, - relative: function(from, to) { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < 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; - } + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push(".."); + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join("/"); - } -}; -var TTY = { - ttys: [], - init: function() {}, - shutdown: function() {}, - register: function(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); + node.node_ops.setattr(node, { timestamp: Date.now() }); }, - 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) { - stream.tty.ops.flush(stream.tty); - }, - flush: function(stream) { - stream.tty.ops.flush(stream.tty); - }, - read: function(stream, buffer, offset, length, pos) { - 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; - } + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); }, - default_tty_ops: { - get_char: function(tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - var BUFSIZE = 256; - var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); - var bytesRead = 0; - try { - bytesRead = nodeFS.readSync( - process.stdin.fd, - buf, - 0, - BUFSIZE, - null - ); - } catch (e) { - if (e.toString().indexOf("EOF") != -1) 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" - ) { - result = window.prompt("Input: "); - if (result !== null) { - result += "\n"; - } - } else if (typeof readline == "function") { - result = readline(); - if (result !== null) { - result += "\n"; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - }, - put_char: function(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); } + FS.chown(stream.node, uid, gid); }, - default_tty1_ops: { - put_char: function(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - flush: function(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); } - } -}; -var MEMFS = { - ops_table: null, - mount: function(mount) { - return MEMFS.createNode(null, "/", 16384 | 511, 0); - }, - createNode: function(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - throw new FS.ErrnoError(63); + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; } - 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 - } - }; + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); } - var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); } - node.timestamp = Date.now(); - if (parent) { - parent.contents[name] = node; + var err = FS.nodePermissions(node, "w"); + if (err) { + throw new FS.ErrnoError(err); } - return node; + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); }, - getFileDataAsRegularArray: function(node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); } - return node.contents; - }, - getFileDataAsTypedArray: function(node) { - if (!node.contents) return new Uint8Array(); - if (node.contents.subarray) - return node.contents.subarray(0, node.usedBytes); - return new Uint8Array(node.contents); + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); }, - expandFileStorage: function(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max( - newCapacity, - (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) | 0 - ); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); - if (node.usedBytes > 0) - node.contents.set(oldContents.subarray(0, node.usedBytes), 0); - return; + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); }, - resizeFileStorage: function(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; - node.usedBytes = 0; - return; + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); } - if (!node.contents || node.contents.subarray) { - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); - if (oldContents) { - node.contents.set( - oldContents.subarray(0, Math.min(newSize, node.usedBytes)) - ); - } - node.usedBytes = newSize; - return; + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; } - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - }, - node_ops: { - getattr: function(node) { - var attr = {}; - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr: function(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup: function(parent, name) { - throw FS.genericErrors[44]; - }, - mknod: function(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename: function(old_node, new_dir, new_name) { - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - }, - unlink: function(parent, name) { - delete parent.contents[name]; - }, - 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]; - }, - readdir: function(node) { - var entries = [".", ".."]; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - }, - symlink: function(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink: function(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; + 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) {} } - }, - stream_ops: { - read: function(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - if (size > 8 && contents.subarray) { - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) - buffer[offset + i] = contents[position + i]; - } - return size; - }, - write: function(stream, buffer, offset, length, position, canOwn) { - 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)) { - if (canOwn) { - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { - node.contents = new Uint8Array( - buffer.subarray(offset, offset + length) - ); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - MEMFS.expandFileStorage(node, position + length); - if (node.contents.subarray && buffer.subarray) - node.contents.set(buffer.subarray(offset, offset + length), position); - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; - } - } - 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; + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); } + } else { + node = FS.mknod(path, mode, 0); + created = true; } - if (position < 0) { - throw new FS.ErrnoError(28); + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); } - 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, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512); + var stream = FS.createStream( + { + node: node, + path: FS.getPath(node), + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + console.log("FS.trackingDelegate error on read file: " + path); } - var ptr; - var allocated; - var contents = stream.node.contents; - if (!(flags & 2) && contents.buffer === buffer.buffer) { - allocated = false; - ptr = contents.byteOffset; - } else { - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call( - contents, - position, - position + length - ); - } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; } - allocated = true; - var fromHeap = buffer.buffer == HEAP8.buffer; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; } - (fromHeap ? HEAP8 : buffer).set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (mmapFlags & 2) { - return 0; + FS.trackingDelegate["onOpenFile"](path, trackingFlags); } - var bytesWritten = MEMFS.stream_ops.write( - stream, - buffer, - 0, - length, - offset, - false + } catch (e) { + console.log( + "FS.trackingDelegate['onOpenFile']('" + + path + + "', flags) threw an exception: " + + e.message ); - return 0; - } - } -}; -var ERRNO_CODES = { - EPERM: 63, - ENOENT: 44, - ESRCH: 71, - EINTR: 27, - EIO: 29, - ENXIO: 60, - E2BIG: 1, - ENOEXEC: 45, - EBADF: 8, - ECHILD: 12, - EAGAIN: 6, - EWOULDBLOCK: 6, - ENOMEM: 48, - EACCES: 2, - EFAULT: 21, - ENOTBLK: 105, - EBUSY: 10, - EEXIST: 20, - EXDEV: 75, - ENODEV: 43, - ENOTDIR: 54, - EISDIR: 31, - EINVAL: 28, - ENFILE: 41, - EMFILE: 33, - ENOTTY: 59, - ETXTBSY: 74, - EFBIG: 22, - ENOSPC: 51, - ESPIPE: 70, - EROFS: 69, - EMLINK: 34, - EPIPE: 64, - EDOM: 18, - ERANGE: 68, - ENOMSG: 49, - EIDRM: 24, - ECHRNG: 106, - EL2NSYNC: 156, - EL3HLT: 107, - EL3RST: 108, - ELNRNG: 109, - EUNATCH: 110, - ENOCSI: 111, - EL2HLT: 112, - EDEADLK: 16, - ENOLCK: 46, - EBADE: 113, - EBADR: 114, - EXFULL: 115, - ENOANO: 104, - EBADRQC: 103, - EBADSLT: 102, - EDEADLOCK: 16, - EBFONT: 101, - ENOSTR: 100, - ENODATA: 116, - ETIME: 117, - ENOSR: 118, - ENONET: 119, - ENOPKG: 120, - EREMOTE: 121, - ENOLINK: 47, - EADV: 122, - ESRMNT: 123, - ECOMM: 124, - EPROTO: 65, - EMULTIHOP: 36, - EDOTDOT: 125, - EBADMSG: 9, - ENOTUNIQ: 126, - EBADFD: 127, - EREMCHG: 128, - ELIBACC: 129, - ELIBBAD: 130, - ELIBSCN: 131, - ELIBMAX: 132, - ELIBEXEC: 133, - ENOSYS: 52, - ENOTEMPTY: 55, - ENAMETOOLONG: 37, - ELOOP: 32, - EOPNOTSUPP: 138, - EPFNOSUPPORT: 139, - ECONNRESET: 15, - ENOBUFS: 42, - EAFNOSUPPORT: 5, - EPROTOTYPE: 67, - ENOTSOCK: 57, - ENOPROTOOPT: 50, - ESHUTDOWN: 140, - ECONNREFUSED: 14, - EADDRINUSE: 3, - ECONNABORTED: 13, - ENETUNREACH: 40, - ENETDOWN: 38, - ETIMEDOUT: 73, - EHOSTDOWN: 142, - EHOSTUNREACH: 23, - EINPROGRESS: 26, - EALREADY: 7, - EDESTADDRREQ: 17, - EMSGSIZE: 35, - EPROTONOSUPPORT: 66, - ESOCKTNOSUPPORT: 137, - EADDRNOTAVAIL: 4, - ENETRESET: 39, - EISCONN: 30, - ENOTCONN: 53, - ETOOMANYREFS: 141, - EUSERS: 136, - EDQUOT: 19, - ESTALE: 72, - ENOTSUP: 138, - ENOMEDIUM: 148, - EILSEQ: 25, - EOVERFLOW: 61, - ECANCELED: 11, - ENOTRECOVERABLE: 56, - EOWNERDEAD: 62, - ESTRPIPE: 135 -}; -var NODEFS = { - isWindows: false, - staticInit: function() { - NODEFS.isWindows = !!process.platform.match(/^win/); - var flags = { fs: fs.constants }; - if (flags["fs"]) { - flags = flags["fs"]; } - NODEFS.flagsForNodeMap = { - 1024: flags["O_APPEND"], - 64: flags["O_CREAT"], - 128: flags["O_EXCL"], - 0: flags["O_RDONLY"], - 2: flags["O_RDWR"], - 4096: flags["O_SYNC"], - 512: flags["O_TRUNC"], - 1: flags["O_WRONLY"] - }; - }, - bufferFrom: function(arrayBuffer) { - return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + return stream; }, - convertNodeCode: function(e) { - var code = e.code; - assert(code in ERRNO_CODES); - return ERRNO_CODES[code]; + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; }, - mount: function(mount) { - assert(ENVIRONMENT_HAS_NODE); - return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + isClosed: function(stream) { + return stream.fd === null; }, - createNode: function(parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + llseek: function(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); } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; }, - getMode: function(path) { - var stat; + read: function(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: function(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.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer, + offset, + length, + position, + canOwn + ); + if (!seeking) stream.position += bytesWritten; try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - stat.mode = stat.mode | ((stat.mode & 292) >> 2); - } + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + console.log( + "FS.trackingDelegate['onWriteToFile']('" + + stream.path + + "') threw an exception: " + + e.message + ); } - return stat.mode; + return bytesWritten; }, - realPath: function(node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); + 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); }, - flagsForNode: function(flags) { - flags &= ~2097152; - flags &= ~2048; - flags &= ~32768; - flags &= ~524288; - var newFlags = 0; - for (var k in NODEFS.flagsForNodeMap) { - if (flags & k) { - newFlags |= NODEFS.flagsForNodeMap[k]; - flags ^= k; - } + mmap: function(stream, buffer, offset, length, position, prot, flags) { + if ( + (prot & 2) !== 0 && + (flags & 2) === 0 && + (stream.flags & 2097155) !== 2 + ) { + throw new FS.ErrnoError(2); } - if (!flags) { - return newFlags; + 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, + buffer, + offset, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || "r"; + 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: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || "w"; + 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 FS.ErrnoError(28); + throw new Error("Unsupported data type"); } + FS.close(stream); }, - node_ops: { - getattr: function(node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - }, - setattr: function(node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - lookup: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - }, - mknod: function(parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, "", { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - return node; - }, - rename: function(oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - unlink: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - rmdir: function(parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - readdir: function(node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - symlink: function(parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - readlink: function(node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative( - NODEJS_PATH.resolve(node.mount.opts.root), - path - ); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } + cwd: function() { + return FS.currentPath; + }, + chdir: function(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 err = FS.nodePermissions(lookup.node, "x"); + if (err) { + throw new FS.ErrnoError(err); } + FS.currentPath = lookup.path; }, - stream_ops: { - open: function(stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - close: function(stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - read: function(stream, buffer, offset, length, position) { - if (length === 0) return 0; - try { - return fs.readSync( - stream.nfd, - NODEFS.bufferFrom(buffer.buffer), - offset, - length, - position - ); - } catch (e) { - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer, offset, length, pos) { + return length; } - }, - write: function(stream, buffer, offset, length, position) { + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device; + if ( + typeof crypto === "object" && + typeof crypto["getRandomValues"] === "function" + ) { + var randomBuffer = new Uint8Array(1); + random_device = function() { + crypto.getRandomValues(randomBuffer); + return randomBuffer[0]; + }; + } else if (ENVIRONMENT_IS_NODE) { try { - return fs.writeSync( - stream.nfd, - NODEFS.bufferFrom(buffer.buffer), - offset, - length, - position - ); - } catch (e) { - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - }, - llseek: function(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); - } - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; + var crypto_module = __webpack_require__(14); + random_device = function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) {} + } else { } - } -}; -var NODERAWFS = { - lookupPath: function(path) { - return { path: path, node: { mode: NODEFS.getMode(path) } }; - }, - createStandardStreams: function() { - FS.streams[0] = { - fd: 0, - nfd: 0, - position: 0, - path: "", - flags: 0, - tty: true, - seekable: false - }; - for (var i = 1; i < 3; i++) { - FS.streams[i] = { - fd: i, - nfd: i, - position: 0, - path: "", - flags: 577, - tty: true, - seekable: false + if (!random_device) { + random_device = function() { + abort("random_device"); }; } + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); }, - cwd: function() { - return process.cwd(); - }, - chdir: function() { - process.chdir.apply(void 0, arguments); + createSpecialDirectories: function() { + FS.mkdir("/proc"); + FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(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: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); }, - mknod: function(path, mode) { - if (FS.isDir(path)) { - fs.mkdirSync(path, mode); + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); } else { - fs.writeFileSync(path, "", { mode: mode }); + FS.symlink("/dev/tty", "/dev/stdin"); } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + var stdin = FS.open("/dev/stdin", "r"); + var stdout = FS.open("/dev/stdout", "w"); + var stderr = FS.open("/dev/stderr", "w"); }, - mkdir: function() { - fs.mkdirSync.apply(void 0, arguments); - }, - symlink: function() { - fs.symlinkSync.apply(void 0, arguments); - }, - rename: function() { - fs.renameSync.apply(void 0, arguments); - }, - rmdir: function() { - fs.rmdirSync.apply(void 0, arguments); - }, - readdir: function() { - fs.readdirSync.apply(void 0, arguments); - }, - unlink: function() { - fs.unlinkSync.apply(void 0, arguments); - }, - readlink: function() { - return fs.readlinkSync.apply(void 0, arguments); - }, - stat: function() { - return fs.statSync.apply(void 0, arguments); - }, - lstat: function() { - return fs.lstatSync.apply(void 0, arguments); - }, - chmod: function() { - fs.chmodSync.apply(void 0, arguments); + ensureErrnoError: function() { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); }, - fchmod: function() { - fs.fchmodSync.apply(void 0, arguments); + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS }; }, - chown: function() { - fs.chownSync.apply(void 0, arguments); + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); }, - fchown: function() { - fs.fchownSync.apply(void 0, arguments); + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } }, - truncate: function() { - fs.truncateSync.apply(void 0, arguments); + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; }, - ftruncate: function() { - fs.ftruncateSync.apply(void 0, arguments); + joinPath: function(parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == "/") path = path.substr(1); + return path; }, - utime: function() { - fs.utimesSync.apply(void 0, arguments); + absolutePath: function(relative, base) { + return PATH_FS.resolve(base, relative); }, - open: function(path, flags, mode, suggestFD) { - if (typeof flags === "string") { - flags = VFS.modeStringToFlags(flags); - } - var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); - var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); - var stream = { - fd: fd, - nfd: nfd, - position: 0, - path: path, - flags: flags, - seekable: true - }; - FS.streams[fd] = stream; - return stream; + standardizePath: function(path) { + return PATH.normalize(path); }, - close: function(stream) { - if (!stream.stream_ops) { - fs.closeSync(stream.nfd); + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; } - FS.closeStream(stream.fd); }, - llseek: function(stream, offset, whence) { - if (stream.stream_ops) { - return VFS.llseek(stream, offset, whence); - } - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - position += fs.fstatSync(stream.nfd).size; - } else if (whence !== 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) {} + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; } - stream.position = position; - return position; + return ret; }, - read: function(stream, buffer, offset, length, position) { - if (stream.stream_ops) { - return VFS.read(stream, buffer, offset, length, position); - } - var seeking = typeof position !== "undefined"; - if (!seeking && stream.seekable) position = stream.position; - var bytesRead = fs.readSync( - stream.nfd, - NODEFS.bufferFrom(buffer.buffer), - offset, - length, - position + createFolder: function(parent, name, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name ); - if (!seeking) stream.position += bytesRead; - return bytesRead; + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); }, - write: function(stream, buffer, offset, length, position) { - if (stream.stream_ops) { - return VFS.write(stream, buffer, offset, length, position); - } - if (stream.flags & +"1024") { - FS.llseek(stream, 0, +"2"); + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) {} + parent = current; } - var seeking = typeof position !== "undefined"; - if (!seeking && stream.seekable) position = stream.position; - var bytesWritten = fs.writeSync( - stream.nfd, - NODEFS.bufferFrom(buffer.buffer), - offset, - length, - position - ); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - allocate: function() { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - }, - mmap: function() { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - }, - msync: function() { - return 0; - }, - munmap: function() { - return 0; + return current; }, - ioctl: function() { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } -}; -var FS = { - root: null, - mounts: [], - devices: {}, - streams: [], - nextInode: 1, - nameTable: null, - currentPath: "/", - initialized: false, - ignorePermissions: true, - trackingDelegate: {}, - tracking: { openFlags: { READ: 1, WRITE: 2 } }, - ErrnoError: null, - genericErrors: {}, - filesystems: null, - syncFSRequests: 0, - handleFSError: function(e) { - if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); - return ___setErrNo(e.errno); + createFile: function(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); }, - lookupPath: function(path, opts) { - path = PATH_FS.resolve(FS.cwd(), path); - opts = opts || {}; - if (!path) return { path: "", node: null }; - var defaults = { follow_mount: true, recurse_count: 0 }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name + ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(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; } + FS.chmod(node, mode | 146); + var stream = FS.open(node, "w"); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); } - if (opts.recurse_count > 8) { - throw new FS.ErrnoError(32); - } - var parts = PATH.normalizeArray( - path.split("/").filter(function(p) { - return !!p; - }), - false + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name ); - 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) { - break; - } - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); } - } - 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 - }); - current = lookup.node; - if (count++ > 40) { - throw new FS.ErrnoError(32); + }, + read: function(stream, buffer, offset, length, pos) { + 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: function(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 { path: current_path, node: current }; + }); + return FS.mkdev(path, mode, dev); }, - getPath: function(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length - 1] !== "/" - ? mount + "/" + path - : mount + path; + createLink: function(parent, name, target, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + return FS.symlink(target, path); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== "undefined") { + throw new Error( + "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread." + ); + } else if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; } - path = path ? node.name + "/" + path : node.name; - node = node.parent; + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); } + if (!success) ___setErrNo(29); + return success; }, - hashName: function(parentid, name) { - var hash = 0; - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + createLazyFile: function(parent, name, url, canRead, canWrite) { + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode: function(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length - 1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize) | 0; + return this.getter(chunkNum)[chunkOffset]; + }; + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter( + getter + ) { + this.getter = getter; + }; + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + var xhr = new XMLHttpRequest(); + xhr.open("HEAD", url, false); + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = + (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = + (header = xhr.getResponseHeader("Content-Encoding")) && + header === "gzip"; + var chunkSize = 1024 * 1024; + if (!hasByteServing) chunkSize = datalength; + var doXHR = function(from, to) { + if (from > to) + throw new Error( + "invalid range (" + from + ", " + to + ") or no bytes requested!" + ); + if (to > datalength - 1) + throw new Error( + "only " + datalength + " bytes available! programmer error!" + ); + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (datalength !== chunkSize) + xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain; charset=x-user-defined"); } - current = current.name_next; - } - } - }, - lookupNode: function(parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - return FS.lookup(parent, name); - }, - createNode: function(parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; + xhr.send(null); + if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) + throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || "", true); } - 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; }; - FS.FSNode.prototype = {}; - var readMode = 292 | 73; - var writeMode = 146; - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { - return (this.mode & readMode) === readMode; - }, - set: function(val) { - val ? (this.mode |= readMode) : (this.mode &= ~readMode); - } - }, - write: { - get: function() { - return (this.mode & writeMode) === writeMode; - }, - set: function(val) { - val ? (this.mode |= writeMode) : (this.mode &= ~writeMode); - } - }, - isFolder: { + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum + 1) * chunkSize - 1; + end = Math.min(end, datalength - 1); + if (typeof lazyArray.chunks[chunkNum] === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof lazyArray.chunks[chunkNum] === "undefined") + throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + if (usesGzip || !datalength) { + chunkSize = datalength = 1; + datalength = this.getter(0).length; + chunkSize = datalength; + console.log( + "LazyFiles on gzip forces download of the whole file when length is accessed" + ); + } + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + }; + if (typeof XMLHttpRequest !== "undefined") { + if (!ENVIRONMENT_IS_WORKER) + throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { get: function() { - return FS.isDir(this.mode); + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._length; } }, - isDevice: { + chunkSize: { get: function() { - return FS.isChrdev(this.mode); + if (!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; } } }); + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; } - var node = new FS.FSNode(parent, name, mode, rdev); - FS.hashAddNode(node); + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read( + stream, + buffer, + offset, + length, + position + ) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(29); + } + var contents = stream.node.contents; + if (position >= contents.length) return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; return node; }, - destroyNode: function(node) { - FS.hashRemoveNode(node); - }, - isRoot: function(node) { - return node === node.parent; - }, - isMountpoint: function(node) { - return !!node.mounted; - }, - isFile: function(mode) { - return (mode & 61440) === 32768; - }, - isDir: function(mode) { - return (mode & 61440) === 16384; - }, - isLink: function(mode) { - return (mode & 61440) === 40960; - }, - isChrdev: function(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev: function(mode) { - return (mode & 61440) === 24576; - }, - isFIFO: function(mode) { - return (mode & 61440) === 4096; - }, - isSocket: function(mode) { - return (mode & 49152) === 49152; - }, - flagModes: { - r: 0, - rs: 1052672, - "r+": 2, - w: 577, - wx: 705, - xw: 705, - "w+": 578, - "wx+": 706, - "xw+": 706, - a: 1089, - ax: 1217, - xa: 1217, - "a+": 1090, - "ax+": 1218, - "xa+": 1218 - }, - modeStringToFlags: function(str) { - var flags = FS.flagModes[str]; - if (typeof flags === "undefined") { - throw new Error("Unknown file open mode: " + str); + createPreloadedFile: function( + parent, + name, + url, + canRead, + canWrite, + onload, + onerror, + dontCreateFile, + canOwn, + preFinish + ) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency("cp " + fullname); + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); } - return flags; - }, - flagsToPermissionString: function(flag) { - var perms = ["r", "w", "rw"][flag & 3]; - if (flag & 512) { - perms += "w"; + addRunDependency(dep); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); } - return perms; }, - nodePermissions: function(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { - return 2; - } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { - return 2; - } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { - return 2; - } - return 0; + indexedDB: function() { + return ( + window.indexedDB || + window.mozIndexedDB || + window.webkitIndexedDB || + window.msIndexedDB + ); }, - mayLookup: function(dir) { - var err = FS.nodePermissions(dir, "x"); - if (err) return err; - if (!dir.node_ops.lookup) return 2; - return 0; + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; }, - mayCreate: function(dir, name) { + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) {} - return FS.nodePermissions(dir, "wx"); + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function 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(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; }, - mayDelete: function(dir, name, isdir) { - var node; + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() {}; + onerror = onerror || function() {}; + var indexedDB = FS.indexedDB(); try { - node = FS.lookupNode(dir, name); + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, "wx"); - if (err) { - return err; + return onerror(e); } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, + fail = 0, + total = paths.length; + function finish() { + if (fail == 0) onload(); + else onerror(); } - } else { - if (FS.isDir(node.mode)) { - return 31; + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function 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 = function getRequest_onerror() { + fail++; + if (ok + fail == total) finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } +}; +var SYSCALLS = { + DEFAULT_POLLMASK: 5, + mappings: {}, + umask: 511, + calculateAt: function(dirfd, path) { + if (path[0] !== "/") { + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(8); + dir = dirstream.path; } + path = PATH.join2(dir, path); } - return 0; + return path; }, - mayOpen: function(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { - return 31; + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if ( + e && + e.node && + PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node)) + ) { + return -54; } + throw e; } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + HEAP32[buf >> 2] = stat.dev; + HEAP32[(buf + 4) >> 2] = 0; + HEAP32[(buf + 8) >> 2] = stat.ino; + HEAP32[(buf + 12) >> 2] = stat.mode; + HEAP32[(buf + 16) >> 2] = stat.nlink; + HEAP32[(buf + 20) >> 2] = stat.uid; + HEAP32[(buf + 24) >> 2] = stat.gid; + HEAP32[(buf + 28) >> 2] = stat.rdev; + HEAP32[(buf + 32) >> 2] = 0; + (tempI64 = [ + stat.size >>> 0, + ((tempDouble = stat.size), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 40) >> 2] = tempI64[0]), + (HEAP32[(buf + 44) >> 2] = tempI64[1]); + HEAP32[(buf + 48) >> 2] = 4096; + HEAP32[(buf + 52) >> 2] = stat.blocks; + HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0; + HEAP32[(buf + 60) >> 2] = 0; + HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0; + HEAP32[(buf + 68) >> 2] = 0; + HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0; + HEAP32[(buf + 76) >> 2] = 0; + (tempI64 = [ + stat.ino >>> 0, + ((tempDouble = stat.ino), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[(buf + 80) >> 2] = tempI64[0]), + (HEAP32[(buf + 84) >> 2] = tempI64[1]); + return 0; }, - MAX_OPEN_FDS: 4096, - nextfd: function(fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } + doMsync: function(addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; } - throw new FS.ErrnoError(33); + FS.mknod(path, mode, dev); + return 0; }, - getStream: function(fd) { - return FS.streams[fd]; + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; }, - createStream: function(stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function() {}; - FS.FSStream.prototype = {}; - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { - return this.node; - }, - set: function(val) { - this.node = val; - } - }, - isRead: { - get: function() { - return (this.flags & 2097155) !== 1; - } - }, - isWrite: { - get: function() { - return (this.flags & 2097155) !== 0; - } - }, - isAppend: { - get: function() { - return this.flags & 1024; - } - } - }); + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; } - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; + var perms = ""; + if (amode & 4) perms += "r"; + if (amode & 2) perms += "w"; + if (amode & 1) perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; }, - closeStream: function(fd) { - FS.streams[fd] = null; + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; }, - chrdev_stream_ops: { - open: function(stream) { - var device = FS.getDevice(stream.node.rdev); - stream.stream_ops = device.stream_ops; - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - }, - llseek: function() { - throw new FS.ErrnoError(70); + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; } + return ret; }, - major: function(dev) { - return dev >> 8; - }, - minor: function(dev) { - return dev & 255; + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(iov + i * 8) >> 2]; + var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; }, - makedev: function(ma, mi) { - return (ma << 8) | mi; + varargs: 0, + get: function(varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2]; + return ret; }, - registerDevice: function(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; + getStr: function() { + var ret = UTF8ToString(SYSCALLS.get()); + return ret; }, - getDevice: function(dev) { - return FS.devices[dev]; + getStreamFromFD: function(fd) { + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; }, - getMounts: function(mount) { - var mounts = []; - var check = [mount]; - while (check.length) { - var m = check.pop(); - mounts.push(m); - check.push.apply(check, m.mounts); - } - return mounts; + get64: function() { + var low = SYSCALLS.get(), + high = SYSCALLS.get(); + return low; }, - syncfs: function(populate, callback) { - if (typeof populate === "function") { - callback = populate; - populate = false; - } - FS.syncFSRequests++; - if (FS.syncFSRequests > 1) { - console.log( - "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(err) { - FS.syncFSRequests--; - return callback(err); - } - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); + getZero: function() { + SYSCALLS.get(); + } +}; +function ___syscall10(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall15(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(), + mode = SYSCALLS.get(); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall195(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(), + buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall197(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall221(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; } - return; + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; } - if (++completed >= mounts.length) { - doCallback(null); + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[(arg + offset) >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + ___setErrNo(28); + return -1; + default: { + return -28; } } - mounts.forEach(function(mount) { - if (!mount.type.syncfs) { - return done(null); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall3(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + buf = SYSCALLS.get(), + count = SYSCALLS.get(); + return FS.read(stream, HEAP8, buf, count); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall38(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var old_path = SYSCALLS.getStr(), + new_path = SYSCALLS.getStr(); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall40(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var path = SYSCALLS.getStr(); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall5(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(), + flags = SYSCALLS.get(), + mode = SYSCALLS.get(); + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___syscall54(which, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(), + op = SYSCALLS.get(); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; } - mount.type.syncfs(mount, populate, done); - }); - }, - mount: function(type, opts, mountpoint) { - var root = mountpoint === "/"; - var pseudo = !mountpoint; - var node; - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - mountpoint = lookup.path; - node = lookup.node; - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; } - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; } - } - var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - if (root) { - FS.root = mountRoot; - } else if (node) { - node.mounted = mount; - if (node.mount) { - node.mount.mounts.push(mount); + case 21520: { + if (!stream.tty) return -59; + return -28; } - } - return mountRoot; - }, - unmount: function(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - Object.keys(FS.nameTable).forEach(function(hash) { - var current = FS.nameTable[hash]; - while (current) { - var next = current.name_next; - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - current = next; + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); } - }); - node.mounted = null; - var idx = node.mount.mounts.indexOf(mount); - node.mount.mounts.splice(idx, 1); - }, - lookup: function(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod: function(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === "." || name === "..") { - throw new FS.ErrnoError(28); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); + case 21523: { + if (!stream.tty) return -59; + return 0; + } + case 21524: { + if (!stream.tty) return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } +} +function ___unlock() {} +function _emscripten_get_heap_size() { + return HEAP8.length; +} +function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest); +} +function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow((size - buffer.byteLength + 65535) >> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) {} +} +function _emscripten_resize_heap(requestedSize) { + var oldSize = _emscripten_get_heap_size(); + var PAGE_MULTIPLE = 65536; + var LIMIT = 2147483648 - PAGE_MULTIPLE; + if (requestedSize > LIMIT) { + return false; + } + var MIN_TOTAL_MEMORY = 16777216; + var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); + while (newSize < requestedSize) { + if (newSize <= 536870912) { + newSize = alignUp(2 * newSize, PAGE_MULTIPLE); + } else { + newSize = Math.min( + alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), + LIMIT + ); } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - create: function(path, mode) { - mode = mode !== undefined ? mode : 438; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir: function(path, mode) { - mode = mode !== undefined ? mode : 511; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree: function(path, mode) { - var dirs = path.split("/"); - var d = ""; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += "/" + dirs[i]; + } + var replacement = emscripten_realloc_buffer(newSize); + if (!replacement) { + return false; + } + return true; +} +function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty + ? 2 + : FS.isDir(stream.mode) + ? 3 + : FS.isLink(stream.mode) + ? 7 + : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + (tempI64 = [ + stream.position >>> 0, + ((tempDouble = stream.position), + +Math_abs(tempDouble) >= 1 + ? tempDouble > 0 + ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> + 0 + : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> + 0 + : 0) + ]), + (HEAP32[newOffset >> 2] = tempI64[0]), + (HEAP32[(newOffset + 4) >> 2] = tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } +} +var ___tm_current = 20656; +var ___tm_timezone = (stringToUTF8("GMT", 20704, 4), 20704); +function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes(); + HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours(); + HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate(); + HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth(); + HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900; + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + HEAP32[(tmPtr + 36) >> 2] = 0; + HEAP32[(tmPtr + 32) >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + HEAP32[(tmPtr + 40) >> 2] = ___tm_timezone; + return tmPtr; +} +function _gmtime(time) { + return _gmtime_r(time, ___tm_current); +} +function _setTempRet0($i) { + setTempRet0($i | 0); +} +function _time(ptr) { + var ret = (Date.now() / 1e3) | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; +} +function _tzset() { + if (_tzset.called) return; + _tzset.called = true; + HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[__get_daylight() >> 2] = Number( + winter.getTimezoneOffset() != summer.getTimezoneOffset() + ); + 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 = allocate( + intArrayFromString(winterName), + "i8", + ALLOC_NORMAL + ); + var summerNamePtr = allocate( + intArrayFromString(summerName), + "i8", + ALLOC_NORMAL + ); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr; + } +} +function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[(tmPtr + 20) >> 2] + 1900, + HEAP32[(tmPtr + 16) >> 2], + HEAP32[(tmPtr + 12) >> 2], + HEAP32[(tmPtr + 8) >> 2], + HEAP32[(tmPtr + 4) >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; + HEAP32[(tmPtr + 28) >> 2] = yday; + return (date.getTime() / 1e3) | 0; +} +FS.staticInit(); +if (ENVIRONMENT_HAS_NODE) { + var fs = frozenFs; + var NODEJS_PATH = __webpack_require__(2); + NODEFS.staticInit(); +} +if (ENVIRONMENT_IS_NODE) { + var _wrapNodeError = function(func) { + return function() { try { - FS.mkdir(d, mode); + return func.apply(this, arguments); } catch (e) { - if (e.errno != 20) throw e; + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); } - } - }, - mkdev: function(path, mode, dev) { - if (typeof dev === "undefined") { - dev = mode; - mode = 438; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink: function(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 err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename: function(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(10); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - var old_node = FS.lookupNode(old_dir, old_name); - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(28); - } - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== ".") { - throw new FS.ErrnoError(55); - } - var new_node; + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]); +} else { + throw new Error( + "NODERAWFS is currently only supported on Node.js environment." + ); +} +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 decodeBase64 = + typeof atob === "function" + ? atob + : function(input) { + var keyStr = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; + }; +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { + var buf; try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (old_node === new_node) { - return; - } - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - err = new_node - ? FS.mayDelete(new_dir, new_name, isdir) - : FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0; i < decoded.length; ++i) { + bytes[i] = decoded.charCodeAt(i); } - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, "w"); - if (err) { - throw new FS.ErrnoError(err); + return bytes; + } catch (_) { + throw new Error("Converting base64 string to bytes failed."); + } +} +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} +var asmLibraryArg = { + d: ___lock, + t: ___syscall10, + p: ___syscall15, + f: ___syscall195, + v: ___syscall197, + e: ___syscall221, + q: ___syscall3, + u: ___syscall38, + s: ___syscall40, + r: ___syscall5, + o: ___syscall54, + a: ___unlock, + j: _emscripten_memcpy_big, + k: _emscripten_resize_heap, + g: _fd_close, + n: _fd_fdstat_get, + m: _fd_read, + l: _fd_seek, + w: _fd_write, + h: _gmtime, + memory: wasmMemory, + b: _setTempRet0, + table: wasmTable, + c: _time, + i: _timegm +}; +var asm = createWasm(); +var ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["x"]); +var _zipstruct_stat = (Module["_zipstruct_stat"] = asm["y"]); +var _zipstruct_statS = (Module["_zipstruct_statS"] = asm["z"]); +var _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["A"]); +var _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["B"]); +var _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["C"]); +var _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["D"]); +var _zipstruct_error = (Module["_zipstruct_error"] = asm["E"]); +var _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["F"]); +var _zip_close = (Module["_zip_close"] = asm["G"]); +var _zip_dir_add = (Module["_zip_dir_add"] = asm["H"]); +var _zip_discard = (Module["_zip_discard"] = asm["I"]); +var _zip_error_init_with_code = (Module["_zip_error_init_with_code"] = + asm["J"]); +var _zip_get_error = (Module["_zip_get_error"] = asm["K"]); +var _zip_file_get_error = (Module["_zip_file_get_error"] = asm["L"]); +var _zip_error_strerror = (Module["_zip_error_strerror"] = asm["M"]); +var _zip_fclose = (Module["_zip_fclose"] = asm["N"]); +var _zip_file_add = (Module["_zip_file_add"] = asm["O"]); +var _zip_file_get_external_attributes = (Module[ + "_zip_file_get_external_attributes" +] = asm["P"]); +var _zip_file_set_external_attributes = (Module[ + "_zip_file_set_external_attributes" +] = asm["Q"]); +var _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["R"]); +var _zip_fopen = (Module["_zip_fopen"] = asm["S"]); +var _zip_fopen_index = (Module["_zip_fopen_index"] = asm["T"]); +var _zip_fread = (Module["_zip_fread"] = asm["U"]); +var _zip_get_name = (Module["_zip_get_name"] = asm["V"]); +var _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["W"]); +var _zip_name_locate = (Module["_zip_name_locate"] = asm["X"]); +var _zip_open = (Module["_zip_open"] = asm["Y"]); +var _zip_open_from_source = (Module["_zip_open_from_source"] = asm["Z"]); +var _zip_set_file_compression = (Module["_zip_set_file_compression"] = + asm["_"]); +var _zip_source_buffer = (Module["_zip_source_buffer"] = asm["$"]); +var _zip_source_buffer_create = (Module["_zip_source_buffer_create"] = + asm["aa"]); +var _zip_source_free = (Module["_zip_source_free"] = asm["ba"]); +var _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["ca"]); +var _zip_stat = (Module["_zip_stat"] = asm["da"]); +var _zip_stat_index = (Module["_zip_stat_index"] = asm["ea"]); +var ___errno_location = (Module["___errno_location"] = asm["fa"]); +var __get_tzname = (Module["__get_tzname"] = asm["ga"]); +var __get_daylight = (Module["__get_daylight"] = asm["ha"]); +var __get_timezone = (Module["__get_timezone"] = asm["ia"]); +var _malloc = (Module["_malloc"] = asm["ja"]); +var _free = (Module["_free"] = asm["ka"]); +var stackSave = (Module["stackSave"] = asm["la"]); +var stackAlloc = (Module["stackAlloc"] = asm["ma"]); +var stackRestore = (Module["stackRestore"] = asm["na"]); +var dynCall_vi = (Module["dynCall_vi"] = asm["oa"]); +Module["asm"] = asm; +Module["cwrap"] = cwrap; +Module["getValue"] = getValue; +var calledRun; +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} +dependenciesFulfilled = function runCaller() { + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; +}; +function run(args) { + args = args || arguments_; + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) return; + function doRun() { + if (calledRun) return; + calledRun = true; + if (ABORT) return; + initRuntime(); + preMain(); + if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } +} +Module["run"] = run; +if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } +} +noExitRuntime = true; +run(); + + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +module.exports = require("crypto"); + +/***/ }), +/* 15 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "fs" +var external_fs_ = __webpack_require__(1); +var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); + +// EXTERNAL MODULE: external "os" +var external_os_ = __webpack_require__(4); +var external_os_default = /*#__PURE__*/__webpack_require__.n(external_os_); + +// EXTERNAL MODULE: external "path" +var external_path_ = __webpack_require__(2); +var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/path.ts + +var PathType; + +(function (PathType) { + PathType[PathType["File"] = 0] = "File"; + PathType[PathType["Portable"] = 1] = "Portable"; + PathType[PathType["Native"] = 2] = "Native"; +})(PathType || (PathType = {})); + +const PortablePath = { + root: `/`, + dot: `.` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock` +}; +const npath = Object.create(external_path_default.a); +const ppath = Object.create(external_path_default.a.posix); + +npath.cwd = () => process.cwd(); + +ppath.cwd = () => toPortablePath(process.cwd()); + +ppath.resolve = (...segments) => external_path_default.a.posix.resolve(ppath.cwd(), ...segments); + +const contains = function (pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) return `.`; + if (!from.endsWith(pathUtils.sep)) from = from + pathUtils.sep; + + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; + +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; + +npath.contains = (from, to) => contains(npath, from, to); + +ppath.contains = (from, to) => contains(ppath, from, to); + +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\\\\(\.\\)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; // Path should look like "/N:/berry/scripts/plugin-pack.js" +// And transform to "N:\berry\scripts\plugin-pack.js" + +function fromPortablePath(p) { + if (process.platform !== `win32`) return p; + if (p.match(PORTABLE_PATH_REGEXP)) p = p.replace(PORTABLE_PATH_REGEXP, `$1`);else if (p.match(UNC_PORTABLE_PATH_REGEXP)) p = p.replace(UNC_PORTABLE_PATH_REGEXP, (match, p1, p2) => `\\\\${p1 ? `.\\` : ``}${p2}`);else return p; + return p.replace(/\//g, `\\`); +} // Path should look like "N:/berry/scripts/plugin-pack.js" +// And transform to "/N:/berry/scripts/plugin-pack.js" + + +function toPortablePath(p) { + if (process.platform !== `win32`) return p; + if (p.match(WINDOWS_PATH_REGEXP)) p = p.replace(WINDOWS_PATH_REGEXP, `/$1`);else if (p.match(UNC_WINDOWS_PATH_REGEXP)) p = p.replace(UNC_WINDOWS_PATH_REGEXP, (match, p1, p2) => `/unc/${p1 ? `.dot/` : ``}${p2}`); + return p.replace(/\\/g, `/`); +} + +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} +function toFilename(filename) { + if (npath.parse(filename).dir !== `` || ppath.parse(filename).dir !== ``) throw new Error(`Invalid filename: "${filename}"`); + return filename; +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/algorithms/copyPromise.ts + + +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const operations = []; + const lutimes = []; + await destinationFs.mkdirpPromise(destination); + await copyImpl(operations, lutimes, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts); + + for (const operation of operations) await operation(); + + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + + for (const [p, atime, mtime] of lutimes) { + await updateTime(p, atime, mtime); + } +} + +async function copyImpl(operations, lutimes, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = await maybeLStat(destinationFs, destination); + const sourceStat = await sourceFs.lstatPromise(source); + lutimes.push([destination, sourceStat.atime, sourceStat.mtime]); + + switch (true) { + case sourceStat.isDirectory(): + { + await copyFolder(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } - } - try { - if (FS.trackingDelegate["willMovePath"]) { - FS.trackingDelegate["willMovePath"](old_path, new_path); + break; + + case sourceStat.isFile(): + { + await copyFile(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } - } catch (e) { - console.log( - "FS.trackingDelegate['willMovePath']('" + - old_path + - "', '" + - new_path + - "') threw an exception: " + - e.message - ); - } - FS.hashRemoveNode(old_node); - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate["onMovePath"]) - FS.trackingDelegate["onMovePath"](old_path, new_path); - } catch (e) { - console.log( - "FS.trackingDelegate['onMovePath']('" + - old_path + - "', '" + - new_path + - "') threw an exception: " + - e.message - ); - } - }, - rmdir: function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate["willDeletePath"]) { - FS.trackingDelegate["willDeletePath"](path); + break; + + case sourceStat.isSymbolicLink(): + { + await copySymlink(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); } - } catch (e) { - console.log( - "FS.trackingDelegate['willDeletePath']('" + - path + - "') threw an exception: " + - e.message - ); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate["onDeletePath"]) - FS.trackingDelegate["onDeletePath"](path); - } catch (e) { - console.log( - "FS.trackingDelegate['onDeletePath']('" + - path + - "') threw an exception: " + - e.message - ); - } - }, - readdir: function(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: function(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - try { - if (FS.trackingDelegate["willDeletePath"]) { - FS.trackingDelegate["willDeletePath"](path); + break; + + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); } - } catch (e) { - console.log( - "FS.trackingDelegate['willDeletePath']('" + - path + - "') threw an exception: " + - e.message - ); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate["onDeletePath"]) - FS.trackingDelegate["onDeletePath"](path); - } catch (e) { - console.log( - "FS.trackingDelegate['onDeletePath']('" + - path + - "') threw an exception: " + - e.message - ); - } - }, - readlink: function(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: function(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: function(path) { - return FS.stat(path, true); - }, - chmod: function(path, mode, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; + break; + } + + operations.push(async () => destinationFs.chmodPromise(destination, sourceStat.mode & 0o777)); +} + +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} + +async function copyFolder(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + operations.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; } 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: function(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod: function(fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); + return; } - FS.chmod(stream.node, mode); - }, - chown: function(path, uid, gid, dontFollow) { - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; + } + + if (destinationStat === null) operations.push(async () => destinationFs.mkdirPromise(destination, { + mode: sourceStat.mode + })); + const entries = await sourceFs.readdirPromise(source); + await Promise.all(entries.map(async entry => { + await copyImpl(operations, lutimes, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts); + })); +} + +async function copyFile(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + operations.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { timestamp: Date.now() }); - }, - lchown: function(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown: function(fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - FS.chown(stream.node, uid, gid); - }, - truncate: function(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); + return; } - var node; - if (typeof path === "string") { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; + } + + if (destinationFs === sourceFs) { + operations.push(async () => destinationFs.copyFilePromise(source, destination, external_fs_default.a.constants.COPYFILE_FICLONE)); + } else { + operations.push(async () => destinationFs.writeFilePromise(destination, (await sourceFs.readFilePromise(source)))); + } +} + +async function copySymlink(operations, lutimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + operations.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; } 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 err = FS.nodePermissions(node, "w"); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); - }, - ftruncate: function(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: function(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: function(path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(44); + return; } - flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === "undefined" ? 438 : mode; - if (flags & 64) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; + } + + const target = await sourceFs.readlinkPromise(source); + operations.push(async () => destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, target), destination)); +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/FakeFS.ts + + + + +class FakeFS_FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + + async removePromise(p) { + let stat; + + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } } - var node; - if (typeof path === "object") { - node = path; + + if (stat.isDirectory()) { + for (const entry of await this.readdirPromise(p)) await this.removePromise(this.pathUtils.resolve(p, entry)); // 5 gives 1s worth of retries at worst + + + for (let t = 0; t < 5; ++t) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) { + await new Promise(resolve => setTimeout(resolve, t * 100)); + continue; + } else { + throw error; + } + } + } } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); - node = lookup.node; - } catch (e) {} + await this.unlinkPromise(p); } - var created = false; - if (flags & 64) { - if (node) { - if (flags & 128) { - throw new FS.ErrnoError(20); - } + } + + removeSync(p) { + let stat; + + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; } else { - node = FS.mknod(path, mode, 0); - created = true; + throw error; } } - if (!node) { - throw new FS.ErrnoError(44); + + if (stat.isDirectory()) { + for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry)); + + this.rmdirSync(p); + } else { + this.unlinkSync(p); } - if (FS.isChrdev(node.mode)) { - flags &= ~512; + } + + async mkdirpPromise(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) await this.chmodPromise(subPath, chmod); + + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } } - if (flags & 65536 && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); + } + + mkdirpSync(p, { + chmod, + utimes + } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) return; + const parts = p.split(this.pathUtils.sep); + + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + if (chmod != null) this.chmodSync(subPath, chmod); + + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } } - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); + } + + async copyPromise(destination, source, { + baseFs = this, + overwrite = true + } = {}) { + return await copyPromise(this, destination, baseFs, source, { + overwrite + }); + } + + copySync(destination, source, { + baseFs = this, + overwrite = true + } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { + baseFs, + overwrite + }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); } - if (flags & 512) { - FS.truncate(node, 0); + + const mode = stat.mode & 0o777; + this.chmodSync(destination, mode); + } + + async changeFilePromise(p, content, { + automaticNewlines + } = {}) { + let current = ``; + + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) {// ignore errors, no big deal } - flags &= ~(128 | 512); - var stream = FS.createStream( - { - node: node, - path: FS.getPath(node), - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - ungotten: [], - error: false - }, - fd_start, - fd_end - ); - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + await this.writeFilePromise(p, normalizedContent); + } + + changeFileSync(p, content, { + automaticNewlines = false + } = {}) { + let current = ``; + + try { + current = this.readFileSync(p, `utf8`); + } catch (error) {// ignore errors, no big deal } - if (Module["logReadFiles"] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - console.log("FS.trackingDelegate error on read file: " + path); + + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) return; + this.writeFileSync(p, normalizedContent); + } + + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; } } + } + + moveSync(fromP, toP) { try { - if (FS.trackingDelegate["onOpenFile"]) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate["onOpenFile"](path, trackingFlags); + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; } - } catch (e) { - console.log( - "FS.trackingDelegate['onOpenFile']('" + - path + - "', flags) threw an exception: " + - e.message - ); } - return stream; - }, - close: function(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); + } + + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1000 / 60; + const startTime = Date.now(); + let fd = null; // Even when we detect that a lock file exists, we still look inside to see + // whether the pid that created it is still alive. It's not foolproof + // (there are false positive), but there are no false negative and that's + // all that matters in 99% of the cases. + + const isAlive = async () => { + let pid; + + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + // If we can't read the file repeatedly, we assume the process was + // aborted before even writing finishing writing the payload. + return Date.now() - startTime < 500; + } + + try { + // "As a special case, a signal of 0 can be used to test for the + // existence of a process" - so we check whether it's alive. + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!(await isAlive())) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error) {// No big deal if we can't remove it. Just fallback to wait for + // it to be eventually released by its owner. + } + } + + if (Date.now() - startTime < 60 * 1000) { + await new Promise(resolve => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } } - if (stream.getdents) stream.getdents = null; + + await this.writePromise(fd, JSON.stringify([process.pid])); + try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; + return await callback(); } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed: function(stream) { - return stream.fd === null; - }, - llseek: function(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: function(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: function(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.flags & 1024) { - FS.llseek(stream, 0, 2); - } - var seeking = typeof position !== "undefined"; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); + try { + await this.unlinkPromise(lockPath); + await this.closePromise(fd); + } catch (error) {// noop + } } - var bytesWritten = stream.stream_ops.write( - stream, - buffer, - offset, - length, - position, - canOwn - ); - if (!seeking) stream.position += bytesWritten; + } + + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { - if (stream.path && FS.trackingDelegate["onWriteToFile"]) - FS.trackingDelegate["onWriteToFile"](stream.path); - } catch (e) { - console.log( - "FS.trackingDelegate['onWriteToFile']('" + - stream.path + - "') threw an exception: " + - e.message - ); - } - return bytesWritten; - }, - allocate: function(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: function(stream, buffer, offset, length, position, prot, flags) { - if ( - (prot & 2) !== 0 && - (flags & 2) === 0 && - (stream.flags & 2097155) !== 2 - ) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; } - return stream.stream_ops.mmap( - stream, - buffer, - offset, - length, - position, - prot, - flags - ); - }, - msync: function(stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; + } + + async readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - munmap: function(stream) { - return 0; - }, - ioctl: function(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); + } + + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\n`); + } + + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\n`); + } + + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile: function(path, opts) { - opts = opts || {}; - opts.flags = opts.flags || "r"; - opts.encoding = opts.encoding || "binary"; - if (opts.encoding !== "utf8" && opts.encoding !== "binary") { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) p = result; + + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); } - 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; + } + +} +FakeFS_FakeFS.DEFAULT_TIME = 315532800; +class FakeFS_BasePortableFakeFS extends FakeFS_FakeFS { + constructor() { + super(ppath); + } + + resolve(p) { + return this.pathUtils.resolve(PortablePath.root, p); + } + +} + +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) return external_os_["EOL"]; + const crlf = matches.filter(nl => nl === `\r\n`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r\n` : `\n`; +} + +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/errors.ts +function makeError(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { + code + }); +} + +function EBUSY(message) { + return makeError(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError(`EROFS`, `read-only filesystem, ${reason}`); +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/NodeFS.ts + + + + +class NodeFS_NodeFS extends FakeFS_BasePortableFakeFS { + constructor(realFs = external_fs_default.a) { + super(); + this.realFs = realFs; // @ts-ignore + + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; } - FS.close(stream); - return ret; - }, - writeFile: function(path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || "w"; - 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); + } + + getExtractHint() { + return false; + } + + getRealPath() { + return PortablePath.root; + } + + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); } else { - throw new Error("Unsupported data type"); - } - FS.close(stream); - }, - cwd: function() { - return FS.currentPath; - }, - chdir: function(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); + return this.realFs.writeSync(fd, buffer, offset, length, position); } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); + } + + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + + closeSync(fd) { + this.realFs.closeSync(fd); + } + + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then(path => { + return npath.toPortablePath(path); + }); + } + + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + + async existsPromise(p) { + return await new Promise(resolve => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + + async statPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + statSync(p) { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + + async lstatPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + lstatSync(p) { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); } - var err = FS.nodePermissions(lookup.node, "x"); - if (err) { - throw new FS.ErrnoError(err); + } + + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); } - FS.currentPath = lookup.path; - }, - createDefaultDirectories: function() { - FS.mkdir("/tmp"); - FS.mkdir("/home"); - FS.mkdir("/home/web_user"); - }, - createDefaultDevices: function() { - FS.mkdir("/dev"); - FS.registerDevice(FS.makedev(1, 3), { - read: function() { - return 0; - }, - write: function(stream, buffer, offset, length, pos) { - return length; + } + + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + + async lutimesPromiseImpl(p, atime, mtime) { + // @ts-ignore: Not yet in DefinitelyTyped + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + + lutimesSyncImpl(p, atime, mtime) { + // @ts-ignore: Not yet in DefinitelyTyped + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + + async rmdirPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + + rmdirSync(p) { + return this.realFs.rmdirSync(npath.fromPortablePath(p)); + } + + async symlinkPromise(target, p, type) { + const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), symlinkType, this.makeCallback(resolve, reject)); + }); + } + + symlinkSync(target, p, type) { + const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`); + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), symlinkType); + } + + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return await new Promise((resolve, reject) => { + if (withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { + withFileTypes: true + }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(value => resolve(value), reject)); } }); - FS.mkdev("/dev/null", FS.makedev(1, 3)); - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev("/dev/tty", FS.makedev(5, 0)); - FS.mkdev("/dev/tty1", FS.makedev(6, 0)); - var random_device; - if ( - typeof crypto === "object" && - typeof crypto["getRandomValues"] === "function" - ) { - var randomBuffer = new Uint8Array(1); - random_device = function() { - crypto.getRandomValues(randomBuffer); - return randomBuffer[0]; - }; - } else if (ENVIRONMENT_IS_NODE) { - try { - var crypto_module = __webpack_require__(27); - random_device = function() { - return crypto_module["randomBytes"](1)[0]; - }; - } catch (e) {} + } + + readdirSync(p, { + withFileTypes + } = {}) { + if (withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { + withFileTypes: true + }); } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); } - if (!random_device) { - random_device = function() { - abort("random_device"); - }; + } + + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then(path => { + return npath.toPortablePath(path); + }); + } + + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + + watch(p, a, b) { + return this.realFs.watch(npath.fromPortablePath(p), // @ts-ignore + a, b); + } + + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ProxiedFS.ts + +class ProxiedFS_ProxiedFS extends FakeFS_FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + + openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); } - FS.createDevice("/dev", "random", random_device); - FS.createDevice("/dev", "urandom", random_device); - FS.mkdir("/dev/shm"); - FS.mkdir("/dev/shm/tmp"); - }, - createSpecialDirectories: function() { - FS.mkdir("/proc"); - FS.mkdir("/proc/self"); - FS.mkdir("/proc/self/fd"); - FS.mount( - { - mount: function() { - var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); - node.node_ops = { - lookup: function(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: function() { - return stream.path; - } - } - }; - ret.parent = ret; - return ret; - } - }; - return node; - } - }, - {}, - "/proc/self/fd" - ); - }, - createStandardStreams: function() { - if (Module["stdin"]) { - FS.createDevice("/dev", "stdin", Module["stdin"]); + } + + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + + closePromise(fd) { + return this.baseFs.closePromise(fd); + } + + closeSync(fd) { + this.baseFs.closeSync(fd); + } + + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + + async realpathPromise(p) { + return this.mapFromBase((await this.baseFs.realpathPromise(this.mapToBase(p)))); + } + + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + + existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + + accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + + statPromise(p) { + return this.baseFs.statPromise(this.mapToBase(p)); + } + + statSync(p) { + return this.baseFs.statSync(this.mapToBase(p)); + } + + lstatPromise(p) { + return this.baseFs.lstatPromise(this.mapToBase(p)); + } + + lstatSync(p) { + return this.baseFs.lstatSync(this.mapToBase(p)); + } + + chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + + renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + + copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + + appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + + writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + + unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + + utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + + mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + + rmdirPromise(p) { + return this.baseFs.rmdirPromise(this.mapToBase(p)); + } + + rmdirSync(p) { + return this.baseFs.rmdirSync(this.mapToBase(p)); + } + + symlinkPromise(target, p, type) { + return this.baseFs.symlinkPromise(this.mapToBase(target), this.mapToBase(p), type); + } + + symlinkSync(target, p, type) { + return this.baseFs.symlinkSync(this.mapToBase(target), this.mapToBase(p), type); + } + + readFilePromise(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); } else { - FS.symlink("/dev/tty", "/dev/stdin"); + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); } - if (Module["stdout"]) { - FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } + + readFileSync(p, encoding) { + // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); } else { - FS.symlink("/dev/tty", "/dev/stdout"); + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); } - if (Module["stderr"]) { - FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return this.baseFs.readdirPromise(this.mapToBase(p), { + withFileTypes: withFileTypes + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + return this.baseFs.readdirSync(this.mapToBase(p), { + withFileTypes: withFileTypes + }); + } + + async readlinkPromise(p) { + return this.mapFromBase((await this.baseFs.readlinkPromise(this.mapToBase(p)))); + } + + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + + watch(p, a, b) { + return this.baseFs.watch(this.mapToBase(p), // @ts-ignore + a, b); + } + + fsMapToBase(p) { + if (typeof p === `number`) { + return p; } else { - FS.symlink("/dev/tty1", "/dev/stderr"); + return this.mapToBase(p); } - var stdin = FS.open("/dev/stdin", "r"); - var stdout = FS.open("/dev/stdout", "w"); - var stderr = FS.open("/dev/stderr", "w"); - }, - ensureErrnoError: function() { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - }; - this.setErrno(errno); - this.message = "FS error"; - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - [44].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ""; - }); - }, - staticInit: function() { - FS.ensureErrnoError(); - FS.nameTable = new Array(4096); - FS.mount(MEMFS, {}, "/"); - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS }; - }, - init: function(input, output, error) { - FS.init.initialized = true; - FS.ensureErrnoError(); - Module["stdin"] = input || Module["stdin"]; - Module["stdout"] = output || Module["stdout"]; - Module["stderr"] = error || Module["stderr"]; - FS.createStandardStreams(); - }, - quit: function() { - FS.init.initialized = false; - var fflush = Module["_fflush"]; - if (fflush) fflush(0); - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); + } + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/VirtualFS.ts + + + +const NUMBER_REGEXP = /^[0-9]+$/; // $0: full path +// $1: virtual folder +// $2: virtual segment +// $3: hash +// $4: depth +// $5: subpath + +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?\$\$virtual)((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS_VirtualFS extends ProxiedFS_ProxiedFS { + constructor({ + baseFs = new NodeFS_NodeFS() + } = {}) { + super(ppath); + this.baseFs = baseFs; + } + + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `$$virtual`) throw new Error(`Assertion failed: Virtual folders must be named "$$virtual"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target + + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path + + let depth = 0; + + while (depth < segments.length && segments[depth] === `..`) depth += 1; + + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS_VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + getRealPath() { + return this.baseFs.getRealPath(); + } + + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return this.baseFs.realpathSync(p); + if (!match[5]) return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS_VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) return await this.baseFs.realpathPromise(p); + if (!match[5]) return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS_VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + + mapToBase(p) { + return VirtualFS_VirtualFS.resolveVirtual(p); + } + + mapFromBase(p) { + return p; + } + +} +// EXTERNAL MODULE: external "stream" +var external_stream_ = __webpack_require__(6); + +// EXTERNAL MODULE: external "util" +var external_util_ = __webpack_require__(3); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipFS.ts + + + + + + + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +const S_IFMT = 0o170000; +const S_IFDIR = 0o040000; +const S_IFREG = 0o100000; +const S_IFLNK = 0o120000; + +class DirEntry { + constructor() { + this.name = ``; + this.mode = 0; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } + +} + +class StatEntry { + constructor() { + this.dev = 0; + this.ino = 0; + this.mode = 0; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + + isBlockDevice() { + return false; + } + + isCharacterDevice() { + return false; + } + + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + + isFIFO() { + return false; + } + + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + + isSocket() { + return false; + } + + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } + +} + +function makeDefaultStats() { + return Object.assign(new StatEntry(), { + uid: 0, + gid: 0, + size: 0, + blksize: 0, + atimeMs: 0, + mtimeMs: 0, + ctimeMs: 0, + birthtimeMs: 0, + atime: new Date(0), + mtime: new Date(0), + ctime: new Date(0), + birthtime: new Date(0), + mode: S_IFREG | 0o644 + }); +} + +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) return +time; // @ts-ignore + + if (Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1000; + } else { + return time; } - }, - getMode: function(canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }, - joinPath: function(parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == "/") path = path.substr(1); - return path; - }, - absolutePath: function(relative, base) { - return PATH_FS.resolve(base, relative); - }, - standardizePath: function(path) { - return PATH.normalize(path); - }, - findObject: function(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; + } // convert to 123.456 UNIX timestamp + + + if (Object(external_util_["isDate"])(time)) return time.getTime() / 1000; + throw new Error(`Invalid time`); +} + +class ZipFS_ZipFS extends FakeFS_BasePortableFakeFS { + constructor(source, opts) { + super(); + this.listings = new Map(); + this.entries = new Map(); + this.fds = new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + + if (typeof source === `string`) { + const { + baseFs = new NodeFS_NodeFS() + } = pathOptions; + this.baseFs = baseFs; + this.path = source; } else { - ___setErrNo(ret.error); - return null; + this.path = null; + this.baseFs = null; } - }, - analyzePath: function(path, dontResolveLastLink) { - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) {} - var ret = { - isRoot: false, - exists: false, - error: 0, - name: null, - path: null, - object: null, - parentExists: false, - parentPath: null, - parentObject: null - }; + + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + + const errPtr = this.libzip.malloc(4); + 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; + let flags = 0; + if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + + if (typeof source === `string`) { + this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw new Error(this.libzip.error.strerror(error)); + } + } finally { + this.libzip.free(errPtr); } - return ret; - }, - createFolder: function(parent, name, canRead, canWrite) { - var path = PATH.join2( - typeof parent === "string" ? parent : FS.getPath(parent), - name - ); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - }, - createPath: function(parent, path, canRead, canWrite) { - parent = typeof parent === "string" ? parent : FS.getPath(parent); - var parts = path.split("/").reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) {} - parent = current; + + this.listings.set(PortablePath.root, new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); // If the raw path is a directory, register it + // to prevent empty folder being skipped + + if (raw.endsWith(`/`)) { + this.registerListing(p); + } } - return current; - }, - createFile: function(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: function(parent, name, data, canRead, canWrite, canOwn) { - var path = name - ? PATH.join2( - typeof parent === "string" ? parent : FS.getPath(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; + + this.ready = true; + } + + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + + if (hints.relevantExtensions.has(ext)) { + return true; } - FS.chmod(node, mode | 146); - var stream = FS.open(node, "w"); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); } - return node; - }, - createDevice: function(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); - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos) { - 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: function(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 false; + } + + getAllFiles() { + return Array.from(this.entries.keys()); + } + + getRealPath() { + if (!this.path) throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + + saveAndClose() { + if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + if (!this.ready) throw EBUSY(`archive closed, close`); + + if (this.readOnly) { + this.discardAndClose(); + return; + } + + const previousMod = this.baseFs.existsSync(this.path) ? this.baseFs.statSync(this.path).mode & 0o777 : null; + const rc = this.libzip.close(this.zip); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); // this.libzip overrides the chmod when writing the archive, which is a weird + // behavior I don't totally understand (plus the umask seems bogus in some + // weird cases - maybe related to emscripten?) + // + // See also https://github.com/nih-at/libzip/issues/77 + + if (previousMod === null) this.baseFs.chmodSync(this.path, this.stats.mode);else if (previousMod !== (this.baseFs.statSync(this.path).mode & 0o777)) this.baseFs.chmodSync(this.path, previousMod); + this.ready = false; + } + + discardAndClose() { + if (!this.ready) throw EBUSY(`archive closed, close`); + this.libzip.discard(this.zip); + this.ready = false; + } + + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { + cursor: 0, + p + }); + return fd; + } + + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset = 0, length = 0, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + let realPosition; + if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) entry.cursor += bytesRead; + return bytesRead; + } + + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + + async closePromise(fd) { + return this.closeSync(fd); + } + + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) throw EBADF(`read`); + this.fds.delete(fd); + } + + createReadStream(p, { + encoding + } = {}) { + if (p === null) throw new Error(`Unimplemented`); + const stream = Object.assign(new external_stream_["PassThrough"](), { + bytesRead: 0, + path: p, + close: () => { + clearImmediate(immediate); } }); - return FS.mkdev(path, mode, dev); - }, - createLink: function(parent, name, target, canRead, canWrite) { - var path = PATH.join2( - typeof parent === "string" ? parent : FS.getPath(parent), - name - ); - return FS.symlink(target, path); - }, - forceLoadFile: function(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = 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_) { + const immediate = setImmediate(() => { try { - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; + const data = this.readFileSync(p, encoding); + stream.bytesRead = data.length; + stream.write(data); + stream.end(); + } catch (error) { + stream.emit(`error`, error); + stream.end(); } - } else { - throw new Error("Cannot load without read() or XMLHttpRequest."); + }); + return stream; + } + + createWriteStream(p, { + encoding + } = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (p === null) throw new Error(`Unimplemented`); + const stream = Object.assign(new external_stream_["PassThrough"](), { + bytesWritten: 0, + path: p, + close: () => { + stream.end(); + } + }); + const chunks = []; + stream.on(`data`, chunk => { + const chunkBuffer = Buffer.from(chunk); + stream.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + stream.on(`end`, () => { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + }); + return stream; + } + + async realpathPromise(p) { + return this.realpathSync(p); + } + + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + + async existsPromise(p) { + return this.existsSync(p); + } + + existsSync(p) { + let resolvedP; + + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p); + } catch (error) { + return false; } - if (!success) ___setErrNo(29); - return success; - }, - createLazyFile: function(parent, name, url, canRead, canWrite) { - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; + + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + + accessSync(p, mode = external_fs_["constants"].F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`access '${p}'`); + + if (this.readOnly && mode & external_fs_["constants"].W_OK) { + throw EROFS(`access '${p}'`); } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length - 1 || idx < 0) { - return undefined; + } + + async statPromise(p) { + return this.statSync(p); + } + + statSync(p) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP); + } + + async lstatPromise(p) { + return this.lstatSync(p); + } + + lstatSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`lstat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP); + } + + statImpl(reason, p) { + const entry = this.entries.get(p); // File, or explicit directory + + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; + const defaultMode = type === S_IFDIR ? 0o755 : 0o644; + const mode = type | this.getUnixMode(entry, defaultMode) & 0o777; + return Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode + }); + } // Implicit directory + + + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = S_IFDIR | 0o755; + return Object.assign(new StatEntry(), { + uid, + gid, + size, + blksize, + blocks, + atime, + birthtime, + ctime, + mtime, + atimeMs, + birthtimeMs, + ctimeMs, + mtimeMs, + mode + }); + } + + throw new Error(`Unreachable`); + } + + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + + registerListing(p) { + let listing = this.listings.get(p); + if (listing) return listing; + const parentListing = this.registerListing(ppath.dirname(p)); + listing = new Set(); + parentListing.add(ppath.basename(p)); + this.listings.set(p, listing); + return listing; + } + + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + + resolveFilename(reason, p, resolveLastComponent = true) { + if (!this.ready) throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) return PortablePath.root; + + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true); + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) throw ENOENT(reason); + if (!isDir) throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent) break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); + if (index === -1) break; + + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; } - 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; + } + + return resolvedP; + } + + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) throw new Error(`Couldn't allocate enough memory`); // Copy the file into the Emscripten heap + + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { + buffer, + byteLength: content.byteLength }; - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - var xhr = new XMLHttpRequest(); - xhr.open("HEAD", url, false); - xhr.send(null); - if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) - throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = - (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = - (header = xhr.getResponseHeader("Content-Encoding")) && - header === "gzip"; - var chunkSize = 1024 * 1024; - if (!hasByteServing) chunkSize = datalength; - var doXHR = function(from, to) { - if (from > to) - throw new Error( - "invalid range (" + from + ", " + to + ") or no bytes requested!" - ); - if (to > datalength - 1) - throw new Error( - "only " + datalength + " bytes available! programmer error!" - ); - var xhr = new XMLHttpRequest(); - xhr.open("GET", url, false); - if (datalength !== chunkSize) - xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; - if (xhr.overrideMimeType) { - xhr.overrideMimeType("text/plain; charset=x-user-defined"); - } - xhr.send(null); - if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304)) - throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || "", true); - } - }; - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum + 1) * chunkSize - 1; - end = Math.min(end, datalength - 1); - if (typeof lazyArray.chunks[chunkNum] === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); + } + + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); + + if (source === 0) { + this.libzip.free(error); + throw new Error(this.libzip.error.strerror(error)); + } + + return source; + } + + allocateSource(content) { + const { + buffer, + byteLength + } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); + + if (source === 0) { + this.libzip.free(buffer); + throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + } + + return source; + } + + setFileSource(p, content) { + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + + if (this.level !== `mixed`) { + // Use store for level 0, and deflate for 1..9 + let method; + if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + + if (rc === -1) { + throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); } - if (typeof lazyArray.chunks[chunkNum] === "undefined") - throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - if (usesGzip || !datalength) { - chunkSize = datalength = 1; - datalength = this.getter(0).length; - chunkSize = datalength; - console.log( - "LazyFiles on gzip forces download of the whole file when length is accessed" - ); } - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; + + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + + isSymbolicLink(index) { + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & S_IFMT) === S_IFLNK; + } + + getFileSource(index) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + const size = this.libzip.struct.statSize(stat); + const buffer = this.libzip.malloc(size); + + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, 0); + if (file === 0) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + + try { + const rc = this.libzip.fread(file, buffer, size, 0); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.file.getError(file)));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + return data; + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + + chmodSync(p, mask) { + if (this.readOnly) throw EROFS(`chmod '${p}'`); // We don't allow to make the extracted entries group-writable + + mask &= 0o755; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, S_IFREG | 0o000); + const newMod = oldMod & ~0o777 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + + if (rc === -1) { + throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + } + } + + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + + async copyFilePromise(sourceP, destP, flags) { + return this.copyFileSync(sourceP, destP, flags); + } + + copyFileSync(sourceP, destP, flags = 0) { + if (this.readOnly) throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & external_fs_["constants"].COPYFILE_FICLONE_FORCE) !== 0) throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (external_fs_["constants"].COPYFILE_EXCL | external_fs_["constants"].COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + + async appendFilePromise(p, content, opts) { + return this.appendFileSync(p, content, opts); + } + + appendFileSync(p, content, opts = {}) { + if (this.readOnly) throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) opts = { + flag: `a` + };else if (typeof opts === `string`) opts = { + flag: `a`, + encoding: opts + };else if (typeof opts.flag === `undefined`) opts = { + flag: `a`, + ...opts }; - if (typeof XMLHttpRequest !== "undefined") { - if (!ENVIRONMENT_IS_WORKER) - throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: function() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } + return this.writeFileSync(p, content, opts); + } + + async writeFilePromise(p, content, opts) { + return this.writeFileSync(p, content, opts); + } + + writeFileSync(p, content, opts) { + if (typeof p !== `string`) throw EBADF(`read`); + if (this.readOnly) throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`open '${p}'`); + const index = this.entries.get(resolvedP); + if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + let encoding = null; + if (typeof opts === `string`) encoding = opts;else if (typeof opts === `object` && opts.encoding) encoding = opts.encoding; + if (encoding !== null) content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + + if (newIndex !== index) { + this.registerEntry(resolvedP, newIndex); + } + } + + async unlinkPromise(p) { + return this.unlinkSync(p); + } + + unlinkSync(p) { + throw new Error(`Unimplemented`); + } + + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + + utimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + + lutimesSync(p, atime, mtime) { + if (this.readOnly) throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + + if (rc === -1) { + throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + } + } + + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + + mkdirSync(p, { + mode = 0o755, + recursive = false + } = {}) { + if (recursive) { + this.mkdirpSync(p, { + chmod: mode }); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; + return; } - var node = FS.createFile(parent, name, properties, canRead, canWrite); - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; + + if (this.readOnly) throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + } + + async rmdirPromise(p) { + return this.rmdirSync(p); + } + + rmdirSync(p) { + throw new Error(`Unimplemented`); + } + + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + + symlinkSync(target, p) { + if (this.readOnly) throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (0o120000 | 0o777) << 16); + + if (rc === -1) { + throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); } - Object.defineProperties(node, { - usedBytes: { - get: function() { - return this.contents.length; - } - } + } + + async readFilePromise(p, encoding) { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return this.readFileSync(p, encoding); + + default: + return this.readFileSync(p, encoding); + } + } + + readFileSync(p, encoding) { + if (typeof p !== `string`) throw EBADF(`read`); // This is messed up regarding the TS signatures + + if (typeof encoding === `object`) // @ts-ignore + encoding = encoding ? encoding.encoding : undefined; + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`open '${p}'`); // Ensures that the last component is a directory, if the user said so (even if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + const data = this.getFileSource(entry); + return encoding ? data.toString(encoding) : data; + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return this.readdirSync(p, { + withFileTypes: withFileTypes }); - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - return fn.apply(null, arguments); - }; + } + + readdirSync(p, { + withFileTypes + } = {}) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!withFileTypes) return entries; + return entries.map(name => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name + }); }); - stream_ops.read = function stream_ops_read( - stream, - buffer, - offset, - length, - position - ) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(29); - } - var contents = stream.node.contents; - if (position >= contents.length) return 0; - var size = Math.min(contents.length - position, length); - if (contents.slice) { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - }, - createPreloadedFile: function( - parent, - name, - url, - canRead, - canWrite, - onload, - onerror, - dontCreateFile, - canOwn, - preFinish - ) { - Browser.init(); - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency("cp " + fullname); - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + + async readlinkPromise(p) { + return this.readlinkSync(p); + } + + readlinkSync(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw ENOENT(`readlink '${p}'`); // Ensure that the last component is a directory (if it is we'll throw right after with EISDIR anyway) + + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === undefined) throw new Error(`Unreachable`); + const rc = this.libzip.file.getExternalAttributes(this.zip, entry, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) throw EINVAL(`readlink '${p}'`); + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + if ((attributes & 0o170000) !== 0o120000) throw EINVAL(`readlink '${p}'`); + return this.getFileSource(entry).toString(); + } + + watch(p, a, b) { + let persistent; + + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module["preloadPlugins"].forEach(function(plugin) { - if (handled) return; - if (plugin["canHandle"](fullname)) { - plugin["handle"](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; + break; + + default: + { + // @ts-ignore + ({ + persistent = true + } = a); } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == "string") { - Browser.asyncLoad( - url, - function(byteArray) { - processData(byteArray); - }, - onerror - ); - } else { - processData(url); - } - }, - indexedDB: function() { - return ( - window.indexedDB || - window.mozIndexedDB || - window.webkitIndexedDB || - window.msIndexedDB - ); - }, - DB_NAME: function() { - return "EM_FS_" + window.location.pathname; - }, - DB_VERSION: 20, - DB_STORE_NAME: "FILE_DATA", - saveFilesToDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); + break; } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log("creating db"); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function 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(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { - ok++; - if (ok + fail == total) finish(); - }; - putRequest.onerror = function putRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; + + if (!persistent) return { + on: () => {}, + close: () => {} }; - openRequest.onerror = onerror; - }, - loadFilesFromDB: function(paths, onload, onerror) { - onload = onload || function() {}; - onerror = onerror || function() {}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; - openRequest.onsuccess = function 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(); + const interval = setInterval(() => {}, 24 * 60 * 60 * 1000); + return { + on: () => {}, + close: () => { + clearInterval(interval); } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function 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 = function getRequest_onerror() { - fail++; - if (ok + fail == total) finish(); - }; - }); - transaction.onerror = onerror; }; - openRequest.onerror = onerror; } -}; -var SYSCALLS = { - DEFAULT_POLLMASK: 5, - mappings: {}, - umask: 511, - calculateAt: function(dirfd, path) { - if (path[0] !== "/") { - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); - dir = dirstream.path; + +} +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/ZipOpenFS.ts + + + + + +const ZIP_FD = 0x80000000; +class ZipOpenFS_ZipOpenFS extends FakeFS_BasePortableFakeFS { + constructor({ + libzip, + baseFs = new NodeFS_NodeFS(), + filter = null, + maxOpenFiles = Infinity, + readOnlyArchives = false, + useCache = true + }) { + super(); + this.fdMap = new Map(); + this.nextFd = 3; + this.isZip = new Set(); + this.notZip = new Set(); + this.libzip = libzip; + this.baseFs = baseFs; + this.zipInstances = useCache ? new Map() : null; + this.filter = filter; + this.maxOpenFiles = maxOpenFiles; + this.readOnlyArchives = readOnlyArchives; + this.isZip = new Set(); + this.notZip = new Set(); + } + + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS_ZipOpenFS(opts); + + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + + getRealPath() { + return this.baseFs.getRealPath(); + } + + saveAndClose() { + if (this.zipInstances) { + for (const [path, zipFs] of this.zipInstances.entries()) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); } - path = PATH.join2(dir, path); } - return path; - }, - doStat: function(func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if ( - e && - e.node && - PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node)) - ) { - return -54; + } + + discardAndClose() { + if (this.zipInstances) { + for (const [path, zipFs] of this.zipInstances.entries()) { + zipFs.discardAndClose(); + this.zipInstances.delete(path); } - throw e; - } - HEAP32[buf >> 2] = stat.dev; - HEAP32[(buf + 4) >> 2] = 0; - HEAP32[(buf + 8) >> 2] = stat.ino; - HEAP32[(buf + 12) >> 2] = stat.mode; - HEAP32[(buf + 16) >> 2] = stat.nlink; - HEAP32[(buf + 20) >> 2] = stat.uid; - HEAP32[(buf + 24) >> 2] = stat.gid; - HEAP32[(buf + 28) >> 2] = stat.rdev; - HEAP32[(buf + 32) >> 2] = 0; - (tempI64 = [ - stat.size >>> 0, - ((tempDouble = stat.size), - +Math_abs(tempDouble) >= 1 - ? tempDouble > 0 - ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> - 0 - : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> - 0 - : 0) - ]), - (HEAP32[(buf + 40) >> 2] = tempI64[0]), - (HEAP32[(buf + 44) >> 2] = tempI64[1]); - HEAP32[(buf + 48) >> 2] = 4096; - HEAP32[(buf + 52) >> 2] = stat.blocks; - HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0; - HEAP32[(buf + 60) >> 2] = 0; - HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0; - HEAP32[(buf + 68) >> 2] = 0; - HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0; - HEAP32[(buf + 76) >> 2] = 0; - (tempI64 = [ - stat.ino >>> 0, - ((tempDouble = stat.ino), - +Math_abs(tempDouble) >= 1 - ? tempDouble > 0 - ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> - 0 - : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> - 0 - : 0) - ]), - (HEAP32[(buf + 80) >> 2] = tempI64[0]), - (HEAP32[(buf + 84) >> 2] = tempI64[1]); - return 0; - }, - doMsync: function(addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - }, - doMkdir: function(path, mode) { - path = PATH.normalize(path); - if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); - FS.mkdir(path, mode, 0); - return 0; - }, - doMknod: function(path, mode, dev) { - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: - return -28; - } - FS.mknod(path, mode, dev); - return 0; - }, - doReadlink: function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf + len]; - stringToUTF8(ret, buf, bufsize + 1); - HEAP8[buf + len] = endChar; - return len; - }, - doAccess: function(path, amode) { - if (amode & ~7) { - return -28; } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - if (!node) { - return -44; + } + + remapFd(zipFs, fd) { + const remappedFd = this.nextFd++ | ZIP_FD; + this.fdMap.set(remappedFd, [zipFs, fd]); + return remappedFd; + } + + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, (await zipFs.openPromise(subPath, flags, mode))); + }); + } + + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { + subPath + }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } } - var perms = ""; - if (amode & 4) perms += "r"; - if (amode & 2) perms += "w"; - if (amode & 1) perms += "x"; - if (perms && FS.nodePermissions(node, perms)) { - return -2; + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); } - return 0; - }, - doDup: function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - }, - doReadv: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(iov + i * 8) >> 2]; - var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; + } + + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_FD) === 0) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } } - return ret; - }, - doWritev: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(iov + i * 8) >> 2]; - var len = HEAP32[(iov + (i * 8 + 4)) >> 2]; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; + + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), { + code: `EBADF` + }); + const [zipFs, realFd] = entry; + + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); } - return ret; - }, - varargs: 0, - get: function(varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2]; - return ret; - }, - getStr: function() { - var ret = UTF8ToString(SYSCALLS.get()); - return ret; - }, - getStreamFromFD: function(fd) { - if (fd === undefined) fd = SYSCALLS.get(); - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(8); - return stream; - }, - get64: function() { - var low = SYSCALLS.get(), - high = SYSCALLS.get(); - return low; - }, - getZero: function() { - SYSCALLS.get(); } -}; -function ___syscall10(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var path = SYSCALLS.getStr(); - FS.unlink(path); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + async closePromise(fd) { + if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { + code: `EBADF` + }); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + + closeSync(fd) { + if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), { + code: `EBADF` + }); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + + createReadStream(p, opts) { + if (p === null) return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createReadStream(subPath, opts); + }); + } + + createWriteStream(p, opts) { + if (p === null) return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { + archivePath, + subPath + }) => { + return this.pathUtils.resolve((await this.baseFs.realpathPromise(archivePath)), this.pathUtils.relative(PortablePath.root, (await zipFs.realpathPromise(subPath)))); + }); + } + + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { + archivePath, + subPath + }) => { + return this.pathUtils.resolve(this.baseFs.realpathSync(archivePath), this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath))); + }); + } + + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.existsPromise(subPath); + }); + } + + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.existsSync(subPath); + }); + } + + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { + subPath + }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { + subPath + }) => { + return zipFs.accessSync(subPath, mode); + }); + } + + async statPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.statPromise(subPath); + }); + } + + statSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.statSync(subPath); + }); + } + + async lstatPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.lstatPromise(subPath); + }); + } + + lstatSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.lstatSync(subPath); + }); + } + + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { + subPath + }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { + subPath + }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, async (zipFsO, { + subPath: subPathO + }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, async (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }); + }, (zipFsO, { + subPath: subPathO + }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + }, (zipFsN, { + subPath: subPathN + }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { + code: `EEXDEV` + }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_["constants"].COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_["constants"].COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = await sourceFs.readFilePromise(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + await destFs.writeFilePromise(destP, content); + }; + + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { + subPath: subPathD + }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { + subPath: subPathS + }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP, destFs, destP) => { + if ((flags & external_fs_["constants"].COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP}' -> ${destP}'`), { + code: `EXDEV` + }); + if (flags & external_fs_["constants"].COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP}' -> '${destP}'`), { + code: `EEXIST` + }); + let content; + + try { + content = sourceFs.readFileSync(sourceP); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP}' -> '${destP}'`), { + code: `EINVAL` + }); + } + + destFs.writeFileSync(destP, content); + }; + + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { + subPath: subPathD + }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { + subPath: subPathS + }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { + subPath: subPathD + }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); } -} -function ___syscall15(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var path = SYSCALLS.getStr(), - mode = SYSCALLS.get(); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); } -} -function ___syscall195(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var path = SYSCALLS.getStr(), - buf = SYSCALLS.get(); - return SYSCALLS.doStat(FS.stat, path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); } -} -function ___syscall197(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(), - buf = SYSCALLS.get(); - return SYSCALLS.doStat(FS.stat, stream.path, buf); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); } -} -function ___syscall221(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(), - cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -28; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - HEAP16[(arg + offset) >> 1] = 2; - return 0; - } - case 13: - case 14: - return 0; - case 16: - case 8: - return -28; - case 9: - ___setErrNo(28); - return -1; - default: { - return -28; - } - } - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); } -} -function ___syscall3(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(), - buf = SYSCALLS.get(), - count = SYSCALLS.get(); - return FS.read(stream, HEAP8, buf, count); - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.unlinkPromise(subPath); + }); } -} -function ___syscall38(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var old_path = SYSCALLS.getStr(), - new_path = SYSCALLS.getStr(); - FS.rename(old_path, new_path); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.unlinkSync(subPath); + }); } -} -function ___syscall40(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var path = SYSCALLS.getStr(); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { + subPath + }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); } -} -function ___syscall5(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var pathname = SYSCALLS.getStr(), - flags = SYSCALLS.get(), - mode = SYSCALLS.get(); - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { + subPath + }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); } -} -function ___syscall54(which, varargs) { - SYSCALLS.varargs = varargs; - try { - var stream = SYSCALLS.getStreamFromFD(), - op = SYSCALLS.get(); - switch (op) { - case 21509: - case 21505: { - if (!stream.tty) return -59; - return 0; - } - case 21510: - case 21511: - case 21512: - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - return 0; - } - case 21519: { - if (!stream.tty) return -59; - var argp = SYSCALLS.get(); - HEAP32[argp >> 2] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; + + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { + subPath + }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { + subPath + }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + + async rmdirPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.rmdirPromise(subPath); + }); + } + + rmdirSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.rmdirSync(subPath); + }); + } + + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { + subPath + }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { + subPath + }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + + default: + return await this.baseFs.readFilePromise(p, encoding); } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered) + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + + default: + return this.baseFs.readFileSync(p, encoding); } - case 21523: { - if (!stream.tty) return -59; - return 0; + }, (zipFs, { + subPath + }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + + async readdirPromise(p, { + withFileTypes + } = {}) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, { + withFileTypes: withFileTypes + }); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readdirPromise(subPath, { + withFileTypes: withFileTypes + }); + }, { + requireSubpath: false + }); + } + + readdirSync(p, { + withFileTypes + } = {}) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, { + withFileTypes: withFileTypes + }); + }, (zipFs, { + subPath + }) => { + return zipFs.readdirSync(subPath, { + withFileTypes: withFileTypes + }); + }, { + requireSubpath: false + }); + } + + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { + subPath + }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { + subPath + }) => { + return zipFs.readlinkSync(subPath); + }); + } + + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch(p, // @ts-ignore + a, b); + }, (zipFs, { + subPath + }) => { + return zipFs.watch(subPath, // @ts-ignore + a, b); + }); + } + + async makeCallPromise(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return await discard(); + const normalizedP = this.pathUtils.normalize(this.pathUtils.resolve(PortablePath.root, p)); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo)); + } + + makeCallSync(p, discard, accept, { + requireSubpath = true + } = {}) { + if (typeof p !== `string`) return discard(); + const normalizedP = this.pathUtils.normalize(this.pathUtils.resolve(PortablePath.root, p)); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) return discard(); + if (requireSubpath && zipInfo.subPath === `/`) return discard(); + return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo)); + } + + findZip(p) { + if (this.filter && !this.filter.test(p)) return null; + const parts = p.split(/\//g); + + for (let t = 2; t <= parts.length; ++t) { + const archivePath = parts.slice(0, t).join(`/`); + if (this.notZip.has(archivePath)) continue; + if (this.isZip.has(archivePath)) return { + archivePath, + subPath: this.pathUtils.resolve(PortablePath.root, parts.slice(t).join(`/`)) + }; + let realArchivePath = archivePath; + let stat; + + while (true) { + try { + stat = this.baseFs.lstatSync(realArchivePath); + } catch (error) { + return null; + } + + if (stat.isSymbolicLink()) { + realArchivePath = this.pathUtils.resolve(this.pathUtils.dirname(realArchivePath), this.baseFs.readlinkSync(realArchivePath)); + } else { + break; + } } - case 21524: { - if (!stream.tty) return -59; - return 0; + + const isZip = stat.isFile() && this.pathUtils.extname(realArchivePath) === `.zip`; + + if (isZip) { + this.isZip.add(archivePath); + return { + archivePath, + subPath: this.pathUtils.resolve(PortablePath.root, parts.slice(t).join(`/`)) + }; + } else { + this.notZip.add(archivePath); + + if (stat.isFile()) { + return null; + } } - default: - abort("bad ioctl syscall " + op); } - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; + + return null; } -} -function ___unlock() {} -function _emscripten_get_heap_size() { - return HEAP8.length; -} -function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src + num), dest); -} -function emscripten_realloc_buffer(size) { - try { - wasmMemory.grow((size - buffer.byteLength + 65535) >> 16); - updateGlobalBufferAndViews(wasmMemory.buffer); - return 1; - } catch (e) {} -} -function _emscripten_resize_heap(requestedSize) { - var oldSize = _emscripten_get_heap_size(); - var PAGE_MULTIPLE = 65536; - var LIMIT = 2147483648 - PAGE_MULTIPLE; - if (requestedSize > LIMIT) { - return false; + + limitOpenFiles(max) { + if (this.zipInstances === null) return; + let closeCount = this.zipInstances.size - max; + + for (const [path, zipFs] of this.zipInstances.entries()) { + if (closeCount <= 0) break; + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } } - var MIN_TOTAL_MEMORY = 16777216; - var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); - while (newSize < requestedSize) { - if (newSize <= 536870912) { - newSize = alignUp(2 * newSize, PAGE_MULTIPLE); + + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + + if (this.zipInstances) { + let zipFs = this.zipInstances.get(p); + + if (!zipFs) { + const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may + // have instantiated the zip archive while we were waiting + + zipFs = this.zipInstances.get(p); + + if (!zipFs) { + zipFs = new ZipFS_ZipFS(p, zipOptions); + } + } // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + + this.zipInstances.delete(p); + this.zipInstances.set(p, zipFs); + this.limitOpenFiles(this.maxOpenFiles); + return await accept(zipFs); } else { - newSize = Math.min( - alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), - LIMIT - ); + const zipFs = new ZipFS_ZipFS(p, (await getZipOptions())); + + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } } } - var replacement = emscripten_realloc_buffer(newSize); - if (!replacement) { - return false; - } - return true; -} -function _fd_close(fd) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} -function _fd_fdstat_get(fd, pbuf) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var type = stream.tty - ? 2 - : FS.isDir(stream.mode) - ? 3 - : FS.isLink(stream.mode) - ? 7 - : 4; - HEAP8[pbuf >> 0] = type; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} -function _fd_read(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doReadv(stream, iov, iovcnt); - HEAP32[pnum >> 2] = num; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; - } -} -function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 4294967296; - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - var DOUBLE_LIMIT = 9007199254740992; - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61; + + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + + if (this.zipInstances) { + let zipFs = this.zipInstances.get(p); + if (!zipFs) zipFs = new ZipFS_ZipFS(p, getZipOptions()); // Removing then re-adding the field allows us to easily implement + // a basic LRU garbage collection strategy + + this.zipInstances.delete(p); + this.zipInstances.set(p, zipFs); + this.limitOpenFiles(this.maxOpenFiles); + return accept(zipFs); + } else { + const zipFs = new ZipFS_ZipFS(p, getZipOptions()); + + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } } - FS.llseek(stream, offset, whence); - (tempI64 = [ - stream.position >>> 0, - ((tempDouble = stream.position), - +Math_abs(tempDouble) >= 1 - ? tempDouble > 0 - ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>> - 0 - : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> - 0 - : 0) - ]), - (HEAP32[newOffset >> 2] = tempI64[0]), - (HEAP32[(newOffset + 4) >> 2] = tempI64[1]); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; } + } -function _fd_write(fd, iov, iovcnt, pnum) { - try { - var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - HEAP32[pnum >> 2] = num; - return 0; - } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); - return e.errno; +// CONCATENATED MODULE: ../yarnpkg-libzip/sources/makeInterface.ts +const number64 = [`number`, `number`]; +const makeInterface = libzip => ({ + // Those are getters because they can change after memory growth + get HEAP8() { + return libzip.HEAP8; + }, + + get HEAPU8() { + return libzip.HEAPU8; + }, + + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_OPSYS_DOS: 0x00, + ZIP_OPSYS_AMIGA: 0x01, + ZIP_OPSYS_OPENVMS: 0x02, + ZIP_OPSYS_UNIX: 0x03, + ZIP_OPSYS_VM_CMS: 0x04, + ZIP_OPSYS_ATARI_ST: 0x05, + ZIP_OPSYS_OS_2: 0x06, + ZIP_OPSYS_MACINTOSH: 0x07, + ZIP_OPSYS_Z_SYSTEM: 0x08, + ZIP_OPSYS_CPM: 0x09, + ZIP_OPSYS_WINDOWS_NTFS: 0x0a, + ZIP_OPSYS_MVS: 0x0b, + ZIP_OPSYS_VSE: 0x0c, + ZIP_OPSYS_ACORN_RISC: 0x0d, + ZIP_OPSYS_VFAT: 0x0e, + ZIP_OPSYS_ALTERNATE_MVS: 0x0f, + ZIP_OPSYS_BEOS: 0x10, + ZIP_OPSYS_TANDEM: 0x11, + ZIP_OPSYS_OS_400: 0x12, + ZIP_OPSYS_OS_X: 0x13, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []) } +}); +// CONCATENATED MODULE: ../yarnpkg-libzip/sources/sync.ts + +let mod = null; +function getLibzipSync() { + if (mod === null) mod = makeInterface(__webpack_require__(13)); + return mod; } -var ___tm_current = 20656; -var ___tm_timezone = (stringToUTF8("GMT", 20704, 4), 20704); -function _gmtime_r(time, tmPtr) { - var date = new Date(HEAP32[time >> 2] * 1e3); - HEAP32[tmPtr >> 2] = date.getUTCSeconds(); - HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes(); - HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours(); - HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate(); - HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth(); - HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900; - HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); - HEAP32[(tmPtr + 36) >> 2] = 0; - HEAP32[(tmPtr + 32) >> 2] = 0; - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; - HEAP32[(tmPtr + 28) >> 2] = yday; - HEAP32[(tmPtr + 40) >> 2] = ___tm_timezone; - return tmPtr; -} -function _gmtime(time) { - return _gmtime_r(time, ___tm_current); -} -function _setTempRet0($i) { - setTempRet0($i | 0); +async function getLibzipPromise() { + return getLibzipSync(); } -function _time(ptr) { - var ret = (Date.now() / 1e3) | 0; - if (ptr) { - HEAP32[ptr >> 2] = ret; - } - return ret; +// EXTERNAL MODULE: external "module" +var external_module_ = __webpack_require__(0); +var external_module_default = /*#__PURE__*/__webpack_require__.n(external_module_); + +// EXTERNAL MODULE: external "string_decoder" +var external_string_decoder_ = __webpack_require__(7); +var external_string_decoder_default = /*#__PURE__*/__webpack_require__.n(external_string_decoder_); + +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/index.ts + + + + + + + + + + + + + + + + + + + + + +function getTempName(prefix) { + const tmpdir = npath.toPortablePath(external_os_default.a.tmpdir()); + const hash = Math.ceil(Math.random() * 0x100000000).toString(16).padStart(8, `0`); + return ppath.join(tmpdir, `${prefix}${hash}`); } -function _tzset() { - if (_tzset.called) return; - _tzset.called = true; - HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - HEAP32[__get_daylight() >> 2] = Number( - winter.getTimezoneOffset() != summer.getTimezoneOffset() - ); - function extractZone(date) { - var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); - return match ? match[1] : "GMT"; + +function patchFs(patchedFs, fakeFs) { + const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `chmodSync`, `closeSync`, `copyFileSync`, `lstatSync`, `lutimesSync`, `mkdirSync`, `openSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `unlinkSync`, `utimesSync`, `watch`, `writeFileSync`, `writeSync`]); + const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `closePromise`, `copyFilePromise`, `lstatPromise`, `lutimesPromise`, `mkdirPromise`, `openPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]); + + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + + if (typeof orig[external_util_["promisify"].custom] !== `undefined`) { + replacement[external_util_["promisify"].custom] = orig[external_util_["promisify"].custom]; + } + }; + + setupFn(patchedFs, `existsSync`, p => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.existsPromise(p).then(exists => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (p, buffer, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeFs.readPromise(p, buffer, ...args).then(bytesRead => { + callback(null, bytesRead, buffer); + }, error => { + callback(error); + }); + }); + }); + + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => {}; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then(result => { + callback(null, result); + }, error => { + callback(error); + }); + }); + }; + + setupFn(patchedFs, origName, wrapper); } - var winterName = extractZone(winter); - var summerName = extractZone(summer); - var winterNamePtr = allocate( - intArrayFromString(winterName), - "i8", - ALLOC_NORMAL - ); - var summerNamePtr = allocate( - intArrayFromString(summerName), - "i8", - ALLOC_NORMAL - ); - if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { - HEAP32[__get_tzname() >> 2] = winterNamePtr; - HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr; - } else { - HEAP32[__get_tzname() >> 2] = summerNamePtr; - HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr; + + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); } + + patchedFs.realpathSync.native = patchedFs.realpathSync; + patchedFs.realpath.native = patchedFs.realpath; } -function _timegm(tmPtr) { - _tzset(); - var time = Date.UTC( - HEAP32[(tmPtr + 20) >> 2] + 1900, - HEAP32[(tmPtr + 16) >> 2], - HEAP32[(tmPtr + 12) >> 2], - HEAP32[(tmPtr + 8) >> 2], - HEAP32[(tmPtr + 4) >> 2], - HEAP32[tmPtr >> 2], - 0 - ); - var date = new Date(time); - HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay(); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0; - HEAP32[(tmPtr + 28) >> 2] = yday; - return (date.getTime() / 1e3) | 0; -} -FS.staticInit(); -if (ENVIRONMENT_HAS_NODE) { - var fs = frozenFs; - var NODEJS_PATH = __webpack_require__(7); - NODEFS.staticInit(); +function extendFs(realFs, fakeFs) { + const patchedFs = Object.create(realFs); + patchFs(patchedFs, fakeFs); + return patchedFs; } -if (ENVIRONMENT_IS_NODE) { - var _wrapNodeError = function(func) { - return function() { +const tmpdirs = new Set(); +let cleanExitRegistered = false; + +function registerCleanExit() { + if (!cleanExitRegistered) cleanExitRegistered = true;else return; + + const cleanExit = () => { + process.off(`exit`, cleanExit); + + for (const p of tmpdirs) { + tmpdirs.delete(p); + try { - return func.apply(this, arguments); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); + xfs.removeSync(p); + } catch (_a) {// Too bad if there's an error } - }; + } }; - var VFS = Object.assign({}, FS); - for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]); -} else { - throw new Error( - "NODERAWFS is currently only supported on Node.js environment." - ); -} -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; + + process.on(`exit`, cleanExit); } -var decodeBase64 = - typeof atob === "function" - ? atob - : function(input) { - var keyStr = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); - do { - enc1 = keyStr.indexOf(input.charAt(i++)); - enc2 = keyStr.indexOf(input.charAt(i++)); - enc3 = keyStr.indexOf(input.charAt(i++)); - enc4 = keyStr.indexOf(input.charAt(i++)); - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - output = output + String.fromCharCode(chr1); - if (enc3 !== 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 !== 64) { - output = output + String.fromCharCode(chr3); + +const xfs = Object.assign(new NodeFS_NodeFS(), { + detachTemp(p) { + tmpdirs.delete(p); + }, + + mktempSync(cb) { + registerCleanExit(); + + while (true) { + const p = getTempName(`xfs-`); + + try { + this.mkdirSync(p); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + const realP = this.realpathSync(p); + tmpdirs.add(realP); + + if (typeof cb !== `undefined`) { + try { + return cb(realP); + } finally { + if (tmpdirs.has(realP)) { + tmpdirs.delete(realP); + + try { + this.removeSync(realP); + } catch (_a) {// Too bad if there's an error + } } - } while (i < input.length); - return output; - }; -function intArrayFromBase64(s) { - if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { - var buf; - try { - buf = Buffer.from(s, "base64"); - } catch (_) { - buf = new Buffer(s, "base64"); + } + } else { + return p; + } } - return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); - } - try { - var decoded = decodeBase64(s); - var bytes = new Uint8Array(decoded.length); - for (var i = 0; i < decoded.length; ++i) { - bytes[i] = decoded.charCodeAt(i); + }, + + async mktempPromise(cb) { + registerCleanExit(); + + while (true) { + const p = getTempName(`xfs-`); + + try { + await this.mkdirPromise(p); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + + const realP = await this.realpathPromise(p); + tmpdirs.add(realP); + + if (typeof cb !== `undefined`) { + try { + return await cb(realP); + } finally { + if (tmpdirs.has(realP)) { + tmpdirs.delete(realP); + + try { + await this.removePromise(realP); + } catch (_a) {// Too bad if there's an error + } + } + } + } else { + return realP; + } } - return bytes; - } catch (_) { - throw new Error("Converting base64 string to bytes failed."); - } -} -function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); -} -var asmLibraryArg = { - d: ___lock, - t: ___syscall10, - p: ___syscall15, - f: ___syscall195, - v: ___syscall197, - e: ___syscall221, - q: ___syscall3, - u: ___syscall38, - s: ___syscall40, - r: ___syscall5, - o: ___syscall54, - a: ___unlock, - j: _emscripten_memcpy_big, - k: _emscripten_resize_heap, - g: _fd_close, - n: _fd_fdstat_get, - m: _fd_read, - l: _fd_seek, - w: _fd_write, - h: _gmtime, - memory: wasmMemory, - b: _setTempRet0, - table: wasmTable, - c: _time, - i: _timegm -}; -var asm = createWasm(); -var ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["x"]); -var _zipstruct_stat = (Module["_zipstruct_stat"] = asm["y"]); -var _zipstruct_statS = (Module["_zipstruct_statS"] = asm["z"]); -var _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["A"]); -var _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["B"]); -var _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["C"]); -var _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["D"]); -var _zipstruct_error = (Module["_zipstruct_error"] = asm["E"]); -var _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["F"]); -var _zip_close = (Module["_zip_close"] = asm["G"]); -var _zip_dir_add = (Module["_zip_dir_add"] = asm["H"]); -var _zip_discard = (Module["_zip_discard"] = asm["I"]); -var _zip_error_init_with_code = (Module["_zip_error_init_with_code"] = - asm["J"]); -var _zip_get_error = (Module["_zip_get_error"] = asm["K"]); -var _zip_file_get_error = (Module["_zip_file_get_error"] = asm["L"]); -var _zip_error_strerror = (Module["_zip_error_strerror"] = asm["M"]); -var _zip_fclose = (Module["_zip_fclose"] = asm["N"]); -var _zip_file_add = (Module["_zip_file_add"] = asm["O"]); -var _zip_file_get_external_attributes = (Module[ - "_zip_file_get_external_attributes" -] = asm["P"]); -var _zip_file_set_external_attributes = (Module[ - "_zip_file_set_external_attributes" -] = asm["Q"]); -var _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["R"]); -var _zip_fopen = (Module["_zip_fopen"] = asm["S"]); -var _zip_fopen_index = (Module["_zip_fopen_index"] = asm["T"]); -var _zip_fread = (Module["_zip_fread"] = asm["U"]); -var _zip_get_name = (Module["_zip_get_name"] = asm["V"]); -var _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["W"]); -var _zip_name_locate = (Module["_zip_name_locate"] = asm["X"]); -var _zip_open = (Module["_zip_open"] = asm["Y"]); -var _zip_open_from_source = (Module["_zip_open_from_source"] = asm["Z"]); -var _zip_set_file_compression = (Module["_zip_set_file_compression"] = - asm["_"]); -var _zip_source_buffer = (Module["_zip_source_buffer"] = asm["$"]); -var _zip_source_buffer_create = (Module["_zip_source_buffer_create"] = - asm["aa"]); -var _zip_source_free = (Module["_zip_source_free"] = asm["ba"]); -var _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["ca"]); -var _zip_stat = (Module["_zip_stat"] = asm["da"]); -var _zip_stat_index = (Module["_zip_stat_index"] = asm["ea"]); -var ___errno_location = (Module["___errno_location"] = asm["fa"]); -var __get_tzname = (Module["__get_tzname"] = asm["ga"]); -var __get_daylight = (Module["__get_daylight"] = asm["ha"]); -var __get_timezone = (Module["__get_timezone"] = asm["ia"]); -var _malloc = (Module["_malloc"] = asm["ja"]); -var _free = (Module["_free"] = asm["ka"]); -var stackSave = (Module["stackSave"] = asm["la"]); -var stackAlloc = (Module["stackAlloc"] = asm["ma"]); -var stackRestore = (Module["stackRestore"] = asm["na"]); -var dynCall_vi = (Module["dynCall_vi"] = asm["oa"]); -Module["asm"] = asm; -Module["cwrap"] = cwrap; -Module["getValue"] = getValue; -var calledRun; -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -} -dependenciesFulfilled = function runCaller() { - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; -}; -function run(args) { - args = args || arguments_; - if (runDependencies > 0) { - return; - } - preRun(); - if (runDependencies > 0) return; - function doRun() { - if (calledRun) return; - calledRun = true; - if (ABORT) return; - initRuntime(); - preMain(); - if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); - postRun(); - } - if (Module["setStatus"]) { - Module["setStatus"]("Running..."); - setTimeout(function() { - setTimeout(function() { - Module["setStatus"](""); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } -} -Module["run"] = run; -if (Module["preInit"]) { - if (typeof Module["preInit"] == "function") - Module["preInit"] = [Module["preInit"]]; - while (Module["preInit"].length > 0) { - Module["preInit"].pop()(); } -} -noExitRuntime = true; -run(); +}); +// CONCATENATED MODULE: ../yarnpkg-fslib/sources/PosixFS.ts -/***/ }), -/* 27 */ -/***/ (function(module, exports) { -module.exports = require("crypto"); +class PosixFS_PosixFS extends ProxiedFS_ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } -/***/ }), -/* 28 */ -/***/ (function(module, exports) { + mapFromBase(path) { + return npath.fromPortablePath(path); + } -module.exports = require("string_decoder"); + mapToBase(path) { + return npath.toPortablePath(path); + } -/***/ }), -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { +} +// EXTERNAL MODULE: external "url" +var external_url_ = __webpack_require__(5); -"use strict"; +// CONCATENATED MODULE: ./sources/loader/internalTools.ts +var ErrorCode; + +(function (ErrorCode) { + ErrorCode["API_ERROR"] = "API_ERROR"; + ErrorCode["BLACKLISTED"] = "BLACKLISTED"; + ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED"; + ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY"; + ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY"; + ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED"; + ErrorCode["INTERNAL"] = "INTERNAL"; + ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY"; + ErrorCode["UNSUPPORTED"] = "UNSUPPORTED"; +})(ErrorCode || (ErrorCode = {})); // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages +// that expect this umbrella error when the resolution fails -var __importDefault = this && this.__importDefault || function (mod) { - return mod && mod.__esModule ? mod : { - "default": mod +const MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BLACKLISTED, ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]); +/** + * Simple helper function that assign an error code to an error, so that it can more easily be caught and used + * by third-parties. + */ + +function internalTools_makeError(pnpCode, message, data = {}) { + const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false }; -}; + return Object.defineProperties(new Error(message), { + code: { ...propertySpec, + value: code + }, + pnpCode: { ...propertySpec, + value: pnpCode + }, + data: { ...propertySpec, + value: data + } + }); +} +/** + * Returns the module that should be used to resolve require calls. It's usually the direct parent, except if we're + * inside an eval expression. + */ -Object.defineProperty(exports, "__esModule", { - value: true -}); +function getIssuerModule(parent) { + let issuer = parent; + + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) issuer = issuer.parent; -const fslib_1 = __webpack_require__(5); + return issuer || null; +} +// CONCATENATED MODULE: ./sources/loader/applyPatch.ts -const fs_1 = __importDefault(__webpack_require__(2)); -const module_1 = __webpack_require__(6); -const url_1 = __webpack_require__(30); -const internalTools_1 = __webpack_require__(12); function applyPatch(pnpapi, opts) { // @ts-ignore - const builtinModules = new Set(module_1.Module.builtinModules || Object.keys(process.binding(`natives`))); + const builtinModules = new Set(external_module_["Module"].builtinModules || Object.keys(process.binding(`natives`))); /** * The cache that will be used for all accesses occuring outside of a PnP context. */ @@ -43700,11 +42694,11 @@ function applyPatch(pnpapi, opts) { process.versions.pnp = String(pnpapi.VERSIONS.std); // @ts-ignore - const moduleExports = __webpack_require__(6); // @ts-ignore + const moduleExports = __webpack_require__(0); // @ts-ignore moduleExports.findPnpApi = lookupSource => { - const lookupPath = lookupSource instanceof url_1.URL ? url_1.fileURLToPath(lookupSource) : lookupSource; + const lookupPath = lookupSource instanceof external_url_["URL"] ? Object(external_url_["fileURLToPath"])(lookupSource) : lookupSource; const apiPath = opts.manager.findApiPathFor(lookupPath); if (apiPath === null) return null; const apiEntry = opts.manager.getApiEntry(apiPath, true); @@ -43724,15 +42718,15 @@ function applyPatch(pnpapi, opts) { // delete call would be broken. - const originalModuleLoad = module_1.Module._load; + const originalModuleLoad = external_module_["Module"]._load; - module_1.Module._load = function (request, parent, isMain) { - if (!enableNativeHooks) return originalModuleLoad.call(module_1.Module, request, parent, isMain); // Builtins are managed by the regular Node loader + external_module_["Module"]._load = function (request, parent, isMain) { + if (!enableNativeHooks) return originalModuleLoad.call(external_module_["Module"], request, parent, isMain); // Builtins are managed by the regular Node loader if (builtinModules.has(request)) { try { enableNativeHooks = false; - return originalModuleLoad.call(module_1.Module, request, parent, isMain); + return originalModuleLoad.call(external_module_["Module"], request, parent, isMain); } finally { enableNativeHooks = true; } @@ -43749,13 +42743,13 @@ function applyPatch(pnpapi, opts) { if (request === `pnpapi`) return parentApi; // Request `Module._resolveFilename` (ie. `resolveRequest`) to tell us // which file we should load - const modulePath = module_1.Module._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the + const modulePath = external_module_["Module"]._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the // module that required it. If it isn't, then we need to create a new // store and possibly load its sandboxed PnP runtime. const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false; - const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(fslib_1.npath.dirname(modulePath)); + const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(npath.dirname(modulePath)); const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : { instance: null, cache: defaultCache @@ -43765,7 +42759,7 @@ function applyPatch(pnpapi, opts) { if (cacheEntry) return cacheEntry.exports; // Create a new module and store it into the cache // @ts-ignore - const module = new module_1.Module(modulePath, parent); + const module = new external_module_["Module"](modulePath, parent); module.pnpApiPath = moduleApiPath; entry.cache[modulePath] = module; // The main module is exposed as global variable @@ -43783,18 +42777,18 @@ function applyPatch(pnpapi, opts) { hasThrown = false; } finally { if (hasThrown) { - delete module_1.Module._cache[modulePath]; + delete external_module_["Module"]._cache[modulePath]; } } return module.exports; }; - const originalModuleResolveFilename = module_1.Module._resolveFilename; + const originalModuleResolveFilename = external_module_["Module"]._resolveFilename; - module_1.Module._resolveFilename = function (request, parent, isMain, options) { + external_module_["Module"]._resolveFilename = function (request, parent, isMain, options) { if (builtinModules.has(request)) return request; - if (!enableNativeHooks) return originalModuleResolveFilename.call(module_1.Module, request, parent, isMain, options); + if (!enableNativeHooks) return originalModuleResolveFilename.call(external_module_["Module"], request, parent, isMain, options); if (options && options.plugnplay === false) { const { @@ -43807,7 +42801,7 @@ function applyPatch(pnpapi, opts) { try { enableNativeHooks = false; - return originalModuleResolveFilename.call(module_1.Module, request, parent, isMain, forwardedOptions); + return originalModuleResolveFilename.call(external_module_["Module"], request, parent, isMain, forwardedOptions); } finally { enableNativeHooks = true; } @@ -43821,32 +42815,32 @@ function applyPatch(pnpapi, opts) { optionNames.delete(`plugnplay`); if (optionNames.size > 0) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.UNSUPPORTED, `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`); + throw internalTools_makeError(ErrorCode.UNSUPPORTED, `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})`); } } const getIssuerSpecsFromPaths = paths => { return paths.map(path => ({ apiPath: opts.manager.findApiPathFor(path), - path: fslib_1.npath.toPortablePath(path), + path: npath.toPortablePath(path), module: null })); }; const getIssuerSpecsFromModule = module => { - const issuer = internalTools_1.getIssuerModule(module); - const issuerPath = issuer !== null ? fslib_1.npath.dirname(issuer.filename) : process.cwd(); + const issuer = getIssuerModule(module); + const issuerPath = issuer !== null ? npath.dirname(issuer.filename) : process.cwd(); return [{ apiPath: opts.manager.getApiPathFromParent(issuer), - path: fslib_1.npath.toPortablePath(issuerPath), + path: npath.toPortablePath(issuerPath), module }]; }; const makeFakeParent = path => { - const fakeParent = new module_1.Module(``); - const fakeFilePath = fslib_1.ppath.join(path, `[file]`); - fakeParent.paths = module_1.Module._nodeModulePaths(fslib_1.npath.fromPortablePath(fakeFilePath)); + const fakeParent = new external_module_["Module"](``); + const fakeFilePath = ppath.join(path, `[file]`); + fakeParent.paths = external_module_["Module"]._nodeModulePaths(npath.fromPortablePath(fakeFilePath)); return fakeParent; }; @@ -43865,7 +42859,7 @@ function applyPatch(pnpapi, opts) { if (issuerApi !== null) { resolution = issuerApi.resolveRequest(request, `${path}/`); } else { - resolution = originalModuleResolveFilename.call(module_1.Module, request, module || makeFakeParent(path), isMain); + resolution = originalModuleResolveFilename.call(external_module_["Module"], request, module || makeFakeParent(path), isMain); } } catch (error) { firstError = firstError || error; @@ -43888,11 +42882,11 @@ function applyPatch(pnpapi, opts) { throw firstError; }; - const originalFindPath = module_1.Module._findPath; + const originalFindPath = external_module_["Module"]._findPath; - module_1.Module._findPath = function (request, paths, isMain) { + external_module_["Module"]._findPath = function (request, paths, isMain) { if (request === `pnpapi`) return false; - if (!enableNativeHooks) return originalFindPath.call(module_1.Module, request, paths, isMain); + if (!enableNativeHooks) return originalFindPath.call(external_module_["Module"], request, paths, isMain); for (const path of paths || []) { let resolution; @@ -43904,7 +42898,7 @@ function applyPatch(pnpapi, opts) { const api = opts.manager.getApiEntry(pnpApiPath, true).instance; resolution = api.resolveRequest(request, path) || false; } else { - resolution = originalFindPath.call(module_1.Module, request, [path], isMain); + resolution = originalFindPath.call(external_module_["Module"], request, [path], isMain); } } catch (error) { continue; @@ -43918,39 +42912,19 @@ function applyPatch(pnpapi, opts) { return false; }; - fslib_1.patchFs(fs_1.default, new fslib_1.PosixFS(opts.fakeFs)); + patchFs(external_fs_default.a, new PosixFS_PosixFS(opts.fakeFs)); } - -exports.applyPatch = applyPatch; - -/***/ }), -/* 30 */ -/***/ (function(module, exports) { - -module.exports = require("url"); - -/***/ }), -/* 31 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fslib_1 = __webpack_require__(5); +// CONCATENATED MODULE: ./sources/loader/hydrateRuntimeState.ts function hydrateRuntimeState(data, { basePath }) { - const portablePath = fslib_1.npath.toPortablePath(basePath); + const portablePath = npath.toPortablePath(basePath); const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { return [packageReference, { - packageLocation: fslib_1.ppath.resolve(portablePath, packageInformationData.packageLocation), + packageLocation: ppath.resolve(portablePath, packageInformationData.packageLocation), packageDependencies: new Map(packageInformationData.packageDependencies), packagePeers: new Set(packageInformationData.packagePeers), linkType: packageInformationData.linkType, @@ -43995,33 +42969,16 @@ function hydrateRuntimeState(data, { packageRegistry }; } +// CONCATENATED MODULE: ./sources/loader/makeApi.ts -exports.hydrateRuntimeState = hydrateRuntimeState; - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -const fslib_1 = __webpack_require__(5); -const fslib_2 = __webpack_require__(5); - -const module_1 = __webpack_require__(6); - -const internalTools_1 = __webpack_require__(12); function makeApi(runtimeState, opts) { const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); // @ts-ignore - const builtinModules = new Set(module_1.Module.builtinModules || Object.keys(process.binding(`natives`))); // Splits a require request into its components, or return null if the request is a file path + const builtinModules = new Set(external_module_["Module"].builtinModules || Object.keys(process.binding(`natives`))); // Splits a require request into its components, or return null if the request is a file path const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; // Matches if the path starts with a valid path qualifier (./, ../, /) // eslint-disable-next-line no-unused-vars @@ -44134,7 +43091,7 @@ function makeApi(runtimeState, opts) { const packageInformation = getPackageInformation(packageLocator); if (!packageInformation) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`); + throw internalTools_makeError(ErrorCode.INTERNAL, `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`); } return packageInformation; @@ -44175,11 +43132,11 @@ function makeApi(runtimeState, opts) { let pkgJson; try { - pkgJson = JSON.parse(opts.fakeFs.readFileSync(fslib_2.ppath.join(unqualifiedPath, fslib_2.toFilename(`package.json`)), `utf8`)); + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, toFilename(`package.json`)), `utf8`)); } catch (error) {} let nextUnqualifiedPath; - if (pkgJson && pkgJson.main) nextUnqualifiedPath = fslib_2.ppath.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location + if (pkgJson && pkgJson.main) nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { @@ -44203,9 +43160,9 @@ function makeApi(runtimeState, opts) { if (stat && stat.isDirectory()) { const indexPath = extensions.map(extension => { - return fslib_2.ppath.format({ + return ppath.format({ dir: unqualifiedPath, - name: fslib_2.toFilename(`index`), + name: toFilename(`index`), ext: extension }); }).find(candidateFile => { @@ -44234,9 +43191,9 @@ function makeApi(runtimeState, opts) { function makeFakeModule(path) { // @ts-ignore - const fakeModule = new module_1.Module(path, null); + const fakeModule = new external_module_["Module"](path, null); fakeModule.filename = path; - fakeModule.paths = module_1.Module._nodeModulePaths(path); + fakeModule.paths = external_module_["Module"]._nodeModulePaths(path); return fakeModule; } /** @@ -44245,7 +43202,7 @@ function makeApi(runtimeState, opts) { function normalizePath(p) { - return fslib_1.npath.toPortablePath(p); + return npath.toPortablePath(p); } /** * Forward the resolution to the next resolver (usually the native one) @@ -44253,12 +43210,12 @@ function makeApi(runtimeState, opts) { function callNativeResolution(request, issuer) { - if (issuer.endsWith(`/`)) issuer = fslib_2.ppath.join(issuer, fslib_2.toFilename(`internal.js`)); // Since we would need to create a fake module anyway (to call _resolveLookupPath that + if (issuer.endsWith(`/`)) issuer = ppath.join(issuer, toFilename(`internal.js`)); // Since we would need to create a fake module anyway (to call _resolveLookupPath that // would give us the paths to give to _resolveFilename), we can as well not use // the {paths} option at all, since it internally makes _resolveFilename create another // fake module anyway. - return module_1.Module._resolveFilename(request, makeFakeModule(fslib_1.npath.fromPortablePath(issuer)), false, { + return external_module_["Module"]._resolveFilename(request, makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); } @@ -44269,7 +43226,7 @@ function makeApi(runtimeState, opts) { function isPathIgnored(path) { if (ignorePattern === null) return false; - const subPath = fslib_2.ppath.contains(runtimeState.basePath, path); + const subPath = ppath.contains(runtimeState.basePath, path); if (subPath === null) return false; if (ignorePattern.test(subPath.replace(/\/$/, ``))) { @@ -44388,7 +43345,7 @@ function makeApi(runtimeState, opts) { function findPackageLocator(location) { - let relativeLocation = normalizePath(fslib_2.ppath.relative(runtimeState.basePath, location)); + let relativeLocation = normalizePath(ppath.relative(runtimeState.basePath, location)); if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`; if (location.match(isDirRegExp) && !relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`; let from = 0; // If someone wants to use a binary search to go from O(n) to O(log n), be my guest @@ -44414,7 +43371,7 @@ function makeApi(runtimeState, opts) { // something incompatible! if (locator === null) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.BLACKLISTED, `A forbidden path has been used in the package resolution process - this is usually caused by one of your tools calling 'fs.realpath' on the return value of 'require.resolve'. Since we need to use symlinks to simultaneously provide valid filesystem paths and disambiguate peer dependencies, they must be passed untransformed to 'require'.\n\nForbidden path: ${location}`, { + throw internalTools_makeError(ErrorCode.BLACKLISTED, `A forbidden path has been used in the package resolution process - this is usually caused by one of your tools calling 'fs.realpath' on the return value of 'require.resolve'. Since we need to use symlinks to simultaneously provide valid filesystem paths and disambiguate peer dependencies, they must be passed untransformed to 'require'.\n\nForbidden path: ${location}`, { location }); } @@ -44441,7 +43398,7 @@ function makeApi(runtimeState, opts) { considerBuiltins = true } = {}) { // The 'pnpapi' request is reserved and will always return the path to the PnP file, from everywhere - if (request === `pnpapi`) return fslib_1.npath.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module + if (request === `pnpapi`) return npath.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module if (considerBuiltins && builtinModules.has(request)) return null; // We allow disabling the pnp resolution for some subpaths. // This is because some projects, often legacy, contain multiple @@ -44455,17 +43412,17 @@ function makeApi(runtimeState, opts) { // because the native Node resolution uses a special version // of the `stat` syscall which would otherwise bypass the // filesystem layer we require to access the files. - if (!fslib_2.ppath.isAbsolute(request) || findPackageLocator(request) === null) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { const result = callNativeResolution(request, issuer); if (result === false) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: "${request}"\nRequired by: ${issuer}\n`, { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)\n\nRequire request: "${request}"\nRequired by: ${issuer}\n`, { request, issuer }); } - return fslib_1.npath.toPortablePath(result); + return npath.toPortablePath(result); } } @@ -44474,20 +43431,20 @@ function makeApi(runtimeState, opts) { const dependencyNameMatch = request.match(pathRegExp); if (!dependencyNameMatch) { - if (fslib_2.ppath.isAbsolute(request)) { - unqualifiedPath = fslib_2.ppath.normalize(request); + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); } else { if (!issuer) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { request, issuer }); } if (issuer.match(isDirRegExp)) { - unqualifiedPath = fslib_2.ppath.normalize(fslib_2.ppath.resolve(issuer, request)); + unqualifiedPath = ppath.normalize(ppath.resolve(issuer, request)); } else { - unqualifiedPath = fslib_2.ppath.normalize(fslib_2.ppath.resolve(fslib_2.ppath.dirname(issuer), request)); + unqualifiedPath = ppath.normalize(ppath.resolve(ppath.dirname(issuer), request)); } } // No need to use the return value; we just want to check the blacklist status @@ -44497,7 +43454,7 @@ function makeApi(runtimeState, opts) { // particular the exact version for the given location on the dependency tree else { if (!issuer) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { + throw internalTools_makeError(ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, { request, issuer }); @@ -44511,13 +43468,13 @@ function makeApi(runtimeState, opts) { const result = callNativeResolution(request, issuer); if (result === false) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: "${request}"\nRequired by: ${issuer}\n`, { + throw internalTools_makeError(ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).\n\nRequire path: "${request}"\nRequired by: ${issuer}\n`, { request, issuer }); } - return fslib_1.npath.toPortablePath(result); + return npath.toPortablePath(result); } const issuerInformation = getPackageInformationSafe(issuerLocator); // We obtain the dependency reference in regard to the package that request it @@ -44559,7 +43516,7 @@ function makeApi(runtimeState, opts) { if (dependencyReference === null) { if (isDependencyTreeRoot(issuerLocator)) { - error = internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuer}\n`, { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuer}\n`, { request, issuer, dependencyName @@ -44568,7 +43525,7 @@ function makeApi(runtimeState, opts) { const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); if (brokenAncestors.every(ancestor => isDependencyTreeRoot(ancestor))) { - error = internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { request, issuer, issuerLocator: Object.assign({}, issuerLocator), @@ -44576,7 +43533,7 @@ function makeApi(runtimeState, opts) { brokenAncestors }); } else { - error = internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { + error = internalTools_makeError(ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n${brokenAncestors.map(ancestorLocator => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}\n`).join(``)}\n`, { request, issuer, issuerLocator: Object.assign({}, issuerLocator), @@ -44587,13 +43544,13 @@ function makeApi(runtimeState, opts) { } } else if (dependencyReference === undefined) { if (isDependencyTreeRoot(issuerLocator)) { - error = internalTools_1.makeError(internalTools_1.ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuer}\n`, { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuer}\n`, { request, issuer, dependencyName }); } else { - error = internalTools_1.makeError(internalTools_1.ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n`, { + error = internalTools_makeError(ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.\n\nRequired package: ${dependencyName} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n`, { request, issuer, issuerLocator: Object.assign({}, issuerLocator), @@ -44625,7 +43582,7 @@ function makeApi(runtimeState, opts) { const dependencyInformation = getPackageInformationSafe(dependencyLocator); if (!dependencyInformation.packageLocation) { - throw internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n`, { + throw internalTools_makeError(ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.\n\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference} (via "${request}")\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\n`, { request, issuer, dependencyLocator: Object.assign({}, dependencyLocator) @@ -44633,16 +43590,16 @@ function makeApi(runtimeState, opts) { } // Now that we know which package we should resolve to, we only have to find out the file location - const dependencyLocation = fslib_2.ppath.resolve(runtimeState.basePath, dependencyInformation.packageLocation); + const dependencyLocation = ppath.resolve(runtimeState.basePath, dependencyInformation.packageLocation); if (subPath) { - unqualifiedPath = fslib_2.ppath.resolve(dependencyLocation, subPath); + unqualifiedPath = ppath.resolve(dependencyLocation, subPath); } else { unqualifiedPath = dependencyLocation; } } - return fslib_2.ppath.normalize(unqualifiedPath); + return ppath.normalize(unqualifiedPath); } /** * Transforms an unqualified path into a qualified path by using the Node resolution algorithm (which automatically @@ -44651,7 +43608,7 @@ function makeApi(runtimeState, opts) { function resolveUnqualified(unqualifiedPath, { - extensions = Object.keys(module_1.Module._extensions) + extensions = Object.keys(external_module_["Module"]._extensions) } = {}) { const candidates = []; const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { @@ -44659,9 +43616,9 @@ function makeApi(runtimeState, opts) { }); if (qualifiedPath) { - return fslib_2.ppath.normalize(qualifiedPath); + return ppath.normalize(qualifiedPath); } else { - throw internalTools_1.makeError(internalTools_1.ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of the candidates can be found on the disk.\n\nSource path: ${unqualifiedPath}\n${candidates.map(candidate => `Rejected candidate: ${candidate}\n`).join(``)}`, { + throw internalTools_makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of the candidates can be found on the disk.\n\nSource path: ${unqualifiedPath}\n${candidates.map(candidate => `Rejected candidate: ${candidate}\n`).join(``)}`, { unqualifiedPath }); } @@ -44698,8 +43655,8 @@ function makeApi(runtimeState, opts) { } function resolveVirtual(request) { - const normalized = fslib_2.ppath.normalize(request); - const resolved = fslib_1.VirtualFS.resolveVirtual(normalized); + const normalized = ppath.normalize(request); + const resolved = VirtualFS_VirtualFS.resolveVirtual(normalized); return resolved !== normalized ? resolved : null; } @@ -44725,72 +43682,57 @@ function makeApi(runtimeState, opts) { getPackageInformation: locator => { const info = getPackageInformation(locator); if (info === null) return null; - const packageLocation = fslib_1.npath.fromPortablePath(info.packageLocation); + const packageLocation = npath.fromPortablePath(info.packageLocation); const nativeInfo = { ...info, packageLocation }; return nativeInfo; }, findPackageLocator: path => { - return findPackageLocator(fslib_1.npath.toPortablePath(path)); + return findPackageLocator(npath.toPortablePath(path)); }, resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts) => { - const portableIssuer = issuer !== null ? fslib_1.npath.toPortablePath(issuer) : null; - const resolution = resolveToUnqualified(fslib_1.npath.toPortablePath(request), portableIssuer, opts); + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts); if (resolution === null) return null; - return fslib_1.npath.fromPortablePath(resolution); + return npath.fromPortablePath(resolution); }), resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts) => { - return fslib_1.npath.fromPortablePath(resolveUnqualified(fslib_1.npath.toPortablePath(unqualifiedPath), opts)); + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts)); }), resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts) => { - const portableIssuer = issuer !== null ? fslib_1.npath.toPortablePath(issuer) : null; - const resolution = resolveRequest(fslib_1.npath.toPortablePath(request), portableIssuer, opts); + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts); if (resolution === null) return null; - return fslib_1.npath.fromPortablePath(resolution); + return npath.fromPortablePath(resolution); }), resolveVirtual: maybeLog(`resolveVirtual`, path => { - const result = resolveVirtual(fslib_1.npath.toPortablePath(path)); + const result = resolveVirtual(npath.toPortablePath(path)); if (result !== null) { - return fslib_1.npath.fromPortablePath(result); + return npath.fromPortablePath(result); } else { return null; } }) }; } +// CONCATENATED MODULE: ./sources/loader/makeManager.ts -exports.makeApi = makeApi; - -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -const fslib_1 = __webpack_require__(5); - -const module_1 = __webpack_require__(6); function makeManager(pnpapi, opts) { - const initialApiPath = fslib_1.npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); - const initialApiStats = opts.fakeFs.statSync(fslib_1.npath.toPortablePath(initialApiPath)); + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); const apiMetadata = new Map([[initialApiPath, { - cache: module_1.Module._cache, + cache: external_module_["Module"]._cache, instance: pnpapi, stats: initialApiStats }]]); function loadApiInstance(pnpApiPath) { - const nativePath = fslib_1.npath.fromPortablePath(pnpApiPath); // @ts-ignore + const nativePath = npath.fromPortablePath(pnpApiPath); // @ts-ignore - const module = new module_1.Module(nativePath, null); + const module = new external_module_["Module"](nativePath, null); module.load(nativePath); return module.exports; } @@ -44825,16 +43767,16 @@ function makeManager(pnpapi, opts) { function findApiPathFor(modulePath) { let curr; - let next = fslib_1.ppath.resolve(fslib_1.npath.toPortablePath(modulePath)); + let next = ppath.resolve(npath.toPortablePath(modulePath)); do { curr = next; - const candidate = fslib_1.ppath.join(curr, `.pnp.js`); - if (fslib_1.xfs.existsSync(candidate) && fslib_1.xfs.statSync(candidate).isFile()) return candidate; - const cjsCandidate = fslib_1.ppath.join(curr, `.pnp.cjs`); - if (fslib_1.xfs.existsSync(cjsCandidate) && fslib_1.xfs.statSync(cjsCandidate).isFile()) return cjsCandidate; - next = fslib_1.ppath.dirname(curr); - } while (curr !== fslib_1.PortablePath.root); + const candidate = ppath.join(curr, `.pnp.js`); + if (xfs.existsSync(candidate) && xfs.statSync(candidate).isFile()) return candidate; + const cjsCandidate = ppath.join(curr, `.pnp.cjs`); + if (xfs.existsSync(cjsCandidate) && xfs.statSync(cjsCandidate).isFile()) return cjsCandidate; + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); return null; } @@ -44860,8 +43802,143 @@ function makeManager(pnpapi, opts) { getApiEntry }; } +// CONCATENATED MODULE: ./sources/loader/_entryPoint.ts + + + + + + + + + // We must copy the fs into a local, because otherwise +// 1. we would make the NodeFS instance use the function that we patched (infinite loop) +// 2. Object.create(fs) isn't enough, since it won't prevent the proto from being modified + +const localFs = { ...external_fs_default.a +}; +const nodeFs = new NodeFS_NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things: +// 1. all requests inside a folder named "$$virtual" will be remapped according the virtual folder rules +// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation +// 3. any remaining request will be forwarded to Node as-is + +const defaultFsLayer = new VirtualFS_VirtualFS({ + baseFs: new ZipOpenFS_ZipOpenFS({ + baseFs: nodeFs, + libzip: getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: defaultFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + /** + * Can be used to generate a different API than the default one (for example + * to map it on `/` rather than the local directory path, or to use a + * different FS layer than the default one). + */ + makeApi: ({ + basePath = undefined, + fakeFs = defaultFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + + /** + * Will inject the specified API into the environment, monkey-patching FS. Is + * automatically called when the hook is loaded through `--require`. + */ + setup: api => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + } +}); +manager = makeManager(defaultApi, { + fakeFs: defaultFsLayer +}); // eslint-disable-next-line arca/no-default-export + +/* harmony default export */ var _entryPoint = __webpack_exports__["default"] = (defaultApi); -exports.makeManager = makeManager; +if (__non_webpack_module__.parent && __non_webpack_module__.parent.id === `internal/preload`) { + defaultApi.setup(); + + if (__non_webpack_module__.filename) { + // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run" + // It's annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn't happen anyway. + // @ts-ignore + delete external_module_default.a._cache[__non_webpack_module__.filename]; + } +} // @ts-ignore + + +if (process.mainModule === __non_webpack_module__) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ + code, + message, + data + }, null])}\n`); + }; + + const reportSuccess = resolution => { + process.stdout.write(`${JSON.stringify([null, resolution])}\n`); + }; + + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + + const processRequest = data => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} \n`); + process.exitCode = 64; + /* EX_USAGE */ + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new external_string_decoder_default.a.StringDecoder(); + process.stdin.on(`data`, chunk => { + buffer += decoder.write(chunk); + + do { + const index = buffer.indexOf(`\n`); + if (index === -1) break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} /***/ }) /******/ ])["default"]; diff --git a/.yarn/cache/@babel-helper-call-delegate-npm-7.4.4-5db6f3d54e-1230372235.zip b/.yarn/cache/@babel-helper-call-delegate-npm-7.4.4-5db6f3d54e-1230372235.zip deleted file mode 100644 index 7bc7e2c9619b..000000000000 Binary files a/.yarn/cache/@babel-helper-call-delegate-npm-7.4.4-5db6f3d54e-1230372235.zip and /dev/null differ diff --git a/.yarn/cache/@babel-helper-hoist-variables-npm-7.4.4-8a2c0c8fbf-0bd7272b8a.zip b/.yarn/cache/@babel-helper-hoist-variables-npm-7.4.4-8a2c0c8fbf-0bd7272b8a.zip deleted file mode 100644 index 684eb805cdcf..000000000000 Binary files a/.yarn/cache/@babel-helper-hoist-variables-npm-7.4.4-8a2c0c8fbf-0bd7272b8a.zip and /dev/null differ diff --git a/.yarn/cache/@babel-helper-module-transforms-npm-7.5.5-cd153e23a8-f2e9093fc7.zip b/.yarn/cache/@babel-helper-module-transforms-npm-7.5.5-cd153e23a8-f2e9093fc7.zip deleted file mode 100644 index 2e2233d16f73..000000000000 Binary files a/.yarn/cache/@babel-helper-module-transforms-npm-7.5.5-cd153e23a8-f2e9093fc7.zip and /dev/null differ diff --git a/.yarn/cache/@babel-helpers-npm-7.5.5-2acf0131a5-9c6058991f.zip b/.yarn/cache/@babel-helpers-npm-7.5.5-2acf0131a5-9c6058991f.zip deleted file mode 100644 index 788bcb658e61..000000000000 Binary files a/.yarn/cache/@babel-helpers-npm-7.5.5-2acf0131a5-9c6058991f.zip and /dev/null differ diff --git a/.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.2.0-e507d069c2-34f4e77d32.zip b/.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.2.0-e507d069c2-34f4e77d32.zip deleted file mode 100644 index 2bb187348913..000000000000 Binary files a/.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.2.0-e507d069c2-34f4e77d32.zip and /dev/null differ diff --git a/.yarn/cache/@babel-plugin-transform-parameters-npm-7.4.4-73057dcc00-1eb2387f2c.zip b/.yarn/cache/@babel-plugin-transform-parameters-npm-7.4.4-73057dcc00-1eb2387f2c.zip deleted file mode 100644 index 24d5de1802e6..000000000000 Binary files a/.yarn/cache/@babel-plugin-transform-parameters-npm-7.4.4-73057dcc00-1eb2387f2c.zip and /dev/null differ diff --git a/.yarn/cache/@babel-template-npm-7.4.4-70497d8e10-fece766ad8.zip b/.yarn/cache/@babel-template-npm-7.4.4-70497d8e10-fece766ad8.zip deleted file mode 100644 index c241816a813c..000000000000 Binary files a/.yarn/cache/@babel-template-npm-7.4.4-70497d8e10-fece766ad8.zip and /dev/null differ diff --git a/.yarn/cache/babel-plugin-lazy-import-https-0f0ba3c3c3-e5b5246c2b.zip b/.yarn/cache/babel-plugin-lazy-import-https-0f0ba3c3c3-e5b5246c2b.zip deleted file mode 100644 index 00b02af0715e..000000000000 Binary files a/.yarn/cache/babel-plugin-lazy-import-https-0f0ba3c3c3-e5b5246c2b.zip and /dev/null differ diff --git a/.yarn/versions/aba215f6.yml b/.yarn/versions/aba215f6.yml new file mode 100644 index 000000000000..c820fd14981e --- /dev/null +++ b/.yarn/versions/aba215f6.yml @@ -0,0 +1,32 @@ +releases: + "@yarnpkg/builder": prerelease + "@yarnpkg/cli": prerelease + "@yarnpkg/core": prerelease + "@yarnpkg/doctor": prerelease + "@yarnpkg/plugin-compat": prerelease + "@yarnpkg/plugin-constraints": prerelease + "@yarnpkg/plugin-dlx": prerelease + "@yarnpkg/plugin-essentials": prerelease + "@yarnpkg/plugin-exec": prerelease + "@yarnpkg/plugin-file": prerelease + "@yarnpkg/plugin-git": prerelease + "@yarnpkg/plugin-github": prerelease + "@yarnpkg/plugin-http": prerelease + "@yarnpkg/plugin-init": prerelease + "@yarnpkg/plugin-interactive-tools": prerelease + "@yarnpkg/plugin-link": prerelease + "@yarnpkg/plugin-node-modules": prerelease + "@yarnpkg/plugin-npm": prerelease + "@yarnpkg/plugin-npm-cli": prerelease + "@yarnpkg/plugin-pack": prerelease + "@yarnpkg/plugin-patch": prerelease + "@yarnpkg/plugin-pnp": prerelease + "@yarnpkg/plugin-stage": prerelease + "@yarnpkg/plugin-typescript": prerelease + "@yarnpkg/plugin-version": prerelease + "@yarnpkg/plugin-workspace-tools": prerelease + "@yarnpkg/pnp": prerelease + "@yarnpkg/pnpify": prerelease + +declined: + - vscode-zipfs diff --git a/packages/yarnpkg-builder/package.json b/packages/yarnpkg-builder/package.json index 9b1cec592604..84ae9efd328e 100644 --- a/packages/yarnpkg-builder/package.json +++ b/packages/yarnpkg-builder/package.json @@ -5,14 +5,11 @@ "bin": "./sources/boot-dev.js", "dependencies": { "@babel/core": "^7.7.4", - "@babel/plugin-syntax-class-properties": "^7.2.0", - "@babel/plugin-syntax-decorators": "^7.2.0", "@yarnpkg/cli": "workspace:^2.0.0-rc.33", "@yarnpkg/core": "workspace:^2.0.0-rc.27", "@yarnpkg/fslib": "workspace:^2.0.0-rc.20", "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22", "babel-loader": "^8.0.6", - "babel-plugin-lazy-import": "arcanis/babel-plugin-lazy-import", "chalk": "^3.0.0", "clipanion": "^2.4.0", "filesize": "^4.1.2", diff --git a/packages/yarnpkg-builder/sources/tools/makeConfig.ts b/packages/yarnpkg-builder/sources/tools/makeConfig.ts index 17e1c7405449..c79ef1b5f723 100644 --- a/packages/yarnpkg-builder/sources/tools/makeConfig.ts +++ b/packages/yarnpkg-builder/sources/tools/makeConfig.ts @@ -20,7 +20,6 @@ export const makeConfig = (config: webpack.Configuration) => merge({ resolve: { extensions: [`.js`, `.ts`, `.tsx`, `.json`], - mainFields: [`main`], plugins: [PnpWebpackPlugin], }, @@ -30,17 +29,14 @@ export const makeConfig = (config: webpack.Configuration) => merge({ exclude: /\.d\.ts$/, use: [{ loader: require.resolve(`babel-loader`), - options: { - plugins: [ - [require.resolve(`@babel/plugin-syntax-decorators`), {legacy: true}], - [require.resolve(`@babel/plugin-syntax-class-properties`), {loose: true}], - require.resolve(`babel-plugin-lazy-import`), - ], - }, }, { loader: require.resolve(`ts-loader`), options: { - compilerOptions: {declaration: false}, + compilerOptions: { + declaration: false, + module: `ESNext`, + moduleResolution: `node`, + }, }, }], }], diff --git a/packages/yarnpkg-pnp/sources/hook.js b/packages/yarnpkg-pnp/sources/hook.js index 6eb9241c29f9..ace40f5ba061 100644 --- a/packages/yarnpkg-pnp/sources/hook.js +++ b/packages/yarnpkg-pnp/sources/hook.js @@ -1 +1 @@ -module.exports = require('zlib').brotliDecompressSync(Buffer.from('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', 'base64')).toString(); +module.exports = require('zlib').brotliDecompressSync(Buffer.from('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', 'base64')).toString(); diff --git a/yarn.lock b/yarn.lock index 20ed9e3e5f44..313cb6e29825 100644 --- a/yarn.lock +++ b/yarn.lock @@ -429,17 +429,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-call-delegate@npm:^7.4.4": - version: 7.4.4 - resolution: "@babel/helper-call-delegate@npm:7.4.4" - dependencies: - "@babel/helper-hoist-variables": ^7.4.4 - "@babel/traverse": ^7.4.4 - "@babel/types": ^7.4.4 - checksum: 1230372235ee503229f4ad7e6bda352feec6f0a92ef21dccca033067056fb0d23a0a1fa44ae834659c0164a56943acc7f2a8d12e1e253e4ddc32614a82c99d3f - languageName: node - linkType: hard - "@babel/helper-compilation-targets@npm:^7.8.7": version: 7.8.7 resolution: "@babel/helper-compilation-targets@npm:7.8.7" @@ -611,15 +600,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.4.4": - version: 7.4.4 - resolution: "@babel/helper-hoist-variables@npm:7.4.4" - dependencies: - "@babel/types": ^7.4.4 - checksum: 0bd7272b8a94815d0061a1cb0bb49b098999154ded3bcf04c88e77dc73a2daaf4a07b31cfbfaa970aa8d8dc09b21bda26806770b3288e3348279d1de40416bf8 - languageName: node - linkType: hard - "@babel/helper-hoist-variables@npm:^7.8.3": version: 7.8.3 resolution: "@babel/helper-hoist-variables@npm:7.8.3" @@ -688,20 +668,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.5.5": - version: 7.5.5 - resolution: "@babel/helper-module-transforms@npm:7.5.5" - dependencies: - "@babel/helper-module-imports": ^7.0.0 - "@babel/helper-simple-access": ^7.1.0 - "@babel/helper-split-export-declaration": ^7.4.4 - "@babel/template": ^7.4.4 - "@babel/types": ^7.5.5 - lodash: ^4.17.13 - checksum: f2e9093fc75babdfdb8af8ad98bf757587c3ece48b9928ad6b6864e7b51f2e2285ad3167e581f65171c09e29c7b792208e9c62ba70f4a48d45a0f141aa650806 - languageName: node - linkType: hard - "@babel/helper-module-transforms@npm:^7.9.0": version: 7.9.0 resolution: "@babel/helper-module-transforms@npm:7.9.0" @@ -927,17 +893,6 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.5.5": - version: 7.5.5 - resolution: "@babel/helpers@npm:7.5.5" - dependencies: - "@babel/template": ^7.4.4 - "@babel/traverse": ^7.5.5 - "@babel/types": ^7.5.5 - checksum: 9c6058991f1428d7de7605d90a6c319cc0636df63b82cea6d5e918c1d9c439293c826d87bee17ae305e29334b5d2534b482be9358f86d93c6f9792d61e6cd8ce - languageName: node - linkType: hard - "@babel/helpers@npm:^7.7.4": version: 7.7.4 resolution: "@babel/helpers@npm:7.7.4" @@ -982,7 +937,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.2.2, @babel/parser@npm:^7.2.3, @babel/parser@npm:^7.4.4, @babel/parser@npm:^7.5.5, @babel/parser@npm:^7.7.4": +"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.1.0, @babel/parser@npm:^7.2.2, @babel/parser@npm:^7.2.3, @babel/parser@npm:^7.5.5, @babel/parser@npm:^7.7.4": version: 7.7.4 resolution: "@babel/parser@npm:7.7.4" bin: @@ -1243,17 +1198,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-class-properties@npm:^7.2.0": - version: 7.2.0 - resolution: "@babel/plugin-syntax-class-properties@npm:7.2.0" - dependencies: - "@babel/helper-plugin-utils": ^7.0.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 34f4e77d327c7695f24837f4e4d650cf61eee22ef5d8d0b8fa2db31da6059719e882ee44a87eadb8409c688f7a7ab4b92c1d1a4b2832e5ac82cbdc4ff70dd740 - languageName: node - linkType: hard - "@babel/plugin-syntax-decorators@npm:^7.2.0": version: 7.2.0 resolution: "@babel/plugin-syntax-decorators@npm:7.2.0" @@ -1937,19 +1881,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.4.4": - version: 7.4.4 - resolution: "@babel/plugin-transform-parameters@npm:7.4.4" - dependencies: - "@babel/helper-call-delegate": ^7.4.4 - "@babel/helper-get-function-arity": ^7.0.0 - "@babel/helper-plugin-utils": ^7.0.0 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 1eb2387f2c0c659e9f38e6af0de51e87a5f59679f21a7ebd4551e9629de9604076f923fca008d351b40756054f57b380b2188154be8b7eb12ef1e5e3963d0f18 - languageName: node - linkType: hard - "@babel/plugin-transform-parameters@npm:^7.9.5": version: 7.9.5 resolution: "@babel/plugin-transform-parameters@npm:7.9.5" @@ -2563,17 +2494,6 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.4.4": - version: 7.4.4 - resolution: "@babel/template@npm:7.4.4" - dependencies: - "@babel/code-frame": ^7.0.0 - "@babel/parser": ^7.4.4 - "@babel/types": ^7.4.4 - checksum: fece766ad84f5c081e85a1a9c7ddc9d19fb37c2a7d3b004d0f801851d5e93bdd6a2cc73cda546e8cc6d6be00fddcf9ac6fe40c4c88779ae75487c59d85750636 - languageName: node - linkType: hard - "@babel/template@npm:^7.7.4": version: 7.7.4 resolution: "@babel/template@npm:7.7.4" @@ -2613,7 +2533,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.4.4, @babel/traverse@npm:^7.5.5": +"@babel/traverse@npm:^7.5.5": version: 7.5.5 resolution: "@babel/traverse@npm:7.5.5" dependencies: @@ -5966,8 +5886,6 @@ __metadata: resolution: "@yarnpkg/builder@workspace:packages/yarnpkg-builder" dependencies: "@babel/core": ^7.7.4 - "@babel/plugin-syntax-class-properties": ^7.2.0 - "@babel/plugin-syntax-decorators": ^7.2.0 "@types/filesize": 4.1.0 "@types/terser-webpack-plugin": ^1.2.1 "@types/webpack": ^4.32.1 @@ -5979,7 +5897,6 @@ __metadata: "@yarnpkg/monorepo": "workspace:0.0.0" "@yarnpkg/pnpify": "workspace:^2.0.0-rc.22" babel-loader: ^8.0.6 - babel-plugin-lazy-import: arcanis/babel-plugin-lazy-import chalk: ^3.0.0 clipanion: ^2.4.0 filesize: ^4.1.2 @@ -7991,21 +7908,6 @@ __metadata: languageName: node linkType: hard -babel-plugin-lazy-import@arcanis/babel-plugin-lazy-import: - version: 1.0.0 - resolution: "babel-plugin-lazy-import@https://github.com/arcanis/babel-plugin-lazy-import.git#commit=ff060e230afb4f2f36a1c495be65271c14ae2e4b" - dependencies: - "@babel/helper-module-transforms": ^7.5.5 - "@babel/helper-plugin-utils": ^7.0.0 - "@babel/helpers": ^7.5.5 - "@babel/plugin-transform-parameters": ^7.4.4 - "@babel/template": ^7.4.4 - peerDependencies: - "@babel/core": ^7 - checksum: e5b5246c2b333a6110a8eff277048e944cd293904ec4bf1deeac3276d5fe17bee6f56c9e5b8ff6668c5450e7c5520a34ac2400b04e3bc41a44b5d97c6aaaee39 - languageName: node - linkType: hard - "babel-plugin-macros@npm:^2.0.0": version: 2.5.0 resolution: "babel-plugin-macros@npm:2.5.0"