@mnaoumov/typescript-dev-toolkit 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/cjs/build.cjs +2 -24
- package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.cjs +2 -24
- package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +1 -56
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.cjs +4 -25
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +6 -61
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +129 -27
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +3 -1
- package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -25
- package/dist/lib/cjs/bundlers/index.cjs +2 -57
- package/dist/lib/cjs/check-project-types.cjs +3 -25
- package/dist/lib/cjs/cli-utils.cjs +5 -33
- package/dist/lib/cjs/cli-utils.d.cts +1 -1
- package/dist/lib/cjs/code-generator.cjs +1 -56
- package/dist/lib/cjs/commitlint-config.cjs +2 -24
- package/dist/lib/cjs/commitlint-forbidden-patterns.cjs +1 -56
- package/dist/lib/cjs/commitlint-spellcheck-header.cjs +1 -56
- package/dist/lib/cjs/env-toggle.cjs +14 -25
- package/dist/lib/cjs/env-toggle.d.cts +7 -0
- package/dist/lib/cjs/exec.cjs +3 -25
- package/dist/lib/cjs/exec.d.cts +1 -0
- package/dist/lib/cjs/forbidden-patterns.cjs +3 -25
- package/dist/lib/cjs/formatters/dprint.cjs +2 -24
- package/dist/lib/cjs/formatters/index.cjs +2 -57
- package/dist/lib/cjs/fs.cjs +2 -24
- package/dist/lib/cjs/fs.d.cts +1 -0
- package/dist/lib/cjs/gate.cjs +1 -56
- package/dist/lib/cjs/git.cjs +42 -58
- package/dist/lib/cjs/git.d.cts +29 -0
- package/dist/lib/cjs/index.cjs +31 -86
- package/dist/lib/cjs/json.cjs +2 -24
- package/dist/lib/cjs/library-build.cjs +92 -34
- package/dist/lib/cjs/library-build.d.cts +10 -4
- package/dist/lib/cjs/library-references.d.cts +0 -3
- package/dist/lib/cjs/linters/cspell-content.cjs +2 -24
- package/dist/lib/cjs/linters/cspell.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-config.cjs +8 -30
- package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +13 -68
- package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/require-method-template.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/require-super-call.cjs +2 -24
- package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.cjs +1 -56
- package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.cjs +2 -24
- package/dist/lib/cjs/linters/eslint.cjs +2 -24
- package/dist/lib/cjs/linters/index.cjs +15 -70
- package/dist/lib/cjs/linters/lint-ignores.cjs +2 -24
- package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +3 -25
- package/dist/lib/cjs/linters/markdownlint-content.cjs +2 -24
- package/dist/lib/cjs/linters/markdownlint-ignores.cjs +1 -56
- package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +2 -57
- package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.cjs +1 -56
- package/dist/lib/cjs/linters/markdownlint.cjs +5 -26
- package/dist/lib/cjs/linters/markdownlint.d.cts +11 -0
- package/dist/lib/cjs/linters/over-exposure.cjs +2 -24
- package/dist/lib/cjs/nano-staged-config.cjs +2 -57
- package/dist/lib/cjs/npm-publish.cjs +1 -56
- package/dist/lib/cjs/npm-run.cjs +2 -24
- package/dist/lib/cjs/npm.cjs +2 -24
- package/dist/lib/cjs/package-lock-integrity.cjs +1 -56
- package/dist/lib/cjs/package-manager.cjs +3 -25
- package/dist/lib/cjs/released-issues.cjs +2 -24
- package/dist/lib/cjs/repo-paths.cjs +1 -56
- package/dist/lib/cjs/root.cjs +2 -24
- package/dist/lib/cjs/test-runners/index.cjs +3 -58
- package/dist/lib/cjs/test-runners/vitest-config.cjs +1 -56
- package/dist/lib/cjs/test-runners/vitest.cjs +1 -56
- package/dist/lib/cjs/validate-declarations.cjs +2 -24
- package/dist/lib/cjs/version.cjs +2 -24
- package/dist/lib/cjs/version.d.cts +1 -0
- package/dist/lib/esm/build.mjs +2 -11
- package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.mjs +2 -11
- package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +1 -43
- package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.mjs +4 -12
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +1 -43
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +3 -1
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +154 -14
- package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +2 -11
- package/dist/lib/esm/bundlers/index.mjs +1 -43
- package/dist/lib/esm/check-project-types.mjs +2 -11
- package/dist/lib/esm/cli-utils.d.mts +1 -1
- package/dist/lib/esm/cli-utils.mjs +5 -20
- package/dist/lib/esm/code-generator.mjs +1 -43
- package/dist/lib/esm/commitlint-config.mjs +2 -11
- package/dist/lib/esm/commitlint-forbidden-patterns.mjs +1 -43
- package/dist/lib/esm/commitlint-spellcheck-header.mjs +1 -43
- package/dist/lib/esm/env-toggle.d.mts +7 -0
- package/dist/lib/esm/env-toggle.mjs +12 -11
- package/dist/lib/esm/exec.d.mts +1 -0
- package/dist/lib/esm/exec.mjs +2 -11
- package/dist/lib/esm/forbidden-patterns.mjs +2 -11
- package/dist/lib/esm/formatters/dprint.mjs +2 -11
- package/dist/lib/esm/formatters/index.mjs +1 -43
- package/dist/lib/esm/fs.d.mts +1 -0
- package/dist/lib/esm/fs.mjs +2 -11
- package/dist/lib/esm/gate.mjs +1 -43
- package/dist/lib/esm/git.d.mts +29 -0
- package/dist/lib/esm/git.mjs +40 -44
- package/dist/lib/esm/index.mjs +1 -43
- package/dist/lib/esm/json.mjs +2 -11
- package/dist/lib/esm/library-build.d.mts +10 -4
- package/dist/lib/esm/library-build.mjs +101 -21
- package/dist/lib/esm/library-references.d.mts +0 -3
- package/dist/lib/esm/linters/cspell-content.mjs +2 -11
- package/dist/lib/esm/linters/cspell.mjs +1 -43
- package/dist/lib/esm/linters/eslint-agnostic-core-boundary.mjs +1 -43
- package/dist/lib/esm/linters/eslint-config.mjs +2 -11
- package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/index.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/params-options-name-match.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/require-method-template.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/require-super-call.mjs +2 -11
- package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.mjs +1 -43
- package/dist/lib/esm/linters/eslint-rules/ts-estree-node.mjs +2 -11
- package/dist/lib/esm/linters/eslint.mjs +2 -11
- package/dist/lib/esm/linters/index.mjs +1 -43
- package/dist/lib/esm/linters/lint-ignores.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-content.mjs +2 -11
- package/dist/lib/esm/linters/markdownlint-ignores.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint-rules/index.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.mjs +1 -43
- package/dist/lib/esm/linters/markdownlint.d.mts +11 -0
- package/dist/lib/esm/linters/markdownlint.mjs +9 -14
- package/dist/lib/esm/linters/over-exposure.mjs +2 -11
- package/dist/lib/esm/nano-staged-config.mjs +1 -43
- package/dist/lib/esm/npm-publish.mjs +1 -43
- package/dist/lib/esm/npm-run.mjs +2 -11
- package/dist/lib/esm/npm.mjs +2 -11
- package/dist/lib/esm/package-lock-integrity.mjs +1 -43
- package/dist/lib/esm/package-manager.mjs +2 -11
- package/dist/lib/esm/released-issues.mjs +2 -11
- package/dist/lib/esm/repo-paths.mjs +1 -43
- package/dist/lib/esm/root.mjs +2 -11
- package/dist/lib/esm/test-runners/index.mjs +1 -43
- package/dist/lib/esm/test-runners/vitest-config.mjs +1 -43
- package/dist/lib/esm/test-runners/vitest.mjs +1 -43
- package/dist/lib/esm/validate-declarations.mjs +2 -11
- package/dist/lib/esm/version.d.mts +1 -0
- package/dist/lib/esm/version.mjs +2 -11
- package/package.json +2 -2
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { enableLibraryDebuggers } from "@mnaoumov/typescript-lib/debug";
|
|
@@ -50,7 +41,7 @@ import { printError } from "@mnaoumov/typescript-lib/error";
|
|
|
50
41
|
import { noop } from "@mnaoumov/typescript-lib/function";
|
|
51
42
|
import { replaceAll } from "@mnaoumov/typescript-lib/string";
|
|
52
43
|
import process from "node:process";
|
|
53
|
-
import {
|
|
44
|
+
import { exitIfScriptDisabled } from "./env-toggle.mjs";
|
|
54
45
|
class CliTaskResult {
|
|
55
46
|
/**
|
|
56
47
|
* Chains multiple tasks together, executing them sequentially until one fails.
|
|
@@ -196,20 +187,14 @@ function cmdEscapeCommandLine(commandLine) {
|
|
|
196
187
|
});
|
|
197
188
|
}
|
|
198
189
|
async function wrapCliTask(taskFunction) {
|
|
199
|
-
|
|
200
|
-
if (disabledScriptEnvVariableName !== null) {
|
|
201
|
-
process.stdout.write(`Skipped (${disabledScriptEnvVariableName} is off).
|
|
202
|
-
`);
|
|
203
|
-
CliTaskResult.Success().exit();
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
190
|
+
exitIfScriptDisabled();
|
|
206
191
|
enableLibraryDebuggers();
|
|
207
192
|
const result = await wrapResult(taskFunction);
|
|
208
193
|
result.exit();
|
|
209
194
|
}
|
|
210
195
|
async function wrapResult(taskFunction) {
|
|
211
196
|
try {
|
|
212
|
-
return await taskFunction() ?? CliTaskResult.
|
|
197
|
+
return await taskFunction() ?? CliTaskResult.FromExitCode(Number(process.exitCode ?? 0));
|
|
213
198
|
} catch (error) {
|
|
214
199
|
printError(new Error("An error occurred during task execution", { cause: error }));
|
|
215
200
|
return CliTaskResult.Failure();
|
|
@@ -222,4 +207,4 @@ export {
|
|
|
222
207
|
toPosixCommandLine,
|
|
223
208
|
wrapCliTask
|
|
224
209
|
};
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NsaS11dGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB0YXNrIHJlc3VsdHMsIGluY2x1ZGluZ1xuICogc3VjY2VzcywgZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIG11bHRpcGxlIHRhc2tzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBlbmFibGVMaWJyYXJ5RGVidWdnZXJzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgeyBnZXREaXNhYmxlZFNjcmlwdEVudlZhcmlhYmxlTmFtZSB9IGZyb20gJy4vZW52LXRvZ2dsZS50cyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSB0YXNrLiBJbmNsdWRlcyBtZXRob2RzIGZvciBoYW5kbGluZyBzdWNjZXNzLFxuICogZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBDaGFpbnMgbXVsdGlwbGUgdGFza3MgdG9nZXRoZXIsIGV4ZWN1dGluZyB0aGVtIHNlcXVlbnRpYWxseSB1bnRpbCBvbmUgZmFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyAtIEFuIGFycmF5IG9mIHRhc2sgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IG9yIGB2b2lkYC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBmaXJzdCBmYWlsZWQge0BsaW5rIENsaVRhc2tSZXN1bHR9IG9yIGEgc3VjY2VzcyByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGNoYWluKHRhc2tzOiAoKCkgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxDbGlUYXNrUmVzdWx0Pj4pW10pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdyYXBSZXN1bHQodGFzayk7XG4gICAgICBpZiAoIXJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLlN1Y2Nlc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IHRoYXQgZG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBEb05vdEV4aXQoKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBEb05vdEV4aXRUYXNrUmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogQSBmYWlsdXJlIHJlc3VsdCBvZiBhIENMSSB0YXNrLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZmFpbHVyZSByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZhaWx1cmUoKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMuU3VjY2VzcyhmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBiYXNlZCBvbiBhbiBleGl0IGNvZGUuXG4gICAqXG4gICAqIEBwYXJhbSBleGl0Q29kZSAtIFRoZSBleGl0IGNvZGUgdG8gcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBDbGlUYXNrUmVzdWx0fSByZXByZXNlbnRpbmcgdGhlIGV4aXQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRnJvbUV4aXRDb2RlKGV4aXRDb2RlOiBudW1iZXIpOiBDbGlUYXNrUmVzdWx0IHtcbiAgICByZXR1cm4gbmV3IEV4aXRDb2RlVGFza1Jlc3VsdChleGl0Q29kZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsaVRhc2tSZXN1bHQgcmVwcmVzZW50aW5nIGEgc3VjY2Vzc2Z1bCB0YXNrIHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIGlzU3VjY2VzcyAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKiBAcmV0dXJucyBBIENsaVRhc2tSZXN1bHQgb2JqZWN0IHJlcHJlc2VudGluZyBhIHN1Y2Nlc3NmdWwgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFN1Y2Nlc3MoaXNTdWNjZXNzID0gdHJ1ZSk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiBuZXcgU3VjY2Vzc1Rhc2tSZXN1bHQoaXNTdWNjZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZXhpdCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHRhc2sgd2FzIG5vdCBzdWNjZXNzZnVsLlxuICAgKi9cbiAgcHVibGljIHRocm93T25GYWlsdXJlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUYXNrIGZhaWxlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0YXNrIHdhcyBzdWNjZXNzZnVsLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdGFzayByZXN1bHQgdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICovXG5jbGFzcyBEb05vdEV4aXRUYXNrUmVzdWx0IGV4dGVuZHMgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBEb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIEEgdGFzayByZXN1bHQgYmFzZWQgb24gYW4gZXhpdCBjb2RlLlxuICovXG5jbGFzcyBFeGl0Q29kZVRhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZXhpdENvZGU6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhpdHMgdGhlIHByb2Nlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIGV4aXQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICAgIHByb2Nlc3MuZXhpdCh0aGlzLmV4aXRDb2RlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhpdENvZGUgPT09IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHRhc2sgcmVzdWx0IGJhc2VkIG9uIHN1Y2Nlc3Mgb3IgZmFpbHVyZS5cbiAqL1xuY2xhc3MgU3VjY2Vzc1Rhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2lzU3VjY2Vzc2Z1bDogYm9vbGVhbikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhpdHMgdGhlIHByb2Nlc3MgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgb2YgdGhlIHRhc2suXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZXhpdCgpOiB2b2lkIHtcbiAgICBwcm9jZXNzLmV4aXQodGhpcy5faXNTdWNjZXNzZnVsID8gMCA6IDEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdWNjZXNzZnVsO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgb2YgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBpbnRvIGEgc2luZ2xlIGNvbW1hbmQtbGluZSBzdHJpbmdcbiAqIHVzaW5nIHRoZSBgQ29tbWFuZExpbmVUb0FyZ3ZXYCBjb252ZW50aW9uICh0aGUgc3RhbmRhcmQgdXNlZCBieSB0aGVcbiAqIE1pY3Jvc29mdCBDIHJ1bnRpbWUgYW5kIG1vc3QgV2luZG93cyBwcm9ncmFtcykuXG4gKlxuICogSW1wbGVtZW50cyB0aGUgQXJndlF1b3RlIGFsZ29yaXRobSBmcm9tXG4gKiB7QGxpbmsgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2FyY2hpdmUvYmxvZ3MvdHdpc3R5bGl0dGxlcGFzc2FnZXNhbGxhbGlrZS9ldmVyeW9uZS1xdW90ZXMtY29tbWFuZC1saW5lLWFyZ3VtZW50cy10aGUtd3Jvbmctd2F5IHwgRXZlcnlvbmUgcXVvdGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdGhlIHdyb25nIHdheX06XG4gKiBiYWNrc2xhc2hlcyBiZWZvcmUgcXVvdGVzIGFuZCBhdCB0aGUgZW5kIG9mIGEgcXVvdGVkIGFyZ3VtZW50IGFyZSBkb3VibGVkLlxuICpcbiAqIFRoaXMgcHJvZHVjZXMgYSBzaGVsbC1hZ25vc3RpYyBjb21tYW5kIGxpbmUuIENhbGxlcnMgdGhhdCByb3V0ZSB0aHJvdWdoXG4gKiBhIHNwZWNpZmljIHNoZWxsIChjbWQuZXhlLCBQb3dlclNoZWxsLCBzaCkgbXVzdCBhcHBseSBzaGVsbC1zcGVjaWZpY1xuICogZXNjYXBpbmcgb24gdG9wIFx1MjAxNCBzZWUge0BsaW5rIGNtZEVzY2FwZUNvbW1hbmRMaW5lfS5cbiAqXG4gKiBAcGFyYW0gJGFyZ3VtZW50cyAtIFRoZSBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNvbW1hbmQtbGluZSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db21tYW5kTGluZSgkYXJndW1lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiAkYXJndW1lbnRzLm1hcCgoYXJndW1lbnQpID0+IGFyZ3ZRdW90ZShhcmd1bWVudCkpLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGludG8gYSBzaW5nbGUgY29tbWFuZC1saW5lIHN0cmluZ1xuICogcXVvdGVkIGZvciBhIFBPU0lYIHNoZWxsIChgc2hgLCBgYmFzaGAsIGB6c2hgLCAuLi4pLlxuICpcbiAqIEVhY2ggYXJndW1lbnQgaXMgd3JhcHBlZCBpbiBzaW5nbGUgcXVvdGVzIHVubGVzcyBpdCBjb25zaXN0cyBzb2xlbHkgb2ZcbiAqIGNoYXJhY3RlcnMgdGhhdCBhcmUgc2FmZSB1bnF1b3RlZCwgbWlycm9yaW5nIFB5dGhvbidzIGBzaGxleC5xdW90ZWAuIEEgbGl0ZXJhbFxuICogc2luZ2xlIHF1b3RlIGluc2lkZSBhbiBhcmd1bWVudCBpcyBlbWl0dGVkIGFzIHRoZSBgJ1xcJydgIGlkaW9tIChjbG9zZSB0aGVcbiAqIHF1b3RlZCBzcGFuLCBhZGQgYW4gZXNjYXBlZCBsaXRlcmFsIHF1b3RlLCByZW9wZW4pLCBzbyB0aGUgc2hlbGwgcmVwcm9kdWNlcyB0aGVcbiAqIGFyZ3VtZW50IHZlcmJhdGltIFx1MjAxNCBubyB2YXJpYWJsZSBleHBhbnNpb24gKGAkYCksIGNvbW1hbmQgc3Vic3RpdHV0aW9uXG4gKiAoYGAgYCBgYCksIGdsb2JiaW5nIChgKmAsIGA/YCwgYFtgKSwgb3Igd29yZCBzcGxpdHRpbmcuXG4gKlxuICogVXNlIHRoaXMgb24gcGxhdGZvcm1zIHdoZXJlIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkIHRocm91Z2ggYHNoIC1jYC4gT25cbiAqIFdpbmRvd3MsIHVzZSB7QGxpbmsgdG9Db21tYW5kTGluZX0gcGx1cyB7QGxpbmsgY21kRXNjYXBlQ29tbWFuZExpbmV9IGluc3RlYWQgXHUyMDE0XG4gKiB0aGUgdHdvIGNvbnZlbnRpb25zIGFyZSBub3QgaW50ZXJjaGFuZ2VhYmxlLlxuICpcbiAqIEBwYXJhbSAkYXJndW1lbnRzIC0gVGhlIGFycmF5IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY29tbWFuZC1saW5lIGludm9jYXRpb24gZm9yIGEgUE9TSVggc2hlbGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4Q29tbWFuZExpbmUoJGFyZ3VtZW50czogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gJGFyZ3VtZW50cy5tYXAoKGFyZ3VtZW50KSA9PiBwb3NpeFF1b3RlKGFyZ3VtZW50KSkuam9pbignICcpO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYW4gYXJndW1lbnQgdGhhdCBpcyBlbnRpcmVseSBjb21wb3NlZCBvZiBjaGFyYWN0ZXJzIHNhZmUgdG8gcGFzcyB0byBhXG4gKiBQT1NJWCBzaGVsbCB1bnF1b3RlZC4gTWlycm9ycyB0aGUgc2FmZSBzZXQgdXNlZCBieSBQeXRob24ncyBgc2hsZXgucXVvdGVgLlxuICovXG5jb25zdCBQT1NJWF9TQUZFX0FSR19SRSA9IC9eW1xcd0AlKz06LC4vLV0rJC87XG5cbi8qKlxuICogTWF0Y2hlcyBhIGxpdGVyYWwgc2luZ2xlIHF1b3RlLCBmb3IgcmVwbGFjaW5nIGl0IHdpdGggdGhlIGAnXFwnJ2AgaWRpb20uXG4gKi9cbmNvbnN0IFNJTkdMRV9RVU9URV9SRSA9IC8nL2c7XG5cbi8qKlxuICogVGhlIHJlcGxhY2VtZW50IGZvciBhIGxpdGVyYWwgc2luZ2xlIHF1b3RlIGluc2lkZSBhIHNpbmdsZS1xdW90ZWQgUE9TSVggc3BhbjpcbiAqIGNsb3NlIHRoZSBzcGFuLCBhZGQgYW4gZXNjYXBlZCBsaXRlcmFsIHF1b3RlLCByZW9wZW4gdGhlIHNwYW4uXG4gKi9cbmNvbnN0IFBPU0lYX0VTQ0FQRURfU0lOR0xFX1FVT1RFID0gU3RyaW5nLnJhd2AnXFwnJ2A7XG5cbi8qKlxuICogUXVvdGVzIGEgc2luZ2xlIGFyZ3VtZW50IHNvIHRoYXQgYENvbW1hbmRMaW5lVG9Bcmd2V2Agd2lsbCBkZWNvZGUgaXRcbiAqIHVuY2hhbmdlZC4gSW1wbGVtZW50cyB0aGUgQXJndlF1b3RlIGFsZ29yaXRobSBmcm9tXG4gKiB7QGxpbmsgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2FyY2hpdmUvYmxvZ3MvdHdpc3R5bGl0dGxlcGFzc2FnZXNhbGxhbGlrZS9ldmVyeW9uZS1xdW90ZXMtY29tbWFuZC1saW5lLWFyZ3VtZW50cy10aGUtd3Jvbmctd2F5IHwgRXZlcnlvbmUgcXVvdGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdGhlIHdyb25nIHdheX0uXG4gKlxuICogQHBhcmFtIGFyZ3VtZW50IC0gVGhlIHJhdyBhcmd1bWVudCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgcXVvdGVkIGFyZ3VtZW50IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gYXJndlF1b3RlKGFyZ3VtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoYXJndW1lbnQubGVuZ3RoID4gMCAmJiAhL1tcXHNcXHRcXG5cXHZcIl0vLnRlc3QoYXJndW1lbnQpKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50O1xuICB9XG5cbiAgY29uc3QgQkFDS1NMQVNIX0VTQ0FQRV9GQUNUT1IgPSAyO1xuICBsZXQgcmVzdWx0ID0gJ1wiJztcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFyZ3VtZW50Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGxldCBudW1iZXJCYWNrc2xhc2hlcyA9IDA7XG4gICAgd2hpbGUgKGluZGV4IDwgYXJndW1lbnQubGVuZ3RoICYmIGFyZ3VtZW50W2luZGV4XSA9PT0gJ1xcXFwnKSB7XG4gICAgICBpbmRleCsrO1xuICAgICAgbnVtYmVyQmFja3NsYXNoZXMrKztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPT09IGFyZ3VtZW50Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0ICs9ICdcXFxcJy5yZXBlYXQobnVtYmVyQmFja3NsYXNoZXMgKiBCQUNLU0xBU0hfRVNDQVBFX0ZBQ1RPUik7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBjaCA9IGFyZ3VtZW50LmNoYXJBdChpbmRleCk7XG4gICAgcmVzdWx0ICs9IGNoID09PSAnXCInID8gYCR7J1xcXFwnLnJlcGVhdChudW1iZXJCYWNrc2xhc2hlcyAqIEJBQ0tTTEFTSF9FU0NBUEVfRkFDVE9SICsgMSl9XCJgIDogJ1xcXFwnLnJlcGVhdChudW1iZXJCYWNrc2xhc2hlcykgKyBjaDtcbiAgfVxuXG4gIHJlc3VsdCArPSAnXCInO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFF1b3RlcyBhIHNpbmdsZSBhcmd1bWVudCBmb3IgYSBQT1NJWCBzaGVsbCBzbyBpdCBpcyBwYXNzZWQgdGhyb3VnaCB2ZXJiYXRpbS5cbiAqIEFuIGVtcHR5IGFyZ3VtZW50IGJlY29tZXMgYCcnYDsgYW4gYXJndW1lbnQgb2Ygb25seSBzYWZlIGNoYXJhY3RlcnMgaXNcbiAqIHJldHVybmVkIHVuY2hhbmdlZDsgYW55dGhpbmcgZWxzZSBpcyBzaW5nbGUtcXVvdGVkLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSByYXcgYXJndW1lbnQgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIHF1b3RlZCBhcmd1bWVudCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHBvc2l4UXVvdGUoYXJndW1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBQT1NJWF9TQUZFX0FSR19SRS50ZXN0KGFyZ3VtZW50KSA/IGFyZ3VtZW50IDogYCcke3JlcGxhY2VBbGwoeyAkc3RyaW5nOiBhcmd1bWVudCwgcmVwbGFjZXI6IFBPU0lYX0VTQ0FQRURfU0lOR0xFX1FVT1RFLCBzZWFyY2hWYWx1ZTogU0lOR0xFX1FVT1RFX1JFIH0pfSdgO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYGNtZC5leGVgIG1ldGFjaGFyYWN0ZXJzIHRoYXQgbXVzdCBiZSBgXmAtZXNjYXBlZC5cbiAqL1xuY29uc3QgQ01EX01FVEFfUkUgPSAvWygpJSFeXCI8PiZ8XS9nO1xuXG4vKipcbiAqIEVzY2FwZXMgYGNtZC5leGVgIG1ldGFjaGFyYWN0ZXJzIHdpdGggYF5gIHNvIHRoYXQgYGNtZC5leGVgIHBhc3NlcyB0aGVtXG4gKiB0aHJvdWdoIGxpdGVyYWxseS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBgY21kLmV4ZWAncyBgXCJgIGhhbmRsaW5nXG4gKiBkaWZmZXJzIGZyb20gYENvbW1hbmRMaW5lVG9Bcmd2V2AgYW5kIGNhbm5vdCBiZSByZWxpZWQgdXBvbi5cbiAqXG4gKiBBcHBseSB0aGlzIHRvIGEgY29tbWFuZCBsaW5lIHN0cmluZyB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgdmlhIGBjbWQuZXhlYFxuICogKGUuZy4sIGBzcGF3bihjbWQsIFtdLCB7IHNoZWxsOiB0cnVlIH0pYCBvbiBXaW5kb3dzKS5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZExpbmUgLSBUaGUgYWxyZWFkeS1xdW90ZWQgY29tbWFuZCBsaW5lIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBzdHJpbmcgd2l0aCBhbGwgY21kIG1ldGFjaGFyYWN0ZXJzIGBeYC1lc2NhcGVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBgY21kYCBuYW1lcyBXaW5kb3dzIGBjbWQuZXhlYCwgbm90IGFuIGFiYnJldmlhdGlvbiBvZiBgY29tbWFuZGAuXG5leHBvcnQgZnVuY3Rpb24gY21kRXNjYXBlQ29tbWFuZExpbmUoY29tbWFuZExpbmU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBjb21tYW5kTGluZSxcbiAgICByZXBsYWNlcjogJ14kJicsXG4gICAgc2VhcmNoVmFsdWU6IENNRF9NRVRBX1JFXG4gIH0pO1xufVxuXG4vKipcbiAqIFdyYXBzIGEgQ0xJIHRhc2sgZnVuY3Rpb24gdG8gZW5zdXJlIGl0IHJ1bnMgc2FmZWx5IGFuZCBoYW5kbGVzIGl0cyB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0uXG4gKlxuICogSG9ub3JzIHRoZSBwZXItc2NyaXB0IG9mZiBzd2l0Y2ggZmlyc3Q6IHdoZW4gdGhlIG5wbSBzY3JpcHQgY3VycmVudGx5IHJ1bm5pbmcgaGFzIGJlZW4gc3dpdGNoZWQgb2ZmIFx1MjAxNFxuICogYExJTlRfTUQ9MCBucG0gcnVuIGxpbnQ6bWRgLCBzZWUge0BsaW5rIGdldERpc2FibGVkU2NyaXB0RW52VmFyaWFibGVOYW1lfSBcdTIwMTQgdGhlIHRhc2sgaXMgbm90IGV4ZWN1dGVkIGFuZFxuICogdGhlIHByb2Nlc3MgZXhpdHMgc3VjY2Vzc2Z1bGx5LiBCZWNhdXNlIGV2ZXJ5IGBzY3JpcHRzLyoudHNgIGVudHJ5IHBvaW50IGFscmVhZHkgZnVubmVscyB0aHJvdWdoIGhlcmUsIG5vXG4gKiBzY3JpcHQgaGFzIHRvIG9wdCBpbiwgYW5kIGVhY2ggYG5wbSBydW5gIHN1Yi1zdGVwIG9mIGEgY29tcG9zaXRlIHNjcmlwdCAoZS5nLiBgYnVpbGRgKSBjYXJyaWVzIGl0cyBvd25cbiAqIHN3aXRjaC5cbiAqXG4gKiBAcGFyYW0gdGFza0Z1bmN0aW9uIC0gVGhlIHRhc2sgZnVuY3Rpb24gdG8gZXhlY3V0ZSwgd2hpY2ggbWF5IHJldHVybiBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBvciBgdm9pZGAuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhc2sgaXMgY29tcGxldGVkIGFuZCBleGl0cyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBzdGF0dXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cmFwQ2xpVGFzayh0YXNrRnVuY3Rpb246ICgpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48Q2xpVGFza1Jlc3VsdD4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGRpc2FibGVkU2NyaXB0RW52VmFyaWFibGVOYW1lID0gZ2V0RGlzYWJsZWRTY3JpcHRFbnZWYXJpYWJsZU5hbWUoKTtcbiAgaWYgKGRpc2FibGVkU2NyaXB0RW52VmFyaWFibGVOYW1lICE9PSBudWxsKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYFNraXBwZWQgKCR7ZGlzYWJsZWRTY3JpcHRFbnZWYXJpYWJsZU5hbWV9IGlzIG9mZikuXFxuYCk7XG4gICAgQ2xpVGFza1Jlc3VsdC5TdWNjZXNzKCkuZXhpdCgpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMoKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgd3JhcFJlc3VsdCh0YXNrRnVuY3Rpb24pO1xuICByZXN1bHQuZXhpdCgpO1xufVxuXG4vKipcbiAqIFNhZmVseSBleGVjdXRlcyBhIHRhc2sgZnVuY3Rpb24gYW5kIHJldHVybnMgYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0uIElmIHRoZSB0YXNrIGZ1bmN0aW9uIHRocm93cyBhbiBlcnJvcixcbiAqIEFuIGVycm9yIGlzIGNhdWdodCwgYW5kIGEgZmFpbHVyZSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaXMgcmV0dXJuZWQuXG4gKlxuICogQHBhcmFtIHRhc2tGdW5jdGlvbiAtIFRoZSB0YXNrIGZ1bmN0aW9uIHRvIGV4ZWN1dGUuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gcmVwcmVzZW50aW5nIHRoZSBvdXRjb21lIG9mIHRoZSB0YXNrLlxuICovXG5hc3luYyBmdW5jdGlvbiB3cmFwUmVzdWx0KHRhc2tGdW5jdGlvbjogKCkgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxDbGlUYXNrUmVzdWx0Pj4pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gKGF3YWl0IHRhc2tGdW5jdGlvbigpKSBhcyBDbGlUYXNrUmVzdWx0IHwgdW5kZWZpbmVkID8/IENsaVRhc2tSZXN1bHQuU3VjY2VzcygpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByaW50RXJyb3IobmV3IEVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGFzayBleGVjdXRpb24nLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuRmFpbHVyZSgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGktdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyB0YXNrIHJlc3VsdHMsIGluY2x1ZGluZ1xuICogc3VjY2VzcywgZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIG11bHRpcGxlIHRhc2tzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBlbmFibGVMaWJyYXJ5RGVidWdnZXJzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9mdW5jdGlvbic7XG5pbXBvcnQgeyByZXBsYWNlQWxsIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgeyBleGl0SWZTY3JpcHREaXNhYmxlZCB9IGZyb20gJy4vZW52LXRvZ2dsZS50cyc7XG5cbi8qKlxuICogQWJzdHJhY3QgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSByZXN1bHQgb2YgYSB0YXNrLiBJbmNsdWRlcyBtZXRob2RzIGZvciBoYW5kbGluZyBzdWNjZXNzLFxuICogZXhpdCBjb2RlcywgYW5kIGNoYWluaW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBDaGFpbnMgbXVsdGlwbGUgdGFza3MgdG9nZXRoZXIsIGV4ZWN1dGluZyB0aGVtIHNlcXVlbnRpYWxseSB1bnRpbCBvbmUgZmFpbHMuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyAtIEFuIGFycmF5IG9mIHRhc2sgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IG9yIGB2b2lkYC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSBmaXJzdCBmYWlsZWQge0BsaW5rIENsaVRhc2tSZXN1bHR9IG9yIGEgc3VjY2VzcyByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGNoYWluKHRhc2tzOiAoKCkgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxDbGlUYXNrUmVzdWx0Pj4pW10pOiBQcm9taXNlPENsaVRhc2tSZXN1bHQ+IHtcbiAgICBmb3IgKGNvbnN0IHRhc2sgb2YgdGFza3MpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHdyYXBSZXN1bHQodGFzayk7XG4gICAgICBpZiAoIXJlc3VsdC5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLlN1Y2Nlc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IHRoYXQgZG9lcyBub3QgZXhpdCB0aGUgcHJvY2Vzcy5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBEb05vdEV4aXQoKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIG5ldyBEb05vdEV4aXRUYXNrUmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogQSBmYWlsdXJlIHJlc3VsdCBvZiBhIENMSSB0YXNrLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZmFpbHVyZSByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZhaWx1cmUoKTogQ2xpVGFza1Jlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMuU3VjY2VzcyhmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBiYXNlZCBvbiBhbiBleGl0IGNvZGUuXG4gICAqXG4gICAqIEBwYXJhbSBleGl0Q29kZSAtIFRoZSBleGl0IGNvZGUgdG8gcmVwcmVzZW50LlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBDbGlUYXNrUmVzdWx0fSByZXByZXNlbnRpbmcgdGhlIGV4aXQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRnJvbUV4aXRDb2RlKGV4aXRDb2RlOiBudW1iZXIpOiBDbGlUYXNrUmVzdWx0IHtcbiAgICByZXR1cm4gbmV3IEV4aXRDb2RlVGFza1Jlc3VsdChleGl0Q29kZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENsaVRhc2tSZXN1bHQgcmVwcmVzZW50aW5nIGEgc3VjY2Vzc2Z1bCB0YXNrIHJlc3VsdC5cbiAgICpcbiAgICogQHBhcmFtIGlzU3VjY2VzcyAtIEEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKiBAcmV0dXJucyBBIENsaVRhc2tSZXN1bHQgb2JqZWN0IHJlcHJlc2VudGluZyBhIHN1Y2Nlc3NmdWwgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFN1Y2Nlc3MoaXNTdWNjZXNzID0gdHJ1ZSk6IENsaVRhc2tSZXN1bHQge1xuICAgIHJldHVybiBuZXcgU3VjY2Vzc1Rhc2tSZXN1bHQoaXNTdWNjZXNzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGl0cyB0aGUgcHJvY2VzcyBiYXNlZCBvbiB0aGUgdGFzayByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZXhpdCgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIHRhc2sgd2FzIG5vdCBzdWNjZXNzZnVsLlxuICAgKi9cbiAgcHVibGljIHRocm93T25GYWlsdXJlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1N1Y2Nlc3NmdWwoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUYXNrIGZhaWxlZCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSB0YXNrIHdhcyBzdWNjZXNzZnVsLlxuICAgKlxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRhc2sgd2FzIHN1Y2Nlc3NmdWwsIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdGFzayByZXN1bHQgdGhhdCBkb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICovXG5jbGFzcyBEb05vdEV4aXRUYXNrUmVzdWx0IGV4dGVuZHMgQ2xpVGFza1Jlc3VsdCB7XG4gIC8qKlxuICAgKiBEb2VzIG5vdCBleGl0IHRoZSBwcm9jZXNzLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGV4aXQoKTogdm9pZCB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vKipcbiAqIEEgdGFzayByZXN1bHQgYmFzZWQgb24gYW4gZXhpdCBjb2RlLlxuICovXG5jbGFzcyBFeGl0Q29kZVRhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZXhpdENvZGU6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhpdHMgdGhlIHByb2Nlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIGV4aXQgY29kZS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBleGl0KCk6IHZvaWQge1xuICAgIHByb2Nlc3MuZXhpdCh0aGlzLmV4aXRDb2RlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZXhpdENvZGUgPT09IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHRhc2sgcmVzdWx0IGJhc2VkIG9uIHN1Y2Nlc3Mgb3IgZmFpbHVyZS5cbiAqL1xuY2xhc3MgU3VjY2Vzc1Rhc2tSZXN1bHQgZXh0ZW5kcyBDbGlUYXNrUmVzdWx0IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgX2lzU3VjY2Vzc2Z1bDogYm9vbGVhbikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRXhpdHMgdGhlIHByb2Nlc3MgYmFzZWQgb24gdGhlIHN1Y2Nlc3Mgb2YgdGhlIHRhc2suXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZXhpdCgpOiB2b2lkIHtcbiAgICBwcm9jZXNzLmV4aXQodGhpcy5faXNTdWNjZXNzZnVsID8gMCA6IDEpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdWNjZXNzZnVsO1xuICB9XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gYXJyYXkgb2YgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBpbnRvIGEgc2luZ2xlIGNvbW1hbmQtbGluZSBzdHJpbmdcbiAqIHVzaW5nIHRoZSBgQ29tbWFuZExpbmVUb0FyZ3ZXYCBjb252ZW50aW9uICh0aGUgc3RhbmRhcmQgdXNlZCBieSB0aGVcbiAqIE1pY3Jvc29mdCBDIHJ1bnRpbWUgYW5kIG1vc3QgV2luZG93cyBwcm9ncmFtcykuXG4gKlxuICogSW1wbGVtZW50cyB0aGUgQXJndlF1b3RlIGFsZ29yaXRobSBmcm9tXG4gKiB7QGxpbmsgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2FyY2hpdmUvYmxvZ3MvdHdpc3R5bGl0dGxlcGFzc2FnZXNhbGxhbGlrZS9ldmVyeW9uZS1xdW90ZXMtY29tbWFuZC1saW5lLWFyZ3VtZW50cy10aGUtd3Jvbmctd2F5IHwgRXZlcnlvbmUgcXVvdGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdGhlIHdyb25nIHdheX06XG4gKiBiYWNrc2xhc2hlcyBiZWZvcmUgcXVvdGVzIGFuZCBhdCB0aGUgZW5kIG9mIGEgcXVvdGVkIGFyZ3VtZW50IGFyZSBkb3VibGVkLlxuICpcbiAqIFRoaXMgcHJvZHVjZXMgYSBzaGVsbC1hZ25vc3RpYyBjb21tYW5kIGxpbmUuIENhbGxlcnMgdGhhdCByb3V0ZSB0aHJvdWdoXG4gKiBhIHNwZWNpZmljIHNoZWxsIChjbWQuZXhlLCBQb3dlclNoZWxsLCBzaCkgbXVzdCBhcHBseSBzaGVsbC1zcGVjaWZpY1xuICogZXNjYXBpbmcgb24gdG9wIOKAlCBzZWUge0BsaW5rIGNtZEVzY2FwZUNvbW1hbmRMaW5lfS5cbiAqXG4gKiBAcGFyYW0gJGFyZ3VtZW50cyAtIFRoZSBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGNvbW1hbmQtbGluZSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Db21tYW5kTGluZSgkYXJndW1lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiAkYXJndW1lbnRzLm1hcCgoYXJndW1lbnQpID0+IGFyZ3ZRdW90ZShhcmd1bWVudCkpLmpvaW4oJyAnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBjb21tYW5kLWxpbmUgYXJndW1lbnRzIGludG8gYSBzaW5nbGUgY29tbWFuZC1saW5lIHN0cmluZ1xuICogcXVvdGVkIGZvciBhIFBPU0lYIHNoZWxsIChgc2hgLCBgYmFzaGAsIGB6c2hgLCAuLi4pLlxuICpcbiAqIEVhY2ggYXJndW1lbnQgaXMgd3JhcHBlZCBpbiBzaW5nbGUgcXVvdGVzIHVubGVzcyBpdCBjb25zaXN0cyBzb2xlbHkgb2ZcbiAqIGNoYXJhY3RlcnMgdGhhdCBhcmUgc2FmZSB1bnF1b3RlZCwgbWlycm9yaW5nIFB5dGhvbidzIGBzaGxleC5xdW90ZWAuIEEgbGl0ZXJhbFxuICogc2luZ2xlIHF1b3RlIGluc2lkZSBhbiBhcmd1bWVudCBpcyBlbWl0dGVkIGFzIHRoZSBgJ1xcJydgIGlkaW9tIChjbG9zZSB0aGVcbiAqIHF1b3RlZCBzcGFuLCBhZGQgYW4gZXNjYXBlZCBsaXRlcmFsIHF1b3RlLCByZW9wZW4pLCBzbyB0aGUgc2hlbGwgcmVwcm9kdWNlcyB0aGVcbiAqIGFyZ3VtZW50IHZlcmJhdGltIOKAlCBubyB2YXJpYWJsZSBleHBhbnNpb24gKGAkYCksIGNvbW1hbmQgc3Vic3RpdHV0aW9uXG4gKiAoYGAgYCBgYCksIGdsb2JiaW5nIChgKmAsIGA/YCwgYFtgKSwgb3Igd29yZCBzcGxpdHRpbmcuXG4gKlxuICogVXNlIHRoaXMgb24gcGxhdGZvcm1zIHdoZXJlIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkIHRocm91Z2ggYHNoIC1jYC4gT25cbiAqIFdpbmRvd3MsIHVzZSB7QGxpbmsgdG9Db21tYW5kTGluZX0gcGx1cyB7QGxpbmsgY21kRXNjYXBlQ29tbWFuZExpbmV9IGluc3RlYWQg4oCUXG4gKiB0aGUgdHdvIGNvbnZlbnRpb25zIGFyZSBub3QgaW50ZXJjaGFuZ2VhYmxlLlxuICpcbiAqIEBwYXJhbSAkYXJndW1lbnRzIC0gVGhlIGFycmF5IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgY29tbWFuZC1saW5lIGludm9jYXRpb24gZm9yIGEgUE9TSVggc2hlbGwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1Bvc2l4Q29tbWFuZExpbmUoJGFyZ3VtZW50czogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gJGFyZ3VtZW50cy5tYXAoKGFyZ3VtZW50KSA9PiBwb3NpeFF1b3RlKGFyZ3VtZW50KSkuam9pbignICcpO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYW4gYXJndW1lbnQgdGhhdCBpcyBlbnRpcmVseSBjb21wb3NlZCBvZiBjaGFyYWN0ZXJzIHNhZmUgdG8gcGFzcyB0byBhXG4gKiBQT1NJWCBzaGVsbCB1bnF1b3RlZC4gTWlycm9ycyB0aGUgc2FmZSBzZXQgdXNlZCBieSBQeXRob24ncyBgc2hsZXgucXVvdGVgLlxuICovXG5jb25zdCBQT1NJWF9TQUZFX0FSR19SRSA9IC9eW1xcd0AlKz06LC4vLV0rJC87XG5cbi8qKlxuICogTWF0Y2hlcyBhIGxpdGVyYWwgc2luZ2xlIHF1b3RlLCBmb3IgcmVwbGFjaW5nIGl0IHdpdGggdGhlIGAnXFwnJ2AgaWRpb20uXG4gKi9cbmNvbnN0IFNJTkdMRV9RVU9URV9SRSA9IC8nL2c7XG5cbi8qKlxuICogVGhlIHJlcGxhY2VtZW50IGZvciBhIGxpdGVyYWwgc2luZ2xlIHF1b3RlIGluc2lkZSBhIHNpbmdsZS1xdW90ZWQgUE9TSVggc3BhbjpcbiAqIGNsb3NlIHRoZSBzcGFuLCBhZGQgYW4gZXNjYXBlZCBsaXRlcmFsIHF1b3RlLCByZW9wZW4gdGhlIHNwYW4uXG4gKi9cbmNvbnN0IFBPU0lYX0VTQ0FQRURfU0lOR0xFX1FVT1RFID0gU3RyaW5nLnJhd2AnXFwnJ2A7XG5cbi8qKlxuICogUXVvdGVzIGEgc2luZ2xlIGFyZ3VtZW50IHNvIHRoYXQgYENvbW1hbmRMaW5lVG9Bcmd2V2Agd2lsbCBkZWNvZGUgaXRcbiAqIHVuY2hhbmdlZC4gSW1wbGVtZW50cyB0aGUgQXJndlF1b3RlIGFsZ29yaXRobSBmcm9tXG4gKiB7QGxpbmsgaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2FyY2hpdmUvYmxvZ3MvdHdpc3R5bGl0dGxlcGFzc2FnZXNhbGxhbGlrZS9ldmVyeW9uZS1xdW90ZXMtY29tbWFuZC1saW5lLWFyZ3VtZW50cy10aGUtd3Jvbmctd2F5IHwgRXZlcnlvbmUgcXVvdGVzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdGhlIHdyb25nIHdheX0uXG4gKlxuICogQHBhcmFtIGFyZ3VtZW50IC0gVGhlIHJhdyBhcmd1bWVudCBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgcXVvdGVkIGFyZ3VtZW50IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gYXJndlF1b3RlKGFyZ3VtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoYXJndW1lbnQubGVuZ3RoID4gMCAmJiAhL1tcXHNcXHRcXG5cXHZcIl0vLnRlc3QoYXJndW1lbnQpKSB7XG4gICAgcmV0dXJuIGFyZ3VtZW50O1xuICB9XG5cbiAgY29uc3QgQkFDS1NMQVNIX0VTQ0FQRV9GQUNUT1IgPSAyO1xuICBsZXQgcmVzdWx0ID0gJ1wiJztcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFyZ3VtZW50Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGxldCBudW1iZXJCYWNrc2xhc2hlcyA9IDA7XG4gICAgd2hpbGUgKGluZGV4IDwgYXJndW1lbnQubGVuZ3RoICYmIGFyZ3VtZW50W2luZGV4XSA9PT0gJ1xcXFwnKSB7XG4gICAgICBpbmRleCsrO1xuICAgICAgbnVtYmVyQmFja3NsYXNoZXMrKztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPT09IGFyZ3VtZW50Lmxlbmd0aCkge1xuICAgICAgcmVzdWx0ICs9ICdcXFxcJy5yZXBlYXQobnVtYmVyQmFja3NsYXNoZXMgKiBCQUNLU0xBU0hfRVNDQVBFX0ZBQ1RPUik7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBjaCA9IGFyZ3VtZW50LmNoYXJBdChpbmRleCk7XG4gICAgcmVzdWx0ICs9IGNoID09PSAnXCInID8gYCR7J1xcXFwnLnJlcGVhdChudW1iZXJCYWNrc2xhc2hlcyAqIEJBQ0tTTEFTSF9FU0NBUEVfRkFDVE9SICsgMSl9XCJgIDogJ1xcXFwnLnJlcGVhdChudW1iZXJCYWNrc2xhc2hlcykgKyBjaDtcbiAgfVxuXG4gIHJlc3VsdCArPSAnXCInO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFF1b3RlcyBhIHNpbmdsZSBhcmd1bWVudCBmb3IgYSBQT1NJWCBzaGVsbCBzbyBpdCBpcyBwYXNzZWQgdGhyb3VnaCB2ZXJiYXRpbS5cbiAqIEFuIGVtcHR5IGFyZ3VtZW50IGJlY29tZXMgYCcnYDsgYW4gYXJndW1lbnQgb2Ygb25seSBzYWZlIGNoYXJhY3RlcnMgaXNcbiAqIHJldHVybmVkIHVuY2hhbmdlZDsgYW55dGhpbmcgZWxzZSBpcyBzaW5nbGUtcXVvdGVkLlxuICpcbiAqIEBwYXJhbSBhcmd1bWVudCAtIFRoZSByYXcgYXJndW1lbnQgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIHF1b3RlZCBhcmd1bWVudCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHBvc2l4UXVvdGUoYXJndW1lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBQT1NJWF9TQUZFX0FSR19SRS50ZXN0KGFyZ3VtZW50KSA/IGFyZ3VtZW50IDogYCcke3JlcGxhY2VBbGwoeyAkc3RyaW5nOiBhcmd1bWVudCwgcmVwbGFjZXI6IFBPU0lYX0VTQ0FQRURfU0lOR0xFX1FVT1RFLCBzZWFyY2hWYWx1ZTogU0lOR0xFX1FVT1RFX1JFIH0pfSdgO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgYGNtZC5leGVgIG1ldGFjaGFyYWN0ZXJzIHRoYXQgbXVzdCBiZSBgXmAtZXNjYXBlZC5cbiAqL1xuY29uc3QgQ01EX01FVEFfUkUgPSAvWygpJSFeXCI8PiZ8XS9nO1xuXG4vKipcbiAqIEVzY2FwZXMgYGNtZC5leGVgIG1ldGFjaGFyYWN0ZXJzIHdpdGggYF5gIHNvIHRoYXQgYGNtZC5leGVgIHBhc3NlcyB0aGVtXG4gKiB0aHJvdWdoIGxpdGVyYWxseS4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBgY21kLmV4ZWAncyBgXCJgIGhhbmRsaW5nXG4gKiBkaWZmZXJzIGZyb20gYENvbW1hbmRMaW5lVG9Bcmd2V2AgYW5kIGNhbm5vdCBiZSByZWxpZWQgdXBvbi5cbiAqXG4gKiBBcHBseSB0aGlzIHRvIGEgY29tbWFuZCBsaW5lIHN0cmluZyB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgdmlhIGBjbWQuZXhlYFxuICogKGUuZy4sIGBzcGF3bihjbWQsIFtdLCB7IHNoZWxsOiB0cnVlIH0pYCBvbiBXaW5kb3dzKS5cbiAqXG4gKiBAcGFyYW0gY29tbWFuZExpbmUgLSBUaGUgYWxyZWFkeS1xdW90ZWQgY29tbWFuZCBsaW5lIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBzdHJpbmcgd2l0aCBhbGwgY21kIG1ldGFjaGFyYWN0ZXJzIGBeYC1lc2NhcGVkLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBgY21kYCBuYW1lcyBXaW5kb3dzIGBjbWQuZXhlYCwgbm90IGFuIGFiYnJldmlhdGlvbiBvZiBgY29tbWFuZGAuXG5leHBvcnQgZnVuY3Rpb24gY21kRXNjYXBlQ29tbWFuZExpbmUoY29tbWFuZExpbmU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBjb21tYW5kTGluZSxcbiAgICByZXBsYWNlcjogJ14kJicsXG4gICAgc2VhcmNoVmFsdWU6IENNRF9NRVRBX1JFXG4gIH0pO1xufVxuXG4vKipcbiAqIFdyYXBzIGEgQ0xJIHRhc2sgZnVuY3Rpb24gdG8gZW5zdXJlIGl0IHJ1bnMgc2FmZWx5IGFuZCBoYW5kbGVzIGl0cyB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0uXG4gKlxuICogSG9ub3JzIHRoZSBwZXItc2NyaXB0IG9mZiBzd2l0Y2ggZmlyc3Q6IHdoZW4gdGhlIG5wbSBzY3JpcHQgY3VycmVudGx5IHJ1bm5pbmcgaGFzIGJlZW4gc3dpdGNoZWQgb2ZmIOKAlFxuICogYExJTlRfTUQ9MCBucG0gcnVuIGxpbnQ6bWRgLCBzZWUge0BsaW5rIGV4aXRJZlNjcmlwdERpc2FibGVkfSDigJQgdGhlIHRhc2sgaXMgbm90IGV4ZWN1dGVkIGFuZFxuICogdGhlIHByb2Nlc3MgZXhpdHMgc3VjY2Vzc2Z1bGx5LiBCZWNhdXNlIGV2ZXJ5IGBzY3JpcHRzLyoudHNgIGVudHJ5IHBvaW50IGFscmVhZHkgZnVubmVscyB0aHJvdWdoIGhlcmUsIG5vXG4gKiBzY3JpcHQgaGFzIHRvIG9wdCBpbiwgYW5kIGVhY2ggYG5wbSBydW5gIHN1Yi1zdGVwIG9mIGEgY29tcG9zaXRlIHNjcmlwdCAoZS5nLiBgYnVpbGRgKSBjYXJyaWVzIGl0cyBvd25cbiAqIHN3aXRjaC5cbiAqXG4gKiBAcGFyYW0gdGFza0Z1bmN0aW9uIC0gVGhlIHRhc2sgZnVuY3Rpb24gdG8gZXhlY3V0ZSwgd2hpY2ggbWF5IHJldHVybiBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBvciBgdm9pZGAuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRhc2sgaXMgY29tcGxldGVkIGFuZCBleGl0cyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBzdGF0dXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3cmFwQ2xpVGFzayh0YXNrRnVuY3Rpb246ICgpID0+IFByb21pc2FibGU8TWF5YmVSZXR1cm48Q2xpVGFza1Jlc3VsdD4+KTogUHJvbWlzZTx2b2lkPiB7XG4gIGV4aXRJZlNjcmlwdERpc2FibGVkKCk7XG5cbiAgZW5hYmxlTGlicmFyeURlYnVnZ2VycygpO1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCB3cmFwUmVzdWx0KHRhc2tGdW5jdGlvbik7XG4gIHJlc3VsdC5leGl0KCk7XG59XG5cbi8qKlxuICogU2FmZWx5IGV4ZWN1dGVzIGEgdGFzayBmdW5jdGlvbiBhbmQgcmV0dXJucyBhIHtAbGluayBDbGlUYXNrUmVzdWx0fS4gSWYgdGhlIHRhc2sgZnVuY3Rpb24gdGhyb3dzIGFuIGVycm9yLFxuICogQW4gZXJyb3IgaXMgY2F1Z2h0LCBhbmQgYSBmYWlsdXJlIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpcyByZXR1cm5lZC5cbiAqXG4gKiBBIHRhc2sgdGhhdCByZXR1cm5zIG5vdGhpbmcgZW5kcyB3aXRoIHRoZSBgcHJvY2Vzcy5leGl0Q29kZWAgaXQgbGVmdCBiZWhpbmQsIHNvIHRoZSBjb21tb24gTm9kZSBzaGFwZSDigJQgcmVwb3J0XG4gKiB0aGUgZmluZGluZ3MsIHNldCBgcHJvY2Vzcy5leGl0Q29kZSA9IDFgLCByZXR1cm4g4oCUIHN0aWxsIGZhaWxzOiB7QGxpbmsgQ2xpVGFza1Jlc3VsdC5leGl0fSBjYWxscyBgcHJvY2Vzcy5leGl0YCxcbiAqIHdob3NlIGFyZ3VtZW50IHdvdWxkIG90aGVyd2lzZSBvdmVycmlkZSBpdCB3aXRoIGAwYC5cbiAqXG4gKiBAcGFyYW0gdGFza0Z1bmN0aW9uIC0gVGhlIHRhc2sgZnVuY3Rpb24gdG8gZXhlY3V0ZS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSByZXByZXNlbnRpbmcgdGhlIG91dGNvbWUgb2YgdGhlIHRhc2suXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHdyYXBSZXN1bHQodGFza0Z1bmN0aW9uOiAoKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPENsaVRhc2tSZXN1bHQ+Pik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICB0cnkge1xuICAgIHJldHVybiAoYXdhaXQgdGFza0Z1bmN0aW9uKCkpIGFzIENsaVRhc2tSZXN1bHQgfCB1bmRlZmluZWQgPz8gQ2xpVGFza1Jlc3VsdC5Gcm9tRXhpdENvZGUoTnVtYmVyKHByb2Nlc3MuZXhpdENvZGUgPz8gMCkpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHByaW50RXJyb3IobmV3IEVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGFzayBleGVjdXRpb24nLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuRmFpbHVyZSgpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7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
|
|
@@ -3,48 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const existingProcess = globalThis.process;
|
|
23
|
-
|
|
24
|
-
if (!existingProcess) {
|
|
25
|
-
globalThis.process = browserProcess;
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (existingProcess.versions?.node) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const existingProcessRecord = existingProcess;
|
|
34
|
-
|
|
35
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
-
existingProcessRecord[key] ??= value;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
existingProcessRecord['browser'] = true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
(function initEsm() {
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
46
|
-
})();
|
|
47
|
-
|
|
48
6
|
import { writeFile } from "node:fs/promises";
|
|
49
7
|
async function generate(path, lines) {
|
|
50
8
|
if (lines.at(-1)) {
|
|
@@ -56,4 +14,4 @@ async function generate(path, lines) {
|
|
|
56
14
|
export {
|
|
57
15
|
generate
|
|
58
16
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvZGUtZ2VuZXJhdG9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvZGUgZ2VuZXJhdGlvbi5cbiAqL1xuXG5pbXBvcnQgeyB3cml0ZUZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBmaWxlIGF0IHRoZSBzcGVjaWZpZWQgcGF0aCB3aXRoIHRoZSBwcm92aWRlZCBsaW5lcyBvZiBjb2RlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggd2hlcmUgdGhlIGZpbGUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gKiBAcGFyYW0gbGluZXMgLSBBbiBhcnJheSBvZiBzdHJpbmdzIHJlcHJlc2VudGluZyB0aGUgbGluZXMgb2YgY29kZSB0byBiZSB3cml0dGVuIGluIHRoZSBmaWxlLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGdlbmVyYXRpb24gaXMgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZShwYXRoOiBzdHJpbmcsIGxpbmVzOiBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAobGluZXMuYXQoLTEpKSB7XG4gICAgbGluZXMucHVzaCgnJyk7XG4gIH1cbiAgbGluZXMudW5zaGlmdCgnLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovJywgJycpO1xuICBhd2FpdCB3cml0ZUZpbGUocGF0aCwgbGluZXMuam9pbignXFxuJyksICd1dGYtOCcpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFNQSxTQUFTLGlCQUFpQjtBQVMxQixlQUFzQixTQUFTLE1BQWMsT0FBZ0M7QUFDM0UsTUFBSSxNQUFNLEdBQUcsRUFBRSxHQUFHO0FBQ2hCLFVBQU0sS0FBSyxFQUFFO0FBQUEsRUFDZjtBQUNBLFFBQU0sUUFBUSwwREFBMEQsRUFBRTtBQUMxRSxRQUFNLFVBQVUsTUFBTSxNQUFNLEtBQUssSUFBSSxHQUFHLE9BQU87QUFDakQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { castTo } from "@mnaoumov/typescript-lib/object-utils";
|
|
@@ -76,4 +67,4 @@ const obsidianDevUtilsConfig = {
|
|
|
76
67
|
export {
|
|
77
68
|
obsidianDevUtilsConfig
|
|
78
69
|
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21taXRsaW50LWNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogU2hhcmVkIGNvbW1pdGxpbnQgY29uZmlndXJhdGlvbiBmb3IgQ29udmVudGlvbmFsIENvbW1pdHMuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlY2xhcmF0aXZlIGNvbW1pdGxpbnQgY29uZmlndXJhdGlvbjsgY29ycmVjdG5lc3MgaXMgdmVyaWZpZWQgYnkgcnVubmluZyBjb21taXRsaW50LCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBSdWxlQ29uZmlnU2V2ZXJpdHksXG4gIFVzZXJDb25maWdcbn0gZnJvbSAnQGNvbW1pdGxpbnQvdHlwZXMnO1xuXG5pbXBvcnQgeyBjYXN0VG8gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcblxuaW1wb3J0IHtcbiAgZm9yYmlkZGVuUGF0dGVybnNQbHVnaW4sXG4gIE5PX0ZPUkJJRERFTl9QQVRURVJOU19SVUxFX05BTUVcbn0gZnJvbSAnLi9jb21taXRsaW50LWZvcmJpZGRlbi1wYXR0ZXJucy50cyc7XG5pbXBvcnQge1xuICBTUEVMTENIRUNLX0hFQURFUl9SVUxFX05BTUUsXG4gIHNwZWxsY2hlY2tIZWFkZXJQbHVnaW5cbn0gZnJvbSAnLi9jb21taXRsaW50LXNwZWxsY2hlY2staGVhZGVyLnRzJztcblxuLypcbiAqIGBSdWxlQ29uZmlnU2V2ZXJpdHkuRXJyb3JgLiBUaGUgZW51bSBsaXZlcyBpbiBhIHBhY2thZ2UgdGhpcyBsaWJyYXJ5IG9ubHkgaGFzIGFzIGEgZGV2RGVwZW5kZW5jeSwgc28gaXRzIHZhbHVlIGNhbm5vdCBiZSBpbXBvcnRlZCBhdCBydW50aW1lLlxuICovXG5jb25zdCBFUlJPUl9TRVZFUklUWV9MRVZFTCA9IDI7XG5jb25zdCBFUlJPUl9TRVZFUklUWSA9IGNhc3RUbzxSdWxlQ29uZmlnU2V2ZXJpdHk+KEVSUk9SX1NFVkVSSVRZX0xFVkVMKTtcblxuLyoqXG4gKiBDb21taXRsaW50IGNvbmZpZ3VyYXRpb24gZXh0ZW5kaW5nIGBAY29tbWl0bGludC9jb25maWctY29udmVudGlvbmFsYCwgcGx1cyBhIHJ1bGUgcmVmdXNpbmcgYSBtZXNzYWdlIHdob3NlXG4gKiBoZWFkZXIsIGJvZHkgb3IgZm9vdGVyIG1hdGNoZXMgdGhlIHVucHVibGlzaGVkIGZvcmJpZGRlbi1wYXR0ZXJucyBsaXN0IChhIG5vLW9wIHdoZW4gbm9uZSBpcyBjb25maWd1cmVkKSwgYW5kXG4gKiBhIHJ1bGUgc3BlbGxjaGVja2luZyB0aGUgaGVhZGVyIHRoZSB3YXkgdGhlIHJlbGVhc2Ugc3BlbGxjaGVja3MgdGhlIGNoYW5nZWxvZyBidWxsZXQgaXQgYmVjb21lcyAoYSBuby1vcCBpbiBhXG4gKiBwcm9qZWN0IHdpdGggbm8gYHNwZWxsY2hlY2tgIHNjcmlwdCkuXG4gKi9cbmV4cG9ydCBjb25zdCBvYnNpZGlhbkRldlV0aWxzQ29uZmlnOiBVc2VyQ29uZmlnID0ge1xuICBleHRlbmRzOiBbJ0Bjb21taXRsaW50L2NvbmZpZy1jb252ZW50aW9uYWwnXSxcbiAgLy8gT05FIHBsdWdpbiBvYmplY3QsIG5ldmVyIHR3bzogYEBjb21taXRsaW50L2xvYWRgIHN0b3JlcyBldmVyeSBpbmxpbmUgcGx1Z2luIHVuZGVyIHRoZSBzYW1lIGBsb2NhbGAga2V5LCBzbyBhXG4gIC8vIHNlY29uZCBvYmplY3Qgc2lsZW50bHkgcmVwbGFjZXMgdGhlIGZpcnN0IGFuZCBpdHMgcnVsZSB0aGVuIGZhaWxzIGFzIFwiRm91bmQgcnVsZXMgd2l0aG91dCBpbXBsZW1lbnRhdGlvblwiLlxuICBwbHVnaW5zOiBbXG4gICAge1xuICAgICAgcnVsZXM6IHtcbiAgICAgICAgLi4uZm9yYmlkZGVuUGF0dGVybnNQbHVnaW4ucnVsZXMsXG4gICAgICAgIC4uLnNwZWxsY2hlY2tIZWFkZXJQbHVnaW4ucnVsZXNcbiAgICAgIH1cbiAgICB9XG4gIF0sXG4gIHJ1bGVzOiB7XG4gICAgW05PX0ZPUkJJRERFTl9QQVRURVJOU19SVUxFX05BTUVdOiBbRVJST1JfU0VWRVJJVFksICdhbHdheXMnXSxcbiAgICBbU1BFTExDSEVDS19IRUFERVJfUlVMRV9OQU1FXTogW0VSUk9SX1NFVkVSSVRZLCAnYWx3YXlzJ11cbiAgfVxufTtcblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxTQUFTLGNBQWM7QUFFdkI7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUDtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtQLE1BQU0sdUJBQXVCO0FBQzdCLE1BQU0saUJBQWlCLE9BQTJCLG9CQUFvQjtBQVEvRCxNQUFNLHlCQUFxQztBQUFBLEVBQ2hELFNBQVMsQ0FBQyxpQ0FBaUM7QUFBQTtBQUFBO0FBQUEsRUFHM0MsU0FBUztBQUFBLElBQ1A7QUFBQSxNQUNFLE9BQU87QUFBQSxRQUNMLEdBQUcsd0JBQXdCO0FBQUEsUUFDM0IsR0FBRyx1QkFBdUI7QUFBQSxNQUM1QjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTCxDQUFDLCtCQUErQixHQUFHLENBQUMsZ0JBQWdCLFFBQVE7QUFBQSxJQUM1RCxDQUFDLDJCQUEyQixHQUFHLENBQUMsZ0JBQWdCLFFBQVE7QUFBQSxFQUMxRDtBQUNGOyIsIm5hbWVzIjpbXX0=
|
|
@@ -3,48 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const existingProcess = globalThis.process;
|
|
23
|
-
|
|
24
|
-
if (!existingProcess) {
|
|
25
|
-
globalThis.process = browserProcess;
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (existingProcess.versions?.node) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const existingProcessRecord = existingProcess;
|
|
34
|
-
|
|
35
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
-
existingProcessRecord[key] ??= value;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
existingProcessRecord['browser'] = true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
(function initEsm() {
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
46
|
-
})();
|
|
47
|
-
|
|
48
6
|
import {
|
|
49
7
|
findForbiddenPatternMatches,
|
|
50
8
|
FORBIDDEN_PATTERNS_FILE_ENV_VARIABLE,
|
|
@@ -72,4 +30,4 @@ export {
|
|
|
72
30
|
forbiddenPatternsPlugin,
|
|
73
31
|
noForbiddenPatternsRule
|
|
74
32
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1pdGxpbnQtZm9yYmlkZGVuLXBhdHRlcm5zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQSBjb21taXRsaW50IHJ1bGUgdGhhdCByZWZ1c2VzIGEgY29tbWl0IG1lc3NhZ2UgbWF0Y2hpbmcgYSBwYXR0ZXJuIGZyb20gdGhlIFVOUFVCTElTSEVEIGZvcmJpZGRlbi1wYXR0ZXJuc1xuICogbGlzdCBcdTIwMTQgaW4gaXRzIGhlYWRlciwgaXRzIGJvZHkgb3IgaXRzIGZvb3Rlci5cbiAqXG4gKiBUaGUgcmVsZWFzZSBhbHJlYWR5IHJlZnVzZXMgYSBjaGFuZ2Vsb2cgc2VjdGlvbiBjYXJyeWluZyBzdWNoIGEgcGF0dGVybiwgYnV0IGEgY2hhbmdlbG9nIHNlY3Rpb24gaG9sZHMgY29tbWl0XG4gKiBTVUJKRUNUUyBvbmx5LCBzbyBhIGJvZHkgbGluZSB3YXMgbmV2ZXIgc2Nhbm5lZCBieSBhbnl0aGluZzogaXQgcmVhY2hlZCB0aGUgcHVibGljIGhpc3RvcnkgdGhlIG1vbWVudCB0aGVcbiAqIGNvbW1pdCB3YXMgcHVzaGVkLCBhbmQgYSBwdXNoZWQgY29tbWl0IHdpdGggZGVzY2VuZGFudHMgY2Fubm90IGJlIGNsZWFuZWQgd2l0aG91dCByZXdyaXRpbmcgcHVibGlzaGVkIGhpc3RvcnkuXG4gKiBUaGUgY29tbWl0LW1zZyBob29rIGlzIHRoZSBvbmUgcG9pbnQgd2hlcmUgYSBib2R5IGlzIGNoZWNrZWQgYmVmb3JlIGl0IGV4aXN0cyBhbnl3aGVyZSBlbHNlLlxuICpcbiAqIFRoZSBsaXN0IGNvbWVzIGZyb20gdGhlIHNhbWUgcGxhY2UgYXMgdGhlIHJlbGVhc2UnczogdGhlIGZpbGUgbmFtZWQgYnkgdGhlIGBGT1JCSURERU5fUEFUVEVSTlNfRklMRWBcbiAqIGVudmlyb25tZW50IHZhcmlhYmxlIChzZWUgYGZvcmJpZGRlbi1wYXR0ZXJucy50c2ApLiBUaGUgcnVsZSBwYXNzZXMgd2hlbiBub3RoaW5nIGlzIGNvbmZpZ3VyZWQsIHNvIGEgY29uc3VtZXJcbiAqIHdobyBoYXMgbm90IHNldCBpdCBzZWVzIG5vIGNoYW5nZSBhdCBhbGwuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBc3luY1J1bGUsXG4gIFBsdWdpbixcbiAgUnVsZU91dGNvbWVcbn0gZnJvbSAnQGNvbW1pdGxpbnQvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBmaW5kRm9yYmlkZGVuUGF0dGVybk1hdGNoZXMsXG4gIEZPUkJJRERFTl9QQVRURVJOU19GSUxFX0VOVl9WQVJJQUJMRSxcbiAgcmVhZEZvcmJpZGRlblBhdHRlcm5zXG59IGZyb20gJy4vZm9yYmlkZGVuLXBhdHRlcm5zLnRzJztcblxuLyoqXG4gKiBUaGUgbmFtZSB0aGUgcnVsZSBpcyByZWdpc3RlcmVkIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgTk9fRk9SQklEREVOX1BBVFRFUk5TX1JVTEVfTkFNRSA9ICdvYnNpZGlhbi1kZXYtdXRpbHMvbm8tZm9yYmlkZGVuLXBhdHRlcm5zJztcblxudHlwZSBDb21taXQgPSBQYXJhbWV0ZXJzPEFzeW5jUnVsZT5bMF07XG5cbi8qKlxuICogQ2hlY2tzIHRoZSB3aG9sZSBjb21taXQgbWVzc2FnZSBcdTIwMTQgaGVhZGVyLCBib2R5IGFuZCBmb290ZXIgXHUyMDE0IGFnYWluc3QgdGhlIGZvcmJpZGRlbiBwYXR0ZXJucy5cbiAqXG4gKiBPbmx5IHRoZSBgYWx3YXlzYCBjb25kaXRpb24gaXMgbWVhbmluZ2Z1bDogYG5ldmVyYCB3b3VsZCByZXF1aXJlIGV2ZXJ5IGxpbmUgdG8gY2FycnkgYSBmb3JiaWRkZW4gcGF0dGVybiwgc29cbiAqIGl0IGlzIHRyZWF0ZWQgdGhlIHNhbWUgd2F5IHJhdGhlciB0aGFuIGludmVydGVkLlxuICpcbiAqIEBwYXJhbSBjb21taXQgLSBUaGUgcGFyc2VkIGNvbW1pdC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJ1bGUgb3V0Y29tZSwgbmFtaW5nIGVhY2ggb2ZmZW5kaW5nIGxpbmUgYW5kIHdoYXQgbWF0Y2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5vRm9yYmlkZGVuUGF0dGVybnNSdWxlKGNvbW1pdDogQ29tbWl0KTogUHJvbWlzZTxSdWxlT3V0Y29tZT4ge1xuICBjb25zdCBwYXR0ZXJucyA9IGF3YWl0IHJlYWRGb3JiaWRkZW5QYXR0ZXJucygpO1xuICBjb25zdCB0ZXh0ID0gW2NvbW1pdC5oZWFkZXIsIGNvbW1pdC5ib2R5LCBjb21taXQuZm9vdGVyXS5maWx0ZXIoKHBhcnQpID0+
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1pdGxpbnQtZm9yYmlkZGVuLXBhdHRlcm5zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQSBjb21taXRsaW50IHJ1bGUgdGhhdCByZWZ1c2VzIGEgY29tbWl0IG1lc3NhZ2UgbWF0Y2hpbmcgYSBwYXR0ZXJuIGZyb20gdGhlIFVOUFVCTElTSEVEIGZvcmJpZGRlbi1wYXR0ZXJuc1xuICogbGlzdCBcdTIwMTQgaW4gaXRzIGhlYWRlciwgaXRzIGJvZHkgb3IgaXRzIGZvb3Rlci5cbiAqXG4gKiBUaGUgcmVsZWFzZSBhbHJlYWR5IHJlZnVzZXMgYSBjaGFuZ2Vsb2cgc2VjdGlvbiBjYXJyeWluZyBzdWNoIGEgcGF0dGVybiwgYnV0IGEgY2hhbmdlbG9nIHNlY3Rpb24gaG9sZHMgY29tbWl0XG4gKiBTVUJKRUNUUyBvbmx5LCBzbyBhIGJvZHkgbGluZSB3YXMgbmV2ZXIgc2Nhbm5lZCBieSBhbnl0aGluZzogaXQgcmVhY2hlZCB0aGUgcHVibGljIGhpc3RvcnkgdGhlIG1vbWVudCB0aGVcbiAqIGNvbW1pdCB3YXMgcHVzaGVkLCBhbmQgYSBwdXNoZWQgY29tbWl0IHdpdGggZGVzY2VuZGFudHMgY2Fubm90IGJlIGNsZWFuZWQgd2l0aG91dCByZXdyaXRpbmcgcHVibGlzaGVkIGhpc3RvcnkuXG4gKiBUaGUgY29tbWl0LW1zZyBob29rIGlzIHRoZSBvbmUgcG9pbnQgd2hlcmUgYSBib2R5IGlzIGNoZWNrZWQgYmVmb3JlIGl0IGV4aXN0cyBhbnl3aGVyZSBlbHNlLlxuICpcbiAqIFRoZSBsaXN0IGNvbWVzIGZyb20gdGhlIHNhbWUgcGxhY2UgYXMgdGhlIHJlbGVhc2UnczogdGhlIGZpbGUgbmFtZWQgYnkgdGhlIGBGT1JCSURERU5fUEFUVEVSTlNfRklMRWBcbiAqIGVudmlyb25tZW50IHZhcmlhYmxlIChzZWUgYGZvcmJpZGRlbi1wYXR0ZXJucy50c2ApLiBUaGUgcnVsZSBwYXNzZXMgd2hlbiBub3RoaW5nIGlzIGNvbmZpZ3VyZWQsIHNvIGEgY29uc3VtZXJcbiAqIHdobyBoYXMgbm90IHNldCBpdCBzZWVzIG5vIGNoYW5nZSBhdCBhbGwuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBc3luY1J1bGUsXG4gIFBsdWdpbixcbiAgUnVsZU91dGNvbWVcbn0gZnJvbSAnQGNvbW1pdGxpbnQvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBmaW5kRm9yYmlkZGVuUGF0dGVybk1hdGNoZXMsXG4gIEZPUkJJRERFTl9QQVRURVJOU19GSUxFX0VOVl9WQVJJQUJMRSxcbiAgcmVhZEZvcmJpZGRlblBhdHRlcm5zXG59IGZyb20gJy4vZm9yYmlkZGVuLXBhdHRlcm5zLnRzJztcblxuLyoqXG4gKiBUaGUgbmFtZSB0aGUgcnVsZSBpcyByZWdpc3RlcmVkIHVuZGVyLlxuICovXG5leHBvcnQgY29uc3QgTk9fRk9SQklEREVOX1BBVFRFUk5TX1JVTEVfTkFNRSA9ICdvYnNpZGlhbi1kZXYtdXRpbHMvbm8tZm9yYmlkZGVuLXBhdHRlcm5zJztcblxudHlwZSBDb21taXQgPSBQYXJhbWV0ZXJzPEFzeW5jUnVsZT5bMF07XG5cbi8qKlxuICogQ2hlY2tzIHRoZSB3aG9sZSBjb21taXQgbWVzc2FnZSBcdTIwMTQgaGVhZGVyLCBib2R5IGFuZCBmb290ZXIgXHUyMDE0IGFnYWluc3QgdGhlIGZvcmJpZGRlbiBwYXR0ZXJucy5cbiAqXG4gKiBPbmx5IHRoZSBgYWx3YXlzYCBjb25kaXRpb24gaXMgbWVhbmluZ2Z1bDogYG5ldmVyYCB3b3VsZCByZXF1aXJlIGV2ZXJ5IGxpbmUgdG8gY2FycnkgYSBmb3JiaWRkZW4gcGF0dGVybiwgc29cbiAqIGl0IGlzIHRyZWF0ZWQgdGhlIHNhbWUgd2F5IHJhdGhlciB0aGFuIGludmVydGVkLlxuICpcbiAqIEBwYXJhbSBjb21taXQgLSBUaGUgcGFyc2VkIGNvbW1pdC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJ1bGUgb3V0Y29tZSwgbmFtaW5nIGVhY2ggb2ZmZW5kaW5nIGxpbmUgYW5kIHdoYXQgbWF0Y2hlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG5vRm9yYmlkZGVuUGF0dGVybnNSdWxlKGNvbW1pdDogQ29tbWl0KTogUHJvbWlzZTxSdWxlT3V0Y29tZT4ge1xuICBjb25zdCBwYXR0ZXJucyA9IGF3YWl0IHJlYWRGb3JiaWRkZW5QYXR0ZXJucygpO1xuICBjb25zdCB0ZXh0ID0gW2NvbW1pdC5oZWFkZXIsIGNvbW1pdC5ib2R5LCBjb21taXQuZm9vdGVyXS5maWx0ZXIoKHBhcnQpID0+IHBhcnQgIT09IG51bGwpLmpvaW4oJ1xcbicpO1xuICBjb25zdCBtYXRjaGVzID0gZmluZEZvcmJpZGRlblBhdHRlcm5NYXRjaGVzKHRleHQsIHBhdHRlcm5zKTtcblxuICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW3RydWVdO1xuICB9XG5cbiAgY29uc3Qgb2ZmZW5kaW5nTGluZXMgPSBtYXRjaGVzLm1hcCgoeyBsaW5lLCBtYXRjaCB9KSA9PiBgJHtsaW5lfSAgICA8LSAke21hdGNofWApLmpvaW4oJ1xcbicpO1xuICByZXR1cm4gW2ZhbHNlLCBgdGhlIGNvbW1pdCBtZXNzYWdlIG1hdGNoZXMgYSBwYXR0ZXJuIGZyb20gdGhlIGZpbGUgJHtGT1JCSURERU5fUEFUVEVSTlNfRklMRV9FTlZfVkFSSUFCTEV9IG5hbWVzOlxcbiR7b2ZmZW5kaW5nTGluZXN9YF07XG59XG5cbi8qKlxuICogVGhlIGNvbW1pdGxpbnQgcGx1Z2luIGNhcnJ5aW5nIHtAbGluayBub0ZvcmJpZGRlblBhdHRlcm5zUnVsZX0uXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JiaWRkZW5QYXR0ZXJuc1BsdWdpbjogUGx1Z2luID0ge1xuICBydWxlczoge1xuICAgIFtOT19GT1JCSURERU5fUEFUVEVSTlNfUlVMRV9OQU1FXTogbm9Gb3JiaWRkZW5QYXR0ZXJuc1J1bGVcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBc0JBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUtBLE1BQU0sa0NBQWtDO0FBYS9DLGVBQXNCLHdCQUF3QixRQUFzQztBQUNsRixRQUFNLFdBQVcsTUFBTSxzQkFBc0I7QUFDN0MsUUFBTSxPQUFPLENBQUMsT0FBTyxRQUFRLE9BQU8sTUFBTSxPQUFPLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxTQUFTLElBQUksRUFBRSxLQUFLLElBQUk7QUFDbEcsUUFBTSxVQUFVLDRCQUE0QixNQUFNLFFBQVE7QUFFMUQsTUFBSSxRQUFRLFdBQVcsR0FBRztBQUN4QixXQUFPLENBQUMsSUFBSTtBQUFBLEVBQ2Q7QUFFQSxRQUFNLGlCQUFpQixRQUFRLElBQUksQ0FBQyxFQUFFLE1BQU0sTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFLEtBQUssSUFBSTtBQUMzRixTQUFPLENBQUMsT0FBTyxzREFBc0Qsb0NBQW9DO0FBQUEsRUFBWSxjQUFjLEVBQUU7QUFDdkk7QUFLTyxNQUFNLDBCQUFrQztBQUFBLEVBQzdDLE9BQU87QUFBQSxJQUNMLENBQUMsK0JBQStCLEdBQUc7QUFBQSxFQUNyQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -3,48 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const existingProcess = globalThis.process;
|
|
23
|
-
|
|
24
|
-
if (!existingProcess) {
|
|
25
|
-
globalThis.process = browserProcess;
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (existingProcess.versions?.node) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const existingProcessRecord = existingProcess;
|
|
34
|
-
|
|
35
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
36
|
-
existingProcessRecord[key] ??= value;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
existingProcessRecord['browser'] = true;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
(function initEsm() {
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
46
|
-
})();
|
|
47
|
-
|
|
48
6
|
import { spellcheckContent } from "./linters/cspell-content.mjs";
|
|
49
7
|
import { readPackageJson } from "./npm.mjs";
|
|
50
8
|
import { RepoPaths } from "./repo-paths.mjs";
|
|
@@ -84,4 +42,4 @@ export {
|
|
|
84
42
|
spellcheckHeaderPlugin,
|
|
85
43
|
spellcheckHeaderRule
|
|
86
44
|
};
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvbW1pdGxpbnQtc3BlbGxjaGVjay1oZWFkZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBIGNvbW1pdGxpbnQgcnVsZSB0aGF0IHNwZWxsY2hlY2tzIGEgY29tbWl0IEhFQURFUiB3aXRoIHRoZSBwcm9qZWN0J3Mgb3duIGBzcGVsbGNoZWNrYCBjb25maWd1cmF0aW9uLlxuICpcbiAqIFRoZSBoZWFkZXIgaXMgdGhlIG9uZSBwYXJ0IG9mIGEgY29tbWl0IG1lc3NhZ2UgdGhhdCBzaGlwcyB2ZXJiYXRpbTogYSByZWxlYXNlIHR1cm5zIGV2ZXJ5IGNvbW1pdCBzdWJqZWN0XG4gKiBzaW5jZSB0aGUgbGFzdCB0YWcgaW50byBhIGAtIDxzdWJqZWN0PmAgYnVsbGV0IG9mIHRoZSBuZXcgYENIQU5HRUxPRy5tZGAgc2VjdGlvbiwgYW5kIHNwZWxsY2hlY2tzIHRoYXRcbiAqIHNlY3Rpb24gYmVmb3JlIHdyaXRpbmcgaXQuIFRoYXQgY2hlY2sgd29ya3MsIGJ1dCBpdCBydW5zIGF0IHJlbGVhc2UgdGltZSwgYWZ0ZXIgdGhlIHdob2xlIHByZWZsaWdodCBnYXRlLFxuICogYW5kIHdlZWtzIGFmdGVyIHRoZSBzdWJqZWN0IHdhcyBwdXNoZWQgdG8gdGhlIGRlZmF1bHQgYnJhbmNoLiBBdCB0aGF0IHBvaW50IHRoZSBvbmx5IGZpeGVzIGFyZSByZXdyaXRpbmdcbiAqIHB1Ymxpc2hlZCBoaXN0b3J5IG9yIHN1cHBseWluZyB0aGUgcmVsZWFzZSBub3RlcyBieSBoYW5kLiBUaGUgY29tbWl0LW1zZyBob29rIGlzIHRoZSBsYXN0IHBvaW50IGF0IHdoaWNoXG4gKiB0aGUgd29yZCBjYW4gc3RpbGwgYmUgY2hhbmdlZCBmb3IgZnJlZS5cbiAqXG4gKiBUaGUgaGVhZGVyIGlzIGNoZWNrZWQgQVMgdGhlIGJ1bGxldCBpdCB3aWxsIGJlY29tZSwgYXR0cmlidXRlZCB0byBgQ0hBTkdFTE9HLm1kYCwgc28gdGhlIHZlcmRpY3QgaXMgdGhlIG9uZVxuICogdGhlIHJlbGVhc2Ugd291bGQgZ2l2ZTogdGhlIHNhbWUgYGNzcGVsbGAgY29uZmlndXJhdGlvbiwgdGhlIHNhbWUgYHdvcmRzYCwgdGhlIHNhbWUgYGlnbm9yZVBhdGhzYC4gQW5kIGl0XG4gKiBydW5zIG9ubHkgd2hlcmUgdGhlIHByb2plY3QgZGVmaW5lcyBhIGBzcGVsbGNoZWNrYCBzY3JpcHQsIHdoaWNoIGlzIHRoZSBjb25kaXRpb24gdGhlIHJlbGVhc2UgYXBwbGllcyB0b28uXG4gKiBBIHByb2plY3Qgd2l0aCBubyBzcGVsbGluZyBjb25maWd1cmF0aW9uIHdvdWxkIG90aGVyd2lzZSBoYXZlIGl0cyBjb21taXRzIGp1ZGdlZCBhZ2FpbnN0IHRoZSBzdG9ja1xuICogZGljdGlvbmFyaWVzIGFsb25lLCBhbmQgcmVmdXNlZCBvdmVyIGl0cyBvd24gbmFtZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFzeW5jUnVsZSxcbiAgUGx1Z2luLFxuICBSdWxlT3V0Y29tZVxufSBmcm9tICdAY29tbWl0bGludC90eXBlcyc7XG5cbmltcG9ydCB7IHNwZWxsY2hlY2tDb250ZW50IH0gZnJvbSAnLi9saW50ZXJzL2NzcGVsbC1jb250ZW50LnRzJztcbmltcG9ydCB7IHJlYWRQYWNrYWdlSnNvbiB9IGZyb20gJy4vbnBtLnRzJztcbmltcG9ydCB7IFJlcG9QYXRocyB9IGZyb20gJy4vcmVwby1wYXRocy50cyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290U2FmZSB9IGZyb20gJy4vcm9vdC50cyc7XG5cbi8qKlxuICogVGhlIG5hbWUgdGhlIHJ1bGUgaXMgcmVnaXN0ZXJlZCB1bmRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IFNQRUxMQ0hFQ0tfSEVBREVSX1JVTEVfTkFNRSA9ICdvYnNpZGlhbi1kZXYtdXRpbHMvc3BlbGxjaGVjay1oZWFkZXInO1xuXG4vKipcbiAqIFRoZSBucG0gc2NyaXB0IHdob3NlIHByZXNlbmNlIG9wdHMgYSBwcm9qZWN0IGludG8gdGhlIGNoZWNrLlxuICovXG5jb25zdCBTUEVMTENIRUNLX1NDUklQVF9OQU1FID0gJ3NwZWxsY2hlY2snO1xuXG50eXBlIENvbW1pdCA9IFBhcmFtZXRlcnM8QXN5bmNSdWxlPlswXTtcblxuLyoqXG4gKiBTcGVsbGNoZWNrcyB0aGUgY29tbWl0IGhlYWRlciBhcyB0aGUgY2hhbmdlbG9nIGJ1bGxldCBpdCB3aWxsIGJlY29tZS5cbiAqXG4gKiBPbmx5IHRoZSBgYWx3YXlzYCBjb25kaXRpb24gaXMgbWVhbmluZ2Z1bDogYG5ldmVyYCB3b3VsZCByZXF1aXJlIHRoZSBoZWFkZXIgdG8gYmUgbWlzc3BlbGxlZCwgc28gaXQgaXNcbiAqIHRyZWF0ZWQgdGhlIHNhbWUgd2F5IHJhdGhlciB0aGFuIGludmVydGVkLlxuICpcbiAqIEBwYXJhbSBjb21taXQgLSBUaGUgcGFyc2VkIGNvbW1pdC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJ1bGUgb3V0Y29tZSwgbmFtaW5nIGVhY2ggdW5rbm93biB3b3JkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3BlbGxjaGVja0hlYWRlclJ1bGUoY29tbWl0OiBDb21taXQpOiBQcm9taXNlPFJ1bGVPdXRjb21lPiB7XG4gIGlmICghY29tbWl0LmhlYWRlcikge1xuICAgIHJldHVybiBbdHJ1ZV07XG4gIH1cblxuICBjb25zdCBwYWNrYWdlSnNvbiA9IGF3YWl0IHJlYWRQYWNrYWdlSnNvbigpO1xuICBpZiAoIU9iamVjdC5rZXlzKHBhY2thZ2VKc29uLnNjcmlwdHMgPz8ge30pLmluY2x1ZGVzKFNQRUxMQ0hFQ0tfU0NSSVBUX05BTUUpKSB7XG4gICAgcmV0dXJuIFt0cnVlXTtcbiAgfVxuXG4gIGNvbnN0IGZpbmRpbmdzID0gYXdhaXQgc3BlbGxjaGVja0NvbnRlbnQoe1xuICAgIGNvbnRlbnQ6IGAtICR7Y29tbWl0LmhlYWRlcn1cXG5gLFxuICAgIGZpbGVQYXRoOiByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7IHBhdGg6IFJlcG9QYXRocy5DaGFuZ2Vsb2dNZCB9KVxuICB9KTtcblxuICBpZiAoZmluZGluZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFt0cnVlXTtcbiAgfVxuXG4gIHJldHVybiBbXG4gICAgZmFsc2UsXG4gICAgYHRoZSBoZWFkZXIgZG9lcyBub3QgcGFzcyBcXGAke1NQRUxMQ0hFQ0tfU0NSSVBUX05BTUV9XFxgLCBhbmQgaXQgc2hpcHMgdmVyYmF0aW0gaW50byB0aGUgbmV4dCByZWxlYXNlJ3MgY2hhbmdlbG9nOlxcbmBcbiAgICArIGAke2ZpbmRpbmdzLmpvaW4oJ1xcbicpfVxcbmBcbiAgICArICdSZXdvcmQgaXQsIG9yLCBmb3IgYSB3b3JkIHRoaXMgcHJvamVjdCByZWFsbHkgZG9lcyB1c2UsIGFkZCBpdCB0byB0aGUgcHJvamVjdFxcJ3MgYGNzcGVsbGAgY29uZmlndXJhdGlvbi4nXG4gIF07XG59XG5cbi8qKlxuICogVGhlIGNvbW1pdGxpbnQgcGx1Z2luIGNhcnJ5aW5nIHtAbGluayBzcGVsbGNoZWNrSGVhZGVyUnVsZX0uXG4gKi9cbmV4cG9ydCBjb25zdCBzcGVsbGNoZWNrSGVhZGVyUGx1Z2luOiBQbHVnaW4gPSB7XG4gIHJ1bGVzOiB7XG4gICAgW1NQRUxMQ0hFQ0tfSEVBREVSX1JVTEVfTkFNRV06IHNwZWxsY2hlY2tIZWFkZXJSdWxlXG4gIH1cbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7OztBQXlCQSxTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLCtCQUErQjtBQUtqQyxNQUFNLDhCQUE4QjtBQUszQyxNQUFNLHlCQUF5QjtBQWEvQixlQUFzQixxQkFBcUIsUUFBc0M7QUFDL0UsTUFBSSxDQUFDLE9BQU8sUUFBUTtBQUNsQixXQUFPLENBQUMsSUFBSTtBQUFBLEVBQ2Q7QUFFQSxRQUFNLGNBQWMsTUFBTSxnQkFBZ0I7QUFDMUMsTUFBSSxDQUFDLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxzQkFBc0IsR0FBRztBQUM1RSxXQUFPLENBQUMsSUFBSTtBQUFBLEVBQ2Q7QUFFQSxRQUFNLFdBQVcsTUFBTSxrQkFBa0I7QUFBQSxJQUN2QyxTQUFTLEtBQUssT0FBTyxNQUFNO0FBQUE7QUFBQSxJQUMzQixVQUFVLHdCQUF3QixFQUFFLE1BQU0sVUFBVSxZQUFZLENBQUM7QUFBQSxFQUNuRSxDQUFDO0FBRUQsTUFBSSxTQUFTLFdBQVcsR0FBRztBQUN6QixXQUFPLENBQUMsSUFBSTtBQUFBLEVBQ2Q7QUFFQSxTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0EsOEJBQThCLHNCQUFzQjtBQUFBLEVBQy9DLFNBQVMsS0FBSyxJQUFJLENBQUM7QUFBQTtBQUFBLEVBRTFCO0FBQ0Y7QUFLTyxNQUFNLHlCQUFpQztBQUFBLEVBQzVDLE9BQU87QUFBQSxJQUNMLENBQUMsMkJBQTJCLEdBQUc7QUFBQSxFQUNqQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -17,6 +17,13 @@
|
|
|
17
17
|
* This mirrors the pre-existing `NANO_STAGED=0` / `HUSKY=0` escape hatches, and reuses their notion of an
|
|
18
18
|
* "off" value, so there is a single answer to what counts as off across the whole tool set.
|
|
19
19
|
*/
|
|
20
|
+
/**
|
|
21
|
+
* Exits the process successfully, before any work, when the npm script currently running has been switched
|
|
22
|
+
* off: it writes `Skipped (<VAR> is off).` and calls `process.exit(0)`.
|
|
23
|
+
*
|
|
24
|
+
* Call it first in a script entry point that does not go through `wrapCliTask`, which already calls it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function exitIfScriptDisabled(): void;
|
|
20
27
|
/**
|
|
21
28
|
* Resolves the off switch for the npm script that is currently running, loading {@link ENV_FILE_PATH} first.
|
|
22
29
|
*
|
|
@@ -2,13 +2,7 @@
|
|
|
2
2
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
5
|
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
6
|
function ensureBrowserProcess() {
|
|
13
7
|
const browserProcess = {
|
|
14
8
|
browser: true,
|
|
@@ -39,10 +33,7 @@ function ensureBrowserProcess() {
|
|
|
39
33
|
existingProcessRecord['browser'] = true;
|
|
40
34
|
}
|
|
41
35
|
|
|
42
|
-
(
|
|
43
|
-
ensureDisposeSymbols();
|
|
44
|
-
ensureBrowserProcess();
|
|
45
|
-
})();
|
|
36
|
+
ensureBrowserProcess();
|
|
46
37
|
})();
|
|
47
38
|
|
|
48
39
|
import { replaceAll } from "@mnaoumov/typescript-lib/string";
|
|
@@ -52,6 +43,15 @@ const OFF_VALUES = /* @__PURE__ */ new Set(["0", "false", "no", "off"]);
|
|
|
52
43
|
const ENV_FILE_PATH = ".env";
|
|
53
44
|
const NON_ALPHANUMERIC_REG_EXP = /[^a-z0-9]+/gi;
|
|
54
45
|
const NPM_SCRIPT_NAME_ENV_VARIABLE = "npm_lifecycle_event";
|
|
46
|
+
function exitIfScriptDisabled() {
|
|
47
|
+
const disabledScriptEnvVariableName = getDisabledScriptEnvVariableName();
|
|
48
|
+
if (disabledScriptEnvVariableName === null) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
process.stdout.write(`Skipped (${disabledScriptEnvVariableName} is off).
|
|
52
|
+
`);
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
55
55
|
function getDisabledScriptEnvVariableName() {
|
|
56
56
|
loadEnvFileIfExists();
|
|
57
57
|
const scriptName = process.env[NPM_SCRIPT_NAME_ENV_VARIABLE];
|
|
@@ -77,8 +77,9 @@ function toEnvVariableName(scriptName) {
|
|
|
77
77
|
}).toUpperCase();
|
|
78
78
|
}
|
|
79
79
|
export {
|
|
80
|
+
exitIfScriptDisabled,
|
|
80
81
|
getDisabledScriptEnvVariableName,
|
|
81
82
|
isEnvVariableOff,
|
|
82
83
|
loadEnvFileIfExists
|
|
83
84
|
};
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnYtdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTaGFyZWQgZW52aXJvbm1lbnQtdmFyaWFibGUgb2ZmIHN3aXRjaGVzIGZvciB0aGUgQ0xJIHNjcmlwdHMuXG4gKlxuICogRXZlcnkgbnBtIHNjcmlwdCBjYW4gYmUgc2tpcHBlZCBieSBzZXR0aW5nIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVkIGFmdGVyIGl0IOKAlCB0aGUgc2NyaXB0IG5hbWVcbiAqIHVwcGVyY2FzZWQsIHdpdGggZXZlcnkgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXIgcmVwbGFjZWQgYnkgYF9gOlxuICpcbiAqIHwgU2NyaXB0ICAgICAgICAgICAgICB8IFN3aXRjaCAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8IGBsaW50YCAgICAgICAgICAgICAgfCBgTElOVD0wYCAgICAgICAgICAgIHxcbiAqIHwgYGxpbnQ6bWQ6Zml4YCAgICAgICB8IGBMSU5UX01EX0ZJWD0wYCAgICAgfFxuICogfCBgZm9ybWF0OmNoZWNrYCAgICAgIHwgYEZPUk1BVF9DSEVDSz0wYCAgICB8XG4gKiB8IGBmaW5kLW92ZXJleHBvc2VkYCAgfCBgRklORF9PVkVSRVhQT1NFRD0wYHxcbiAqXG4gKiBUaGlzIG1pcnJvcnMgdGhlIHByZS1leGlzdGluZyBgTkFOT19TVEFHRUQ9MGAgLyBgSFVTS1k9MGAgZXNjYXBlIGhhdGNoZXMsIGFuZCByZXVzZXMgdGhlaXIgbm90aW9uIG9mIGFuXG4gKiBcIm9mZlwiIHZhbHVlLCBzbyB0aGVyZSBpcyBhIHNpbmdsZSBhbnN3ZXIgdG8gd2hhdCBjb3VudHMgYXMgb2ZmIGFjcm9zcyB0aGUgd2hvbGUgdG9vbCBzZXQuXG4gKi9cblxuaW1wb3J0IHsgcmVwbGFjZUFsbCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdHJpbmcnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSAnbm9kZTpwcm9jZXNzJztcblxuLyoqXG4gKiBUaGUgdmFsdWVzIHRoYXQgc3dpdGNoIGEgdmFyaWFibGUgb2ZmLiBBbnl0aGluZyBlbHNlIOKAlCBpbmNsdWRpbmcgYW4gdW5zZXQgdmFyaWFibGUg4oCUIGxlYXZlcyBpdCBvbiwgc28gdGhlXG4gKiBkZWZhdWx0IGlzIGFsd2F5cyBcInJ1biB0aGUgc2NyaXB0XCIuXG4gKi9cbmNvbnN0IE9GRl9WQUxVRVM6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KFsnMCcsICdmYWxzZScsICdubycsICdvZmYnXSk7XG5cbi8qKlxuICogVGhlIG9wdGlvbmFsIHBlci1kZXZlbG9wZXIgZW52aXJvbm1lbnQgZmlsZS4gTG9hZGVkIHZpYSBOb2RlJ3Mgb3duIGBwcm9jZXNzLmxvYWRFbnZGaWxlYCwgc28gaXQgYmVoYXZlc1xuICogdGhlIHNhbWUgb24gZXZlcnkgcGxhdGZvcm0gYW5kIHNoZWxsLlxuICovXG5jb25zdCBFTlZfRklMRV9QQVRIID0gJy5lbnYnO1xuXG4vKipcbiAqIE1hdGNoZXMgZXZlcnkgcnVuIG9mIGNoYXJhY3RlcnMgdGhhdCBjYW5ub3QgYXBwZWFyIGluIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUuXG4gKi9cbmNvbnN0IE5PTl9BTFBIQU5VTUVSSUNfUkVHX0VYUCA9IC9bXmEtejAtOV0rL2dpO1xuXG4vKipcbiAqIFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBucG0gc2V0cyB0byB0aGUgbmFtZSBvZiB0aGUgc2NyaXB0IGl0IGlzIGN1cnJlbnRseSBydW5uaW5nLlxuICovXG5jb25zdCBOUE1fU0NSSVBUX05BTUVfRU5WX1ZBUklBQkxFID0gJ25wbV9saWZlY3ljbGVfZXZlbnQnO1xuXG4vKipcbiAqIEV4aXRzIHRoZSBwcm9jZXNzIHN1Y2Nlc3NmdWxseSwgYmVmb3JlIGFueSB3b3JrLCB3aGVuIHRoZSBucG0gc2NyaXB0IGN1cnJlbnRseSBydW5uaW5nIGhhcyBiZWVuIHN3aXRjaGVkXG4gKiBvZmY6IGl0IHdyaXRlcyBgU2tpcHBlZCAoPFZBUj4gaXMgb2ZmKS5gIGFuZCBjYWxscyBgcHJvY2Vzcy5leGl0KDApYC5cbiAqXG4gKiBDYWxsIGl0IGZpcnN0IGluIGEgc2NyaXB0IGVudHJ5IHBvaW50IHRoYXQgZG9lcyBub3QgZ28gdGhyb3VnaCBgd3JhcENsaVRhc2tgLCB3aGljaCBhbHJlYWR5IGNhbGxzIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhpdElmU2NyaXB0RGlzYWJsZWQoKTogdm9pZCB7XG4gIGNvbnN0IGRpc2FibGVkU2NyaXB0RW52VmFyaWFibGVOYW1lID0gZ2V0RGlzYWJsZWRTY3JpcHRFbnZWYXJpYWJsZU5hbWUoKTtcbiAgaWYgKGRpc2FibGVkU2NyaXB0RW52VmFyaWFibGVOYW1lID09PSBudWxsKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYFNraXBwZWQgKCR7ZGlzYWJsZWRTY3JpcHRFbnZWYXJpYWJsZU5hbWV9IGlzIG9mZikuXFxuYCk7XG4gIHByb2Nlc3MuZXhpdCgwKTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgb2ZmIHN3aXRjaCBmb3IgdGhlIG5wbSBzY3JpcHQgdGhhdCBpcyBjdXJyZW50bHkgcnVubmluZywgbG9hZGluZyB7QGxpbmsgRU5WX0ZJTEVfUEFUSH0gZmlyc3QuXG4gKlxuICogVGhlIHNjcmlwdCBuYW1lIGNvbWVzIGZyb20gbnBtIGl0c2VsZiwgc28gbm8gc2NyaXB0IGhhcyB0byBkZWNsYXJlIGl0cyBvd24gc3dpdGNoLiBXaGVuIHRoZSBzY3JpcHQgd2FzXG4gKiBzdGFydGVkIGRpcmVjdGx5IHJhdGhlciB0aGFuIHRocm91Z2ggbnBtLCB0aGVyZSBpcyBubyBuYW1lIHRvIGRlcml2ZSBmcm9tIGFuZCBub3RoaW5nIGlzIGV2ZXIgc2tpcHBlZC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdGhhdCBzd2l0Y2hlZCB0aGUgY3VycmVudCBzY3JpcHQgb2ZmLCBvciBgbnVsbGAgd2hlbiB0aGVcbiAqIHNjcmlwdCBzaG91bGQgcnVuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlzYWJsZWRTY3JpcHRFbnZWYXJpYWJsZU5hbWUoKTogbnVsbCB8IHN0cmluZyB7XG4gIGxvYWRFbnZGaWxlSWZFeGlzdHMoKTtcbiAgY29uc3Qgc2NyaXB0TmFtZSA9IHByb2Nlc3MuZW52W05QTV9TQ1JJUFRfTkFNRV9FTlZfVkFSSUFCTEVdO1xuICBpZiAoIXNjcmlwdE5hbWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGVudlZhcmlhYmxlTmFtZSA9IHRvRW52VmFyaWFibGVOYW1lKHNjcmlwdE5hbWUpO1xuICByZXR1cm4gaXNFbnZWYXJpYWJsZU9mZihlbnZWYXJpYWJsZU5hbWUpID8gZW52VmFyaWFibGVOYW1lIDogbnVsbDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCB0byBhbiBvZmYgdmFsdWUgKGAwYCwgYGZhbHNlYCwgYG5vYCwgb3IgYG9mZmAsXG4gKiBjYXNlLWluc2Vuc2l0aXZlbHkgYW5kIGlnbm9yaW5nIHN1cnJvdW5kaW5nIHdoaXRlc3BhY2UpLlxuICpcbiAqIEBwYXJhbSBlbnZWYXJpYWJsZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCB3aGVuIHRoZSB2YXJpYWJsZSBpcyBzZXQgdG8gYW4gb2ZmIHZhbHVlLCBvdGhlcndpc2UgYGZhbHNlYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRW52VmFyaWFibGVPZmYoZW52VmFyaWFibGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9GRl9WQUxVRVMuaGFzKChwcm9jZXNzLmVudltlbnZWYXJpYWJsZU5hbWVdID8/ICcnKS50cmltKCkudG9Mb3dlckNhc2UoKSk7XG59XG5cbi8qKlxuICogTG9hZHMgdGhlIG9wdGlvbmFsIHtAbGluayBFTlZfRklMRV9QQVRIfSBmaWxlIGludG8gYHByb2Nlc3MuZW52YCB3aGVuIGl0IGV4aXN0cywgc28gYSBkZXZlbG9wZXIgY2FuIHBhcmsgYVxuICogc3dpdGNoIHN1Y2ggYXMgYExJTlRfTUQ9MGAgdGhlcmUgaW5zdGVhZCBvZiBwcmVmaXhpbmcgZXZlcnkgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRFbnZGaWxlSWZFeGlzdHMoKTogdm9pZCB7XG4gIGlmIChleGlzdHNTeW5jKEVOVl9GSUxFX1BBVEgpKSB7XG4gICAgcHJvY2Vzcy5sb2FkRW52RmlsZShFTlZfRklMRV9QQVRIKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG5wbSBzY3JpcHQgbmFtZSBpbnRvIHRoZSBuYW1lIG9mIGl0cyBvZmYgc3dpdGNoLlxuICpcbiAqIEBwYXJhbSBzY3JpcHROYW1lIC0gVGhlIG5wbSBzY3JpcHQgbmFtZSwgZS5nLiBgbGludDptZDpmaXhgLlxuICogQHJldHVybnMgVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUsIGUuZy4gYExJTlRfTURfRklYYC5cbiAqL1xuZnVuY3Rpb24gdG9FbnZWYXJpYWJsZU5hbWUoc2NyaXB0TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHNjcmlwdE5hbWUsXG4gICAgcmVwbGFjZXI6ICdfJyxcbiAgICBzZWFyY2hWYWx1ZTogTk9OX0FMUEhBTlVNRVJJQ19SRUdfRVhQXG4gIH0pLnRvVXBwZXJDYXNlKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsa0JBQWtCO0FBQzNCLE9BQU8sYUFBYTtBQU1wQixNQUFNLGFBQWtDLG9CQUFJLElBQUksQ0FBQyxLQUFLLFNBQVMsTUFBTSxLQUFLLENBQUM7QUFNM0UsTUFBTSxnQkFBZ0I7QUFLdEIsTUFBTSwyQkFBMkI7QUFLakMsTUFBTSwrQkFBK0I7QUFROUIsU0FBUyx1QkFBNkI7QUFDM0MsUUFBTSxnQ0FBZ0MsaUNBQWlDO0FBQ3ZFLE1BQUksa0NBQWtDLE1BQU07QUFDMUM7QUFBQSxFQUNGO0FBRUEsVUFBUSxPQUFPLE1BQU0sWUFBWSw2QkFBNkI7QUFBQSxDQUFhO0FBQzNFLFVBQVEsS0FBSyxDQUFDO0FBQ2hCO0FBV08sU0FBUyxtQ0FBa0Q7QUFDaEUsc0JBQW9CO0FBQ3BCLFFBQU0sYUFBYSxRQUFRLElBQUksNEJBQTRCO0FBQzNELE1BQUksQ0FBQyxZQUFZO0FBQ2YsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGtCQUFrQixrQkFBa0IsVUFBVTtBQUNwRCxTQUFPLGlCQUFpQixlQUFlLElBQUksa0JBQWtCO0FBQy9EO0FBU08sU0FBUyxpQkFBaUIsaUJBQWtDO0FBQ2pFLFNBQU8sV0FBVyxLQUFLLFFBQVEsSUFBSSxlQUFlLEtBQUssSUFBSSxLQUFLLEVBQUUsWUFBWSxDQUFDO0FBQ2pGO0FBTU8sU0FBUyxzQkFBNEI7QUFDMUMsTUFBSSxXQUFXLGFBQWEsR0FBRztBQUM3QixZQUFRLFlBQVksYUFBYTtBQUFBLEVBQ25DO0FBQ0Y7QUFRQSxTQUFTLGtCQUFrQixZQUE0QjtBQUNyRCxTQUFPLFdBQVc7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsRUFDZixDQUFDLEVBQUUsWUFBWTtBQUNqQjsiLCJuYW1lcyI6W119
|