From 15833db7b5bd787d3b69fb537c6b5508bd02b503 Mon Sep 17 00:00:00 2001 From: xiagengwen <826940081@qq.com> Date: Tue, 4 Apr 2023 18:03:29 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=80=82=E9=85=8DDevEco=20Studio:3.1Release(?= =?UTF-8?q?3.1.3.400),=20SDK:API9=20Release(3.2.11.5)=202.=E5=8C=85?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=B7=A5=E5=85=B7=E7=94=B1npm=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=88=90ohpm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiagengwen <826940081@qq.com> --- CHANGELOG.md | 4 + OAT.xml | 56 + README.md | 10 +- entry/build-profile.json5 | 3 +- entry/{package.json => oh-package.json5} | 7 +- hvigor/hvigor-config.json5 | 6 + hvigor/hvigor-wrapper.js | 4706 ++++++++++++++++++++++ hvigorw | 48 + hvigorw.bat | 57 + mail/{package.json => oh-package.json5} | 19 +- mail/src/main/ets/Util.ts | 2 +- mail/src/main/ets/emlformat/EmlFormat.ts | 8 +- mail/src/main/ets/mail/Message.ts | 2 +- package.json => oh-package.json5 | 15 +- 14 files changed, 4899 insertions(+), 44 deletions(-) rename entry/{package.json => oh-package.json5} (62%) create mode 100644 hvigor/hvigor-config.json5 create mode 100644 hvigor/hvigor-wrapper.js create mode 100644 hvigorw create mode 100644 hvigorw.bat rename mail/{package.json => oh-package.json5} (64%) rename package.json => oh-package.json5 (38%) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f9fe6..7e7ef7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.0 +1.适配DevEco Studio:3.1Release(3.1.3.400), SDK:API9 Release(3.2.11.5) +2.包管理工具由npm切换成ohpm + ## v1.0.1 - 已实现功能 diff --git a/OAT.xml b/OAT.xml index c5818c0..0f02054 100644 --- a/OAT.xml +++ b/OAT.xml @@ -33,6 +33,34 @@ desc="版权免责声明文件,无需修改" name="NOTICE" type="filename"/> + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 733d4bc..ebe0e03 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,9 @@ ## 下载安装 ```shell -npm install @ohos/mail --save +ohpm install @ohos/mail ``` -OpenHarmony -npm环境配置等更多内容,请参考 [如何安装OpenHarmony npm包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md) 。 - ## 测试资源使用注意事项 内置的测试资源文件放在./testFile目录下,通过git lfs的方式上传的,如果直接下载项目的zip包,得到的资源文件只是一个快捷方式,需要进资源文件目录手动下载。或者通过git clone的方式下载代码,这样得到的资源文件是完整的。 @@ -872,10 +869,9 @@ npm环境配置等更多内容,请参考 [如何安装OpenHarmony npm包](http `getMessageByUID(uid: number): Message` -## 兼容性 +## 约束与限制 -- [DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio#download) 版本:DevEco Studio 3.1 Beta1及以上版本。 -- OpenHarmony SDK版本:API version 9 及以上版本。 +- [DevEco Studio](https://developer.harmonyos.com/cn/develop/deveco-studio#download) 版本:3.1 Release(3.1.3.400),SDK:API9 Release(3.2.11.5) ## 目录结构 diff --git a/entry/build-profile.json5 b/entry/build-profile.json5 index 7dc37bb..a4c1be6 100644 --- a/entry/build-profile.json5 +++ b/entry/build-profile.json5 @@ -1,10 +1,11 @@ { "apiType": 'stageMode', "buildOption": { + "compileMode": "esmodule" }, "targets": [ { - "name": "default", + "name": "default" }, { "name": "ohosTest", diff --git a/entry/package.json b/entry/oh-package.json5 similarity index 62% rename from entry/package.json rename to entry/oh-package.json5 index f99546b..f834588 100644 --- a/entry/package.json +++ b/entry/oh-package.json5 @@ -2,14 +2,9 @@ "license": "Apache License 2.0", "devDependencies": {}, "name": "entry", - "ohos": { - "org": "huawei", - "directoryLevel": "module", - "buildTool": "hvigor" - }, "description": "example description", "repository": {}, - "version": "1.0.2", + "version": "2.0.0", "dependencies": { "@ohos/mail": "file:../mail" } diff --git a/hvigor/hvigor-config.json5 b/hvigor/hvigor-config.json5 new file mode 100644 index 0000000..ea720cf --- /dev/null +++ b/hvigor/hvigor-config.json5 @@ -0,0 +1,6 @@ +{ + "hvigorVersion":"2.0.0-s", + "dependencies":{ + "@ohos/hvigor-ohos-plugin":"2.0.0-s" + } +} \ No newline at end of file diff --git a/hvigor/hvigor-wrapper.js b/hvigor/hvigor-wrapper.js new file mode 100644 index 0000000..8ff495d --- /dev/null +++ b/hvigor/hvigor-wrapper.js @@ -0,0 +1,4706 @@ +"use strict"; +var e = require("fs"), t = require("path"), n = require("os"), r = require("crypto"), u = require("child_process"), + o = require("constants"), i = require("stream"), s = require("util"), c = require("assert"), a = require("tty"), + l = require("zlib"), f = require("net"); + +function d(e) { + return e && "object" == typeof e && "default" in e ? e : { default: e } +} + +var D = d(e), p = d(t), E = d(n), m = d(r), h = d(u), y = d(o), C = d(i), F = d(s), g = d(c), A = d(a), v = d(l), + S = d(f), + w = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : { + }, + O = {}, b = {}, _ = {}, B = w && w.__importDefault || function (e) { + return e && e.__esModule ? e : { default: e } + }; +Object.defineProperty(_, "__esModule", { value: !0 }), _.isMac = _.isLinux = _.isWindows = void 0; +const P = B(E.default), k = "Windows_NT", x = "Linux", N = "Darwin"; +_.isWindows = function () { + return P.default.type() === k +}, _.isLinux = function () { + return P.default.type() === x +}, _.isMac = function () { + return P.default.type() === N +}; +var I = {}, T = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) +} : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] +}), R = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) +} : function (e, t) { + e.default = t +}), M = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var n in e) "default" !== n && Object.prototype.hasOwnProperty.call(e, n) && T(t, e, n); + return R(t, e), t +}; +Object.defineProperty(I, "__esModule", { value: !0 }), I.hash = void 0; +const L = M(m.default); +I.hash = function (e, t = "md5") { + return L.createHash(t).update(e, "utf-8").digest("hex") +}, function(e){ + var t = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) + } : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] + }), n = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) + } : function (e, t) { + e.default = t + }), r = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var r = {}; + if (null != e) for (var u in e) "default" !== u && Object.prototype.hasOwnProperty.call(e, u) && t(r, e, u); + return n(r, e), r + }; + Object.defineProperty(e, "__esModule", { + value: !0 + }), e.HVIGOR_BOOT_JS_FILE_PATH = e.HVIGOR_PROJECT_DEPENDENCY_PACKAGE_JSON_PATH = e.HVIGOR_PROJECT_DEPENDENCIES_HOME = e.HVIGOR_PROJECT_WRAPPER_HOME = e.HVIGOR_PROJECT_NAME = e.HVIGOR_PROJECT_ROOT_DIR = e.HVIGOR_PROJECT_CACHES_HOME = e.HVIGOR_PNPM_STORE_PATH = e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH = e.HVIGOR_WRAPPER_TOOLS_HOME = e.HVIGOR_USER_HOME = e.DEFAULT_PACKAGE_JSON = e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME = e.PNPM = e.HVIGOR = e.NPM_TOOL = e.PNPM_TOOL = e.HVIGOR_ENGINE_PACKAGE_NAME = void 0; + const u = r(p.default), o = r(E.default), i = _, s = I; + e.HVIGOR_ENGINE_PACKAGE_NAME = "@ohos/hvigor", e.PNPM_TOOL = (0, i.isWindows)() ? "pnpm.cmd" : "pnpm", e.NPM_TOOL = (0, i.isWindows)() ? "npm.cmd" : "npm", e.HVIGOR = "hvigor", e.PNPM = "pnpm", e.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME = "hvigor-config.json5", e.DEFAULT_PACKAGE_JSON = "package.json", e.HVIGOR_USER_HOME = u.resolve(o.homedir(), ".hvigor"), e.HVIGOR_WRAPPER_TOOLS_HOME = u.resolve(e.HVIGOR_USER_HOME, "wrapper", "tools"), e.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH = u.resolve(e.HVIGOR_WRAPPER_TOOLS_HOME, "node_modules", ".bin", e.PNPM_TOOL), e.HVIGOR_PNPM_STORE_PATH = u.resolve(e.HVIGOR_USER_HOME, "caches"), e.HVIGOR_PROJECT_CACHES_HOME = u.resolve(e.HVIGOR_USER_HOME, "project_caches"), e.HVIGOR_PROJECT_ROOT_DIR = process.cwd(), e.HVIGOR_PROJECT_NAME = u.basename((0, s.hash)(e.HVIGOR_PROJECT_ROOT_DIR)), e.HVIGOR_PROJECT_WRAPPER_HOME = u.resolve(e.HVIGOR_PROJECT_ROOT_DIR, e.HVIGOR), e.HVIGOR_PROJECT_DEPENDENCIES_HOME = u.resolve(e.HVIGOR_PROJECT_CACHES_HOME, e.HVIGOR_PROJECT_NAME, "workspace"), e.HVIGOR_PROJECT_DEPENDENCY_PACKAGE_JSON_PATH = u.resolve(e.HVIGOR_PROJECT_DEPENDENCIES_HOME, e.DEFAULT_PACKAGE_JSON), e.HVIGOR_BOOT_JS_FILE_PATH = u.resolve(e.HVIGOR_PROJECT_DEPENDENCIES_HOME, "node_modules", "@ohos", "hvigor", "bin", "hvigor.js") +}(b); +var j = {}, $ = {}; +Object.defineProperty($, "__esModule", { + value: !0 +}), $.logInfoPrintConsole = $.logErrorAndExit = void 0, $.logErrorAndExit = function (e) { + e instanceof Error ? console.error(e.message) : console.error(e), process.exit(-1) +}, $.logInfoPrintConsole = function (e) { + console.log(e) +}; +var H = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) +} : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] +}), J = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) +} : function (e, t) { + e.default = t +}), G = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var n in e) "default" !== n && Object.prototype.hasOwnProperty.call(e, n) && H(t, e, n); + return J(t, e), t +}, V = w && w.__importDefault || function (e) { + return e && e.__esModule ? e : { default: e } +}; +Object.defineProperty(j, "__esModule", { + value: !0 +}), j.isFileExists = j.offlinePluginConversion = j.executeCommand = j.getNpmPath = j.hasNpmPackInPaths = void 0; +const U = h.default, W = G(p.default), z = b, K = $, q = V(D.default); +j.hasNpmPackInPaths = function (e, t) { + try { + return require.resolve(e, { paths: [...t] }),!0 + } catch (e) { + return !1 + } +}, j.getNpmPath = function () { + const e = process.execPath; + return W.join(W.dirname(e), z.NPM_TOOL) +}, j.executeCommand = function (e, t, n) { + 0 !== (0, U.spawnSync)(e, t, n).status && (0, K.logErrorAndExit)(`Error: ${e} ${t} execute failed.See above for details.`) +}, j.offlinePluginConversion = function (e, t) { + return t.startsWith("file:") || t.endsWith(".tgz") ? W.resolve(e, z.HVIGOR, t.replace("file:", "")) : t +}, j.isFileExists = function (e) { + return q.default.existsSync(e) && q.default.statSync(e).isFile() +}, function(e){ + var t = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) + } : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] + }), n = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) + } : function (e, t) { + e.default = t + }), r = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var r = {}; + if (null != e) for (var u in e) "default" !== u && Object.prototype.hasOwnProperty.call(e, u) && t(r, e, u); + return n(r, e), r + }, u = w && w.__importDefault || function (e) { + return e && e.__esModule ? e : { default: e } + }; + Object.defineProperty(e, "__esModule", { + value: !0 + }), e.executeInstallPnpm = e.isPnpmAvailable = e.environmentHandler = e.checkNpmConifg = e.PNPM_VERSION = void 0; + const o = r(D.default), i = b, s = j, c = r(p.default), a = $, l = h.default, f = u(E.default); + e.PNPM_VERSION = "7.30.0", e.checkNpmConifg = function () { + const e = c.resolve(i.HVIGOR_PROJECT_ROOT_DIR, ".npmrc"), t = c.resolve(f.default.homedir(), ".npmrc"); + if ((0, s.isFileExists)(e) || (0, s.isFileExists)(t)) return; + const n = (0, s.getNpmPath)(), + r = (0, l.spawnSync)(n, ["config", "get", "prefix"], { cwd: i.HVIGOR_PROJECT_ROOT_DIR }); + if (0 !== r.status || !r.stdout) return void (0, a.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first."); + const u = c.resolve(`${r.stdout}`.replace(/[\r\n]/gi, ""), ".npmrc"); + (0, s.isFileExists)(u) || (0, a.logErrorAndExit)("Error: The hvigor depends on the npmrc file. Configure the npmrc file first.") + }, e.environmentHandler = function () { + process.env["npm_config_update-notifier"] = "false" + }, e.isPnpmAvailable = function () { + return!!o.existsSync(i.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH) && (0, s.hasNpmPackInPaths)("pnpm", [i.HVIGOR_WRAPPER_TOOLS_HOME]) + }, e.executeInstallPnpm = function () { + (0, a.logInfoPrintConsole)(`Installing pnpm@${e.PNPM_VERSION}...`); + const t = (0, s.getNpmPath)(); + !function(){ + const t = c.resolve(i.HVIGOR_WRAPPER_TOOLS_HOME, i.DEFAULT_PACKAGE_JSON); + try { + o.existsSync(i.HVIGOR_WRAPPER_TOOLS_HOME) || o.mkdirSync(i.HVIGOR_WRAPPER_TOOLS_HOME, { + recursive: !0 + }); + const n = { dependencies: {} }; + n.dependencies[i.PNPM] = e.PNPM_VERSION, o.writeFileSync(t, JSON.stringify(n)) + } catch (e) { + (0, a.logErrorAndExit)(`Error: EPERM: operation not permitted,create ${t} failed.`) + } + }(), (0, s.executeCommand)(t, ["install", "pnpm"], { + cwd: i.HVIGOR_WRAPPER_TOOLS_HOME, + stdio: ["inherit", "inherit", "inherit"], + env: process.env + }), (0, a.logInfoPrintConsole)("Pnpm install success.") + } +}(O); +var Y = {}, X = {}, Z = {}, Q = {}; +Object.defineProperty(Q, "__esModule", { value: !0 }), Q.Unicode = void 0; + +class ee { +} + +Q.Unicode = ee, ee.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/, ee.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/, ee.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/, Object.defineProperty(Z, "__esModule", { + value: !0 +}), Z.JudgeUtil = void 0; +const te = Q; +Z.JudgeUtil = class { + static isIgnoreChar(e) { + return "string" == typeof e && ("\t" === e || "\v" === e || "\f" === e || " " === e || " " === e || "\ufeff" === e || "\n" === e || "\r" === e || "\u2028" === e || "\u2029" === e) + } + + static isSpaceSeparator(e) { + return "string" == typeof e && te.Unicode.Space_Separator.test(e) + } + + static isIdStartChar(e) { + return "string" == typeof e && (e >= "a" && e <= "z" || e >= "A" && e <= "Z" || "$" === e || "_" === e || te.Unicode.ID_Start.test(e)) + } + + static isIdContinueChar(e) { + return "string" == typeof e && (e >= "a" && e <= "z" || e >= "A" && e <= "Z" || e >= "0" && e <= "9" || "$" === e || "_" === e || "‌" === e || "‍" === e || te.Unicode.ID_Continue.test(e)) + } + + static isDigitWithoutZero(e) { + return /[1-9]/.test(e) + } + + static isDigit(e) { + return "string" == typeof e && /[0-9]/.test(e) + } + + static isHexDigit(e) { + return "string" == typeof e && /[0-9A-Fa-f]/.test(e) + } +}; +var ne = {}, re = { fromCallback: function (e) { + return Object.defineProperty((function (...t) { + if ("function" != typeof t[t.length-1]) return new Promise(((n, r) => { + e.call(this, ...t, ((e, t) => null != e ? r(e) : n(t))) + })); + e.apply(this, t) + }), "name", { value: e.name }) +}, fromPromise: function (e) { + return Object.defineProperty((function (...t) { + const n = t[t.length-1]; + if ("function" != typeof n) return e.apply(this, t); + e.apply(this, t.slice(0, -1)).then((e => n(null, e)), n) + }), "name", { value: e.name }) +} }, ue = y.default, oe = process.cwd, ie = null, se = process.env.GRACEFUL_FS_PLATFORM || process.platform; +process.cwd = function () { + return ie || (ie = oe.call(process)), ie +}; +try { + process.cwd() +} catch (e) { +} +if ("function" == typeof process.chdir) { + var ce = process.chdir; + process.chdir = function (e) { + ie = null, ce.call(process, e) + }, Object.setPrototypeOf && Object.setPrototypeOf(process.chdir, ce) +} +var ae = function (e) { + ue.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./) && function(e){ + e.lchmod = function (t, n, r) { + e.open(t, ue.O_WRONLY | ue.O_SYMLINK, n, (function (t, u) { + t ? r && r(t) : e.fchmod(u, n, (function (t) { + e.close(u, (function (e) { + r && r(t || e) + })) + })) + })) + }, e.lchmodSync = function (t, n) { + var r, u = e.openSync(t, ue.O_WRONLY | ue.O_SYMLINK, n), o = !0; + try { + r = e.fchmodSync(u, n), o = !1 + } finally { + if (o) try { + e.closeSync(u) + } catch (e) { + } else e.closeSync(u) + } + return r + } + }(e); + e.lutimes || function(e){ + ue.hasOwnProperty("O_SYMLINK") && e.futimes ? (e.lutimes = function (t, n, r, u) { + e.open(t, ue.O_SYMLINK, (function (t, o) { + t ? u && u(t) : e.futimes(o, n, r, (function (t) { + e.close(o, (function (e) { + u && u(t || e) + })) + })) + })) + }, e.lutimesSync = function (t, n, r) { + var u, o = e.openSync(t, ue.O_SYMLINK), i = !0; + try { + u = e.futimesSync(o, n, r), i = !1 + } finally { + if (i) try { + e.closeSync(o) + } catch (e) { + } else e.closeSync(o) + } + return u + }) : e.futimes && (e.lutimes = function (e, t, n, r) { + r && process.nextTick(r) + }, e.lutimesSync = function () { + }) + }(e); + e.chown = r(e.chown), e.fchown = r(e.fchown), e.lchown = r(e.lchown), e.chmod = t(e.chmod), e.fchmod = t(e.fchmod), e.lchmod = t(e.lchmod), e.chownSync = u(e.chownSync), e.fchownSync = u(e.fchownSync), e.lchownSync = u(e.lchownSync), e.chmodSync = n(e.chmodSync), e.fchmodSync = n(e.fchmodSync), e.lchmodSync = n(e.lchmodSync), e.stat = o(e.stat), e.fstat = o(e.fstat), e.lstat = o(e.lstat), e.statSync = i(e.statSync), e.fstatSync = i(e.fstatSync), e.lstatSync = i(e.lstatSync), e.chmod && !e.lchmod && (e.lchmod = function (e, t, n) { + n && process.nextTick(n) + }, e.lchmodSync = function () { + }); + e.chown && !e.lchown && (e.lchown = function (e, t, n, r) { + r && process.nextTick(r) + }, e.lchownSync = function () { + }); + "win32" === se && (e.rename = "function" != typeof e.rename ? e.rename : function(t){ + + function n(n, r, u) { + var o = Date.now(), i = 0; + t(n, r, (function s(c) { + if (c && ("EACCES" === c.code || "EPERM" === c.code || "EBUSY" === c.code) && Date.now() - o < 6e4) return setTimeout((function () { + e.stat(r, (function (e, o) { + e && "ENOENT" === e.code ? t(n, r, s) : u(c) + })) + }), i), void (i < 100 && (i += 10)); + u && u(c) + })) + } + + return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n + }(e.rename)); + + function t(t) { + return t ? function (n, r, u) { + return t.call(e, n, r, (function (e) { + s(e) && (e = null), u && u.apply(this, arguments) + })) + } : t + } + + function n(t) { + return t ? function (n, r) { + try { + return t.call(e, n, r) + } catch (e) { + if (!s(e)) throw e + } + } : t + } + + function r(t) { + return t ? function (n, r, u, o) { + return t.call(e, n, r, u, (function (e) { + s(e) && (e = null), o && o.apply(this, arguments) + })) + } : t + } + + function u(t) { + return t ? function (n, r, u) { + try { + return t.call(e, n, r, u) + } catch (e) { + if (!s(e)) throw e + } + } : t + } + + function o(t) { + return t ? function (n, r, u) { + + function o(e, t) { + t && (t.uid < 0 && (t.uid += 4294967296), t.gid < 0 && (t.gid += 4294967296)), u && u.apply(this, arguments) + } + + return "function" == typeof r && (u = r, r = null), r ? t.call(e, n, r, o) : t.call(e, n, o) + } : t + } + + function i(t) { + return t ? function (n, r) { + var u = r ? t.call(e, n, r) : t.call(e, n); + return u && (u.uid < 0 && (u.uid += 4294967296), u.gid < 0 && (u.gid += 4294967296)), u + } : t + } + + function s(e) { + return!e || ("ENOSYS" === e.code || !(process.getuid && 0 === process.getuid() || "EINVAL" !== e.code && "EPERM" !== e.code)) + } + + e.read = "function" != typeof e.read ? e.read : function(t){ + + function n(n, r, u, o, i, s) { + var c; + if (s && "function" == typeof s) { + var a = 0; + c = function (l, f, d) { + if (l && "EAGAIN" === l.code && a < 10) return a++, t.call(e, n, r, u, o, i, c); + s.apply(this, arguments) + } + } + return t.call(e, n, r, u, o, i, c) + } + + return Object.setPrototypeOf && Object.setPrototypeOf(n, t), n + }(e.read), e.readSync = "function" != typeof e.readSync ? e.readSync : (c = e.readSync, function (t, n, r, u, o) { + for (var i = 0;; ) try { + return c.call(e, t, n, r, u, o) + } catch (e) { + if ("EAGAIN" === e.code && i < 10) { + i++; + continue + } + throw e + } + }); + var c +}; +var le = C.default.Stream, fe = function (e) { + return { ReadStream: function t(n, r) { + if (!(this instanceof t)) return new t(n, r); + le.call(this); + var u = this; + this.path = n, this.fd = null, this.readable = !0, this.paused = !1, this.flags = "r", this.mode = 438, this.bufferSize = 65536, r = r || { + }; + for (var o = Object.keys(r), i = 0, s = o.length;i < s; i++) { + var c = o[i]; + this[c] = r[c] + } + this.encoding && this.setEncoding(this.encoding); + if (void 0 !== this.start) { + if ("number" != typeof this.start) throw TypeError("start must be a Number"); + if (void 0 === this.end) this.end = 1 / 0; else if ("number" != typeof this.end) throw TypeError("end must be a Number"); + if (this.start > this.end) throw new Error("start must be <= end"); + this.pos = this.start + } + if (null !== this.fd) return void process.nextTick((function () { + u._read() + })); + e.open(this.path, this.flags, this.mode, (function (e, t) { + if (e) return u.emit("error", e), void (u.readable = !1); + u.fd = t, u.emit("open", t), u._read() + })) + }, WriteStream: function t(n, r) { + if (!(this instanceof t)) return new t(n, r); + le.call(this), this.path = n, this.fd = null, this.writable = !0, this.flags = "w", this.encoding = "binary", this.mode = 438, this.bytesWritten = 0, r = r || { + }; + for (var u = Object.keys(r), o = 0, i = u.length;o < i; o++) { + var s = u[o]; + this[s] = r[s] + } + if (void 0 !== this.start) { + if ("number" != typeof this.start) throw TypeError("start must be a Number"); + if (this.start < 0) throw new Error("start must be >= zero"); + this.pos = this.start + } + this.busy = !1, this._queue = [], null === this.fd && (this._open = e.open, this._queue.push([this._open, this.path, this.flags, this.mode, void 0]), this.flush()) + } } +}; +var de = function (e) { + if (null === e || "object" != typeof e) return e; + if (e instanceof Object) var t = { __proto__: De(e) }; else t = Object.create(null); + return Object.getOwnPropertyNames(e).forEach((function (n) { + Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(e, n)) + })), t +}, De = Object.getPrototypeOf || function (e) { + return e.__proto__ +}; +var pe, Ee, me = D.default, he = ae, ye = fe, Ce = de, Fe = F.default; + +function ge(e, t) { + Object.defineProperty(e, pe, { get: function () { + return t + } }) +} + +"function" == typeof Symbol && "function" == typeof Symbol.for ? (pe = Symbol.for("graceful-fs.queue"), Ee = Symbol.for("graceful-fs.previous")) : (pe = "___graceful-fs.queue", Ee = "___graceful-fs.previous"); +var Ae = function () { +}; +if (Fe.debuglog ? Ae = Fe.debuglog("gfs4") : /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && (Ae = function () { + var e = Fe.format.apply(Fe, arguments); + e = "GFS4: " + e.split(/\n/).join("\nGFS4: "), console.error(e) +}),!me[pe]) { + var ve = w[pe] || []; + ge(me, ve), me.close = function(e){ + + function t(t, n) { + return e.call(me, t, (function (e) { + e || _e(), "function" == typeof n && n.apply(this, arguments) + })) + } + + return Object.defineProperty(t, Ee, { value: e }), t + }(me.close), me.closeSync = function(e){ + + function t(t) { + e.apply(me, arguments), _e() + } + + return Object.defineProperty(t, Ee, { value: e }), t + }(me.closeSync), /\bgfs4\b/i.test(process.env.NODE_DEBUG || "") && process.on("exit", (function () { + Ae(me[pe]), g.default.equal(me[pe].length, 0) + })) +} +w[pe] || ge(w, me[pe]); +var Se, we = Oe(Ce(me)); + +function Oe(e) { + he(e), e.gracefulify = Oe, e.createReadStream = function (t, n) { + return new e.ReadStream(t, n) + }, e.createWriteStream = function (t, n) { + return new e.WriteStream(t, n) + }; + var t = e.readFile; + e.readFile = function (e, n, r) { + "function" == typeof n && (r = n, n = null); + return function e(n, r, u, o){ + return t(n, r, (function (t) { + !t || "EMFILE" !== t.code && "ENFILE" !== t.code ? "function" == typeof u && u.apply(this, arguments) : be([e, [n, r, u], t, o || Date.now(), Date.now()]) + })) + }(e, n, r) + }; + var n = e.writeFile; + e.writeFile = function (e, t, r, u) { + "function" == typeof r && (u = r, r = null); + return function e(t, r, u, o, i){ + return n(t, r, u, (function (n) { + !n || "EMFILE" !== n.code && "ENFILE" !== n.code ? "function" == typeof o && o.apply(this, arguments) : be([e, [t, r, u, o], n, i || Date.now(), Date.now()]) + })) + }(e, t, r, u) + }; + var r = e.appendFile; + r && (e.appendFile = function (e, t, n, u) { + "function" == typeof n && (u = n, n = null); + return function e(t, n, u, o, i){ + return r(t, n, u, (function (r) { + !r || "EMFILE" !== r.code && "ENFILE" !== r.code ? "function" == typeof o && o.apply(this, arguments) : be([e, [t, n, u, o], r, i || Date.now(), Date.now()]) + })) + }(e, t, n, u) + }); + var u = e.copyFile; + u && (e.copyFile = function (e, t, n, r) { + "function" == typeof n && (r = n, n = 0); + return function e(t, n, r, o, i){ + return u(t, n, r, (function (u) { + !u || "EMFILE" !== u.code && "ENFILE" !== u.code ? "function" == typeof o && o.apply(this, arguments) : be([e, [t, n, r, o], u, i || Date.now(), Date.now()]) + })) + }(e, t, n, r) + }); + var o = e.readdir; + e.readdir = function (e, t, n) { + "function" == typeof t && (n = t, t = null); + var r = i.test(process.version) ? function (e, t, n, r) { + return o(e, u(e, t, n, r)) + } : function (e, t, n, r) { + return o(e, t, u(e, t, n, r)) + }; + return r(e, t, n); + + function u(e, t, n, u) { + return function (o, i) { + !o || "EMFILE" !== o.code && "ENFILE" !== o.code ? (i && i.sort && i.sort(), "function" == typeof n && n.call(this, o, i)) : be([r, [e, t, n], o, u || Date.now(), Date.now()]) + } + } + }; + var i = /^v[0-5]\./; + if ("v0.8" === process.version.substr(0, 4)) { + var s = ye(e); + d = s.ReadStream, D = s.WriteStream + } + var c = e.ReadStream; + c && (d.prototype = Object.create(c.prototype), d.prototype.open = function () { + var e = this; + E(e.path, e.flags, e.mode, (function (t, n) { + t ? (e.autoClose && e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n), e.read()) + })) + }); + var a = e.WriteStream; + a && (D.prototype = Object.create(a.prototype), D.prototype.open = function () { + var e = this; + E(e.path, e.flags, e.mode, (function (t, n) { + t ? (e.destroy(), e.emit("error", t)) : (e.fd = n, e.emit("open", n)) + })) + }), Object.defineProperty(e, "ReadStream", { get: function () { + return d + }, set: function (e) { + d = e + }, enumerable: !0, configurable: !0 }), Object.defineProperty(e, "WriteStream", { get: function () { + return D + }, set: function (e) { + D = e + }, enumerable: !0, configurable: !0 }); + var l = d; + Object.defineProperty(e, "FileReadStream", { get: function () { + return l + }, set: function (e) { + l = e + }, enumerable: !0, configurable: !0 }); + var f = D; + + function d(e, t) { + return this instanceof d ? (c.apply(this, arguments), this) : d.apply(Object.create(d.prototype), arguments) + } + + function D(e, t) { + return this instanceof D ? (a.apply(this, arguments), this) : D.apply(Object.create(D.prototype), arguments) + } + + Object.defineProperty(e, "FileWriteStream", { get: function () { + return f + }, set: function (e) { + f = e + }, enumerable: !0, configurable: !0 }); + var p = e.open; + + function E(e, t, n, r) { + return "function" == typeof n && (r = n, n = null), function e(t, n, r, u, o){ + return p(t, n, r, (function (i, s) { + !i || "EMFILE" !== i.code && "ENFILE" !== i.code ? "function" == typeof u && u.apply(this, arguments) : be([e, [t, n, r, u], i, o || Date.now(), Date.now()]) + })) + }(e, t, n, r) + } + + return e.open = E, e +} + +function be(e) { + Ae("ENQUEUE", e[0].name, e[1]), me[pe].push(e), Be() +} + +function _e() { + for (var e = Date.now(), t = 0;t < me[pe].length; ++t) me[pe][t].length > 2 && (me[pe][t][3] = e, me[pe][t][4] = e); + Be() +} + +function Be() { + if (clearTimeout(Se), Se = void 0, 0 !== me[pe].length) { + var e = me[pe].shift(), t = e[0], n = e[1], r = e[2], u = e[3], o = e[4]; + if (void 0 === u) Ae("RETRY", t.name, n), t.apply(null, n); else if (Date.now() - u >= 6e4) { + Ae("TIMEOUT", t.name, n); + var i = n.pop(); + "function" == typeof i && i.call(null, r) + } else { + var s = Date.now() - o, c = Math.max(o - u, 1); + s >= Math.min(1.2 * c, 100) ? (Ae("RETRY", t.name, n), t.apply(null, n.concat([u]))) : me[pe].push(e) + } + void 0 === Se && (Se = setTimeout(Be, 0)) + } +} + +process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !me.__patched && (we = Oe(me), me.__patched = !0), function(e){ + const t = re.fromCallback, n = we, + r = ["access", "appendFile", "chmod", "chown", "close", "copyFile", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "lchmod", "lchown", "link", "lstat", "mkdir", "mkdtemp", "open", "opendir", "readdir", "readFile", "readlink", "realpath", "rename", "rm", "rmdir", "stat", "symlink", "truncate", "unlink", "utimes", "writeFile"].filter((e => "function" == typeof n[e])); + Object.assign(e, n), r.forEach((r => { + e[r] = t(n[r]) + })), e.realpath.native = t(n.realpath.native), e.exists = function (e, t) { + return "function" == typeof t ? n.exists(e, t) : new Promise((t => n.exists(e, t))) + }, e.read = function (e, t, r, u, o, i) { + return "function" == typeof i ? n.read(e, t, r, u, o, i) : new Promise(((i, s) => { + n.read(e, t, r, u, o, ((e, t, n) => { + if (e) return s(e); + i({ bytesRead: t, buffer: n }) + })) + })) + }, e.write = function (e, t, ...r) { + return "function" == typeof r[r.length-1] ? n.write(e, t, ...r) : new Promise(((u, o) => { + n.write(e, t, ...r, ((e, t, n) => { + if (e) return o(e); + u({ bytesWritten: t, buffer: n }) + })) + })) + }, "function" == typeof n.writev && (e.writev = function (e, t, ...r) { + return "function" == typeof r[r.length-1] ? n.writev(e, t, ...r) : new Promise(((u, o) => { + n.writev(e, t, ...r, ((e, t, n) => { + if (e) return o(e); + u({ bytesWritten: t, buffers: n }) + })) + })) + }) +}(ne); +var Pe = {}, ke = {}; +const xe = p.default; +ke.checkPath = function (e) { + if ("win32" === process.platform) { + if (/[<>:"|?*]/.test(e.replace(xe.parse(e).root, ""))) { + const t = new Error(`Path contains invalid characters: ${e}`); + throw t.code = "EINVAL", t + } + } +}; +const Ne = ne, {checkPath:Ie} = ke, Te = e => "number" == typeof e ? e : {mode: 511,...e}.mode; +Pe.makeDir = async (e, t) => (Ie(e), Ne.mkdir(e, { + mode: Te(t), + recursive: !0 +})), Pe.makeDirSync = (e, t) => (Ie(e), Ne.mkdirSync(e, { mode: Te(t), recursive: !0 })); +const Re = re.fromPromise, {makeDir:Me,makeDirSync:Le} = Pe, je = Re(Me); +var $e = { + mkdirs: je, + mkdirsSync: Le, + mkdirp: je, + mkdirpSync: Le, + ensureDir: je, + ensureDirSync: Le +}; +const He = re.fromPromise, Je = ne; +var Ge = { pathExists: He((function (e) { + return Je.access(e).then((() =>!0)).catch((() =>!1)) +})), pathExistsSync: Je.existsSync }; +const Ve = we; +var Ue = function (e, t, n, r) { + Ve.open(e, "r+", ((e, u) => { + if (e) return r(e); + Ve.futimes(u, t, n, (e => { + Ve.close(u, (t => { + r && r(e || t) + })) + })) + })) +}, We = function (e, t, n) { + const r = Ve.openSync(e, "r+"); + return Ve.futimesSync(r, t, n), Ve.closeSync(r) +}; +const ze = ne, Ke = p.default, qe = F.default; + +function Ye(e, t, n) { + const r = n.dereference ? e => ze.stat(e, { bigint: !0 }) : e => ze.lstat(e, { bigint: !0 }); + return Promise.all([r(e), r(t).catch((e => { + if ("ENOENT" === e.code) return null; + throw e + }))]).then((([e, t]) => ({ srcStat: e, destStat: t }))) +} + +function Xe(e, t) { + return t.ino && t.dev && t.ino === e.ino && t.dev === e.dev +} + +function Ze(e, t) { + const n = Ke.resolve(e).split(Ke.sep).filter((e => e)), r = Ke.resolve(t).split(Ke.sep).filter((e => e)); + return n.reduce(((e, t, n) => e && r[n] === t),!0) +} + +function Qe(e, t, n) { + return `Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.` +} + +var et = { + checkPaths: function (e, t, n, r, u) { + qe.callbackify(Ye)(e, t, r, ((r, o) => { + if (r) return u(r); + const {srcStat:i,destStat:s} = o; + if (s) { + if (Xe(i, s)) { + const r = Ke.basename(e), o = Ke.basename(t); + return "move" === n && r !== o && r.toLowerCase() === o.toLowerCase() ? u(null, { + srcStat: i, + destStat: s, + isChangingCase: !0 + }) : u(new Error("Source and destination must not be the same.")) + } + if (i.isDirectory() && !s.isDirectory()) return u(new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`)); + if (!i.isDirectory() && s.isDirectory()) return u(new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`)) + } + return i.isDirectory() && Ze(e, t) ? u(new Error(Qe(e, t, n))) : u(null, { srcStat: i, destStat: s }) + })) + }, + checkPathsSync: function (e, t, n, r) { + const {srcStat:u,destStat:o} = function(e, t, n){ + let r; + const u = n.dereference ? e => ze.statSync(e, { bigint: !0 }) : e => ze.lstatSync(e, { bigint: !0 }), + o = u(e); + try { + r = u(t) + } catch (e) { + if ("ENOENT" === e.code) return { srcStat: o, destStat: null }; + throw e + } + return { srcStat: o, destStat: r } + }(e, t, r); + if (o) { + if (Xe(u, o)) { + const r = Ke.basename(e), i = Ke.basename(t); + if ("move" === n && r !== i && r.toLowerCase() === i.toLowerCase()) return { + srcStat: u, + destStat: o, + isChangingCase: !0 + }; + throw new Error("Source and destination must not be the same.") + } + if (u.isDirectory() && !o.isDirectory()) throw new Error(`Cannot overwrite non-directory '${t}' with directory '${e}'.`); + if (!u.isDirectory() && o.isDirectory()) throw new Error(`Cannot overwrite directory '${t}' with non-directory '${e}'.`) + } + if (u.isDirectory() && Ze(e, t)) throw new Error(Qe(e, t, n)); + return { srcStat: u, destStat: o } + }, + checkParentPaths: function e(t, n, r, u, o) { + const i = Ke.resolve(Ke.dirname(t)), s = Ke.resolve(Ke.dirname(r)); + if (s === i || s === Ke.parse(s).root) return o(); + ze.stat(s, { + bigint: !0 + }, ((i, c) => i ? "ENOENT" === i.code ? o() : o(i) : Xe(n, c) ? o(new Error(Qe(t, r, u))) : e(t, n, s, u, o))) + }, + checkParentPathsSync: function e(t, n, r, u) { + const o = Ke.resolve(Ke.dirname(t)), i = Ke.resolve(Ke.dirname(r)); + if (i === o || i === Ke.parse(i).root) return; + let s; + try { + s = ze.statSync(i, { bigint: !0 }) + } catch (e) { + if ("ENOENT" === e.code) return; + throw e + } + if (Xe(n, s)) throw new Error(Qe(t, r, u)); + return e(t, n, i, u) + }, + isSrcSubdir: Ze, + areIdentical: Xe +}; +const tt = we, nt = p.default, rt = $e.mkdirs, ut = Ge.pathExists, ot = Ue, it = et; + +function st(e, t, n, r, u) { + const o = nt.dirname(n); + ut(o, ((i, s) => i ? u(i) : s ? at(e, t, n, r, u) : void rt(o, (o => o ? u(o) : at(e, t, n, r, u))))) +} + +function ct(e, t, n, r, u, o) { + Promise.resolve(u.filter(n, r)).then((i => i ? e(t, n, r, u, o) : o()), (e => o(e))) +} + +function at(e, t, n, r, u) { + (r.dereference ? tt.stat : tt.lstat)(t, ((o, i) => o ? u(o) : i.isDirectory() ? function(e, t, n, r, u, o){ + return t ? Dt(n, r, u, o) : function(e, t, n, r, u){ + tt.mkdir(n, (o => { + if (o) return u(o); + Dt(t, n, r, (t => t ? u(t) : dt(n, e, u))) + })) + }(e.mode, n, r, u, o) + }(i, e, t, n, r, u) : i.isFile() || i.isCharacterDevice() || i.isBlockDevice() ? function(e, t, n, r, u, o){ + return t ? function(e, t, n, r, u){ + if (!r.overwrite) return r.errorOnExist ? u(new Error(`'${n}' already exists`)) : u(); + tt.unlink(n, (o => o ? u(o) : lt(e, t, n, r, u))) + }(e, n, r, u, o) : lt(e, n, r, u, o) + }(i, e, t, n, r, u) : i.isSymbolicLink() ? function(e, t, n, r, u){ + tt.readlink(t, ((t, o) => t ? u(t) : (r.dereference && (o = nt.resolve(process.cwd(), o)), e ? void tt.readlink(n, ((t, i) => t ? "EINVAL" === t.code || "UNKNOWN" === t.code ? tt.symlink(o, n, u) : u(t) : (r.dereference && (i = nt.resolve(process.cwd(), i)), it.isSrcSubdir(o, i) ? u(new Error(`Cannot copy '${o}' to a subdirectory of itself, '${i}'.`)) : e.isDirectory() && it.isSrcSubdir(i, o) ? u(new Error(`Cannot overwrite '${i}' with '${o}'.`)) : function(e, t, n){ + tt.unlink(t, (r => r ? n(r) : tt.symlink(e, t, n))) + }(o, n, u)))) : tt.symlink(o, n, u)))) + }(e, t, n, r, u) : i.isSocket() ? u(new Error(`Cannot copy a socket file: ${t}`)) : i.isFIFO() ? u(new Error(`Cannot copy a FIFO pipe: ${t}`)) : u(new Error(`Unknown file: ${t}`)))) +} + +function lt(e, t, n, r, u) { + tt.copyFile(t, n, (o => o ? u(o) : r.preserveTimestamps ? function(e, t, n, r){ + if (function(e){ + return 0 == (128 & e) + }(e)) return function(e, t, n){ + return dt(e, 128 | t, n) + }(n, e, (u => u ? r(u) : ft(e, t, n, r))); + return ft(e, t, n, r) + }(e.mode, t, n, u) : dt(n, e.mode, u))) +} + +function ft(e, t, n, r) { + !function(e, t, n){ + tt.stat(e, ((e, r) => e ? n(e) : ot(t, r.atime, r.mtime, n))) + }(t, n, (t => t ? r(t) : dt(n, e, r))) +} + +function dt(e, t, n) { + return tt.chmod(e, t, n) +} + +function Dt(e, t, n, r) { + tt.readdir(e, ((u, o) => u ? r(u) : pt(o, e, t, n, r))) +} + +function pt(e, t, n, r, u) { + const o = e.pop(); + return o ? function(e, t, n, r, u, o){ + const i = nt.join(n, t), s = nt.join(r, t); + it.checkPaths(i, s, "copy", u, ((t, c) => { + if (t) return o(t); + const {destStat:a} = c; + !function(e, t, n, r, u){ + r.filter ? ct(at, e, t, n, r, u) : at(e, t, n, r, u) + }(a, i, s, u, (t => t ? o(t) : pt(e, n, r, u, o))) + })) + }(e, o, t, n, r, u) : u() +} + +var Et = function (e, t, n, r) { + "function" != typeof n || r ? "function" == typeof n && (n = { filter: n }) : (r = n, n = { + }), r = r || function () { + }, (n = n || { + }).clobber = !("clobber" in n) || !!n.clobber, n.overwrite = "overwrite" in n ? !!n.overwrite : n.clobber, n.preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269"), it.checkPaths(e, t, "copy", n, ((u, o) => { + if (u) return r(u); + const {srcStat:i,destStat:s} = o; + it.checkParentPaths(e, i, t, "copy", (u => u ? r(u) : n.filter ? ct(st, s, e, t, n, r) : st(s, e, t, n, r))) + })) +}; +const mt = we, ht = p.default, yt = $e.mkdirsSync, Ct = We, Ft = et; + +function gt(e, t, n, r) { + const u = (r.dereference ? mt.statSync : mt.lstatSync)(t); + if (u.isDirectory()) return function(e, t, n, r, u){ + return t ? St(n, r, u) : function(e, t, n, r){ + return mt.mkdirSync(n), St(t, n, r), vt(n, e) + }(e.mode, n, r, u) + }(u, e, t, n, r); + if (u.isFile() || u.isCharacterDevice() || u.isBlockDevice()) return function(e, t, n, r, u){ + return t ? function(e, t, n, r){ + if (r.overwrite) return mt.unlinkSync(n), At(e, t, n, r); + if (r.errorOnExist) throw new Error(`'${n}' already exists`) + }(e, n, r, u) : At(e, n, r, u) + }(u, e, t, n, r); + if (u.isSymbolicLink()) return function(e, t, n, r){ + let u = mt.readlinkSync(t); + r.dereference && (u = ht.resolve(process.cwd(), u)); + if (e) { + let e; + try { + e = mt.readlinkSync(n) + } catch (e) { + if ("EINVAL" === e.code || "UNKNOWN" === e.code) return mt.symlinkSync(u, n); + throw e + } + if (r.dereference && (e = ht.resolve(process.cwd(), e)), Ft.isSrcSubdir(u, e)) throw new Error(`Cannot copy '${u}' to a subdirectory of itself, '${e}'.`); + if (mt.statSync(n).isDirectory() && Ft.isSrcSubdir(e, u)) throw new Error(`Cannot overwrite '${e}' with '${u}'.`); + return function(e, t){ + return mt.unlinkSync(t), mt.symlinkSync(e, t) + }(u, n) + } + return mt.symlinkSync(u, n) + }(e, t, n, r); + if (u.isSocket()) throw new Error(`Cannot copy a socket file: ${t}`); + if (u.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${t}`); + throw new Error(`Unknown file: ${t}`) +} + +function At(e, t, n, r) { + return mt.copyFileSync(t, n), r.preserveTimestamps && function(e, t, n){ + (function (e) { + return 0 == (128 & e) + })(e) && function(e, t){ + vt(e, 128 | t) + }(n, e); + (function (e, t) { + const n = mt.statSync(e); + Ct(t, n.atime, n.mtime) + })(t, n) + }(e.mode, t, n), vt(n, e.mode) +} + +function vt(e, t) { + return mt.chmodSync(e, t) +} + +function St(e, t, n) { + mt.readdirSync(e).forEach((r => function(e, t, n, r){ + const u = ht.join(t, e), o = ht.join(n, e), {destStat:i} = Ft.checkPathsSync(u, o, "copy", r); + return function(e, t, n, r){ + if (!r.filter || r.filter(t, n)) return gt(e, t, n, r) + }(i, u, o, r) + }(r, e, t, n))) +} + +var wt = function (e, t, n) { + "function" == typeof n && (n = { filter: n }), (n = n || { + }).clobber = !("clobber" in n) || !!n.clobber, n.overwrite = "overwrite" in n ? !!n.overwrite : n.clobber, n.preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269"); + const {srcStat:r,destStat:u} = Ft.checkPathsSync(e, t, "copy", n); + return Ft.checkParentPathsSync(e, r, t, "copy"), function(e, t, n, r){ + if (r.filter && !r.filter(t, n)) return; + const u = ht.dirname(n); + mt.existsSync(u) || yt(u); + return gt(e, t, n, r) + }(u, e, t, n) +}; +var Ot = { copy: (0, re.fromCallback)(Et), copySync: wt }; +const bt = we, _t = p.default, Bt = g.default, Pt = "win32" === process.platform; + +function kt(e) { + ["unlink", "chmod", "stat", "lstat", "rmdir", "readdir"].forEach((t => { + e[t] = e[t] || bt[t], e[t+="Sync"] = e[t] || bt[t] + })), e.maxBusyTries = e.maxBusyTries || 3 +} + +function xt(e, t, n) { + let r = 0; + "function" == typeof t && (n = t, t = { + }), Bt(e, "rimraf: missing path"), Bt.strictEqual(typeof e, "string", "rimraf: path should be a string"), Bt.strictEqual(typeof n, "function", "rimraf: callback function required"), Bt(t, "rimraf: invalid options argument provided"), Bt.strictEqual(typeof t, "object", "rimraf: options should be object"), kt(t), Nt(e, t, (function u(o) { + if (o) { + if (("EBUSY" === o.code || "ENOTEMPTY" === o.code || "EPERM" === o.code) && r < t.maxBusyTries) { + r++; + return setTimeout((() => Nt(e, t, u)), 100 * r) + } + "ENOENT" === o.code && (o = null) + } + n(o) + })) +} + +function Nt(e, t, n) { + Bt(e), Bt(t), Bt("function" == typeof n), t.lstat(e, ((r, u) => r && "ENOENT" === r.code ? n(null) : r && "EPERM" === r.code && Pt ? It(e, t, r, n) : u && u.isDirectory() ? Rt(e, t, r, n) : void t.unlink(e, (r => { + if (r) { + if ("ENOENT" === r.code) return n(null); + if ("EPERM" === r.code) return Pt ? It(e, t, r, n) : Rt(e, t, r, n); + if ("EISDIR" === r.code) return Rt(e, t, r, n) + } + return n(r) + })))) +} + +function It(e, t, n, r) { + Bt(e), Bt(t), Bt("function" == typeof r), t.chmod(e, 438, (u => { + u ? r("ENOENT" === u.code ? null : n) : t.stat(e, ((u, o) => { + u ? r("ENOENT" === u.code ? null : n) : o.isDirectory() ? Rt(e, t, n, r) : t.unlink(e, r) + })) + })) +} + +function Tt(e, t, n) { + let r; + Bt(e), Bt(t); + try { + t.chmodSync(e, 438) + } catch (e) { + if ("ENOENT" === e.code) return; + throw n + } + try { + r = t.statSync(e) + } catch (e) { + if ("ENOENT" === e.code) return; + throw n + } + r.isDirectory() ? Lt(e, t, n) : t.unlinkSync(e) +} + +function Rt(e, t, n, r) { + Bt(e), Bt(t), Bt("function" == typeof r), t.rmdir(e, (u => { + !u || "ENOTEMPTY" !== u.code && "EEXIST" !== u.code && "EPERM" !== u.code ? u && "ENOTDIR" === u.code ? r(n) : r(u) : function(e, t, n){ + Bt(e), Bt(t), Bt("function" == typeof n), t.readdir(e, ((r, u) => { + if (r) return n(r); + let o, i = u.length; + if (0 === i) return t.rmdir(e, n); + u.forEach((r => { + xt(_t.join(e, r), t, (r => { + if (!o) return r ? n(o = r) : void (0 == --i && t.rmdir(e, n)) + })) + })) + })) + }(e, t, r) + })) +} + +function Mt(e, t) { + let n; + kt(t = t || { + }), Bt(e, "rimraf: missing path"), Bt.strictEqual(typeof e, "string", "rimraf: path should be a string"), Bt(t, "rimraf: missing options"), Bt.strictEqual(typeof t, "object", "rimraf: options should be object"); + try { + n = t.lstatSync(e) + } catch (n) { + if ("ENOENT" === n.code) return; + "EPERM" === n.code && Pt && Tt(e, t, n) + } + try { + n && n.isDirectory() ? Lt(e, t, null) : t.unlinkSync(e) + } catch (n) { + if ("ENOENT" === n.code) return; + if ("EPERM" === n.code) return Pt ? Tt(e, t, n) : Lt(e, t, n); + if ("EISDIR" !== n.code) throw n; + Lt(e, t, n) + } +} + +function Lt(e, t, n) { + Bt(e), Bt(t); + try { + t.rmdirSync(e) + } catch (r) { + if ("ENOTDIR" === r.code) throw n; + if ("ENOTEMPTY" === r.code || "EEXIST" === r.code || "EPERM" === r.code) !function(e, t){ + if (Bt(e), Bt(t), t.readdirSync(e).forEach((n => Mt(_t.join(e, n), t))),!Pt) { + return t.rmdirSync(e, t) + } + { + const n = Date.now(); + do { + try { + return t.rmdirSync(e, t) + } catch { + } + } while (Date.now() - n < 500) + } + }(e, t); else if ("ENOENT" !== r.code) throw r + } +} + +var jt = xt; +xt.sync = Mt; +const $t = we, Ht = re.fromCallback, Jt = jt; +var Gt = { remove: Ht((function (e, t) { + if ($t.rm) return $t.rm(e, { recursive: !0, force: !0 }, t); + Jt(e, t) +})), removeSync: function (e) { + if ($t.rmSync) return $t.rmSync(e, { recursive: !0, force: !0 }); + Jt.sync(e) +} }; +const Vt = re.fromPromise, Ut = ne, Wt = p.default, zt = $e, Kt = Gt, qt = Vt((async function (e) { + let t; + try { + t = await Ut.readdir(e) + } catch { + return zt.mkdirs(e) + } + return Promise.all(t.map((t => Kt.remove(Wt.join(e, t))))) +})); + +function Yt(e) { + let t; + try { + t = Ut.readdirSync(e) + } catch { + return zt.mkdirsSync(e) + } + t.forEach((t => { + t = Wt.join(e, t), Kt.removeSync(t) + })) +} + +var Xt = { emptyDirSync: Yt, emptydirSync: Yt, emptyDir: qt, emptydir: qt }; +const Zt = re.fromCallback, Qt = p.default, en = we, tn = $e; +var nn = { createFile: Zt((function (e, t) { + + function n() { + en.writeFile(e, "", (e => { + if (e) return t(e); + t() + })) + } + + en.stat(e, ((r, u) => { + if (!r && u.isFile()) return t(); + const o = Qt.dirname(e); + en.stat(o, ((e, r) => { + if (e) return "ENOENT" === e.code ? tn.mkdirs(o, (e => { + if (e) return t(e); + n() + })) : t(e); + r.isDirectory() ? n() : en.readdir(o, (e => { + if (e) return t(e) + })) + })) + })) +})), createFileSync: function (e) { + let t; + try { + t = en.statSync(e) + } catch { + } + if (t && t.isFile()) return; + const n = Qt.dirname(e); + try { + en.statSync(n).isDirectory() || en.readdirSync(n) + } catch (e) { + if (!e || "ENOENT" !== e.code) throw e; + tn.mkdirsSync(n) + } + en.writeFileSync(e, "") +} }; +const rn = re.fromCallback, un = p.default, on = we, sn = $e, cn = Ge.pathExists, {areIdentical:an} = et; +var ln = { createLink: rn((function (e, t, n) { + + function r(e, t) { + on.link(e, t, (e => { + if (e) return n(e); + n(null) + })) + } + + on.lstat(t, ((u, o) => { + on.lstat(e, ((u, i) => { + if (u) return u.message = u.message.replace("lstat", "ensureLink"), n(u); + if (o && an(i, o)) return n(null); + const s = un.dirname(t); + cn(s, ((u, o) => u ? n(u) : o ? r(e, t) : void sn.mkdirs(s, (u => { + if (u) return n(u); + r(e, t) + })))) + })) + })) +})), createLinkSync: function (e, t) { + let n; + try { + n = on.lstatSync(t) + } catch { + } + try { + const t = on.lstatSync(e); + if (n && an(t, n)) return + } catch (e) { + throw e.message = e.message.replace("lstat", "ensureLink"), e + } + const r = un.dirname(t); + return on.existsSync(r) || sn.mkdirsSync(r), on.linkSync(e, t) +} }; +const fn = p.default, dn = we, Dn = Ge.pathExists; +var pn = { symlinkPaths: function (e, t, n) { + if (fn.isAbsolute(e)) return dn.lstat(e, (t => t ? (t.message = t.message.replace("lstat", "ensureSymlink"), n(t)) : n(null, { + toCwd: e, + toDst: e + }))); + { + const r = fn.dirname(t), u = fn.join(r, e); + return Dn(u, ((t, o) => t ? n(t) : o ? n(null, { + toCwd: u, + toDst: e + }) : dn.lstat(e, (t => t ? (t.message = t.message.replace("lstat", "ensureSymlink"), n(t)) : n(null, { + toCwd: e, + toDst: fn.relative(r, e) + }))))) + } +}, symlinkPathsSync: function (e, t) { + let n; + if (fn.isAbsolute(e)) { + if (n = dn.existsSync(e),!n) throw new Error("absolute srcpath does not exist"); + return { toCwd: e, toDst: e } + } + { + const r = fn.dirname(t), u = fn.join(r, e); + if (n = dn.existsSync(u), n) return { toCwd: u, toDst: e }; + if (n = dn.existsSync(e),!n) throw new Error("relative srcpath does not exist"); + return { toCwd: e, toDst: fn.relative(r, e) } + } +} }; +const En = we; +var mn = { symlinkType: function (e, t, n) { + if (n = "function" == typeof t ? t : n, t = "function" != typeof t && t) return n(null, t); + En.lstat(e, ((e, r) => { + if (e) return n(null, "file"); + t = r && r.isDirectory() ? "dir" : "file", n(null, t) + })) +}, symlinkTypeSync: function (e, t) { + let n; + if (t) return t; + try { + n = En.lstatSync(e) + } catch { + return "file" + } + return n && n.isDirectory() ? "dir" : "file" +} }; +const hn = re.fromCallback, yn = p.default, Cn = ne, Fn = $e.mkdirs, gn = $e.mkdirsSync, An = pn.symlinkPaths, + vn = pn.symlinkPathsSync, Sn = mn.symlinkType, wn = mn.symlinkTypeSync, On = Ge.pathExists, {areIdentical:bn} = et; + +function _n(e, t, n, r) { + An(e, t, ((u, o) => { + if (u) return r(u); + e = o.toDst, Sn(o.toCwd, n, ((n, u) => { + if (n) return r(n); + const o = yn.dirname(t); + On(o, ((n, i) => n ? r(n) : i ? Cn.symlink(e, t, u, r) : void Fn(o, (n => { + if (n) return r(n); + Cn.symlink(e, t, u, r) + })))) + })) + })) +} + +var Bn = { createSymlink: hn((function (e, t, n, r) { + r = "function" == typeof n ? n : r, n = "function" != typeof n && n, Cn.lstat(t, ((u, o) => { + !u && o.isSymbolicLink() ? Promise.all([Cn.stat(e), Cn.stat(t)]).then((([u, o]) => { + if (bn(u, o)) return r(null); + _n(e, t, n, r) + })) : _n(e, t, n, r) + })) +})), createSymlinkSync: function (e, t, n) { + let r; + try { + r = Cn.lstatSync(t) + } catch { + } + if (r && r.isSymbolicLink()) { + const n = Cn.statSync(e), r = Cn.statSync(t); + if (bn(n, r)) return + } + const u = vn(e, t); + e = u.toDst, n = wn(u.toCwd, n); + const o = yn.dirname(t); + return Cn.existsSync(o) || gn(o), Cn.symlinkSync(e, t, n) +} }; +const {createFile:Pn,createFileSync:kn} = nn, {createLink:xn,createLinkSync:Nn} = ln, + {createSymlink:In,createSymlinkSync:Tn} = Bn; +var Rn = { + createFile: Pn, + createFileSync: kn, + ensureFile: Pn, + ensureFileSync: kn, + createLink: xn, + createLinkSync: Nn, + ensureLink: xn, + ensureLinkSync: Nn, + createSymlink: In, + createSymlinkSync: Tn, + ensureSymlink: In, + ensureSymlinkSync: Tn +}; +var Mn = { stringify: function (e, {EOL:t = "\n",finalEOL:n = !0,replacer:r = null,spaces:u}={}) { + const o = n ? t : ""; + return JSON.stringify(e, r, u).replace(/\n/g, t) + o +}, stripBom: function (e) { + return Buffer.isBuffer(e) && (e = e.toString("utf8")), e.replace(/^\uFEFF/, "") +} }; +let Ln; +try { + Ln = we +} catch (e) { + Ln = D.default +} +const jn = re, {stringify:$n,stripBom:Hn} = Mn; +const Jn = jn.fromPromise((async function (e, t = {}) { + "string" == typeof t && (t = { encoding: t }); + const n = t.fs || Ln, r = !("throws" in t) || t.throws; + let u, o = await jn.fromCallback(n.readFile)(e, t); + o = Hn(o); + try { + u = JSON.parse(o, t ? t.reviver : null) + } catch (t) { + if (r) throw t.message = `${e}: ${t.message}`, t; + return null + } + return u +})); +const Gn = jn.fromPromise((async function (e, t, n = {}) { + const r = n.fs || Ln, u = $n(t, n); + await jn.fromCallback(r.writeFile)(e, u, n) +})); +const Vn = { readFile: Jn, readFileSync: function (e, t = {}) { + "string" == typeof t && (t = { encoding: t }); + const n = t.fs || Ln, r = !("throws" in t) || t.throws; + try { + let r = n.readFileSync(e, t); + return r = Hn(r), JSON.parse(r, t.reviver) + } catch (t) { + if (r) throw t.message = `${e}: ${t.message}`, t; + return null + } +}, writeFile: Gn, writeFileSync: function (e, t, n = {}) { + const r = n.fs || Ln, u = $n(t, n); + return r.writeFileSync(e, u, n) +} }; +var Un = { + readJson: Vn.readFile, + readJsonSync: Vn.readFileSync, + writeJson: Vn.writeFile, + writeJsonSync: Vn.writeFileSync +}; +const Wn = re.fromCallback, zn = we, Kn = p.default, qn = $e, Yn = Ge.pathExists; +var Xn = { outputFile: Wn((function (e, t, n, r) { + "function" == typeof n && (r = n, n = "utf8"); + const u = Kn.dirname(e); + Yn(u, ((o, i) => o ? r(o) : i ? zn.writeFile(e, t, n, r) : void qn.mkdirs(u, (u => { + if (u) return r(u); + zn.writeFile(e, t, n, r) + })))) +})), outputFileSync: function (e, ...t) { + const n = Kn.dirname(e); + if (zn.existsSync(n)) return zn.writeFileSync(e, ...t); + qn.mkdirsSync(n), zn.writeFileSync(e, ...t) +} }; +const {stringify:Zn} = Mn, {outputFile:Qn} = Xn; +var er = async function (e, t, n = {}) { + const r = Zn(t, n); + await Qn(e, r, n) +}; +const {stringify:tr} = Mn, {outputFileSync:nr} = Xn; +var rr = function (e, t, n) { + const r = tr(t, n); + nr(e, r, n) +}; +const ur = re.fromPromise, or = Un; +or.outputJson = ur(er), or.outputJsonSync = rr, or.outputJSON = or.outputJson, or.outputJSONSync = or.outputJsonSync, or.writeJSON = or.writeJson, or.writeJSONSync = or.writeJsonSync, or.readJSON = or.readJson, or.readJSONSync = or.readJsonSync; +var ir = or; +const sr = we, cr = p.default, ar = Ot.copy, lr = Gt.remove, fr = $e.mkdirp, dr = Ge.pathExists, Dr = et; + +function pr(e, t, n, r, u) { + return r ? Er(e, t, n, u) : n ? lr(t, (r => r ? u(r) : Er(e, t, n, u))) : void dr(t, ((r, o) => r ? u(r) : o ? u(new Error("dest already exists.")) : Er(e, t, n, u))) +} + +function Er(e, t, n, r) { + sr.rename(e, t, (u => u ? "EXDEV" !== u.code ? r(u) : function(e, t, n, r){ + const u = { overwrite: n, errorOnExist: !0 }; + ar(e, t, u, (t => t ? r(t) : lr(e, r))) + }(e, t, n, r) : r())) +} + +var mr = function (e, t, n, r) { + "function" == typeof n && (r = n, n = {}); + const u = n.overwrite || n.clobber || !1; + Dr.checkPaths(e, t, "move", n, ((n, o) => { + if (n) return r(n); + const {srcStat:i,isChangingCase:s = !1} = o; + Dr.checkParentPaths(e, i, t, "move", (n => n ? r(n) : function(e){ + const t = cr.dirname(e); + return cr.parse(t).root === t + }(t) ? pr(e, t, u, s, r) : void fr(cr.dirname(t), (n => n ? r(n) : pr(e, t, u, s, r))))) + })) +}; +const hr = we, yr = p.default, Cr = Ot.copySync, Fr = Gt.removeSync, gr = $e.mkdirpSync, Ar = et; + +function vr(e, t, n) { + try { + hr.renameSync(e, t) + } catch (r) { + if ("EXDEV" !== r.code) throw r; + return function(e, t, n){ + const r = { overwrite: n, errorOnExist: !0 }; + return Cr(e, t, r), Fr(e) + }(e, t, n) + } +} + +var Sr = function (e, t, n) { + const r = (n = n || {}).overwrite || n.clobber || !1, + {srcStat:u,isChangingCase:o = !1} = Ar.checkPathsSync(e, t, "move", n); + return Ar.checkParentPathsSync(e, u, t, "move"), function(e){ + const t = yr.dirname(e); + return yr.parse(t).root === t + }(t) || gr(yr.dirname(t)), function(e, t, n, r){ + if (r) return vr(e, t, n); + if (n) return Fr(t), vr(e, t, n); + if (hr.existsSync(t)) throw new Error("dest already exists."); + return vr(e, t, n) + }(e, t, r, o) +}; +var wr, Or, br, _r, Br, Pr = { move: (0, re.fromCallback)(mr), moveSync: Sr }, kr = { + ...ne, + ...Ot, + ...Xt, + ...Rn, + ...ir, + ...$e, + ...Pr, + ...Xn, + ...Ge, + ...Gt +}, xr = {}, Nr = { exports: {} }, Ir = { exports: {} }; + +function Tr() { + if (Or) return wr; + Or = 1; + var e = 1e3, t = 60 * e, n = 60 * t, r = 24 * n, u = 7 * r, o = 365.25 * r; + + function i(e, t, n, r) { + var u = t >= 1.5 * n; + return Math.round(e / n) + " " + r + (u ? "s" : "") + } + + return wr = function (s, c) { + c = c || {}; + var a = typeof s; + if ("string" === a && s.length > 0) return function(i){ + if ((i = String(i)).length > 100) return; + var s = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(i); + if (!s) return; + var c = parseFloat(s[1]); + switch ((s[2] || "ms").toLowerCase()) { + case "years": + case "year": + case "yrs": + case "yr": + case "y": + return c * o; + case "weeks": + case "week": + case "w": + return c * u; + case "days": + case "day": + case "d": + return c * r; + case "hours": + case "hour": + case "hrs": + case "hr": + case "h": + return c * n; + case "minutes": + case "minute": + case "mins": + case "min": + case "m": + return c * t; + case "seconds": + case "second": + case "secs": + case "sec": + case "s": + return c * e; + case "milliseconds": + case "millisecond": + case "msecs": + case "msec": + case "ms": + return c; + default: + return + } + }(s); + if ("number" === a && isFinite(s)) return c.long ? function(u){ + var o = Math.abs(u); + if (o >= r) return i(u, o, r, "day"); + if (o >= n) return i(u, o, n, "hour"); + if (o >= t) return i(u, o, t, "minute"); + if (o >= e) return i(u, o, e, "second"); + return u + " ms" + }(s) : function(u){ + var o = Math.abs(u); + if (o >= r) return Math.round(u / r) + "d"; + if (o >= n) return Math.round(u / n) + "h"; + if (o >= t) return Math.round(u / t) + "m"; + if (o >= e) return Math.round(u / e) + "s"; + return u + "ms" + }(s); + throw new Error("val is not a non-empty string or a valid number. val=" + JSON.stringify(s)) + } +} + +function Rr() { + if (_r) return br; + return _r = 1, br = function (e) { + + function t(e) { + let r, u, o, i = null; + + function s(...e) { + if (!s.enabled) return; + const n = s, u = Number(new Date), o = u - (r || u); + n.diff = o, n.prev = r, n.curr = u, r = u, e[0] = t.coerce(e[0]), "string" != typeof e[0] && e.unshift("%O"); + let i = 0; + e[0] = e[0].replace(/%([a-zA-Z%])/g, ((r, u) => { + if ("%%" === r) return "%"; + i++; + const o = t.formatters[u]; + if ("function" == typeof o) { + const t = e[i]; + r = o.call(n, t), e.splice(i, 1), i-- + } + return r + })), t.formatArgs.call(n, e); + (n.log || t.log).apply(n, e) + } + + return s.namespace = e, s.useColors = t.useColors(), s.color = t.selectColor(e), s.extend = n, s.destroy = t.destroy, Object.defineProperty(s, "enabled", { + enumerable: !0, + configurable: !1, + get: () => null !== i ? i : (u !== t.namespaces && (u = t.namespaces, o = t.enabled(e)), o), + set: e => { + i = e + } + }), "function" == typeof t.init && t.init(s), s + } + + function n(e, n) { + const r = t(this.namespace + (void 0 === n ? ":" : n) + e); + return r.log = this.log, r + } + + function r(e) { + return e.toString().substring(2, e.toString().length - 2).replace(/\.\*\?$/, "*") + } + + return t.debug = t, t.default = t, t.coerce = function (e) { + if (e instanceof Error) return e.stack || e.message; + return e + }, t.disable = function () { + const e = [...t.names.map(r), ...t.skips.map(r).map((e => "-" + e))].join(","); + return t.enable(""), e + }, t.enable = function (e) { + let n; + t.save(e), t.namespaces = e, t.names = [], t.skips = []; + const r = ("string" == typeof e ? e : "").split(/[\s,]+/), u = r.length; + for (n = 0; n < u; n++) r[n] && ("-" === (e = r[n].replace(/\*/g, ".*?"))[0] ? t.skips.push(new RegExp("^" + e.slice(1) + "$")) : t.names.push(new RegExp("^" + e + "$"))) + }, t.enabled = function (e) { + if ("*" === e[e.length-1]) return !0; + let n, r; + for (n = 0, r = t.skips.length; n < r; n++) if (t.skips[n].test(e)) return !1; + for (n = 0, r = t.names.length; n < r; n++) if (t.names[n].test(e)) return !0; + return !1 + }, t.humanize = Tr(), t.destroy = function () { + console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.") + }, Object.keys(e).forEach((n => { + t[n] = e[n] + })), t.names = [], t.skips = [], t.formatters = {}, t.selectColor = function (e) { + let n = 0; + for (let t = 0;t < e.length; t++) n = (n << 5) - n + e.charCodeAt(t), n |= 0; + return t.colors[Math.abs(n)%t.colors.length] + }, t.enable(t.load()), t + }, br +} + +var Mr, Lr, jr, $r, Hr, Jr, Gr = { exports: {} }; + +function Vr() { + return Lr ? Mr : (Lr = 1, Mr = (e, t = process.argv) => { + const n = e.startsWith("-") ? "" : 1 === e.length ? "-" : "--", r = t.indexOf(n + e), u = t.indexOf("--"); + return -1 !== r && (-1 === u || r < u) + }) +} + +function Ur() { + return Hr || (Hr = 1, function(e, t){ + const n = A.default, r = F.default; + t.init = function (e) { + e.inspectOpts = {}; + const n = Object.keys(t.inspectOpts); + for (let r = 0;r < n.length; r++) e.inspectOpts[n[r]] = t.inspectOpts[n[r]] + }, t.log = function (...e) { + return process.stderr.write(r.format(...e) + "\n") + }, t.formatArgs = function (n) { + const {namespace:r,useColors:u} = this; + if (u) { + const t = this.color, u = "[3" + (t < 8 ? t : "8;5;" + t), o = ` ${u};1m${r} `; + n[0] = o + n[0].split("\n").join("\n" + o), n.push(u + "m+" + e.exports.humanize(this.diff) + "") + } else n[0] = function(){ + if (t.inspectOpts.hideDate) return ""; + return (new Date).toISOString() + " " + }() + r + " " + n[0] + }, t.save = function (e) { + e ? process.env.DEBUG = e : delete process.env.DEBUG + }, t.load = function () { + return process.env.DEBUG + }, t.useColors = function () { + return "colors" in t.inspectOpts ? Boolean(t.inspectOpts.colors) : n.isatty(process.stderr.fd) + }, t.destroy = r.deprecate((() => { + }), "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."), t.colors = [6, 2, 3, 4, 5, 1]; + try { + const e = function(){ + if ($r) return jr; + $r = 1; + const e = E.default, t = A.default, n = Vr(), {env:r} = process; + let u; + + function o(e) { + return 0 !== e && { level: e, hasBasic: !0, has256: e >= 2, has16m: e >= 3 } + } + + function i(t, o) { + if (0 === u) return 0; + if (n("color=16m") || n("color=full") || n("color=truecolor")) return 3; + if (n("color=256")) return 2; + if (t && !o && void 0 === u) return 0; + const i = u || 0; + if ("dumb" === r.TERM) return i; + if ("win32" === process.platform) { + const t = e.release().split("."); + return Number(t[0]) >= 10 && Number(t[2]) >= 10586 ? Number(t[2]) >= 14931 ? 3 : 2 : 1 + } + if ("CI" in r) return ["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((e => e in r)) || "codeship" === r.CI_NAME ? 1 : i; + if ("TEAMCITY_VERSION" in r) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(r.TEAMCITY_VERSION) ? 1 : 0; + if ("truecolor" === r.COLORTERM) return 3; + if ("TERM_PROGRAM" in r) { + const e = parseInt((r.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (r.TERM_PROGRAM) { + case "iTerm.app": + return e >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2 + } + } + return /-256(color)?$/i.test(r.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(r.TERM) || "COLORTERM" in r ? 1 : i + } + + return n("no-color") || n("no-colors") || n("color=false") || n("color=never") ? u = 0 : (n("color") || n("colors") || n("color=true") || n("color=always")) && (u = 1), "FORCE_COLOR" in r && (u = "true" === r.FORCE_COLOR ? 1 : "false" === r.FORCE_COLOR ? 0 : 0 === r.FORCE_COLOR.length ? 1 : Math.min(parseInt(r.FORCE_COLOR, 10), 3)), jr = { + supportsColor: function (e) { + return o(i(e, e && e.isTTY)) + }, + stdout: o(i(!0, t.isatty(1))), + stderr: o(i(!0, t.isatty(2))) + } + }(); + e && (e.stderr || e).level >= 2 && (t.colors = [20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 214, 215, 220, 221]) + } catch (e) { + } + t.inspectOpts = Object.keys(process.env).filter((e => /^debug_/i.test(e))).reduce(((e, t) => { + const n = t.substring(6).toLowerCase().replace(/_([a-z])/g, ((e, t) => t.toUpperCase())); + let r = process.env[t]; + return r = !!/^(yes|on|true|enabled)$/i.test(r) || !/^(no|off|false|disabled)$/i.test(r) && ("null" === r ? null : Number(r)), e[n] = r, e + }), {}), e.exports = Rr()(t); + const {formatters:u} = e.exports; + u.o = function (e) { + return this.inspectOpts.colors = this.useColors, r.inspect(e, this.inspectOpts).split("\n").map((e => e.trim())).join(" ") + }, u.O = function (e) { + return this.inspectOpts.colors = this.useColors, r.inspect(e, this.inspectOpts) + } + }(Gr, Gr.exports)), Gr.exports +} + +Jr = Nr, "undefined" == typeof process || "renderer" === process.type || !0 === process.browser || process.__nwjs ? Jr.exports = (Br || (Br = 1, function(e, t){ + t.formatArgs = function (t) { + if (t[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + t[0] + (this.useColors ? "%c " : " ") + "+" + e.exports.humanize(this.diff),!this.useColors) return; + const n = "color: " + this.color; + t.splice(1, 0, n, "color: inherit"); + let r = 0, u = 0; + t[0].replace(/%[a-zA-Z%]/g, (e => { + "%%" !== e && (r++, "%c" === e && (u = r)) + })), t.splice(u, 0, n) + }, t.save = function (e) { + try { + e ? t.storage.setItem("debug", e) : t.storage.removeItem("debug") + } catch (e) { + } + }, t.load = function () { + let e; + try { + e = t.storage.getItem("debug") + } catch (e) { + } + return!e && "undefined" != typeof process && "env" in process && (e = process.env.DEBUG), e + }, t.useColors = function () { + return!("undefined" == typeof window || !window.process || "renderer" !== window.process.type && !window.process.__nwjs) || ("undefined" == typeof navigator || !navigator.userAgent || !navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) && ("undefined" != typeof document && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || "undefined" != typeof window && window.console && (window.console.firebug || window.console.exception && window.console.table) || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || "undefined" != typeof navigator && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)) + }, t.storage = function(){ + try { + return localStorage + } catch (e) { + } + }(), t.destroy = (() => { + let e = !1; + return () => { + e || (e = !0, console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")) + } + })(), t.colors = ["#0000CC", "#0000FF", "#0033CC", "#0033FF", "#0066CC", "#0066FF", "#0099CC", "#0099FF", "#00CC00", "#00CC33", "#00CC66", "#00CC99", "#00CCCC", "#00CCFF", "#3300CC", "#3300FF", "#3333CC", "#3333FF", "#3366CC", "#3366FF", "#3399CC", "#3399FF", "#33CC00", "#33CC33", "#33CC66", "#33CC99", "#33CCCC", "#33CCFF", "#6600CC", "#6600FF", "#6633CC", "#6633FF", "#66CC00", "#66CC33", "#9900CC", "#9900FF", "#9933CC", "#9933FF", "#99CC00", "#99CC33", "#CC0000", "#CC0033", "#CC0066", "#CC0099", "#CC00CC", "#CC00FF", "#CC3300", "#CC3333", "#CC3366", "#CC3399", "#CC33CC", "#CC33FF", "#CC6600", "#CC6633", "#CC9900", "#CC9933", "#CCCC00", "#CCCC33", "#FF0000", "#FF0033", "#FF0066", "#FF0099", "#FF00CC", "#FF00FF", "#FF3300", "#FF3333", "#FF3366", "#FF3399", "#FF33CC", "#FF33FF", "#FF6600", "#FF6633", "#FF9900", "#FF9933", "#FFCC00", "#FFCC33"], t.log = console.debug || console.log || (() => { + }), e.exports = Rr()(t); + const {formatters:n} = e.exports; + n.j = function (e) { + try { + return JSON.stringify(e) + } catch (e) { + return "[UnexpectedJSONParseError]: " + e.message + } + } +}(Ir, Ir.exports)), Ir.exports) : Jr.exports = Ur(); +var Wr = function (e) { + return (e = e || {}).circles ? function(e){ + var t = [], n = []; + return e.proto ? function e(u) { + if ("object" != typeof u || null === u) return u; + if (u instanceof Date) return new Date(u); + if (Array.isArray(u)) return r(u, e); + if (u instanceof Map) return new Map(r(Array.from(u), e)); + if (u instanceof Set) return new Set(r(Array.from(u), e)); + var o = {}; + for (var i in t.push(u), n.push(o), u) { + var s = u[i]; + if ("object" != typeof s || null === s) o[i] = s; else if (s instanceof Date) o[i] = new Date(s); else if (s instanceof Map) o[i] = new Map(r(Array.from(s), e)); else if (s instanceof Set) o[i] = new Set(r(Array.from(s), e)); else if (ArrayBuffer.isView(s)) o[i] = zr(s); else { + var c = t.indexOf(s); + o[i] = -1 !== c ? n[c] : e(s) + } + } + return t.pop(), n.pop(), o + } : function e(u) { + if ("object" != typeof u || null === u) return u; + if (u instanceof Date) return new Date(u); + if (Array.isArray(u)) return r(u, e); + if (u instanceof Map) return new Map(r(Array.from(u), e)); + if (u instanceof Set) return new Set(r(Array.from(u), e)); + var o = {}; + for (var i in t.push(u), n.push(o), u) if (!1 !== Object.hasOwnProperty.call(u, i)) { + var s = u[i]; + if ("object" != typeof s || null === s) o[i] = s; else if (s instanceof Date) o[i] = new Date(s); else if (s instanceof Map) o[i] = new Map(r(Array.from(s), e)); else if (s instanceof Set) o[i] = new Set(r(Array.from(s), e)); else if (ArrayBuffer.isView(s)) o[i] = zr(s); else { + var c = t.indexOf(s); + o[i] = -1 !== c ? n[c] : e(s) + } + } + return t.pop(), n.pop(), o + }; + + function r(e, r) { + for (var u = Object.keys(e), o = new Array(u.length), i = 0;i < u.length; i++) { + var s = u[i], c = e[s]; + if ("object" != typeof c || null === c) o[s] = c; else if (c instanceof Date) o[s] = new Date(c); else if (ArrayBuffer.isView(c)) o[s] = zr(c); else { + var a = t.indexOf(c); + o[s] = -1 !== a ? n[a] : r(c) + } + } + return o + } + }(e) : e.proto ? function e(n) { + if ("object" != typeof n || null === n) return n; + if (n instanceof Date) return new Date(n); + if (Array.isArray(n)) return t(n, e); + if (n instanceof Map) return new Map(t(Array.from(n), e)); + if (n instanceof Set) return new Set(t(Array.from(n), e)); + var r = {}; + for (var u in n) { + var o = n[u]; + "object" != typeof o || null === o ? r[u] = o : o instanceof Date ? r[u] = new Date(o) : o instanceof Map ? r[u] = new Map(t(Array.from(o), e)) : o instanceof Set ? r[u] = new Set(t(Array.from(o), e)) : ArrayBuffer.isView(o) ? r[u] = zr(o) : r[u] = e(o) + } + return r + } : n; + + function t(e, t) { + for (var n = Object.keys(e), r = new Array(n.length), u = 0;u < n.length; u++) { + var o = n[u], i = e[o]; + "object" != typeof i || null === i ? r[o] = i : i instanceof Date ? r[o] = new Date(i) : ArrayBuffer.isView(i) ? r[o] = zr(i) : r[o] = t(i) + } + return r + } + + function n(e) { + if ("object" != typeof e || null === e) return e; + if (e instanceof Date) return new Date(e); + if (Array.isArray(e)) return t(e, n); + if (e instanceof Map) return new Map(t(Array.from(e), n)); + if (e instanceof Set) return new Set(t(Array.from(e), n)); + var r = {}; + for (var u in e) if (!1 !== Object.hasOwnProperty.call(e, u)) { + var o = e[u]; + "object" != typeof o || null === o ? r[u] = o : o instanceof Date ? r[u] = new Date(o) : o instanceof Map ? r[u] = new Map(t(Array.from(o), n)) : o instanceof Set ? r[u] = new Set(t(Array.from(o), n)) : ArrayBuffer.isView(o) ? r[u] = zr(o) : r[u] = n(o) + } + return r + } +}; + +function zr(e) { + return e instanceof Buffer ? Buffer.from(e) : new e.constructor(e.buffer.slice(), e.byteOffset, e.length) +} + +const Kr = F.default, qr = Nr.exports("log4js:configuration"), Yr = [], Xr = [], Zr = e =>!e, + Qr = e => e && "object" == typeof e && !Array.isArray(e), eu = (e, t, n) => { + (Array.isArray(t) ? t : [t]).forEach((t => { + if (t) throw new Error(`Problem with log4js configuration: (${Kr.inspect(e, { depth: 5 })}) - ${n}`) + })) + }; +var tu = { + configure: e => { + qr("New configuration to be validated: ", e), eu(e, Zr(Qr(e)), "must be an object."), qr(`Calling pre-processing listeners (${Yr.length})`), Yr.forEach((t => t(e))), qr("Configuration pre-processing finished."), qr(`Calling configuration listeners (${Xr.length})`), Xr.forEach((t => t(e))), qr("Configuration finished.") + }, + addListener: e => { + Xr.push(e), qr(`Added listener, now ${Xr.length} listeners`) + }, + addPreProcessingListener: e => { + Yr.push(e), qr(`Added pre-processing listener, now ${Yr.length} listeners`) + }, + throwExceptionIf: eu, + anObject: Qr, + anInteger: e => e && "number" == typeof e && Number.isInteger(e), + validIdentifier: e => /^[A-Za-z][A-Za-z0-9_]*$/g.test(e), + not: Zr +}, nu = { exports: {} }; +!function(e){ + + function t(e, t) { + for (var n = e.toString();n.length < t; ) n = "0" + n; + return n + } + + function n(e) { + return t(e, 2) + } + + function r(r, u) { + "string" != typeof r && (u = r, r = e.exports.ISO8601_FORMAT), u || (u = e.exports.now()); + var o = n(u.getDate()), i = n(u.getMonth() + 1), s = n(u.getFullYear()), c = n(s.substring(2, 4)), + a = r.indexOf("yyyy") > -1 ? s : c, l = n(u.getHours()), f = n(u.getMinutes()), d = n(u.getSeconds()), + D = t(u.getMilliseconds(), 3), p = function(e){ + var t = Math.abs(e), n = String(Math.floor(t / 60)), r = String(t % 60); + return n = ("0" + n).slice(-2), r = ("0" + r).slice(-2), 0 === e ? "Z" : (e < 0 ? "+" : "-") + n + ":" + r + }(u.getTimezoneOffset()); + return r.replace(/dd/g, o).replace(/MM/g, i).replace(/y{1,4}/g, a).replace(/hh/g, l).replace(/mm/g, f).replace(/ss/g, d).replace(/SSS/g, D).replace(/O/g, p) + } + + function u(e, t, n, r) { + e["set" + (r ? "" : "UTC")+t](n) + } + + e.exports = r, e.exports.asString = r, e.exports.parse = function (t, n, r) { + if (!t) throw new Error("pattern must be supplied"); + return function(t, n, r){ + var o = t.indexOf("O") < 0, i = !1, s = [{ pattern: /y{1,4}/, regexp: "\\d{1,4}", fn: function (e, t) { + u(e, "FullYear", t, o) + } }, { pattern: /MM/, regexp: "\\d{1,2}", fn: function (e, t) { + u(e, "Month", t - 1, o), e.getMonth() !== t - 1 && (i = !0) + } }, { pattern: /dd/, regexp: "\\d{1,2}", fn: function (e, t) { + i && u(e, "Month", e.getMonth() - 1, o), u(e, "Date", t, o) + } }, { pattern: /hh/, regexp: "\\d{1,2}", fn: function (e, t) { + u(e, "Hours", t, o) + } }, { pattern: /mm/, regexp: "\\d\\d", fn: function (e, t) { + u(e, "Minutes", t, o) + } }, { pattern: /ss/, regexp: "\\d\\d", fn: function (e, t) { + u(e, "Seconds", t, o) + } }, { pattern: /SSS/, regexp: "\\d\\d\\d", fn: function (e, t) { + u(e, "Milliseconds", t, o) + } }, { pattern: /O/, regexp: "[+-]\\d{1,2}:?\\d{2}?|Z", fn: function (e, t) { + t = "Z" === t ? 0 : t.replace(":", ""); + var n = Math.abs(t), r = (t > 0 ? -1 : 1) * (n % 100 + 60 * Math.floor(n / 100)); + e.setUTCMinutes(e.getUTCMinutes() + r) + } }], c = s.reduce((function (e, t) { + return t.pattern.test(e.regexp) ? (t.index = e.regexp.match(t.pattern).index, e.regexp = e.regexp.replace(t.pattern, "(" + t.regexp + ")")) : t.index = -1, e + }), { regexp: t, index: [] }), a = s.filter((function (e) { + return e.index > -1 + })); + a.sort((function (e, t) { + return e.index - t.index + })); + var l = new RegExp(c.regexp).exec(n); + if (l) { + var f = r || e.exports.now(); + return a.forEach((function (e, t) { + e.fn(f, l[t+1]) + })), f + } + throw new Error("String '" + n + "' could not be parsed as '" + t + "'") + }(t, n, r) + }, e.exports.now = function () { + return new Date + }, e.exports.ISO8601_FORMAT = "yyyy-MM-ddThh:mm:ss.SSS", e.exports.ISO8601_WITH_TZ_OFFSET_FORMAT = "yyyy-MM-ddThh:mm:ss.SSSO", e.exports.DATETIME_FORMAT = "dd MM yyyy hh:mm:ss.SSS", e.exports.ABSOLUTETIME_FORMAT = "hh:mm:ss.SSS" +}(nu); +const ru = nu.exports, uu = E.default, ou = F.default, iu = p.default, su = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [90, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [91, 39], + yellow: [33, 39] +}; + +function cu(e) { + return e ? `[${su[e][0]}m` : "" +} + +function au(e) { + return e ? `[${su[e][1]}m` : "" +} + +function lu(e, t) { + return n = ou.format("[%s] [%s] %s - ", ru.asString(e.startTime), e.level.toString(), e.categoryName), cu(r = t) + n + au(r); + var n, r +} + +function fu(e) { + return lu(e) + ou.format(...e.data) +} + +function du(e) { + return lu(e, e.level.colour) + ou.format(...e.data) +} + +function Du(e) { + return ou.format(...e.data) +} + +function pu(e) { + return e.data[0] +} + +function Eu(e, t) { + const n = /%(-?[0-9]+)?(\.?-?[0-9]+)?([[\]cdhmnprzxXyflos%])(\{([^}]+)\})?|([^%]+)/; + + function r(e) { + return e && e.pid ? e.pid.toString() : process.pid.toString() + } + + e = e || "%r %p %c - %m%n"; + const u = { + c: function (e, t) { + let n = e.categoryName; + if (t) { + const e = parseInt(t, 10), r = n.split("."); + e < r.length && (n = r.slice(r.length - e).join(".")) + } + return n + }, + d: function (e, t) { + let n = ru.ISO8601_FORMAT; + return t && (n = t, "ISO8601" === n ? n = ru.ISO8601_FORMAT : "ISO8601_WITH_TZ_OFFSET" === n ? n = ru.ISO8601_WITH_TZ_OFFSET_FORMAT : "ABSOLUTE" === n ? n = ru.ABSOLUTETIME_FORMAT : "DATE" === n && (n = ru.DATETIME_FORMAT)), ru.asString(n, e.startTime) + }, + h: function () { + return uu.hostname().toString() + }, + m: function (e) { + return ou.format(...e.data) + }, + n: function () { + return uu.EOL + }, + p: function (e) { + return e.level.toString() + }, + r: function (e) { + return ru.asString("hh:mm:ss", e.startTime) + }, + "[": function (e) { + return cu(e.level.colour) + }, + "]": function (e) { + return au(e.level.colour) + }, + y: function () { + return r() + }, + z: r, + "%": function () { + return "%" + }, + x: function (e, n) { + return void 0 !== t[n] ? "function" == typeof t[n] ? t[n](e) : t[n] : null + }, + X: function (e, t) { + const n = e.context[t]; + return void 0 !== n ? "function" == typeof n ? n(e) : n : null + }, + f: function (e, t) { + let n = e.fileName || ""; + if (t) { + const e = parseInt(t, 10), r = n.split(iu.sep); + r.length > e && (n = r.slice(-e).join(iu.sep)) + } + return n + }, + l: function (e) { + return e.lineNumber ? `${e.lineNumber}` : "" + }, + o: function (e) { + return e.columnNumber ? `${e.columnNumber}` : "" + }, + s: function (e) { + return e.callStack || "" + } + }; + + function o(e, t, n) { + return u[e](t, n) + } + + function i(e, t, n) { + let r = e; + return r = function(e, t){ + let n; + return e ? (n = parseInt(e.substr(1), 10), n > 0 ? t.slice(0, n) : t.slice(n)) : t + }(t, r), r = function(e, t){ + let n; + if (e) if ("-" === e.charAt(0)) for (n = parseInt(e.substr(1), 10); t.length < n; ) t += " "; else for (n = parseInt(e, 10); t.length < n; ) t = ` ${t}`; + return t + }(n, r), r + } + + return function (t) { + let r, u = "", s = e; + for (; null !== (r = n.exec(s)); ) { + const e = r[1], n = r[2], c = r[3], a = r[5], l = r[6]; + if (l) u += l.toString(); else { + u += i(o(c, t, a), n, e) + } + s = s.substr(r.index + r[0].length) + } + return u + } +} + +const mu = { + messagePassThrough: () => Du, + basic: () => fu, + colored: () => du, + coloured: () => du, + pattern: e => Eu(e && e.pattern, e && e.tokens), + dummy: () => pu +}; +var hu = { + basicLayout: fu, + messagePassThroughLayout: Du, + patternLayout: Eu, + colouredLayout: du, + coloredLayout: du, + dummyLayout: pu, + addLayout(e, t) { + mu[e] = t + }, + layout: (e, t) => mu[e] && mu[e](t) +}; +const yu = tu, Cu = ["white", "grey", "black", "blue", "cyan", "green", "magenta", "red", "yellow"]; + +class Fu { + constructor(e, t, n) { + this.level = e, this.levelStr = t, this.colour = n + } + + toString() { + return this.levelStr + } + + static getLevel(e, t) { + return e ? e instanceof Fu ? e : (e instanceof Object && e.levelStr && (e = e.levelStr), Fu[e.toString().toUpperCase()] || t) : t + } + + static addLevels(e) { + if (e) { + Object.keys(e).forEach((t => { + const n = t.toUpperCase(); + Fu[n] = new Fu(e[t].value, n, e[t].colour); + const r = Fu.levels.findIndex((e => e.levelStr === n)); + r > -1 ? Fu.levels[r] = Fu[n] : Fu.levels.push(Fu[n]) + })), Fu.levels.sort(((e, t) => e.level - t.level)) + } + } + + isLessThanOrEqualTo(e) { + return "string" == typeof e && (e = Fu.getLevel(e)), this.level <= e.level + } + + isGreaterThanOrEqualTo(e) { + return "string" == typeof e && (e = Fu.getLevel(e)), this.level >= e.level + } + + isEqualTo(e) { + return "string" == typeof e && (e = Fu.getLevel(e)), this.level === e.level + } +} + +Fu.levels = [], Fu.addLevels({ + ALL: { value: Number.MIN_VALUE, colour: "grey" }, + TRACE: { value: 5e3, colour: "blue" }, + DEBUG: { value: 1e4, colour: "cyan" }, + INFO: { value: 2e4, colour: "green" }, + WARN: { value: 3e4, colour: "yellow" }, + ERROR: { value: 4e4, colour: "red" }, + FATAL: { value: 5e4, colour: "magenta" }, + MARK: { value: 9007199254740992, colour: "grey" }, + OFF: { value: Number.MAX_VALUE, colour: "grey" } +}), yu.addListener((e => { + const t = e.levels; + if (t) { + yu.throwExceptionIf(e, yu.not(yu.anObject(t)), "levels must be an object"); + Object.keys(t).forEach((n => { + yu.throwExceptionIf(e, yu.not(yu.validIdentifier(n)), `level name "${n}" is not a valid identifier (must start with a letter, only contain A-Z,a-z,0-9,_)`), yu.throwExceptionIf(e, yu.not(yu.anObject(t[n])), `level "${n}" must be an object`), yu.throwExceptionIf(e, yu.not(t[n].value), `level "${n}" must have a 'value' property`), yu.throwExceptionIf(e, yu.not(yu.anInteger(t[n].value)), `level "${n}".value must have an integer value`), yu.throwExceptionIf(e, yu.not(t[n].colour), `level "${n}" must have a 'colour' property`), yu.throwExceptionIf(e, yu.not(Cu.indexOf(t[n].colour) > -1), `level "${n}".colour must be one of ${Cu.join(", ")}`) + })) + } +})), yu.addListener((e => { + Fu.addLevels(e.levels) +})); +var gu = Fu, Au = { exports: {} }, vu = {}; /*! (c) 2020 Andrea Giammarchi */ +const {parse:Su,stringify:wu} = JSON, {keys:Ou} = Object, bu = String, _u = "string", Bu = {}, Pu = "object", + ku = (e, t) => t, xu = e => e instanceof bu ? bu(e) : e, Nu = (e, t) => typeof t === _u ? new bu(t) : t, + Iu = (e, t, n, r) => { + const u = []; + for (let o = Ou(n), {length:i} = o, s = 0;s < i; s++) { + const i = o[s], c = n[i]; + if (c instanceof bu) { + const o = e[c]; + typeof o !== Pu || t.has(o) ? n[i] = r.call(n, i, o) : (t.add(o), n[i] = Bu, u.push({ + k: i, + a: [e, t, o, r] + })) + } else n[i] !== Bu && (n[i] = r.call(n, i, c)) + } + for (let {length:e} = u, t = 0;t < e; t++) { + const {k:e,a:o} = u[t]; + n[e] = r.call(n, e, Iu.apply(null, o)) + } + return n + }, Tu = (e, t, n) => { + const r = bu(t.push(n) - 1); + return e.set(n, r), r + }, Ru = (e, t) => { + const n = Su(e, Nu).map(xu), r = n[0], u = t || ku, o = typeof r === Pu && r ? Iu(n, new Set, r, u) : r; + return u.call({ "": o }, "", o) + }; +vu.parse = Ru; +const Mu = (e, t, n) => { + const r = t && typeof t === Pu ? (e, n) => "" === e || -1 < t.indexOf(e) ? n : void 0 : t || ku, u = new Map, + o = [], i = []; + let s = +Tu(u, o, r.call({ "": e }, "", e)), c = !s; + for (; s < o.length; ) c = !0, i[s] = wu(o[s++], a, n); + return "[" + i.join(",") + "]"; + + function a(e, t) { + if (c) return c = !c, t; + const n = r.call(this, e, t); + switch (typeof n) { + case Pu: + if (null === n) return n; + case _u: + return u.get(n) || Tu(u, o, n) + } + return n + } +}; +vu.stringify = Mu; +vu.toJSON = e => Su(Mu(e)); +vu.fromJSON = e => Ru(wu(e)); +const Lu = vu, ju = gu; + +class $u { + constructor(e, t, n, r, u) { + this.startTime = new Date, this.categoryName = e, this.data = n, this.level = t, this.context = Object.assign({ + }, r), this.pid = process.pid, u && (this.functionName = u.functionName, this.fileName = u.fileName, this.lineNumber = u.lineNumber, this.columnNumber = u.columnNumber, this.callStack = u.callStack) + } + + serialise() { + const e = this.data.map((e => (e && e.message && e.stack && (e = Object.assign({ + message: e.message, + stack: e.stack + }, e)), e))); + return this.data = e, Lu.stringify(this) + } + + static deserialise(e) { + let t; + try { + const n = Lu.parse(e); + n.data = n.data.map((e => { + if (e && e.message && e.stack) { + const t = new Error(e); + Object.keys(e).forEach((n => { + t[n] = e[n] + })), e = t + } + return e + })), t = new $u(n.categoryName, ju.getLevel(n.level.levelStr), n.data, n.context), t.startTime = new Date(n.startTime), t.pid = n.pid, t.cluster = n.cluster + } catch (n) { + t = new $u("log4js", ju.ERROR, ["Unable to parse log:", e, "because: ", n]) + } + return t + } +} + +var Hu = $u; +const Ju = Nr.exports("log4js:clustering"), Gu = Hu, Vu = tu; +let Uu = !1, Wu = null; +try { + Wu = require("cluster") +} catch (e) { + Ju("cluster module not present"), Uu = !0 +} +const zu = []; +let Ku = !1, qu = "NODE_APP_INSTANCE"; +const Yu = () => Ku && "0" === process.env[qu], Xu = () => Uu || Wu.isMaster || Yu(), Zu = e => { + zu.forEach((t => t(e))) +}, Qu = (e, t) => { + if (Ju("cluster message received from worker ", e, ": ", t), e.topic && e.data && (t = e, e = void 0), t && t.topic && "log4js:message" === t.topic) { + Ju("received message: ", t.data); + const e = Gu.deserialise(t.data); + Zu(e) + } +}; +Uu || Vu.addListener((e => { + zu.length = 0, ({ + pm2: Ku, + disableClustering: Uu, + pm2InstanceVar: qu = "NODE_APP_INSTANCE" + } = e), Ju(`clustering disabled ? ${Uu}`), Ju(`cluster.isMaster ? ${Wu && Wu.isMaster}`), Ju(`pm2 enabled ? ${Ku}`), Ju(`pm2InstanceVar = ${qu}`), Ju(`process.env[${qu}] = ${process.env[qu]}`), Ku && process.removeListener("message", Qu), Wu && Wu.removeListener && Wu.removeListener("message", Qu), Uu || e.disableClustering ? Ju("Not listening for cluster messages, because clustering disabled.") : Yu() ? (Ju("listening for PM2 broadcast messages"), process.on("message", Qu)) : Wu.isMaster ? (Ju("listening for cluster messages"), Wu.on("message", Qu)) : Ju("not listening for messages, because we are not a master process") +})); +var eo = { onlyOnMaster: (e, t) => Xu() ? e() : t, isMaster: Xu, send: e => { + Xu() ? Zu(e) : (Ku || (e.cluster = { workerId: Wu.worker.id, worker: process.pid }), process.send({ + topic: "log4js:message", + data: e.serialise() + })) +}, onMessage: e => { + zu.push(e) +} }, to = {}; + +function no(e) { + if ("number" == typeof e && Number.isInteger(e)) return e; + const t = { K: 1024, M: 1048576, G: 1073741824 }, n = Object.keys(t), + r = e.substr(e.length - 1).toLocaleUpperCase(), u = e.substring(0, e.length - 1).trim(); + if (n.indexOf(r) < 0 || !Number.isInteger(Number(u))) throw Error(`maxLogSize: "${e}" is invalid`); + return u * t[r] +} + +function ro(e) { + return function(e, t){ + const n = Object.assign({}, t); + return Object.keys(e).forEach((r => { + n[r] && (n[r] = e[r](t[r])) + })), n + }({ maxLogSize: no }, e) +} + +const uo = { file: ro, fileSync: ro }; +to.modifyConfig = e => uo[e.type] ? uo[e.type](e) : e; +var oo = {}; +const io = console.log.bind(console); +oo.configure = function (e, t) { + let n = t.colouredLayout; + return e.layout && (n = t.layout(e.layout.type, e.layout)), function(e, t){ + return n => { + io(e(n, t)) + } + }(n, e.timezoneOffset) +}; +var so = {}; +so.configure = function (e, t) { + let n = t.colouredLayout; + return e.layout && (n = t.layout(e.layout.type, e.layout)), function(e, t){ + return n => { + process.stdout.write(`${e(n, t)}\n`) + } + }(n, e.timezoneOffset) +}; +var co = {}; +co.configure = function (e, t) { + let n = t.colouredLayout; + return e.layout && (n = t.layout(e.layout.type, e.layout)), function(e, t){ + return n => { + process.stderr.write(`${e(n, t)}\n`) + } + }(n, e.timezoneOffset) +}; +var ao = {}; +ao.configure = function (e, t, n, r) { + const u = n(e.appender); + return function(e, t, n, r){ + const u = r.getLevel(e), o = r.getLevel(t, r.FATAL); + return e => { + const t = e.level; + t.isGreaterThanOrEqualTo(u) && t.isLessThanOrEqualTo(o) && n(e) + } + }(e.level, e.maxLevel, u, r) +}; +var lo = {}; +const fo = Nr.exports("log4js:categoryFilter"); +lo.configure = function (e, t, n) { + const r = n(e.appender); + return function(e, t){ + return "string" == typeof e && (e = [e]), n => { + fo(`Checking ${n.categoryName} against ${e}`), -1 === e.indexOf(n.categoryName) && (fo("Not excluded, sending to appender"), t(n)) + } + }(e.exclude, r) +}; +var Do = {}; +const po = Nr.exports("log4js:noLogFilter"); +Do.configure = function (e, t, n) { + const r = n(e.appender); + return function(e, t){ + return n => { + po(`Checking data: ${n.data} against filters: ${e}`), "string" == typeof e && (e = [e]), e = e.filter((e => null != e && "" !== e)); + const r = new RegExp(e.join("|"), "i"); + (0 === e.length || n.data.findIndex((e => r.test(e))) < 0) && (po("Not excluded, sending to appender"), t(n)) + } + }(e.exclude, r) +}; +var Eo = {}, mo = { exports: {} }, ho = {}, yo = { fromCallback: function (e) { + return Object.defineProperty((function () { + if ("function" != typeof arguments[arguments.length-1]) return new Promise(((t, n) => { + arguments[arguments.length] = (e, r) => { + if (e) return n(e); + t(r) + }, arguments.length++, e.apply(this, arguments) + })); + e.apply(this, arguments) + }), "name", { value: e.name }) +}, fromPromise: function (e) { + return Object.defineProperty((function () { + const t = arguments[arguments.length-1]; + if ("function" != typeof t) return e.apply(this, arguments); + e.apply(this, arguments).then((e => t(null, e)), t) + }), "name", { value: e.name }) +} }; +!function(e){ + const t = yo.fromCallback, n = we, + r = ["access", "appendFile", "chmod", "chown", "close", "copyFile", "fchmod", "fchown", "fdatasync", "fstat", "fsync", "ftruncate", "futimes", "lchown", "lchmod", "link", "lstat", "mkdir", "mkdtemp", "open", "readFile", "readdir", "readlink", "realpath", "rename", "rmdir", "stat", "symlink", "truncate", "unlink", "utimes", "writeFile"].filter((e => "function" == typeof n[e])); + Object.keys(n).forEach((t => { + "promises" !== t && (e[t] = n[t]) + })), r.forEach((r => { + e[r] = t(n[r]) + })), e.exists = function (e, t) { + return "function" == typeof t ? n.exists(e, t) : new Promise((t => n.exists(e, t))) + }, e.read = function (e, t, r, u, o, i) { + return "function" == typeof i ? n.read(e, t, r, u, o, i) : new Promise(((i, s) => { + n.read(e, t, r, u, o, ((e, t, n) => { + if (e) return s(e); + i({ bytesRead: t, buffer: n }) + })) + })) + }, e.write = function (e, t, ...r) { + return "function" == typeof r[r.length-1] ? n.write(e, t, ...r) : new Promise(((u, o) => { + n.write(e, t, ...r, ((e, t, n) => { + if (e) return o(e); + u({ bytesWritten: t, buffer: n }) + })) + })) + }, "function" == typeof n.realpath.native && (e.realpath.native = t(n.realpath.native)) +}(ho); +const Co = p.default; + +function Fo(e) { + return (e = Co.normalize(Co.resolve(e)).split(Co.sep)).length > 0 ? e[0] : null +} + +const go = /[<>:"|?*]/; +var Ao = function (e) { + const t = Fo(e); + return e = e.replace(t, ""), go.test(e) +}; +const vo = we, So = p.default, wo = Ao, Oo = parseInt("0777", 8); +var bo = function e(t, n, r, u) { + if ("function" == typeof n ? (r = n, n = {}) : n && "object" == typeof n || (n = { + mode: n + }), "win32" === process.platform && wo(t)) { + const e = new Error(t + " contains invalid WIN32 path characters."); + return e.code = "EINVAL", r(e) + } + let o = n.mode; + const i = n.fs || vo; + void 0 === o && (o = Oo & ~process.umask()), u || (u = null), r = r || function () { + }, t = So.resolve(t), i.mkdir(t, o, (o => { + if (!o) return r(null, u = u || t); + if ("ENOENT" === o.code) { + if (So.dirname(t) === t) return r(o); + e(So.dirname(t), n, ((u, o) => { + u ? r(u, o) : e(t, n, r, o) + })) + } else i.stat(t, ((e, t) => { + e || !t.isDirectory() ? r(o, u) : r(null, u) + })) + })) +}; +const _o = we, Bo = p.default, Po = Ao, ko = parseInt("0777", 8); +var xo = function e(t, n, r) { + n && "object" == typeof n || (n = { mode: n }); + let u = n.mode; + const o = n.fs || _o; + if ("win32" === process.platform && Po(t)) { + const e = new Error(t + " contains invalid WIN32 path characters."); + throw e.code = "EINVAL", e + } + void 0 === u && (u = ko & ~process.umask()), r || (r = null), t = Bo.resolve(t); + try { + o.mkdirSync(t, u), r = r || t + } catch (u) { + if ("ENOENT" === u.code) { + if (Bo.dirname(t) === t) throw u; + r = e(Bo.dirname(t), n, r), e(t, n, r) + } else { + let e; + try { + e = o.statSync(t) + } catch (e) { + throw u + } + if (!e.isDirectory()) throw u + } + } + return r +}; +const No = (0, yo.fromCallback)(bo); +var Io = { + mkdirs: No, + mkdirsSync: xo, + mkdirp: No, + mkdirpSync: xo, + ensureDir: No, + ensureDirSync: xo +}; +const To = we; +E.default, p.default; +var Ro = function (e, t, n, r) { + To.open(e, "r+", ((e, u) => { + if (e) return r(e); + To.futimes(u, t, n, (e => { + To.close(u, (t => { + r && r(e || t) + })) + })) + })) +}, Mo = function (e, t, n) { + const r = To.openSync(e, "r+"); + return To.futimesSync(r, t, n), To.closeSync(r) +}; +const Lo = we, jo = p.default, $o = 10, Ho = 5, Jo = 0, Go = process.versions.node.split("."), + Vo = Number.parseInt(Go[0], 10), Uo = Number.parseInt(Go[1], 10), Wo = Number.parseInt(Go[2], 10); + +function zo() { + if (Vo > $o) return !0; + if (Vo === $o) { + if (Uo > Ho) return !0; + if (Uo === Ho && Wo >= Jo) return !0 + } + return !1 +} + +function Ko(e, t) { + const n = jo.resolve(e).split(jo.sep).filter((e => e)), r = jo.resolve(t).split(jo.sep).filter((e => e)); + return n.reduce(((e, t, n) => e && r[n] === t),!0) +} + +function qo(e, t, n) { + return `Cannot ${n} '${e}' to a subdirectory of itself, '${t}'.` +} + +var Yo, Xo, Zo = { + checkPaths: function (e, t, n, r) { + !function(e, t, n){ + zo() ? Lo.stat(e, { bigint: !0 }, ((e, r) => { + if (e) return n(e); + Lo.stat(t, { bigint: !0 }, ((e, t) => e ? "ENOENT" === e.code ? n(null, { + srcStat: r, + destStat: null + }) : n(e) : n(null, { srcStat: r, destStat: t }))) + })) : Lo.stat(e, ((e, r) => { + if (e) return n(e); + Lo.stat(t, ((e, t) => e ? "ENOENT" === e.code ? n(null, { + srcStat: r, + destStat: null + }) : n(e) : n(null, { srcStat: r, destStat: t }))) + })) + }(e, t, ((u, o) => { + if (u) return r(u); + const {srcStat:i,destStat:s} = o; + return s && s.ino && s.dev && s.ino === i.ino && s.dev === i.dev ? r(new Error("Source and destination must not be the same.")) : i.isDirectory() && Ko(e, t) ? r(new Error(qo(e, t, n))) : r(null, { + srcStat: i, + destStat: s + }) + })) + }, + checkPathsSync: function (e, t, n) { + const {srcStat:r,destStat:u} = function(e, t){ + let n, r; + n = zo() ? Lo.statSync(e, { bigint: !0 }) : Lo.statSync(e); + try { + r = zo() ? Lo.statSync(t, { bigint: !0 }) : Lo.statSync(t) + } catch (e) { + if ("ENOENT" === e.code) return { srcStat: n, destStat: null }; + throw e + } + return { srcStat: n, destStat: r } + }(e, t); + if (u && u.ino && u.dev && u.ino === r.ino && u.dev === r.dev) throw new Error("Source and destination must not be the same."); + if (r.isDirectory() && Ko(e, t)) throw new Error(qo(e, t, n)); + return { srcStat: r, destStat: u } + }, + checkParentPaths: function e(t, n, r, u, o) { + const i = jo.resolve(jo.dirname(t)), s = jo.resolve(jo.dirname(r)); + if (s === i || s === jo.parse(s).root) return o(); + zo() ? Lo.stat(s, { + bigint: !0 + }, ((i, c) => i ? "ENOENT" === i.code ? o() : o(i) : c.ino && c.dev && c.ino === n.ino && c.dev === n.dev ? o(new Error(qo(t, r, u))) : e(t, n, s, u, o))) : Lo.stat(s, ((i, c) => i ? "ENOENT" === i.code ? o() : o(i) : c.ino && c.dev && c.ino === n.ino && c.dev === n.dev ? o(new Error(qo(t, r, u))) : e(t, n, s, u, o))) + }, + checkParentPathsSync: function e(t, n, r, u) { + const o = jo.resolve(jo.dirname(t)), i = jo.resolve(jo.dirname(r)); + if (i === o || i === jo.parse(i).root) return; + let s; + try { + s = zo() ? Lo.statSync(i, { bigint: !0 }) : Lo.statSync(i) + } catch (e) { + if ("ENOENT" === e.code) return; + throw e + } + if (s.ino && s.dev && s.ino === n.ino && s.dev === n.dev) throw new Error(qo(t, r, u)); + return e(t, n, i, u) + }, + isSrcSubdir: Ko +}; +const Qo = we, ei = p.default, ti = Io.mkdirsSync, ni = Mo, ri = Zo; + +function ui(e, t, n, r) { + if (!r.filter || r.filter(t, n)) return function(e, t, n, r){ + const u = r.dereference ? Qo.statSync : Qo.lstatSync, o = u(t); + if (o.isDirectory()) return function(e, t, n, r, u){ + if (!t) return function(e, t, n, r){ + return Qo.mkdirSync(n), ii(t, n, r), Qo.chmodSync(n, e.mode) + }(e, n, r, u); + if (t && !t.isDirectory()) throw new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`); + return ii(n, r, u) + }(o, e, t, n, r); + if (o.isFile() || o.isCharacterDevice() || o.isBlockDevice()) return function(e, t, n, r, u){ + return t ? function(e, t, n, r){ + if (r.overwrite) return Qo.unlinkSync(n), oi(e, t, n, r); + if (r.errorOnExist) throw new Error(`'${n}' already exists`) + }(e, n, r, u) : oi(e, n, r, u) + }(o, e, t, n, r); + if (o.isSymbolicLink()) return function(e, t, n, r){ + let u = Qo.readlinkSync(t); + r.dereference && (u = ei.resolve(process.cwd(), u)); + if (e) { + let e; + try { + e = Qo.readlinkSync(n) + } catch (e) { + if ("EINVAL" === e.code || "UNKNOWN" === e.code) return Qo.symlinkSync(u, n); + throw e + } + if (r.dereference && (e = ei.resolve(process.cwd(), e)), ri.isSrcSubdir(u, e)) throw new Error(`Cannot copy '${u}' to a subdirectory of itself, '${e}'.`); + if (Qo.statSync(n).isDirectory() && ri.isSrcSubdir(e, u)) throw new Error(`Cannot overwrite '${e}' with '${u}'.`); + return function(e, t){ + return Qo.unlinkSync(t), Qo.symlinkSync(e, t) + }(u, n) + } + return Qo.symlinkSync(u, n) + }(e, t, n, r) + }(e, t, n, r) +} + +function oi(e, t, n, r) { + return "function" == typeof Qo.copyFileSync ? (Qo.copyFileSync(t, n), Qo.chmodSync(n, e.mode), r.preserveTimestamps ? ni(n, e.atime, e.mtime) : void 0) : function(e, t, n, r){ + const u = 65536, o = (Xo ? Yo : (Xo = 1, Yo = function (e) { + if ("function" == typeof Buffer.allocUnsafe) try { + return Buffer.allocUnsafe(e) + } catch (t) { + return new Buffer(e) + } + return new Buffer(e) + }))(u), i = Qo.openSync(t, "r"), s = Qo.openSync(n, "w", e.mode); + let c = 0; + for (; c < e.size; ) { + const e = Qo.readSync(i, o, 0, u, c); + Qo.writeSync(s, o, 0, e), c += e + } + r.preserveTimestamps && Qo.futimesSync(s, e.atime, e.mtime); + Qo.closeSync(i), Qo.closeSync(s) + }(e, t, n, r) +} + +function ii(e, t, n) { + Qo.readdirSync(e).forEach((r => function(e, t, n, r){ + const u = ei.join(t, e), o = ei.join(n, e), {destStat:i} = ri.checkPathsSync(u, o, "copy"); + return ui(i, u, o, r) + }(r, e, t, n))) +} + +var si = function (e, t, n) { + "function" == typeof n && (n = { filter: n }), (n = n || { + }).clobber = !("clobber" in n) || !!n.clobber, n.overwrite = "overwrite" in n ? !!n.overwrite : n.clobber, n.preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269"); + const {srcStat:r,destStat:u} = ri.checkPathsSync(e, t, "copy"); + return ri.checkParentPathsSync(e, r, t, "copy"), function(e, t, n, r){ + if (r.filter && !r.filter(t, n)) return; + const u = ei.dirname(n); + Qo.existsSync(u) || ti(u); + return ui(e, t, n, r) + }(u, e, t, n) +}, ci = { copySync: si }; +const ai = yo.fromPromise, li = ho; +var fi = { pathExists: ai((function (e) { + return li.access(e).then((() =>!0)).catch((() =>!1)) +})), pathExistsSync: li.existsSync }; +const di = we, Di = p.default, pi = Io.mkdirs, Ei = fi.pathExists, mi = Ro, hi = Zo; + +function yi(e, t, n, r, u) { + const o = Di.dirname(n); + Ei(o, ((i, s) => i ? u(i) : s ? Fi(e, t, n, r, u) : void pi(o, (o => o ? u(o) : Fi(e, t, n, r, u))))) +} + +function Ci(e, t, n, r, u, o) { + Promise.resolve(u.filter(n, r)).then((i => i ? e(t, n, r, u, o) : o()), (e => o(e))) +} + +function Fi(e, t, n, r, u) { + return r.filter ? Ci(gi, e, t, n, r, u) : gi(e, t, n, r, u) +} + +function gi(e, t, n, r, u) { + (r.dereference ? di.stat : di.lstat)(t, ((o, i) => o ? u(o) : i.isDirectory() ? function(e, t, n, r, u, o){ + if (!t) return function(e, t, n, r, u){ + di.mkdir(n, (o => { + if (o) return u(o); + Si(t, n, r, (t => t ? u(t) : di.chmod(n, e.mode, u))) + })) + }(e, n, r, u, o); + if (t && !t.isDirectory()) return o(new Error(`Cannot overwrite non-directory '${r}' with directory '${n}'.`)); + return Si(n, r, u, o) + }(i, e, t, n, r, u) : i.isFile() || i.isCharacterDevice() || i.isBlockDevice() ? function(e, t, n, r, u, o){ + return t ? function(e, t, n, r, u){ + if (!r.overwrite) return r.errorOnExist ? u(new Error(`'${n}' already exists`)) : u(); + di.unlink(n, (o => o ? u(o) : Ai(e, t, n, r, u))) + }(e, n, r, u, o) : Ai(e, n, r, u, o) + }(i, e, t, n, r, u) : i.isSymbolicLink() ? function(e, t, n, r, u){ + di.readlink(t, ((t, o) => t ? u(t) : (r.dereference && (o = Di.resolve(process.cwd(), o)), e ? void di.readlink(n, ((t, i) => t ? "EINVAL" === t.code || "UNKNOWN" === t.code ? di.symlink(o, n, u) : u(t) : (r.dereference && (i = Di.resolve(process.cwd(), i)), hi.isSrcSubdir(o, i) ? u(new Error(`Cannot copy '${o}' to a subdirectory of itself, '${i}'.`)) : e.isDirectory() && hi.isSrcSubdir(i, o) ? u(new Error(`Cannot overwrite '${i}' with '${o}'.`)) : function(e, t, n){ + di.unlink(t, (r => r ? n(r) : di.symlink(e, t, n))) + }(o, n, u)))) : di.symlink(o, n, u)))) + }(e, t, n, r, u) : void 0)) +} + +function Ai(e, t, n, r, u) { + return "function" == typeof di.copyFile ? di.copyFile(t, n, (t => t ? u(t) : vi(e, n, r, u))) : function(e, t, n, r, u){ + const o = di.createReadStream(t); + o.on("error", (e => u(e))).once("open", (() => { + const t = di.createWriteStream(n, { mode: e.mode }); + t.on("error", (e => u(e))).on("open", (() => o.pipe(t))).once("close", (() => vi(e, n, r, u))) + })) + }(e, t, n, r, u) +} + +function vi(e, t, n, r) { + di.chmod(t, e.mode, (u => u ? r(u) : n.preserveTimestamps ? mi(t, e.atime, e.mtime, r) : r())) +} + +function Si(e, t, n, r) { + di.readdir(e, ((u, o) => u ? r(u) : wi(o, e, t, n, r))) +} + +function wi(e, t, n, r, u) { + const o = e.pop(); + return o ? function(e, t, n, r, u, o){ + const i = Di.join(n, t), s = Di.join(r, t); + hi.checkPaths(i, s, "copy", ((t, c) => { + if (t) return o(t); + const {destStat:a} = c; + Fi(a, i, s, u, (t => t ? o(t) : wi(e, n, r, u, o))) + })) + }(e, o, t, n, r, u) : u() +} + +var Oi = function (e, t, n, r) { + "function" != typeof n || r ? "function" == typeof n && (n = { filter: n }) : (r = n, n = { + }), r = r || function () { + }, (n = n || { + }).clobber = !("clobber" in n) || !!n.clobber, n.overwrite = "overwrite" in n ? !!n.overwrite : n.clobber, n.preserveTimestamps && "ia32" === process.arch && console.warn("fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n\n see https://github.com/jprichardson/node-fs-extra/issues/269"), hi.checkPaths(e, t, "copy", ((u, o) => { + if (u) return r(u); + const {srcStat:i,destStat:s} = o; + hi.checkParentPaths(e, i, t, "copy", (u => u ? r(u) : n.filter ? Ci(yi, s, e, t, n, r) : yi(s, e, t, n, r))) + })) +}; +var bi = { copy: (0, yo.fromCallback)(Oi) }; +const _i = we, Bi = p.default, Pi = g.default, ki = "win32" === process.platform; + +function xi(e) { + ["unlink", "chmod", "stat", "lstat", "rmdir", "readdir"].forEach((t => { + e[t] = e[t] || _i[t], e[t+="Sync"] = e[t] || _i[t] + })), e.maxBusyTries = e.maxBusyTries || 3 +} + +function Ni(e, t, n) { + let r = 0; + "function" == typeof t && (n = t, t = { + }), Pi(e, "rimraf: missing path"), Pi.strictEqual(typeof e, "string", "rimraf: path should be a string"), Pi.strictEqual(typeof n, "function", "rimraf: callback function required"), Pi(t, "rimraf: invalid options argument provided"), Pi.strictEqual(typeof t, "object", "rimraf: options should be object"), xi(t), Ii(e, t, (function u(o) { + if (o) { + if (("EBUSY" === o.code || "ENOTEMPTY" === o.code || "EPERM" === o.code) && r < t.maxBusyTries) { + r++; + return setTimeout((() => Ii(e, t, u)), 100 * r) + } + "ENOENT" === o.code && (o = null) + } + n(o) + })) +} + +function Ii(e, t, n) { + Pi(e), Pi(t), Pi("function" == typeof n), t.lstat(e, ((r, u) => r && "ENOENT" === r.code ? n(null) : r && "EPERM" === r.code && ki ? Ti(e, t, r, n) : u && u.isDirectory() ? Mi(e, t, r, n) : void t.unlink(e, (r => { + if (r) { + if ("ENOENT" === r.code) return n(null); + if ("EPERM" === r.code) return ki ? Ti(e, t, r, n) : Mi(e, t, r, n); + if ("EISDIR" === r.code) return Mi(e, t, r, n) + } + return n(r) + })))) +} + +function Ti(e, t, n, r) { + Pi(e), Pi(t), Pi("function" == typeof r), n && Pi(n instanceof Error), t.chmod(e, 438, (u => { + u ? r("ENOENT" === u.code ? null : n) : t.stat(e, ((u, o) => { + u ? r("ENOENT" === u.code ? null : n) : o.isDirectory() ? Mi(e, t, n, r) : t.unlink(e, r) + })) + })) +} + +function Ri(e, t, n) { + let r; + Pi(e), Pi(t), n && Pi(n instanceof Error); + try { + t.chmodSync(e, 438) + } catch (e) { + if ("ENOENT" === e.code) return; + throw n + } + try { + r = t.statSync(e) + } catch (e) { + if ("ENOENT" === e.code) return; + throw n + } + r.isDirectory() ? ji(e, t, n) : t.unlinkSync(e) +} + +function Mi(e, t, n, r) { + Pi(e), Pi(t), n && Pi(n instanceof Error), Pi("function" == typeof r), t.rmdir(e, (u => { + !u || "ENOTEMPTY" !== u.code && "EEXIST" !== u.code && "EPERM" !== u.code ? u && "ENOTDIR" === u.code ? r(n) : r(u) : function(e, t, n){ + Pi(e), Pi(t), Pi("function" == typeof n), t.readdir(e, ((r, u) => { + if (r) return n(r); + let o, i = u.length; + if (0 === i) return t.rmdir(e, n); + u.forEach((r => { + Ni(Bi.join(e, r), t, (r => { + if (!o) return r ? n(o = r) : void (0 == --i && t.rmdir(e, n)) + })) + })) + })) + }(e, t, r) + })) +} + +function Li(e, t) { + let n; + xi(t = t || { + }), Pi(e, "rimraf: missing path"), Pi.strictEqual(typeof e, "string", "rimraf: path should be a string"), Pi(t, "rimraf: missing options"), Pi.strictEqual(typeof t, "object", "rimraf: options should be object"); + try { + n = t.lstatSync(e) + } catch (n) { + if ("ENOENT" === n.code) return; + "EPERM" === n.code && ki && Ri(e, t, n) + } + try { + n && n.isDirectory() ? ji(e, t, null) : t.unlinkSync(e) + } catch (n) { + if ("ENOENT" === n.code) return; + if ("EPERM" === n.code) return ki ? Ri(e, t, n) : ji(e, t, n); + if ("EISDIR" !== n.code) throw n; + ji(e, t, n) + } +} + +function ji(e, t, n) { + Pi(e), Pi(t), n && Pi(n instanceof Error); + try { + t.rmdirSync(e) + } catch (r) { + if ("ENOTDIR" === r.code) throw n; + if ("ENOTEMPTY" === r.code || "EEXIST" === r.code || "EPERM" === r.code) !function(e, t){ + if (Pi(e), Pi(t), t.readdirSync(e).forEach((n => Li(Bi.join(e, n), t))),!ki) { + return t.rmdirSync(e, t) + } + { + const n = Date.now(); + do { + try { + return t.rmdirSync(e, t) + } catch (e) { + } + } while (Date.now() - n < 500) + } + }(e, t); else if ("ENOENT" !== r.code) throw r + } +} + +var $i = Ni; +Ni.sync = Li; +const Hi = $i; +var Ji = { remove: (0, yo.fromCallback)(Hi), removeSync: Hi.sync }; +const Gi = yo.fromCallback, Vi = we, Ui = p.default, Wi = Io, zi = Ji, Ki = Gi((function (e, t) { + t = t || function () { + }, Vi.readdir(e, ((n, r) => { + if (n) return Wi.mkdirs(e, t); + r = r.map((t => Ui.join(e, t))), function e(){ + const n = r.pop(); + if (!n) return t(); + zi.remove(n, (n => { + if (n) return t(n); + e() + })) + }() + })) +})); + +function qi(e) { + let t; + try { + t = Vi.readdirSync(e) + } catch (t) { + return Wi.mkdirsSync(e) + } + t.forEach((t => { + t = Ui.join(e, t), zi.removeSync(t) + })) +} + +var Yi = { emptyDirSync: qi, emptydirSync: qi, emptyDir: Ki, emptydir: Ki }; +const Xi = yo.fromCallback, Zi = p.default, Qi = we, es = Io, ts = fi.pathExists; +var ns = { createFile: Xi((function (e, t) { + + function n() { + Qi.writeFile(e, "", (e => { + if (e) return t(e); + t() + })) + } + + Qi.stat(e, ((r, u) => { + if (!r && u.isFile()) return t(); + const o = Zi.dirname(e); + ts(o, ((e, r) => e ? t(e) : r ? n() : void es.mkdirs(o, (e => { + if (e) return t(e); + n() + })))) + })) +})), createFileSync: function (e) { + let t; + try { + t = Qi.statSync(e) + } catch (e) { + } + if (t && t.isFile()) return; + const n = Zi.dirname(e); + Qi.existsSync(n) || es.mkdirsSync(n), Qi.writeFileSync(e, "") +} }; +const rs = yo.fromCallback, us = p.default, os = we, is = Io, ss = fi.pathExists; +var cs = { createLink: rs((function (e, t, n) { + + function r(e, t) { + os.link(e, t, (e => { + if (e) return n(e); + n(null) + })) + } + + ss(t, ((u, o) => u ? n(u) : o ? n(null) : void os.lstat(e, (u => { + if (u) return u.message = u.message.replace("lstat", "ensureLink"), n(u); + const o = us.dirname(t); + ss(o, ((u, i) => u ? n(u) : i ? r(e, t) : void is.mkdirs(o, (u => { + if (u) return n(u); + r(e, t) + })))) + })))) +})), createLinkSync: function (e, t) { + if (os.existsSync(t)) return; + try { + os.lstatSync(e) + } catch (e) { + throw e.message = e.message.replace("lstat", "ensureLink"), e + } + const n = us.dirname(t); + return os.existsSync(n) || is.mkdirsSync(n), os.linkSync(e, t) +} }; +const as = p.default, ls = we, fs = fi.pathExists; +var ds = { symlinkPaths: function (e, t, n) { + if (as.isAbsolute(e)) return ls.lstat(e, (t => t ? (t.message = t.message.replace("lstat", "ensureSymlink"), n(t)) : n(null, { + toCwd: e, + toDst: e + }))); + { + const r = as.dirname(t), u = as.join(r, e); + return fs(u, ((t, o) => t ? n(t) : o ? n(null, { + toCwd: u, + toDst: e + }) : ls.lstat(e, (t => t ? (t.message = t.message.replace("lstat", "ensureSymlink"), n(t)) : n(null, { + toCwd: e, + toDst: as.relative(r, e) + }))))) + } +}, symlinkPathsSync: function (e, t) { + let n; + if (as.isAbsolute(e)) { + if (n = ls.existsSync(e),!n) throw new Error("absolute srcpath does not exist"); + return { toCwd: e, toDst: e } + } + { + const r = as.dirname(t), u = as.join(r, e); + if (n = ls.existsSync(u), n) return { toCwd: u, toDst: e }; + if (n = ls.existsSync(e),!n) throw new Error("relative srcpath does not exist"); + return { toCwd: e, toDst: as.relative(r, e) } + } +} }; +const Ds = we; +var ps = { symlinkType: function (e, t, n) { + if (n = "function" == typeof t ? t : n, t = "function" != typeof t && t) return n(null, t); + Ds.lstat(e, ((e, r) => { + if (e) return n(null, "file"); + t = r && r.isDirectory() ? "dir" : "file", n(null, t) + })) +}, symlinkTypeSync: function (e, t) { + let n; + if (t) return t; + try { + n = Ds.lstatSync(e) + } catch (e) { + return "file" + } + return n && n.isDirectory() ? "dir" : "file" +} }; +const Es = yo.fromCallback, ms = p.default, hs = we, ys = Io.mkdirs, Cs = Io.mkdirsSync, Fs = ds.symlinkPaths, + gs = ds.symlinkPathsSync, As = ps.symlinkType, vs = ps.symlinkTypeSync, Ss = fi.pathExists; +var ws = { createSymlink: Es((function (e, t, n, r) { + r = "function" == typeof n ? n : r, n = "function" != typeof n && n, Ss(t, ((u, o) => u ? r(u) : o ? r(null) : void Fs(e, t, ((u, o) => { + if (u) return r(u); + e = o.toDst, As(o.toCwd, n, ((n, u) => { + if (n) return r(n); + const o = ms.dirname(t); + Ss(o, ((n, i) => n ? r(n) : i ? hs.symlink(e, t, u, r) : void ys(o, (n => { + if (n) return r(n); + hs.symlink(e, t, u, r) + })))) + })) + })))) +})), createSymlinkSync: function (e, t, n) { + if (hs.existsSync(t)) return; + const r = gs(e, t); + e = r.toDst, n = vs(r.toCwd, n); + const u = ms.dirname(t); + return hs.existsSync(u) || Cs(u), hs.symlinkSync(e, t, n) +} }; +var Os, bs = { + createFile: ns.createFile, + createFileSync: ns.createFileSync, + ensureFile: ns.createFile, + ensureFileSync: ns.createFileSync, + createLink: cs.createLink, + createLinkSync: cs.createLinkSync, + ensureLink: cs.createLink, + ensureLinkSync: cs.createLinkSync, + createSymlink: ws.createSymlink, + createSymlinkSync: ws.createSymlinkSync, + ensureSymlink: ws.createSymlink, + ensureSymlinkSync: ws.createSymlinkSync +}; +try { + Os = we +} catch (e) { + Os = D.default +} + +function _s(e, t) { + var n, r = "\n"; + return "object" == typeof t && null !== t && (t.spaces && (n = t.spaces), t.EOL && (r = t.EOL)), JSON.stringify(e, t ? t.replacer : null, n).replace(/\n/g, r) + r +} + +function Bs(e) { + return Buffer.isBuffer(e) && (e = e.toString("utf8")), e = e.replace(/^\uFEFF/, "") +} + +var Ps = { readFile: function (e, t, n) { + null == n && (n = t, t = {}), "string" == typeof t && (t = { encoding: t }); + var r = (t = t || {}).fs || Os, u = !0; + "throws" in t && (u = t.throws), r.readFile(e, t, (function (r, o) { + if (r) return n(r); + var i; + o = Bs(o); + try { + i = JSON.parse(o, t ? t.reviver : null) + } catch (t) { + return u ? (t.message = e + ": " + t.message, n(t)) : n(null, null) + } + n(null, i) + })) +}, readFileSync: function (e, t) { + "string" == typeof (t = t || {}) && (t = { encoding: t }); + var n = t.fs || Os, r = !0; + "throws" in t && (r = t.throws); + try { + var u = n.readFileSync(e, t); + return u = Bs(u), JSON.parse(u, t.reviver) + } catch (t) { + if (r) throw t.message = e + ": " + t.message, t; + return null + } +}, writeFile: function (e, t, n, r) { + null == r && (r = n, n = {}); + var u = (n = n || {}).fs || Os, o = ""; + try { + o = _s(t, n) + } catch (e) { + return void (r && r(e, null)) + } + u.writeFile(e, o, n, r) +}, writeFileSync: function (e, t, n) { + var r = (n = n || {}).fs || Os, u = _s(t, n); + return r.writeFileSync(e, u, n) +} }, ks = Ps; +const xs = yo.fromCallback, Ns = ks; +var Is = { + readJson: xs(Ns.readFile), + readJsonSync: Ns.readFileSync, + writeJson: xs(Ns.writeFile), + writeJsonSync: Ns.writeFileSync +}; +const Ts = p.default, Rs = Io, Ms = fi.pathExists, Ls = Is; +var js = function (e, t, n, r) { + "function" == typeof n && (r = n, n = {}); + const u = Ts.dirname(e); + Ms(u, ((o, i) => o ? r(o) : i ? Ls.writeJson(e, t, n, r) : void Rs.mkdirs(u, (u => { + if (u) return r(u); + Ls.writeJson(e, t, n, r) + })))) +}; +const $s = we, Hs = p.default, Js = Io, Gs = Is; +var Vs = function (e, t, n) { + const r = Hs.dirname(e); + $s.existsSync(r) || Js.mkdirsSync(r), Gs.writeJsonSync(e, t, n) +}; +const Us = yo.fromCallback, Ws = Is; +Ws.outputJson = Us(js), Ws.outputJsonSync = Vs, Ws.outputJSON = Ws.outputJson, Ws.outputJSONSync = Ws.outputJsonSync, Ws.writeJSON = Ws.writeJson, Ws.writeJSONSync = Ws.writeJsonSync, Ws.readJSON = Ws.readJson, Ws.readJSONSync = Ws.readJsonSync; +var zs = Ws; +const Ks = we, qs = p.default, Ys = ci.copySync, Xs = Ji.removeSync, Zs = Io.mkdirpSync, Qs = Zo; + +function ec(e, t, n) { + try { + Ks.renameSync(e, t) + } catch (r) { + if ("EXDEV" !== r.code) throw r; + return function(e, t, n){ + const r = { overwrite: n, errorOnExist: !0 }; + return Ys(e, t, r), Xs(e) + }(e, t, n) + } +} + +var tc = function (e, t, n) { + const r = (n = n || {}).overwrite || n.clobber || !1, {srcStat:u} = Qs.checkPathsSync(e, t, "move"); + return Qs.checkParentPathsSync(e, u, t, "move"), Zs(qs.dirname(t)), function(e, t, n){ + if (n) return Xs(t), ec(e, t, n); + if (Ks.existsSync(t)) throw new Error("dest already exists."); + return ec(e, t, n) + }(e, t, r) +}, nc = { moveSync: tc }; +const rc = we, uc = p.default, oc = bi.copy, ic = Ji.remove, sc = Io.mkdirp, cc = fi.pathExists, ac = Zo; + +function lc(e, t, n, r) { + rc.rename(e, t, (u => u ? "EXDEV" !== u.code ? r(u) : function(e, t, n, r){ + const u = { overwrite: n, errorOnExist: !0 }; + oc(e, t, u, (t => t ? r(t) : ic(e, r))) + }(e, t, n, r) : r())) +} + +var fc = function (e, t, n, r) { + "function" == typeof n && (r = n, n = {}); + const u = n.overwrite || n.clobber || !1; + ac.checkPaths(e, t, "move", ((n, o) => { + if (n) return r(n); + const {srcStat:i} = o; + ac.checkParentPaths(e, i, t, "move", (n => { + if (n) return r(n); + sc(uc.dirname(t), (n => n ? r(n) : function(e, t, n, r){ + if (n) return ic(t, (u => u ? r(u) : lc(e, t, n, r))); + cc(t, ((u, o) => u ? r(u) : o ? r(new Error("dest already exists.")) : lc(e, t, n, r))) + }(e, t, u, r))) + })) + })) +}; +var dc = { move: (0, yo.fromCallback)(fc) }; +const Dc = yo.fromCallback, pc = we, Ec = p.default, mc = Io, hc = fi.pathExists; +var yc = { outputFile: Dc((function (e, t, n, r) { + "function" == typeof n && (r = n, n = "utf8"); + const u = Ec.dirname(e); + hc(u, ((o, i) => o ? r(o) : i ? pc.writeFile(e, t, n, r) : void mc.mkdirs(u, (u => { + if (u) return r(u); + pc.writeFile(e, t, n, r) + })))) +})), outputFileSync: function (e, ...t) { + const n = Ec.dirname(e); + if (pc.existsSync(n)) return pc.writeFileSync(e, ...t); + mc.mkdirsSync(n), pc.writeFileSync(e, ...t) +} }; +!function(e){ + e.exports = Object.assign({}, ho, ci, bi, Yi, bs, zs, Io, nc, dc, yc, fi, Ji); + const t = D.default; + Object.getOwnPropertyDescriptor(t, "promises") && Object.defineProperty(e.exports, "promises", { + get: () => t.promises + }) +}(mo); +const Cc = Nr.exports("streamroller:fileNameFormatter"), Fc = p.default; +const gc = Nr.exports("streamroller:fileNameParser"), Ac = nu.exports; +const vc = Nr.exports("streamroller:moveAndMaybeCompressFile"), Sc = mo.exports, wc = v.default; +var Oc = async (e, t, n) => { + if (n = function(e){ + const t = { mode: parseInt("0600", 8), compress: !1 }, n = Object.assign({}, t, e); + return vc(`_parseOption: moveAndMaybeCompressFile called with option=${JSON.stringify(n)}`), n + }(n), e !== t) { + if (await Sc.pathExists(e)) if (vc(`moveAndMaybeCompressFile: moving file from ${e} to ${t} ${n.compress ? "with" : "without"} compress`), n.compress) await new Promise(((r, u) => { + let o = !1; + const i = Sc.createWriteStream(t, { mode: n.mode, flags: "wx" }).on("open", (() => { + o = !0; + const t = Sc.createReadStream(e).on("open", (() => { + t.pipe(wc.createGzip()).pipe(i) + })).on("error", (t => { + vc(`moveAndMaybeCompressFile: error reading ${e}`, t), i.destroy(t) + })) + })).on("finish", (() => { + vc(`moveAndMaybeCompressFile: finished compressing ${t}, deleting ${e}`), Sc.unlink(e).then(r).catch((t => { + vc(`moveAndMaybeCompressFile: error deleting ${e}, truncating instead`, t), Sc.truncate(e).then(r).catch((t => { + vc(`moveAndMaybeCompressFile: error truncating ${e}`, t), u(t) + })) + })) + })).on("error", (e => { + o ? (vc(`moveAndMaybeCompressFile: error writing ${t}, deleting`, e), Sc.unlink(t).then((() => { + u(e) + })).catch((e => { + vc(`moveAndMaybeCompressFile: error deleting ${t}`, e), u(e) + }))) : (vc(`moveAndMaybeCompressFile: error creating ${t}`, e), u(e)) + })) + })).catch((() => { + })); else { + vc(`moveAndMaybeCompressFile: renaming ${e} to ${t}`); + try { + await Sc.move(e, t, { overwrite: !0 }) + } catch (n) { + if (vc(`moveAndMaybeCompressFile: error renaming ${e} to ${t}`, n), "ENOENT" !== n.code) { + vc("moveAndMaybeCompressFile: trying copy+truncate instead"); + try { + await Sc.copy(e, t, { overwrite: !0 }), await Sc.truncate(e) + } catch (e) { + vc("moveAndMaybeCompressFile: error copy+truncate", e) + } + } + } + } + } else vc("moveAndMaybeCompressFile: source and target are the same, not doing anything") +}; +const bc = Nr.exports("streamroller:RollingFileWriteStream"), _c = mo.exports, Bc = p.default, Pc = E.default, + kc = () => new Date, xc = nu.exports, {Writable:Nc} = C.default, + Ic = ({file:e,keepFileExt:t,needsIndex:n,alwaysIncludeDate:r,compress:u,fileNameSep:o}) => { + let i = o || "."; + const s = Fc.join(e.dir, e.name), c = t => t + e.ext, a = (e, t, r) =>!n && r || !t ? e : e + i + t, + l = (e, t, n) => (t > 0 || r) && n ? e + i + n : e, f = (e, t) => t && u ? e + ".gz" : e, + d = t ? [l, a, c, f] : [c, l, a, f]; + return ({date:e,index:t}) => (Cc(`_formatFileName: date=${e}, index=${t}`), d.reduce(((n, r) => r(n, t, e)), s)) + }, Tc = ({file:e,keepFileExt:t,pattern:n,fileNameSep:r}) => { + let u = r || "."; + const o = "__NOT_MATCHING__"; + let i = [(e, t) => e.endsWith(".gz") ? (gc("it is gzipped"), t.isCompressed = !0, e.slice(0, -1 * ".gz".length)) : e, t ? t => t.startsWith(e.name) && t.endsWith(e.ext) ? (gc("it starts and ends with the right things"), t.slice(e.name.length + 1, -1 * e.ext.length)) : o : t => t.startsWith(e.base) ? (gc("it starts with the right things"), t.slice(e.base.length + 1)) : o, n ? (e, t) => { + const r = e.split(u); + let o = r[r.length-1]; + gc("items: ", r, ", indexStr: ", o); + let i = e; + void 0 !== o && o.match(/^\d+$/) ? (i = e.slice(0, -1 * (o.length + 1)), gc(`dateStr is ${i}`), n && !i && (i = o, o = "0")) : o = "0"; + try { + const r = Ac.parse(n, i, new Date(0, 0)); + return Ac.asString(n, r) !== i ? e : (t.index = parseInt(o, 10), t.date = i, t.timestamp = r.getTime(), "") + } catch (t) { + return gc(`Problem parsing ${i} as ${n}, error was: `, t), e + } + } : (e, t) => e.match(/^\d+$/) ? (gc("it has an index"), t.index = parseInt(e, 10), "") : e]; + return e => { + let t = { filename: e, index: 0, isCompressed: !1 }; + return i.reduce(((e, n) => n(e, t)), e) ? null : t + } + }, Rc = Oc; +var Mc = class extends Nc { + constructor(e, t) { + if (bc(`constructor: creating RollingFileWriteStream. path=${e}`), "string" != typeof e || 0 === e.length) throw new Error(`Invalid filename: ${e}`); + if (e.endsWith(Bc.sep)) throw new Error(`Filename is a directory: ${e}`); + 0 === e.indexOf(`~${Bc.sep}`) && (e = e.replace("~", Pc.homedir())), super(t), this.options = this._parseOption(t), this.fileObject = Bc.parse(e), "" === this.fileObject.dir && (this.fileObject = Bc.parse(Bc.join(process.cwd(), e))), this.fileFormatter = Ic({ + file: this.fileObject, + alwaysIncludeDate: this.options.alwaysIncludePattern, + needsIndex: this.options.maxSize < Number.MAX_SAFE_INTEGER, + compress: this.options.compress, + keepFileExt: this.options.keepFileExt, + fileNameSep: this.options.fileNameSep + }), this.fileNameParser = Tc({ + file: this.fileObject, + keepFileExt: this.options.keepFileExt, + pattern: this.options.pattern, + fileNameSep: this.options.fileNameSep + }), this.state = { + currentSize: 0 + }, this.options.pattern && (this.state.currentDate = xc(this.options.pattern, kc())), this.filename = this.fileFormatter({ + index: 0, + date: this.state.currentDate + }), ["a", "a+", "as", "as+"].includes(this.options.flags) && this._setExistingSizeAndDate(), bc(`constructor: create new file ${this.filename}, state=${JSON.stringify(this.state)}`), this._renewWriteStream() + } + + _setExistingSizeAndDate() { + try { + const e = _c.statSync(this.filename); + this.state.currentSize = e.size, this.options.pattern && (this.state.currentDate = xc(this.options.pattern, e.mtime)) + } catch (e) { + return + } + } + + _parseOption(e) { + const t = { + maxSize: 0, + numToKeep: Number.MAX_SAFE_INTEGER, + encoding: "utf8", + mode: parseInt("0600", 8), + flags: "a", + compress: !1, + keepFileExt: !1, + alwaysIncludePattern: !1 + }, n = Object.assign({}, t, e); + if (n.maxSize) { + if (n.maxSize <= 0) throw new Error(`options.maxSize (${n.maxSize}) should be > 0`) + } else delete n.maxSize; + if (n.numBackups || 0 === n.numBackups) { + if (n.numBackups < 0) throw new Error(`options.numBackups (${n.numBackups}) should be >= 0`); + if (n.numBackups >= Number.MAX_SAFE_INTEGER) throw new Error(`options.numBackups (${n.numBackups}) should be < Number.MAX_SAFE_INTEGER`); + n.numToKeep = n.numBackups + 1 + } else if (n.numToKeep <= 0) throw new Error(`options.numToKeep (${n.numToKeep}) should be > 0`); + return bc(`_parseOption: creating stream with option=${JSON.stringify(n)}`), n + } + + _final(e) { + this.currentFileStream.end("", this.options.encoding, e) + } + + _write(e, t, n) { + this._shouldRoll().then((() => { + bc(`_write: writing chunk. file=${this.currentFileStream.path} state=${JSON.stringify(this.state)} chunk=${e}`), this.currentFileStream.write(e, t, (t => { + this.state.currentSize += e.length, n(t) + })) + })) + } + + async _shouldRoll() { + (this._dateChanged() || this._tooBig()) && (bc(`_shouldRoll: rolling because dateChanged? ${this._dateChanged()} or tooBig? ${this._tooBig()}`), await this._roll()) + } + + _dateChanged() { + return this.state.currentDate && this.state.currentDate !== xc(this.options.pattern, kc()) + } + + _tooBig() { + return this.state.currentSize >= this.options.maxSize + } + + _roll() { + return bc("_roll: closing the current stream"), new Promise(((e, t) => { + this.currentFileStream.end("", this.options.encoding, (() => { + this._moveOldFiles().then(e).catch(t) + })) + })) + } + + async _moveOldFiles() { + const e = await this._getExistingFiles(); + for (let t = (this.state.currentDate ? e.filter((e => e.date === this.state.currentDate)) : e).length;t >= 0; t--) { + bc(`_moveOldFiles: i = ${t}`); + const e = this.fileFormatter({ date: this.state.currentDate, index: t }), + n = this.fileFormatter({ date: this.state.currentDate, index: t + 1 }), + r = { compress: this.options.compress && 0 === t, mode: this.options.mode }; + await Rc(e, n, r) + } + this.state.currentSize = 0, this.state.currentDate = this.state.currentDate ? xc(this.options.pattern, kc()) : null, bc(`_moveOldFiles: finished rolling files. state=${JSON.stringify(this.state)}`), this._renewWriteStream(), await new Promise(((e, t) => { + this.currentFileStream.write("", "utf8", (() => { + this._clean().then(e).catch(t) + })) + })) + } + + async _getExistingFiles() { + const e = await _c.readdir(this.fileObject.dir).catch((() => [])); + bc(`_getExistingFiles: files=${e}`); + const t = e.map((e => this.fileNameParser(e))).filter((e => e)), + n = e => (e.timestamp ? e.timestamp : kc().getTime()) - e.index; + return t.sort(((e, t) => n(e) - n(t))), t + } + + _renewWriteStream() { + const e = this.fileFormatter({ date: this.state.currentDate, index: 0 }), t = e => { + try { + return _c.mkdirSync(e, { recursive: !0 }) + } catch (n) { + if ("ENOENT" === n.code) return t(Bc.dirname(e)), t(e); + if ("EEXIST" !== n.code && "EROFS" !== n.code) throw n; + try { + if (_c.statSync(e).isDirectory()) return e; + throw n + } catch (e) { + throw n + } + } + }; + t(this.fileObject.dir); + const n = { flags: this.options.flags, encoding: this.options.encoding, mode: this.options.mode }; + var r, u; + _c.appendFileSync(e, "", (r = { + ...n + }, u = "flags", r["flag"] = r[u], delete r[u], r)), this.currentFileStream = _c.createWriteStream(e, n), this.currentFileStream.on("error", (e => { + this.emit("error", e) + })) + } + + async _clean() { + const e = await this._getExistingFiles(); + if (bc(`_clean: numToKeep = ${this.options.numToKeep}, existingFiles = ${e.length}`), bc("_clean: existing files are: ", e), this._tooManyFiles(e.length)) { + const n = e.slice(0, e.length - this.options.numToKeep).map((e => Bc.format({ + dir: this.fileObject.dir, + base: e.filename + }))); + await(t = n, bc(`deleteFiles: files to delete: ${t}`), Promise.all(t.map((e => _c.unlink(e).catch((t => { + bc(`deleteFiles: error when unlinking ${e}, ignoring. Error was ${t}`) + })))))) + } + var t + } + + _tooManyFiles(e) { + return this.options.numToKeep > 0 && e > this.options.numToKeep + } +}; +const Lc = Mc; +var jc = class extends Lc { + constructor(e, t, n, r) { + r || (r = { + }), t && (r.maxSize = t), r.numBackups || 0 === r.numBackups || (n || 0 === n || (n = 1), r.numBackups = n), super(e, r), this.backups = r.numBackups, this.size = this.options.maxSize + } + + get theStream() { + return this.currentFileStream + } +}; +const $c = Mc; +var Hc = { RollingFileWriteStream: Mc, RollingFileStream: jc, DateRollingFileStream: class extends $c { + constructor(e, t, n) { + t && "object" == typeof t && (n = t, t = null), n || (n = { + }), t || (t = "yyyy-MM-dd"), n.pattern = t, n.numBackups || 0 === n.numBackups ? n.daysToKeep = n.numBackups : (n.daysToKeep || 0 === n.daysToKeep ? process.emitWarning("options.daysToKeep is deprecated due to the confusion it causes when used together with file size rolling. Please use options.numBackups instead.", "DeprecationWarning", "streamroller-DEP0001") : n.daysToKeep = 1, n.numBackups = n.daysToKeep), super(e, n), this.mode = this.options.mode + } + + get theStream() { + return this.currentFileStream + } +} }; +const Jc = Nr.exports("log4js:file"), Gc = p.default, Vc = Hc, Uc = E.default.EOL; +let Wc = !1; +const zc = new Set; + +function Kc() { + zc.forEach((e => { + e.sighupHandler() + })) +} + +function qc(e, t, n, r) { + const u = new Vc.RollingFileStream(e, t, n, r); + return u.on("error", (t => { + console.error("log4js.fileAppender - Writing to file %s, error happened ", e, t) + })), u.on("drain", (() => { + process.emit("log4js:pause",!1) + })), u +} + +Eo.configure = function (e, t) { + let n = t.basicLayout; + return e.layout && (n = t.layout(e.layout.type, e.layout)), e.mode = e.mode || 384, function(e, t, n, r, u, o){ + e = Gc.normalize(e), Jc("Creating file appender (", e, ", ", n, ", ", r = r || 0 === r ? r : 5, ", ", u, ", ", o, ")"); + let i = qc(e, n, r, u); + const s = function (e) { + if (i.writable) { + if (!0 === u.removeColor) { + const t = /\x1b[[0-9;]*m/g; + e.data = e.data.map((e => "string" == typeof e ? e.replace(t, "") : e)) + } + i.write(t(e, o) + Uc, "utf8") || process.emit("log4js:pause",!0) + } + }; + return s.reopen = function () { + i.end((() => { + i = qc(e, n, r, u) + })) + }, s.sighupHandler = function () { + Jc("SIGHUP handler called."), s.reopen() + }, s.shutdown = function (e) { + zc.delete(s), 0 === zc.size && Wc && (process.removeListener("SIGHUP", Kc), Wc = !1), i.end("", "utf-8", e) + }, zc.add(s), Wc || (process.on("SIGHUP", Kc), Wc = !0), s + }(e.filename, n, e.maxLogSize, e.backups, e, e.timezoneOffset) +}; +var Yc = {}; +const Xc = Hc, Zc = E.default.EOL; + +function Qc(e, t, n, r, u) { + r.maxSize = r.maxLogSize; + const o = function(e, t, n){ + const r = new Xc.DateRollingFileStream(e, t, n); + return r.on("error", (t => { + console.error("log4js.dateFileAppender - Writing to file %s, error happened ", e, t) + })), r.on("drain", (() => { + process.emit("log4js:pause",!1) + })), r + }(e, t, r), i = function (e) { + o.writable && (o.write(n(e, u) + Zc, "utf8") || process.emit("log4js:pause",!0)) + }; + return i.shutdown = function (e) { + o.end("", "utf-8", e) + }, i +} + +Yc.configure = function (e, t) { + let n = t.basicLayout; + return e.layout && (n = t.layout(e.layout.type, e.layout)), e.alwaysIncludePattern || (e.alwaysIncludePattern = !1), e.mode = e.mode || 384, Qc(e.filename, e.pattern, n, e, e.timezoneOffset) +}; +var ea = {}; +const ta = Nr.exports("log4js:fileSync"), na = p.default, ra = D.default, ua = E.default.EOL || "\n"; + +function oa(e, t) { + if (ra.existsSync(e)) return; + const n = ra.openSync(e, t.flags, t.mode); + ra.closeSync(n) +} + +class ia { + constructor(e, t, n, r) { + ta("In RollingFileStream"), function(){ + if (!e || !t || t <= 0) throw new Error("You must specify a filename and file size") + }(), this.filename = e, this.size = t, this.backups = n, this.options = r, this.currentSize = 0, this.currentSize = function(e){ + let t = 0; + try { + t = ra.statSync(e).size + } catch (t) { + oa(e, r) + } + return t + }(this.filename) + } + + shouldRoll() { + return ta("should roll with current size %d, and max size %d", this.currentSize, this.size), this.currentSize >= this.size + } + + roll(e) { + const t = this, n = new RegExp(`^${na.basename(e)}`); + + function r(e) { + return n.test(e) + } + + function u(t) { + return parseInt(t.substring(`${na.basename(e)}.`.length), 10) || 0 + } + + function o(e, t) { + return u(e) > u(t) ? 1 : u(e) < u(t) ? -1 : 0 + } + + function i(n) { + const r = u(n); + if (ta(`Index of ${n} is ${r}`), 0 === t.backups) ra.truncateSync(e, 0); else if (r < t.backups) { + try { + ra.unlinkSync(`${e}.${r + 1}`) + } catch (e) { + } + ta(`Renaming ${n} -> ${e}.${r + 1}`), ra.renameSync(na.join(na.dirname(e), n), `${e}.${r + 1}`) + } + } + + ta("Rolling, rolling, rolling"), ta("Renaming the old files"), ra.readdirSync(na.dirname(e)).filter(r).sort(o).reverse().forEach(i) + } + + write(e, t) { + const n = this; + ta("in write"), this.shouldRoll() && (this.currentSize = 0, this.roll(this.filename)), ta("writing the chunk to the file"), n.currentSize += e.length, ra.appendFileSync(n.filename, e) + } +} + +ea.configure = function (e, t) { + let n = t.basicLayout; + e.layout && (n = t.layout(e.layout.type, e.layout)); + const r = { flags: e.flags || "a", encoding: e.encoding || "utf8", mode: e.mode || 384 }; + return function(e, t, n, r, u, o){ + ta("fileSync appender created"); + const i = function(e, t, n){ + let r; + var u; + return t ? r = new ia(e, t, n, o) : (oa(u = e, o), r = { write(e) { + ra.appendFileSync(u, e) + } }), r + }(e = na.normalize(e), n, r = r || 0 === r ? r : 5); + return e => { + i.write(t(e, u) + ua) + } + }(e.filename, n, e.maxLogSize, e.backups, e.timezoneOffset, r) +}; +var sa = {}; +const ca = Nr.exports("log4js:tcp"), aa = S.default; +sa.configure = function (e, t) { + ca(`configure with config = ${e}`); + let n = function (e) { + return e.serialise() + }; + return e.layout && (n = t.layout(e.layout.type, e.layout)), function(e, t){ + let n = !1; + const r = []; + let u, o = 3, i = "__LOG4JS__"; + + function s(e) { + ca("Writing log event to socket"), n = u.write(`${t(e)}${i}`, "utf8") + } + + function c() { + let e; + for (ca("emptying buffer"); e = r.shift(); ) s(e) + } + + function a(e) { + n ? s(e) : (ca("buffering log event because it cannot write at the moment"), r.push(e)) + } + + return function t(){ + ca(`appender creating socket to ${e.host || "localhost"}:${e.port || 5e3}`), i = `${e.endMsg || "__LOG4JS__"}`, u = aa.createConnection(e.port || 5e3, e.host || "localhost"), u.on("connect", (() => { + ca("socket connected"), c(), n = !0 + })), u.on("drain", (() => { + ca("drain event received, emptying buffer"), n = !0, c() + })), u.on("timeout", u.end.bind(u)), u.on("error", (e => { + ca("connection error", e), n = !1, c() + })), u.on("close", t) + }(), a.shutdown = function (e) { + ca("shutdown called"), r.length && o ? (ca("buffer has items, waiting 100ms to empty"), o -= 1, setTimeout((() => { + a.shutdown(e) + }), 100)) : (u.removeAllListeners("close"), u.end(e)) + }, a + }(e, n) +}; +const la = p.default, fa = Nr.exports("log4js:appenders"), da = tu, Da = eo, pa = gu, Ea = hu, ma = to, ha = new Map; +ha.set("console", oo), ha.set("stdout", so), ha.set("stderr", co), ha.set("logLevelFilter", ao), ha.set("categoryFilter", lo), ha.set("noLogFilter", Do), ha.set("file", Eo), ha.set("dateFile", Yc), ha.set("fileSync", ea), ha.set("tcp", sa); +const ya = new Map, Ca = (e, t) => { + fa("Loading module from ", e); + try { + return require(e) + } catch (n) { + return void da.throwExceptionIf(t, "MODULE_NOT_FOUND" !== n.code, `appender "${e}" could not be loaded (error was: ${n})`) + } +}, Fa = new Set, ga = (e, t) => { + if (ya.has(e)) return ya.get(e); + if (!t.appenders[e]) return !1; + if (Fa.has(e)) throw new Error(`Dependency loop detected for appender ${e}.`); + Fa.add(e), fa(`Creating appender ${e}`); + const n = Aa(e, t); + return Fa.delete(e), ya.set(e, n), n +}, Aa = (e, t) => { + const n = t.appenders[e], + r = n.type.configure ? n.type : ((e, t) => ha.get(e) || Ca(`./${e}`, t) || Ca(e, t) || require.main && Ca(la.join(la.dirname(require.main.filename), e), t) || Ca(la.join(process.cwd(), e), t))(n.type, t); + return da.throwExceptionIf(t, da.not(r), `appender "${e}" is not valid (type "${n.type}" could not be found)`), r.appender && fa(`DEPRECATION: Appender ${n.type} exports an appender function.`), r.shutdown && fa(`DEPRECATION: Appender ${n.type} exports a shutdown function.`), fa(`${e}: clustering.isMaster ? ${Da.isMaster()}`), fa(`${e}: appenderModule is ${F.default.inspect(r)}`), Da.onlyOnMaster((() => (fa(`calling appenderModule.configure for ${e} / ${n.type}`), r.configure(ma.modifyConfig(n), Ea, (e => ga(e, t)), pa))), (() => { + })) +}, va = e => { + ya.clear(), Fa.clear(); + const t = []; + Object.values(e.categories).forEach((e => { + t.push(...e.appenders) + })), Object.keys(e.appenders).forEach((n => { + (t.includes(n) || "tcp-server" === e.appenders[n].type) && ga(n, e) + })) +}, Sa = () => { + va({ appenders: { out: { type: "stdout" } }, categories: { default: { appenders: ["out"], level: "trace" } } }) +}; +Sa(), da.addListener((e => { + da.throwExceptionIf(e, da.not(da.anObject(e.appenders)), 'must have a property "appenders" of type object.'); + const t = Object.keys(e.appenders); + da.throwExceptionIf(e, da.not(t.length), "must define at least one appender."), t.forEach((t => { + da.throwExceptionIf(e, da.not(e.appenders[t].type), `appender "${t}" is not valid (must be an object with property "type")`) + })) +})), da.addListener(va), Au.exports = ya, Au.exports.init = Sa; +var wa = { exports: {} }; +!function(e){ + const t = Nr.exports("log4js:categories"), n = tu, r = gu, u = Au.exports, o = new Map; + + function i(e, t, n) { + if (!1 === t.inherit) return; + const r = n.lastIndexOf("."); + if (r < 0) return; + const u = n.substring(0, r); + let o = e.categories[u]; + o || (o = { + inherit: !0, + appenders: [] + }), i(e, o, u),!e.categories[u] && o.appenders && o.appenders.length && o.level && (e.categories[u] = o), t.appenders = t.appenders || [], t.level = t.level || o.level, o.appenders.forEach((e => { + t.appenders.includes(e) || t.appenders.push(e) + })), t.parent = o + } + + function s(e) { + if (!e.categories) return; + Object.keys(e.categories).forEach((t => { + const n = e.categories[t]; + i(e, n, t) + })) + } + + n.addPreProcessingListener((e => s(e))), n.addListener((e => { + n.throwExceptionIf(e, n.not(n.anObject(e.categories)), 'must have a property "categories" of type object.'); + const t = Object.keys(e.categories); + n.throwExceptionIf(e, n.not(t.length), "must define at least one category."), t.forEach((t => { + const o = e.categories[t]; + n.throwExceptionIf(e, [n.not(o.appenders), n.not(o.level)], `category "${t}" is not valid (must be an object with properties "appenders" and "level")`), n.throwExceptionIf(e, n.not(Array.isArray(o.appenders)), `category "${t}" is not valid (appenders must be an array of appender names)`), n.throwExceptionIf(e, n.not(o.appenders.length), `category "${t}" is not valid (appenders must contain at least one appender name)`), Object.prototype.hasOwnProperty.call(o, "enableCallStack") && n.throwExceptionIf(e, "boolean" != typeof o.enableCallStack, `category "${t}" is not valid (enableCallStack must be boolean type)`), o.appenders.forEach((r => { + n.throwExceptionIf(e, n.not(u.get(r)), `category "${t}" is not valid (appender "${r}" is not defined)`) + })), n.throwExceptionIf(e, n.not(r.getLevel(o.level)), `category "${t}" is not valid (level "${o.level}" not recognised; valid levels are ${r.levels.join(", ")})`) + })), n.throwExceptionIf(e, n.not(e.categories.default), 'must define a "default" category.') + })); + const c = e => { + o.clear(); + Object.keys(e.categories).forEach((n => { + const i = e.categories[n], s = []; + i.appenders.forEach((e => { + s.push(u.get(e)), t(`Creating category ${n}`), o.set(n, { + appenders: s, + level: r.getLevel(i.level), + enableCallStack: i.enableCallStack || !1 + }) + })) + })) + }, a = () => { + c({ categories: { default: { appenders: ["out"], level: "OFF" } } }) + }; + a(), n.addListener(c); + const l = e => (t(`configForCategory: searching for config for ${e}`), o.has(e) ? (t(`configForCategory: ${e} exists in config, returning it`), o.get(e)) : e.indexOf(".") > 0 ? (t(`configForCategory: ${e} has hierarchy, searching for parents`), l(e.substring(0, e.lastIndexOf(".")))) : (t("configForCategory: returning config for default category"), l("default"))); + e.exports = o, e.exports = Object.assign(e.exports, { + appendersForCategory: e => l(e).appenders, + getLevelForCategory: e => l(e).level, + setLevelForCategory: (e, n) => { + let r = o.get(e); + if (t(`setLevelForCategory: found ${r} for ${e}`),!r) { + const n = l(e); + t(`setLevelForCategory: no config found for category, found ${n} for parents of ${e}`), r = { + appenders: n.appenders + } + } + r.level = n, o.set(e, r) + }, + getEnableCallStackForCategory: e =>!0 === l(e).enableCallStack, + setEnableCallStackForCategory: (e, t) => { + l(e).enableCallStack = t + }, + init: a + }) +}(wa); +const Oa = Nr.exports("log4js:logger"), ba = Hu, _a = gu, Ba = eo, Pa = wa.exports, ka = tu, + xa = /at (?:(.+)\s+\()?(?:(.+?):(\d+)(?::(\d+))?|([^)]+))\)?/; + +function Na(e, t = 4) { + const n = e.stack.split("\n").slice(t), r = xa.exec(n[0]); + return r && 6 === r.length ? { + functionName: r[1], + fileName: r[2], + lineNumber: parseInt(r[3], 10), + columnNumber: parseInt(r[4], 10), + callStack: n.join("\n") + } : null +} + +class Ia { + constructor(e) { + if (!e) throw new Error("No category provided."); + this.category = e, this.context = { + }, this.parseCallStack = Na, Oa(`Logger created (${this.category}, ${this.level})`) + } + + get level() { + return _a.getLevel(Pa.getLevelForCategory(this.category), _a.TRACE) + } + + set level(e) { + Pa.setLevelForCategory(this.category, _a.getLevel(e, this.level)) + } + + get useCallStack() { + return Pa.getEnableCallStackForCategory(this.category) + } + + set useCallStack(e) { + Pa.setEnableCallStackForCategory(this.category,!0 === e) + } + + log(e, ...t) { + let n = _a.getLevel(e); + n || (this._log(_a.WARN, "log4js:logger.log: invalid value for log-level as first parameter given: ", e), n = _a.INFO), this.isLevelEnabled(n) && this._log(n, t) + } + + isLevelEnabled(e) { + return this.level.isLessThanOrEqualTo(e) + } + + _log(e, t) { + Oa(`sending log data (${e}) to appenders`); + const n = new ba(this.category, e, t, this.context, this.useCallStack && this.parseCallStack(new Error)); + Ba.send(n) + } + + addContext(e, t) { + this.context[e] = t + } + + removeContext(e) { + delete this.context[e] + } + + clearContext() { + this.context = {} + } + + setParseCallStackFunction(e) { + this.parseCallStack = e + } +} + +function Ta(e) { + const t = _a.getLevel(e), n = t.toString().toLowerCase().replace(/_([a-z])/g, (e => e[1].toUpperCase())), + r = n[0].toUpperCase() + n.slice(1); + Ia.prototype[`is${r}Enabled`] = function () { + return this.isLevelEnabled(t) + }, Ia.prototype[n] = function (...e) { + this.log(t, ...e) + } +} + +_a.levels.forEach(Ta), ka.addListener((() => { + _a.levels.forEach(Ta) +})); +var Ra = Ia; +const Ma = gu; + +function La(e) { + return e.originalUrl || e.url +} + +function ja(e, t) { + for (let n = 0;n < t.length; n++) e = e.replace(t[n].token, t[n].replacement); + return e +} + +const $a = Nr.exports("log4js:recording"), Ha = []; + +function Ja() { + return Ha.slice() +} + +function Ga() { + Ha.length = 0 +} + +var Va = { + configure: function () { + return function (e) { + $a(`received logEvent, number of events now ${Ha.length + 1}`), $a("log event was ", e), Ha.push(e) + } + }, + replay: Ja, + playback: Ja, + reset: Ga, + erase: Ga +}; +const Ua = Nr.exports("log4js:main"), Wa = D.default, za = Wr({ proto: !0 }), Ka = tu, qa = hu, Ya = gu, + Xa = Au.exports, Za = wa.exports, Qa = Ra, el = eo, tl = function (e, t) { + t = "string" == typeof t || "function" == typeof t ? { format: t } : t || {}; + const n = e; + let r = Ma.getLevel(t.level, Ma.INFO); + const u = t.format || ':remote-addr - - ":method :url HTTP/:http-version" :status :content-length ":referrer" ":user-agent"', + o = function(e){ + let t = null; + if (e instanceof RegExp && (t = e), "string" == typeof e && (t = new RegExp(e)), Array.isArray(e)) { + const n = e.map((e => e.source ? e.source : e)); + t = new RegExp(n.join("|")) + } + return t + }(t.nolog); + return (e, i, s) => { + if (e._logging) return s(); + if (o && o.test(e.originalUrl)) return s(); + if (n.isLevelEnabled(r) || "auto" === t.level) { + const o = new Date, {writeHead:s} = i; + e._logging = !0, i.writeHead = (e, t) => { + i.writeHead = s, i.writeHead(e, t), i.__statusCode = e, i.__headers = t || {} + }, i.on("finish", (() => { + i.responseTime = new Date - o, i.statusCode && "auto" === t.level && (r = Ma.INFO, i.statusCode >= 300 && (r = Ma.WARN), i.statusCode >= 400 && (r = Ma.ERROR)), r = function(e, t, n){ + let r = t; + if (n) { + const t = n.find((t => { + let n = !1; + return n = t.from && t.to ? e >= t.from && e <= t.to : -1 !== t.codes.indexOf(e), n + })); + t && (r = Ma.getLevel(t.level, r)) + } + return r + }(i.statusCode, r, t.statusRules); + const s = function(e, t, n){ + const r = []; + return r.push({ token: ":url", replacement: La(e) }), r.push({ + token: ":protocol", + replacement: e.protocol + }), r.push({ token: ":hostname", replacement: e.hostname }), r.push({ + token: ":method", + replacement: e.method + }), r.push({ token: ":status", replacement: t.__statusCode || t.statusCode }), r.push({ + token: ":response-time", + replacement: t.responseTime + }), r.push({ token: ":date", replacement: (new Date).toUTCString() }), r.push({ + token: ":referrer", + replacement: e.headers.referer || e.headers.referrer || "" + }), r.push({ + token: ":http-version", + replacement: `${e.httpVersionMajor}.${e.httpVersionMinor}` + }), r.push({ + token: ":remote-addr", + replacement: e.headers["x-forwarded-for"] || e.ip || e._remoteAddress || e.socket && (e.socket.remoteAddress || e.socket.socket && e.socket.socket.remoteAddress) + }), r.push({ token: ":user-agent", replacement: e.headers["user-agent"] }), r.push({ + token: ":content-length", + replacement: t.getHeader("content-length") || t.__headers && t.__headers["Content-Length"] || "-" + }), r.push({ + token: /:req\[([^\]]+)]/g, + replacement: (t, n) => e.headers[n.toLowerCase()] + }), r.push({ + token: /:res\[([^\]]+)]/g, + replacement: (e, n) => t.getHeader(n.toLowerCase()) || t.__headers && t.__headers[n] + }), (e => { + const t = e.concat(); + for (let e = 0;e < t.length; ++e) for (let n = e + 1;n < t.length; ++n) t[e].token == t[n].token && t.splice(n--, 1); + return t + })(n.concat(r)) + }(e, i, t.tokens || []); + if (t.context && n.addContext("res", i), "function" == typeof u) { + const t = u(e, i, (e => ja(e, s))); + t && n.log(r, t) + } else n.log(r, ja(u, s)); + t.context && n.removeContext("res") + })) + } + return s() + } + }, nl = Va; +let rl = !1; + +function ul(e) { + if (!rl) return; + Ua("Received log event ", e); + Za.appendersForCategory(e.categoryName).forEach((t => { + t(e) + })) +} + +function ol(e) { + rl && il(); + let t = e; + return "string" == typeof t && (t = function(e){ + Ua(`Loading configuration from ${e}`); + try { + return JSON.parse(Wa.readFileSync(e, "utf8")) + } catch (t) { + throw new Error(`Problem reading config from file "${e}". Error was ${t.message}`, t) + } + }(e)), Ua(`Configuration is ${t}`), Ka.configure(za(t)), el.onMessage(ul), rl = !0, sl +} + +function il(e) { + Ua("Shutdown called. Disabling all log writing."), rl = !1; + const t = Array.from(Xa.values()); + Xa.init(), Za.init(); + const n = t.reduceRight(((e, t) => t.shutdown ? e + 1 : e), 0); + if (0 === n) return Ua("No appenders with shutdown functions found."), void 0 !== e && e(); + let r, u = 0; + + function o(t) { + r = r || t, u += 1, Ua(`Appender shutdowns complete: ${u} / ${n}`), u >= n && (Ua("All shutdown functions completed."), e && e(r)) + } + + return Ua(`Found ${n} appenders with shutdown functions.`), t.filter((e => e.shutdown)).forEach((e => e.shutdown(o))), null +} + +const sl = { + getLogger: function (e) { + return rl || ol(process.env.LOG4JS_CONFIG || { + appenders: { out: { type: "stdout" } }, + categories: { default: { appenders: ["out"], level: "OFF" } } + }), new Qa(e || "default") + }, + configure: ol, + shutdown: il, + connectLogger: tl, + levels: Ya, + addLayout: qa.addLayout, + recording: function () { + return nl + } +}; +var cl = sl, al = {}; +Object.defineProperty(al, "__esModule", { + value: !0 +}), al.levelMap = al.getLevel = al.setCategoriesLevel = al.getConfiguration = al.setConfiguration = void 0; +const ll = cl; +let fl = { + appenders: { + debug: { type: "stdout", layout: { type: "pattern", pattern: "[%d] > hvigor %p %c %[%m%]" } }, + info: { type: "stdout", layout: { type: "pattern", pattern: "[%d] > hvigor %[%m%]" } }, + "no-pattern-info": { type: "stdout", layout: { type: "pattern", pattern: "%m" } }, + wrong: { type: "stderr", layout: { type: "pattern", pattern: "[%d] > hvigor %[%p: %m%]" } }, + "just-debug": { type: "logLevelFilter", appender: "debug", level: "debug", maxLevel: "debug" }, + "just-info": { type: "logLevelFilter", appender: "info", level: "info", maxLevel: "info" }, + "just-wrong": { type: "logLevelFilter", appender: "wrong", level: "warn", maxLevel: "error" } + }, + categories: { + default: { appenders: ["just-debug", "just-info", "just-wrong"], level: "debug" }, + "no-pattern-info": { appenders: ["no-pattern-info"], level: "info" } + } +}; +al.setConfiguration = e => { + fl = e +}; +al.getConfiguration = () => fl; +let dl = ll.levels.DEBUG; +al.setCategoriesLevel = (e, t) => { + dl = e; + const n = fl.categories; + for (const r in n) (null == t ? void 0 : t.includes(r)) || Object.prototype.hasOwnProperty.call(n, r) && (n[r].level = e.levelStr) +}; +al.getLevel = () => dl, al.levelMap = new Map([["ALL", ll.levels.ALL], ["MARK", ll.levels.MARK], ["TRACE", ll.levels.TRACE], ["DEBUG", ll.levels.DEBUG], ["INFO", ll.levels.INFO], ["WARN", ll.levels.WARN], ["ERROR", ll.levels.ERROR], ["FATAL", ll.levels.FATAL], ["OFF", ll.levels.OFF]]); +var Dl = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) +} : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] +}), pl = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) +} : function (e, t) { + e.default = t +}), El = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var n in e) "default" !== n && Object.prototype.hasOwnProperty.call(e, n) && Dl(t, e, n); + return pl(t, e), t +}; +Object.defineProperty(xr, "__esModule", { value: !0 }), xr.evaluateLogLevel = xr.HvigorLogger = void 0; +const ml = El(cl), hl = cl, yl = El(F.default), Cl = al; + +class Fl { + constructor(e) { + ml.configure((0, Cl.getConfiguration)()), this._logger = ml.getLogger(e), this._logger.level = (0, Cl.getLevel)() + } + + static getLogger(e) { + return new Fl(e) + } + + log(e, ...t) { + this._logger.log(e, ...t) + } + + debug(e, ...t) { + this._logger.debug(e, ...t) + } + + info(e, ...t) { + this._logger.info(e, ...t) + } + + warn(e, ...t) { + void 0 !== e && "" !== e && this._logger.warn(e, ...t) + } + + error(e, ...t) { + this._logger.error(e, ...t) + } + + _printTaskExecuteInfo(e, t) { + this.info(`Finished :${e}... after ${t}`) + } + + _printFailedTaskInfo(e) { + this.error(`Failed :${e}... `) + } + + _printDisabledTaskInfo(e) { + this.info(`Disabled :${e}... `) + } + + _printUpToDateTaskInfo(e) { + this.info(`UP-TO-DATE :${e}... `) + } + + errorMessageExit(e, ...t) { + throw new Error(yl.format(e, ...t)) + } + + errorExit(e, t, ...n) { + t && this._logger.error(t, n), this._logger.error(e.stack) + } + + setLevel(e, t) { + (0, Cl.setCategoriesLevel)(e, t), ml.shutdown(), ml.configure((0, Cl.getConfiguration)()) + } + + getLevel() { + return this._logger.level + } + + configure(e) { + const t = (0, Cl.getConfiguration)(), + n = { appenders: { ...t.appenders, ...e.appenders }, categories: { ...t.categories, ...e.categories } }; + (0, Cl.setConfiguration)(n), ml.shutdown(), ml.configure(n) + } +} + +xr.HvigorLogger = Fl, xr.evaluateLogLevel = function (e, t) { + t.debug ? e.setLevel(hl.levels.DEBUG) : t.warn ? e.setLevel(hl.levels.WARN) : t.error ? e.setLevel(hl.levels.ERROR) : e.setLevel(hl.levels.INFO) +}; +var gl = w && w.__importDefault || function (e) { + return e && e.__esModule ? e : { default: e } +}; +Object.defineProperty(X, "__esModule", { value: !0 }), X.parseJsonText = X.parseJsonFile = void 0; +const Al = Z, vl = gl(kr), Sl = gl(p.default), wl = gl(E.default), Ol = xr.HvigorLogger.getLogger("parse-json-util"); +var bl; +!function(e){ + e[e.Char=0] = "Char", e[e.EOF=1] = "EOF", e[e.Identifier=2] = "Identifier" +}(bl || (bl = {})); +let _l, Bl, Pl, kl, xl, Nl, Il = "start", Tl = [], Rl = 0, Ml = 1, Ll = 0, jl = !1, $l = "default", Hl = "'", Jl = 1; + +function Gl(e, t = !1) { + Bl = String(e), Il = "start", Tl = [], Rl = 0, Ml = 1, Ll = 0, kl = void 0, jl = t; + do { + _l = Vl(), Xl[Il]() + } while ("eof" !== _l.type); + return kl +} + +function Vl() { + for ($l = "default", xl = "", Hl = "'", Jl = 1;; ) { + Nl = Ul(); + const e = zl[$l](); + if (e) return e + } +} + +function Ul() { + if (Bl[Rl]) return String.fromCodePoint(Bl.codePointAt(Rl)) +} + +function Wl() { + const e = Ul(); + return "\n" === e ? (Ml++, Ll = 0) : e ? Ll += e.length : Ll++, e && (Rl += e.length), e +} + +X.parseJsonFile = function (e, t = !1, n = "utf-8") { + const r = vl.default.readFileSync(Sl.default.resolve(e), { encoding: n }); + try { + return Gl(r, t) + } catch (t) { + if (t instanceof SyntaxError) { + const n = t.message.split("at"); + 2 === n.length && Ol.errorMessageExit(`${n[0].trim()}${wl.default.EOL}\t at ${e}:${n[1].trim()}`) + } + Ol.errorMessageExit(`${e} is not in valid JSON/JSON5 format.`) + } +}, X.parseJsonText = Gl; +const zl = { + default() { + switch (Nl) { + case "/": + return Wl(), void ($l = "comment"); + case void 0: + return Wl(), Kl("eof") + } + if (!Al.JudgeUtil.isIgnoreChar(Nl) && !Al.JudgeUtil.isSpaceSeparator(Nl)) return zl[Il](); + Wl() + }, + start() { + $l = "value" + }, + beforePropertyName() { + switch (Nl) { + case "$": + case "_": + return xl = Wl(), void ($l = "identifierName"); + case "\\": + return Wl(), void ($l = "identifierNameStartEscape"); + case "}": + return Kl("punctuator", Wl()); + case '"': + case "'": + return Hl = Nl, Wl(), void ($l = "string") + } + if (Al.JudgeUtil.isIdStartChar(Nl)) return xl += Wl(), void ($l = "identifierName"); + throw tf(bl.Char, Wl()) + }, + afterPropertyName() { + if (":" === Nl) return Kl("punctuator", Wl()); + throw tf(bl.Char, Wl()) + }, + beforePropertyValue() { + $l = "value" + }, + afterPropertyValue() { + switch (Nl) { + case ",": + case "}": + return Kl("punctuator", Wl()) + } + throw tf(bl.Char, Wl()) + }, + beforeArrayValue() { + if ("]" === Nl) return Kl("punctuator", Wl()); + $l = "value" + }, + afterArrayValue() { + switch (Nl) { + case ",": + case "]": + return Kl("punctuator", Wl()) + } + throw tf(bl.Char, Wl()) + }, + end() { + throw tf(bl.Char, Wl()) + }, + comment() { + switch (Nl) { + case "*": + return Wl(), void ($l = "multiLineComment"); + case "/": + return Wl(), void ($l = "singleLineComment") + } + throw tf(bl.Char, Wl()) + }, + multiLineComment() { + switch (Nl) { + case "*": + return Wl(), void ($l = "multiLineCommentAsterisk"); + case void 0: + throw tf(bl.Char, Wl()) + } + Wl() + }, + multiLineCommentAsterisk() { + switch (Nl) { + case "*": + return void Wl(); + case "/": + return Wl(), void ($l = "default"); + case void 0: + throw tf(bl.Char, Wl()) + } + Wl(), $l = "multiLineComment" + }, + singleLineComment() { + switch (Nl) { + case "\n": + case "\r": + case "\u2028": + case "\u2029": + return Wl(), void ($l = "default"); + case void 0: + return Wl(), Kl("eof") + } + Wl() + }, + value() { + switch (Nl) { + case "{": + case "[": + return Kl("punctuator", Wl()); + case "n": + return Wl(), ql("ull"), Kl("null", null); + case "t": + return Wl(), ql("rue"), Kl("boolean",!0); + case "f": + return Wl(), ql("alse"), Kl("boolean",!1); + case "-": + case "+": + return "-" === Wl() && (Jl = -1), void ($l = "numerical"); + case ".": + case "0": + case "I": + case "N": + return void ($l = "numerical"); + case '"': + case "'": + return Hl = Nl, Wl(), xl = "", void ($l = "string") + } + if (void 0 === Nl || !Al.JudgeUtil.isDigitWithoutZero(Nl)) throw tf(bl.Char, Wl()); + $l = "numerical" + }, + numerical() { + switch (Nl) { + case ".": + return xl = Wl(), void ($l = "decimalPointLeading"); + case "0": + return xl = Wl(), void ($l = "zero"); + case "I": + return Wl(), ql("nfinity"), Kl("numeric", Jl * (1 / 0)); + case "N": + return Wl(), ql("aN"), Kl("numeric", NaN) + } + if (void 0 !== Nl && Al.JudgeUtil.isDigitWithoutZero(Nl)) return xl = Wl(), void ($l = "decimalInteger"); + throw tf(bl.Char, Wl()) + }, + zero() { + switch (Nl) { + case ".": + case "e": + case "E": + return void ($l = "decimal"); + case "x": + case "X": + return xl += Wl(), void ($l = "hexadecimal") + } + return Kl("numeric", 0) + }, + decimalInteger() { + switch (Nl) { + case ".": + case "e": + case "E": + return void ($l = "decimal") + } + if (!Al.JudgeUtil.isDigit(Nl)) return Kl("numeric", Jl * Number(xl)); + xl += Wl() + }, + decimal() { + switch (Nl) { + case ".": + xl += Wl(), $l = "decimalFraction"; + break; + case "e": + case "E": + xl += Wl(), $l = "decimalExponent" + } + }, + decimalPointLeading() { + if (Al.JudgeUtil.isDigit(Nl)) return xl += Wl(), void ($l = "decimalFraction"); + throw tf(bl.Char, Wl()) + }, + decimalFraction() { + switch (Nl) { + case "e": + case "E": + return xl += Wl(), void ($l = "decimalExponent") + } + if (!Al.JudgeUtil.isDigit(Nl)) return Kl("numeric", Jl * Number(xl)); + xl += Wl() + }, + decimalExponent() { + switch (Nl) { + case "+": + case "-": + return xl += Wl(), void ($l = "decimalExponentSign") + } + if (Al.JudgeUtil.isDigit(Nl)) return xl += Wl(), void ($l = "decimalExponentInteger"); + throw tf(bl.Char, Wl()) + }, + decimalExponentSign() { + if (Al.JudgeUtil.isDigit(Nl)) return xl += Wl(), void ($l = "decimalExponentInteger"); + throw tf(bl.Char, Wl()) + }, + decimalExponentInteger() { + if (!Al.JudgeUtil.isDigit(Nl)) return Kl("numeric", Jl * Number(xl)); + xl += Wl() + }, + hexadecimal() { + if (Al.JudgeUtil.isHexDigit(Nl)) return xl += Wl(), void ($l = "hexadecimalInteger"); + throw tf(bl.Char, Wl()) + }, + hexadecimalInteger() { + if (!Al.JudgeUtil.isHexDigit(Nl)) return Kl("numeric", Jl * Number(xl)); + xl += Wl() + }, + identifierNameStartEscape() { + if ("u" !== Nl) throw tf(bl.Char, Wl()); + Wl(); + const e = Yl(); + switch (e) { + case "$": + case "_": + break; + default: + if (!Al.JudgeUtil.isIdStartChar(e)) throw tf(bl.Identifier) + } + xl += e, $l = "identifierName" + }, + identifierName() { + switch (Nl) { + case "$": + case "_": + case "‌": + case "‍": + return void (xl += Wl()); + case "\\": + return Wl(), void ($l = "identifierNameEscape") + } + if (!Al.JudgeUtil.isIdContinueChar(Nl)) return Kl("identifier", xl); + xl += Wl() + }, + identifierNameEscape() { + if ("u" !== Nl) throw tf(bl.Char, Wl()); + Wl(); + const e = Yl(); + switch (e) { + case "$": + case "_": + case "‌": + case "‍": + break; + default: + if (!Al.JudgeUtil.isIdContinueChar(e)) throw tf(bl.Identifier) + } + xl += e, $l = "identifierName" + }, + string() { + switch (Nl) { + case "\\": + return Wl(), void (xl += function(){ + const e = Ul(), t = function(){ + switch (Ul()) { + case "b": + return Wl(), "\b"; + case "f": + return Wl(), "\f"; + case "n": + return Wl(), "\n"; + case "r": + return Wl(), "\r"; + case "t": + return Wl(), "\t"; + case "v": + return Wl(), "\v" + } + return + }(); + if (t) return t; + switch (e) { + case "0": + if (Wl(), Al.JudgeUtil.isDigit(Ul())) throw tf(bl.Char, Wl()); + return "\0"; + case "x": + return Wl(), function(){ + let e = "", t = Ul(); + if (!Al.JudgeUtil.isHexDigit(t)) throw tf(bl.Char, Wl()); + if (e += Wl(), t = Ul(),!Al.JudgeUtil.isHexDigit(t)) throw tf(bl.Char, Wl()); + return e += Wl(), String.fromCodePoint(parseInt(e, 16)) + }(); + case "u": + return Wl(), Yl(); + case "\n": + case "\u2028": + case "\u2029": + return Wl(), ""; + case "\r": + return Wl(), "\n" === Ul() && Wl(), "" + } + if (void 0 === e || Al.JudgeUtil.isDigitWithoutZero(e)) throw tf(bl.Char, Wl()); + return Wl() + }()); + case '"': + case "'": + if (Nl === Hl) { + const e = Kl("string", xl); + return Wl(), e + } + return void (xl += Wl()); + case "\n": + case "\r": + case void 0: + throw tf(bl.Char, Wl()); + case "\u2028": + case "\u2029": + !function(e){ + Ol.warn(`JSON5: '${ef(e)}' in strings is not valid ECMAScript; consider escaping.`) + }(Nl) + } + xl += Wl() + } +}; + +function Kl(e, t) { + return { type: e, value: t, line: Ml, column: Ll } +} + +function ql(e) { + for (const t of e) { + if (Ul() !== t) throw tf(bl.Char, Wl()); + Wl() + } +} + +function Yl() { + let e = "", t = 4; + for (; t-- > 0; ) { + const t = Ul(); + if (!Al.JudgeUtil.isHexDigit(t)) throw tf(bl.Char, Wl()); + e += Wl() + } + return String.fromCodePoint(parseInt(e, 16)) +} + +const Xl = { + start() { + if ("eof" === _l.type) throw tf(bl.EOF); + Zl() + }, + beforePropertyName() { + switch (_l.type) { + case "identifier": + case "string": + return Pl = _l.value, void (Il = "afterPropertyName"); + case "punctuator": + return void Ql(); + case "eof": + throw tf(bl.EOF) + } + }, + afterPropertyName() { + if ("eof" === _l.type) throw tf(bl.EOF); + Il = "beforePropertyValue" + }, + beforePropertyValue() { + if ("eof" === _l.type) throw tf(bl.EOF); + Zl() + }, + afterPropertyValue() { + if ("eof" === _l.type) throw tf(bl.EOF); + switch (_l.value) { + case ",": + return void (Il = "beforePropertyName"); + case "}": + Ql() + } + }, + beforeArrayValue() { + if ("eof" === _l.type) throw tf(bl.EOF); + "punctuator" !== _l.type || "]" !== _l.value ? Zl() : Ql() + }, + afterArrayValue() { + if ("eof" === _l.type) throw tf(bl.EOF); + switch (_l.value) { + case ",": + return void (Il = "beforeArrayValue"); + case "]": + Ql() + } + }, + end() { + } +}; + +function Zl() { + const e = function(){ + let e; + switch (_l.type) { + case "punctuator": + switch (_l.value) { + case "{": + e = {}; + break; + case "[": + e = [] + } + break; + case "null": + case "boolean": + case "numeric": + case "string": + e = _l.value + } + return e + }(); + if (jl && "object" == typeof e && (e._line = Ml, e._column = Ll), void 0 === kl) kl = e; else { + const t = Tl[Tl.length-1]; + Array.isArray(t) ? jl && "object" != typeof e ? t.push({ + value: e, + _line: Ml, + _column: Ll + }) : t.push(e) : t[Pl] = jl && "object" != typeof e ? { value: e, _line: Ml, _column: Ll } : e + } + !function(e){ + if (e && "object" == typeof e) Tl.push(e), Il = Array.isArray(e) ? "beforeArrayValue" : "beforePropertyName"; else { + const e = Tl[Tl.length-1]; + Il = e ? Array.isArray(e) ? "afterArrayValue" : "afterPropertyValue" : "end" + } + }(e) +} + +function Ql() { + Tl.pop(); + const e = Tl[Tl.length-1]; + Il = e ? Array.isArray(e) ? "afterArrayValue" : "afterPropertyValue" : "end" +} + +function ef(e) { + const t = { + "'": "\\'", + '"': '\\"', + "\\": "\\\\", + "\b": "\\b", + "\f": "\\f", + "\n": "\\n", + "\r": "\\r", + "\t": "\\t", + "\v": "\\v", + "\0": "\\0", + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + if (t[e]) return t[e]; + if (e < " ") { + const t = e.charCodeAt(0).toString(16); + return `\\x${`00${t}`.substring(t.length)}` + } + return e +} + +function tf(e, t) { + let n = ""; + switch (e) { + case bl.Char: + n = void 0 === t ? `JSON5: invalid end of input at ${Ml}:${Ll}` : `JSON5: invalid character '${ef(t)}' at ${Ml}:${Ll}`; + break; + case bl.EOF: + n = `JSON5: invalid end of input at ${Ml}:${Ll}`; + break; + case bl.Identifier: + Ll -= 5, n = `JSON5: invalid identifier character at ${Ml}:${Ll}` + } + const r = new nf(n); + return r.lineNumber = Ml, r.columnNumber = Ll, r +} + +class nf extends SyntaxError { +} + +var rf = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) +} : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] +}), uf = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) +} : function (e, t) { + e.default = t +}), of = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var n in e) "default" !== n && Object.prototype.hasOwnProperty.call(e, n) && rf(t, e, n); + return uf(t, e), t +}; +Object.defineProperty(Y, "__esModule", { value: !0 }); +var sf = Y.cleanWorkSpace = Ff = Y.executeInstallHvigor = yf = Y.isHvigorInstalled = mf = Y.isAllDependenciesInstalled = void 0; +const cf = of(D.default), af = of(p.default), lf = b, ff = j, df = $, Df = X; +let pf, Ef; +var mf = Y.isAllDependenciesInstalled = function () { + + function e(e) { + const t = null == e ? void 0 : e.dependencies; + return void 0 === t ? 0 : Object.getOwnPropertyNames(t).length + } + + if (pf = gf(), Ef = Af(), e(pf) + 1 !== e(Ef)) return !1; + for (const e in null == pf ? void 0 : pf.dependencies) if (!(0, ff.hasNpmPackInPaths)(e, [lf.HVIGOR_PROJECT_DEPENDENCIES_HOME]) || !hf(e, pf, Ef)) return !1; + return !0 +}; + +function hf(e, t, n) { + return void 0 !== n.dependencies && (0, ff.offlinePluginConversion)(lf.HVIGOR_PROJECT_ROOT_DIR, t.dependencies[e]) === n.dependencies[e] +} + +var yf = Y.isHvigorInstalled = function () { + return pf = gf(), Ef = Af(), (0, ff.hasNpmPackInPaths)(lf.HVIGOR_ENGINE_PACKAGE_NAME, [lf.HVIGOR_PROJECT_DEPENDENCIES_HOME]) && (0, ff.offlinePluginConversion)(lf.HVIGOR_PROJECT_ROOT_DIR, pf.hvigorVersion) === Ef.dependencies[lf.HVIGOR_ENGINE_PACKAGE_NAME] +}; +const Cf = { cwd: lf.HVIGOR_PROJECT_DEPENDENCIES_HOME, stdio: ["inherit", "inherit", "inherit"] }; +var Ff = Y.executeInstallHvigor = function () { + (0, df.logInfoPrintConsole)("Hvigor installing..."); + const e = { dependencies: {} }; + e.dependencies[lf.HVIGOR_ENGINE_PACKAGE_NAME] = (0, ff.offlinePluginConversion)(lf.HVIGOR_PROJECT_ROOT_DIR, pf.hvigorVersion); + try { + cf.mkdirSync(lf.HVIGOR_PROJECT_DEPENDENCIES_HOME, { recursive: !0 }); + const t = af.resolve(lf.HVIGOR_PROJECT_DEPENDENCIES_HOME, lf.DEFAULT_PACKAGE_JSON); + cf.writeFileSync(t, JSON.stringify(e)) + } catch (e) { + (0, df.logErrorAndExit)(e) + } + !function(){ + const e = ["config", "set", "store-dir", lf.HVIGOR_PNPM_STORE_PATH]; + (0, ff.executeCommand)(lf.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH, e, Cf) + }(), (0, ff.executeCommand)(lf.HVIGOR_WRAPPER_PNPM_SCRIPT_PATH, ["install"], Cf) +}; + +function gf() { + const e = af.resolve(lf.HVIGOR_PROJECT_WRAPPER_HOME, lf.DEFAULT_HVIGOR_CONFIG_JSON_FILE_NAME); + return cf.existsSync(e) || (0, df.logErrorAndExit)(`Error: Hvigor config file ${e} does not exist.`), (0, Df.parseJsonFile)(e) +} + +function Af() { + return cf.existsSync(lf.HVIGOR_PROJECT_DEPENDENCY_PACKAGE_JSON_PATH) ? (0, Df.parseJsonFile)(lf.HVIGOR_PROJECT_DEPENDENCY_PACKAGE_JSON_PATH) : { + dependencies: { + } + } +} + +sf = Y.cleanWorkSpace = function () { + if ((0, df.logInfoPrintConsole)("Hvigor cleaning..."),!cf.existsSync(lf.HVIGOR_PROJECT_DEPENDENCIES_HOME)) return; + const e = cf.readdirSync(lf.HVIGOR_PROJECT_DEPENDENCIES_HOME); + if (e && 0 !== e.length) { + cf.existsSync(lf.HVIGOR_BOOT_JS_FILE_PATH) && (0, ff.executeCommand)(process.argv[0], [lf.HVIGOR_BOOT_JS_FILE_PATH, "--stop-daemon"], { + }); + try { + e.forEach((e => { + cf.rmSync(af.resolve(lf.HVIGOR_PROJECT_DEPENDENCIES_HOME, e), { recursive: !0 }) + })) + } catch (e) { + (0, df.logErrorAndExit)(`The hvigor build tool cannot be installed. Please manually clear the workspace directory and synchronize the project again.\n\n Workspace Path: ${lf.HVIGOR_PROJECT_DEPENDENCIES_HOME}.`) + } + } +}; +var vf = {}, Sf = w && w.__createBinding || (Object.create ? function (e, t, n, r) { + void 0 === r && (r = n); + var u = Object.getOwnPropertyDescriptor(t, n); + u && !("get" in u ? !t.__esModule : u.writable || u.configurable) || (u = { enumerable: !0, get: function () { + return t[n] + } }), Object.defineProperty(e, r, u) +} : function (e, t, n, r) { + void 0 === r && (r = n), e[r] = t[n] +}), wf = w && w.__setModuleDefault || (Object.create ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }) +} : function (e, t) { + e.default = t +}), Of = w && w.__importStar || function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var n in e) "default" !== n && Object.prototype.hasOwnProperty.call(e, n) && Sf(t, e, n); + return wf(t, e), t +}; +Object.defineProperty(vf, "__esModule", { value: !0 }); +var bf = vf.executeBuild = void 0; +const _f = b, Bf = Of(D.default), Pf = Of(p.default), kf = $; +bf = vf.executeBuild = function () { + const e = Pf.resolve(_f.HVIGOR_PROJECT_DEPENDENCIES_HOME, "node_modules", "@ohos", "hvigor", "bin", "hvigor.js"); + try { + const t = Bf.realpathSync(e); + require(t) + } catch (t) { + (0, kf.logErrorAndExit)(`Error: ENOENT: no such file ${e},delete ${_f.HVIGOR_PROJECT_DEPENDENCIES_HOME} and retry.`) + } +}, function(){ + if (O.checkNpmConifg(), O.environmentHandler(), O.isPnpmAvailable() || O.executeInstallPnpm(), yf() && mf()) bf(); else { + sf(); + try { + Ff() + } catch (e) { + return void sf() + } + bf() + } +}(); \ No newline at end of file diff --git a/hvigorw b/hvigorw new file mode 100644 index 0000000..54aadd2 --- /dev/null +++ b/hvigorw @@ -0,0 +1,48 @@ +#!/bin/bash + +# ---------------------------------------------------------------------------- +# Hvigor startup script, version 1.0.0 +# +# Required ENV vars: +# ------------------ +# NODE_HOME - location of a Node home dir +# or +# Add /usr/local/nodejs/bin to the PATH environment variable +# ---------------------------------------------------------------------------- + +HVIGOR_APP_HOME=$(dirname $(readlink -f $0)) +HVIGOR_WRAPPER_SCRIPT=${HVIGOR_APP_HOME}/hvigor/hvigor-wrapper.js +warn() { + echo "" + echo -e "\033[1;33m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +error() { + echo "" + echo -e "\033[1;31m`date '+[%Y-%m-%d %H:%M:%S]'`$@\033[0m" +} + +fail() { + error "$@" + exit 1 +} + +# Determine node to start hvigor wrapper script +if [ -n "${NODE_HOME}" ];then + EXECUTABLE_NODE="${NODE_HOME}/bin/node" + if [ ! -x "$EXECUTABLE_NODE" ];then + fail "ERROR: NODE_HOME is set to an invalid directory,check $NODE_HOME\n\nPlease set NODE_HOME in your environment to the location where your nodejs installed" + fi +else + EXECUTABLE_NODE="node" + which ${EXECUTABLE_NODE} > /dev/null 2>&1 || fail "ERROR: NODE_HOME is not set and not 'node' command found in your path" +fi + +# Check hvigor wrapper script +if [ ! -r "$HVIGOR_WRAPPER_SCRIPT" ];then + fail "ERROR: Couldn't find hvigor/hvigor-wrapper.js in ${HVIGOR_APP_HOME}" +fi + +# start hvigor-wrapper script +exec "${EXECUTABLE_NODE}" \ + "${HVIGOR_WRAPPER_SCRIPT}" "$@" diff --git a/hvigorw.bat b/hvigorw.bat new file mode 100644 index 0000000..29196b4 --- /dev/null +++ b/hvigorw.bat @@ -0,0 +1,57 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Hvigor startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +set WRAPPER_MODULE_PATH=%APP_HOME%\hvigor\hvigor-wrapper.js +set NODE_EXE=node.exe + +goto start + +:start +@rem Find node.exe +if defined NODE_HOME goto findNodeFromNodeHome + +%NODE_EXE% --version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:findNodeFromNodeHome +set NODE_HOME=%NODE_HOME:"=% +set NODE_EXE_PATH=%NODE_HOME%/%NODE_EXE% + +if exist "%NODE_EXE_PATH%" goto execute +echo. +echo ERROR: NODE_HOME is not set and no 'node' command could be found in your PATH. +echo. +echo Please set the NODE_HOME variable in your environment to match the +echo location of your NodeJs installation. + +goto fail + +:execute +@rem Execute hvigor +"%NODE_EXE%" %WRAPPER_MODULE_PATH% %* + +:fail +exit /b 1 diff --git a/mail/package.json b/mail/oh-package.json5 similarity index 64% rename from mail/package.json rename to mail/oh-package.json5 index c639963..3a8ea1e 100644 --- a/mail/package.json +++ b/mail/oh-package.json5 @@ -1,25 +1,16 @@ { + "license": "Apache License 2.0", "types": "", + "devDependencies": {}, "keywords": [ "mail", "OpenHarmony" ], "author": "hihope", + "name": "@ohos/mail", "description": "Parse and build the email in EML format, and detect the MIME type of the file", - "ohos": { - "org": "opensource" - }, "main": "index.ts", "repository": "https://gitee.com/openharmony-sig/ohos_mail", - "type": "module", - "version": "1.0.2", - "tags": [ - "OpenHarmony", - "Tool", - "mail" - ], - "dependencies": {}, - "license": "Apache License 2.0", - "devDependencies": {}, - "name": "@ohos/mail" + "version": "2.0.0", + "dependencies": {} } diff --git a/mail/src/main/ets/Util.ts b/mail/src/main/ets/Util.ts index 524a44f..e950969 100644 --- a/mail/src/main/ets/Util.ts +++ b/mail/src/main/ets/Util.ts @@ -13,7 +13,7 @@ * limitations under the License. */ -import Result from '../ets/emlformat/Result'; +import type Result from '../ets/emlformat/Result'; import { Message } from './mail/message'; import { AttachmentBody } from '../ets/mail/AttachmentBody'; import { RecipientType } from '../ets/mail/RecipientType'; diff --git a/mail/src/main/ets/emlformat/EmlFormat.ts b/mail/src/main/ets/emlformat/EmlFormat.ts index 25ffdce..30f87ae 100644 --- a/mail/src/main/ets/emlformat/EmlFormat.ts +++ b/mail/src/main/ets/emlformat/EmlFormat.ts @@ -14,12 +14,12 @@ */ import fileio from '@ohos.fileio'; -import Result from '../emlformat/Result' -import Attachment from '../emlformat/Attachment' -import Data from '../emlformat/Data' +import type Result from '../emlformat/Result' +import type Attachment from '../emlformat/Attachment' +import type Data from '../emlformat/Data' import { Util } from '../Util'; import { MailLogger } from '../MailLogger'; -import Boundary from './Boundary'; +import type Boundary from './Boundary'; import { Constant } from '../Constant'; diff --git a/mail/src/main/ets/mail/Message.ts b/mail/src/main/ets/mail/Message.ts index f4ad2dd..f410059 100644 --- a/mail/src/main/ets/mail/Message.ts +++ b/mail/src/main/ets/mail/Message.ts @@ -17,7 +17,7 @@ import { AttachmentBody } from "./AttachmentBody" import { RecipientType } from './recipienttype'; import { Folder } from './folder'; import { EmlFormat } from '../emlformat/emlformat'; -import Result from '../emlformat/result'; +import type Result from '../emlformat/result'; import { Util } from '../Util'; import { Flag } from './flag'; diff --git a/package.json b/oh-package.json5 similarity index 38% rename from package.json rename to oh-package.json5 index 2d8e51d..c88e36b 100644 --- a/package.json +++ b/oh-package.json5 @@ -1,18 +1,13 @@ { "license": "Apache License 2.0", - "devDependencies": {}, - "name": "mail", - "ohos": { - "org": "huawei", - "directoryLevel": "project", - "buildTool": "hvigor" + "devDependencies": { + "@ohos/hypium": "1.0.6" }, + "name": "mail", "description": "example description", "repository": {}, - "version": "1.0.2", + "version": "2.0.0", "dependencies": { - "@ohos/hypium": "1.0.5", - "@ohos/hvigor-ohos-plugin": "1.4.0", - "@ohos/hvigor": "1.4.0" + "@ohos/hypium": "1.0.6" } } -- Gitee