@matter/tools 0.12.4-alpha.0-20250211-56b2c53a0 → 0.12.4-alpha.0-20250213-1187f81eb
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/cjs/building/builder.js +2 -2
- package/dist/cjs/building/builder.js.map +1 -1
- package/dist/cjs/building/cli.d.ts.map +1 -1
- package/dist/cjs/building/cli.js +88 -10
- package/dist/cjs/building/cli.js.map +2 -2
- package/dist/cjs/building/cycles.d.ts +9 -0
- package/dist/cjs/building/cycles.d.ts.map +1 -0
- package/dist/cjs/building/cycles.js +124 -0
- package/dist/cjs/building/cycles.js.map +6 -0
- package/dist/cjs/building/graph.js +1 -1
- package/dist/cjs/building/graph.js.map +1 -1
- package/dist/cjs/building/project-builder.js +2 -2
- package/dist/cjs/building/project-builder.js.map +1 -1
- package/dist/cjs/util/bootstrap.mjs +8 -1
- package/dist/cjs/util/import-aliases.d.ts +14 -0
- package/dist/cjs/util/import-aliases.d.ts.map +1 -0
- package/dist/cjs/util/import-aliases.js +82 -0
- package/dist/cjs/util/import-aliases.js.map +6 -0
- package/dist/cjs/util/package.d.ts +2 -1
- package/dist/cjs/util/package.d.ts.map +1 -1
- package/dist/cjs/util/package.js +15 -10
- package/dist/cjs/util/package.js.map +1 -1
- package/dist/cjs/util/progress.d.ts +2 -1
- package/dist/cjs/util/progress.d.ts.map +1 -1
- package/dist/cjs/util/progress.js +4 -1
- package/dist/cjs/util/progress.js.map +1 -1
- package/dist/cjs/versioning/cli.js +1 -1
- package/dist/cjs/versioning/cli.js.map +1 -1
- package/dist/esm/building/builder.js +3 -3
- package/dist/esm/building/builder.js.map +1 -1
- package/dist/esm/building/cli.d.ts.map +1 -1
- package/dist/esm/building/cli.js +89 -11
- package/dist/esm/building/cli.js.map +2 -2
- package/dist/esm/building/cycles.d.ts +9 -0
- package/dist/esm/building/cycles.d.ts.map +1 -0
- package/dist/esm/building/cycles.js +94 -0
- package/dist/esm/building/cycles.js.map +6 -0
- package/dist/esm/building/graph.js +2 -2
- package/dist/esm/building/graph.js.map +1 -1
- package/dist/esm/building/project-builder.js +3 -3
- package/dist/esm/building/project-builder.js.map +1 -1
- package/dist/esm/util/bootstrap.mjs +8 -1
- package/dist/esm/util/import-aliases.d.ts +14 -0
- package/dist/esm/util/import-aliases.d.ts.map +1 -0
- package/dist/esm/util/import-aliases.js +62 -0
- package/dist/esm/util/import-aliases.js.map +6 -0
- package/dist/esm/util/package.d.ts +2 -1
- package/dist/esm/util/package.d.ts.map +1 -1
- package/dist/esm/util/package.js +16 -11
- package/dist/esm/util/package.js.map +1 -1
- package/dist/esm/util/progress.d.ts +2 -1
- package/dist/esm/util/progress.d.ts.map +1 -1
- package/dist/esm/util/progress.js +5 -2
- package/dist/esm/util/progress.js.map +1 -1
- package/dist/esm/versioning/cli.js +2 -2
- package/dist/esm/versioning/cli.js.map +1 -1
- package/package.json +6 -4
- package/src/building/builder.ts +2 -2
- package/src/building/cli.ts +25 -1
- package/src/building/cycles.ts +108 -0
- package/src/building/graph.ts +1 -1
- package/src/building/project-builder.ts +2 -2
- package/src/util/bootstrap.mjs +8 -1
- package/src/util/import-aliases.ts +79 -0
- package/src/util/package.ts +15 -10
- package/src/util/progress.ts +5 -1
- package/src/versioning/cli.ts +1 -1
package/dist/esm/util/package.js
CHANGED
|
@@ -9,6 +9,7 @@ import { dirname, join, relative, resolve } from "path";
|
|
|
9
9
|
import { ignoreError, ignoreErrorSync } from "./errors.js";
|
|
10
10
|
import { isFile, maybeReadJsonSync, maybeStatSync } from "./file.js";
|
|
11
11
|
import { globSync } from "./glob.js";
|
|
12
|
+
import { ImportAliases } from "./import-aliases.js";
|
|
12
13
|
import { Progress } from "./progress.js";
|
|
13
14
|
import { toolsPath } from "./tools-path.cjs";
|
|
14
15
|
class JsonNotFoundError extends Error {
|
|
@@ -47,7 +48,7 @@ class Package {
|
|
|
47
48
|
hasTests;
|
|
48
49
|
hasConfig;
|
|
49
50
|
isLibrary;
|
|
50
|
-
#
|
|
51
|
+
#importAliases;
|
|
51
52
|
constructor({
|
|
52
53
|
path = ".",
|
|
53
54
|
name
|
|
@@ -258,7 +259,11 @@ class Package {
|
|
|
258
259
|
if (existsSync(join(path2, "package.json"))) {
|
|
259
260
|
result2 = new Package({ path: path2 });
|
|
260
261
|
} else {
|
|
261
|
-
|
|
262
|
+
const parentDir = dirname(path2);
|
|
263
|
+
if (parentDir === path2) {
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
result2 = find2(parentDir);
|
|
262
267
|
}
|
|
263
268
|
packageForPath[path2] = result2;
|
|
264
269
|
}
|
|
@@ -274,15 +279,15 @@ class Package {
|
|
|
274
279
|
}
|
|
275
280
|
throw new Error(`Cannot find package.json for "${path}"`);
|
|
276
281
|
}
|
|
277
|
-
get
|
|
278
|
-
if (this.#
|
|
279
|
-
return this.#
|
|
282
|
+
get importAliases() {
|
|
283
|
+
if (this.#importAliases !== void 0) {
|
|
284
|
+
return this.#importAliases;
|
|
280
285
|
}
|
|
281
|
-
this.#
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
return this.#
|
|
286
|
+
this.#importAliases = new ImportAliases(
|
|
287
|
+
this.json.imports,
|
|
288
|
+
Package.maybeForPath(dirname(this.path))?.importAliases
|
|
289
|
+
);
|
|
290
|
+
return this.#importAliases;
|
|
286
291
|
}
|
|
287
292
|
get modules() {
|
|
288
293
|
return this.listModules(false);
|
|
@@ -417,4 +422,4 @@ export {
|
|
|
417
422
|
JsonNotFoundError,
|
|
418
423
|
Package
|
|
419
424
|
};
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcGFja2FnZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNSBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMsIHN0YXRTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyByZWFkZGlyLCByZWFkRmlsZSwgc3RhdCwgd3JpdGVGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luLCByZWxhdGl2ZSwgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBpZ25vcmVFcnJvciwgaWdub3JlRXJyb3JTeW5jIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBpc0ZpbGUsIG1heWJlUmVhZEpzb25TeW5jLCBtYXliZVN0YXRTeW5jIH0gZnJvbSBcIi4vZmlsZS5qc1wiO1xuaW1wb3J0IHsgZ2xvYlN5bmMgfSBmcm9tIFwiLi9nbG9iLmpzXCI7XG5pbXBvcnQgeyBQcm9ncmVzcyB9IGZyb20gXCIuL3Byb2dyZXNzLmpzXCI7XG5pbXBvcnQgeyB0b29sc1BhdGggfSBmcm9tIFwiLi90b29scy1wYXRoLmNqc1wiO1xuXG5leHBvcnQgY2xhc3MgSnNvbk5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgY29uc3QgQ09ORklHX1BBVEggPSBgc3JjL2J1aWxkLmNvbmZpZy50c2A7XG5leHBvcnQgY29uc3QgQ09ERUdFTl9QQVRIID0gYGNvZGVnZW5gO1xuXG5jb25zdCBwYWNrYWdlRm9yUGF0aCA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIFBhY2thZ2UgfCB1bmRlZmluZWQgfCBudWxsPjtcblxuZnVuY3Rpb24gZmluZEpzb24oZmlsZW5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nID0gXCIuXCIsIHRpdGxlPzogc3RyaW5nKSB7XG4gICAgcGF0aCA9IHJlc29sdmUocGF0aCk7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgY29uc3QganNvbiA9IGlnbm9yZUVycm9yU3luYyhbXCJFTk9FTlRcIiwgXCJFTk9URElSXCJdLCAoKSA9PlxuICAgICAgICAgICAgSlNPTi5wYXJzZShyZWFkRmlsZVN5bmMocmVzb2x2ZShwYXRoLCBmaWxlbmFtZSkpLnRvU3RyaW5nKCkpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChqc29uKSB7XG4gICAgICAgICAgICBpZiAodGl0bGUgPT09IHVuZGVmaW5lZCB8fCBqc29uLm5hbWUgPT09IHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgcm9vdDogcGF0aCwganNvbiB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGRpcm5hbWUocGF0aCk7XG4gICAgICAgIGlmIChwYXJlbnQgPT09IHBhdGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBKc29uTm90Rm91bmRFcnJvcihgQ291bGQgbm90IGxvY2F0ZSAke3RpdGxlID8/IGZpbGVuYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIHBhdGggPSBwYXJlbnQ7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBpc0RpcmVjdG9yeShwYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gISFpZ25vcmVFcnJvclN5bmMoXCJFTk9FTlRcIiwgKCkgPT4gc3RhdFN5bmMocGF0aCkuaXNEaXJlY3RvcnkoKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBQYWNrYWdlIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAganNvbjogUGFja2FnZUpzb247XG4gICAgc3VwcG9ydHNFc206IGJvb2xlYW47XG4gICAgc3VwcG9ydHNDanM6IGJvb2xlYW47XG4gICAgaGFzU3JjOiBib29sZWFuO1xuICAgIGhhc1Rlc3RzOiBib29sZWFuO1xuICAgIGhhc0NvbmZpZzogYm9vbGVhbjtcbiAgICBpc0xpYnJhcnk6IGJvb2xlYW47XG4gICAgI2FsaWFzZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3Ioe1xuICAgICAgICBwYXRoID0gXCIuXCIsXG4gICAgICAgIG5hbWUsXG4gICAgfToge1xuICAgICAgICBwYXRoPzogc3RyaW5nO1xuICAgICAgICBuYW1lPzogc3RyaW5nO1xuICAgIH0gPSB7fSkge1xuICAgICAgICBjb25zdCB7IHJvb3QsIGpzb24gfSA9IGZpbmRKc29uKFwicGFja2FnZS5qc29uXCIsIHBhdGgsIG5hbWUpO1xuICAgICAgICB0aGlzLnBhdGggPSByb290O1xuICAgICAgICB0aGlzLmpzb24gPSBqc29uO1xuXG4gICAgICAgIGNvbnN0IHsgZXNtLCBjanMgfSA9IHNlbGVjdEZvcm1hdHModGhpcy5qc29uKTtcbiAgICAgICAgdGhpcy5zdXBwb3J0c0VzbSA9IGVzbTtcbiAgICAgICAgdGhpcy5zdXBwb3J0c0NqcyA9IGNqcztcblxuICAgICAgICB0aGlzLmhhc1NyYyA9IGlzRGlyZWN0b3J5KHRoaXMucmVzb2x2ZShcInNyY1wiKSk7XG4gICAgICAgIHRoaXMuaGFzVGVzdHMgPSBpc0RpcmVjdG9yeSh0aGlzLnJlc29sdmUoXCJ0ZXN0XCIpKTtcblxuICAgICAgICBjb25zdCByZWZzID0gbWF5YmVSZWFkSnNvblN5bmModGhpcy5yZXNvbHZlKFwidHNjb25maWcuanNvblwiKSk/LnJlZmVyZW5jZXMgYXMgdW5kZWZpbmVkIHwgeyBwYXRoOiBzdHJpbmcgfVtdO1xuICAgICAgICBpZiAocmVmcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoIXJlZnMuZmluZChyZWYgPT4gdGhpcy5yZXNvbHZlKHJlZi5wYXRoKSA9PT0gdGhpcy5yZXNvbHZlKFwic3JjXCIpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzU3JjID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJlZnMuZmluZChyZWYgPT4gdGhpcy5yZXNvbHZlKHJlZi5wYXRoKSA9PT0gdGhpcy5yZXNvbHZlKFwidGVzdFwiKSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1Rlc3RzID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTGlicmFyeSA9ICEhKHRoaXMuanNvbi5tYWluIHx8IHRoaXMuanNvbi5tb2R1bGUgfHwgdGhpcy5qc29uLmV4cG9ydHMpO1xuXG4gICAgICAgIHRoaXMuaGFzQ29uZmlnID0gdGhpcy5oYXNGaWxlKHRoaXMucmVzb2x2ZShDT05GSUdfUEFUSCkpO1xuICAgIH1cblxuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5qc29uLm5hbWU7XG4gICAgfVxuXG4gICAgZ2V0IHZlcnNpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmpzb24udmVyc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgZXhwb3J0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuanNvbi5leHBvcnRzO1xuICAgIH1cblxuICAgIGdldCBoYXNDb2RlZ2VuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNEaXJlY3RvcnkoQ09ERUdFTl9QQVRIKTtcbiAgICB9XG5cbiAgICByZXNvbHZlKC4uLnBhdGhzOiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSh0aGlzLnBhdGgsIC4uLnBhdGhzKTtcbiAgICB9XG5cbiAgICByZWxhdGl2ZShwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHJlbGF0aXZlKHRoaXMucGF0aCwgcGF0aCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2xvYihwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICAvLyBHbG9iIG9ubHkgdW5kZXJzdGFuZHMgZm9yd2FyZC1zbGFzaCBhcyBzZXBhcmF0b3IgYmVjYXVzZSByZWFzb25zXG4gICAgICAgIGlmICh0eXBlb2YgcGF0dGVybiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcGF0dGVybiA9IHRoaXMucmVzb2x2ZShwYXR0ZXJuKS5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLm1hcChzID0+IHRoaXMucmVzb2x2ZShzKS5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDdXJyZW50IGdsb2IgaW1wbGVtZW50YXRpb24gaXNuJ3QgYWN0dWFsbHkgYXN5bmMgYXMgdGhpcyBpcyBmYXN0ZXIgYW5kIHdlIG9ubHkgd2FsayBzbWFsbCBkaXJlY3RvcnkgdHJlZXNcbiAgICAgICAgcmV0dXJuIGdsb2JTeW5jKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIHN0YXJ0KHdoYXQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBwcm9ncmVzcyA9IG5ldyBQcm9ncmVzcygpO1xuICAgICAgICBwcm9ncmVzcy5zdGFydHVwKHdoYXQsIHRoaXMpO1xuICAgICAgICByZXR1cm4gcHJvZ3Jlc3M7XG4gICAgfVxuXG4gICAgYXN5bmMgbGFzdE1vZGlmaWVkKC4uLnBhdGhzOiBzdHJpbmdbXSkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0TW9kaWZpZWRBYnNvbHV0ZShwYXRocy5tYXAocCA9PiB0aGlzLnJlc29sdmUocCkpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGxhc3RNb2RpZmllZEFic29sdXRlKHBhdGhzOiBzdHJpbmdbXSkge1xuICAgICAgICBsZXQgbXRpbWUgPSAwO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHBhdGhzLm1hcChhc3luYyBwID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0cyA9IGF3YWl0IGlnbm9yZUVycm9yKFwiRU5PRU5UXCIsIGFzeW5jICgpID0+IGF3YWl0IHN0YXQocCkpO1xuICAgICAgICAgICAgICAgIGlmICghc3RhdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCB0aGlzTXRpbWU7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aHMgPSAoYXdhaXQgcmVhZGRpcihwKSkubWFwKHAyID0+IHJlc29sdmUocCwgcDIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpc010aW1lID0gYXdhaXQgdGhpcy5sYXN0TW9kaWZpZWRBYnNvbHV0ZShwYXRocyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpc010aW1lID0gc3RhdHMubXRpbWVNcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXNNdGltZSA+IG10aW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIG10aW1lID0gdGhpc010aW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gbXRpbWU7XG4gICAgfVxuXG4gICAgZ2V0IGRlcGVuZGVuY2llcygpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IEFycmF5PHN0cmluZz4oKTtcbiAgICAgICAgZm9yIChjb25zdCB0eXBlIG9mIFtcImRlcGVuZGVuY2llc1wiLCBcIm9wdGlvbmFsRGVwZW5kZW5jaWVzXCIsIFwiZGV2RGVwZW5kZW5jaWVzXCIsIFwicGVlckRlcGVuZGVuY2llc1wiXSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmpzb25bdHlwZV0gPT09IFwib2JqZWN0XCIgJiYgdGhpcy5qc29uW3R5cGVdICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4uT2JqZWN0LmtleXModGhpcy5qc29uW3R5cGVdKV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFsuLi5uZXcgU2V0KHJlc3VsdCldO1xuICAgIH1cblxuICAgIGdldCB3b3Jrc3BhY2UoKSB7XG4gICAgICAgIHJldHVybiBQYWNrYWdlLndvcmtzcGFjZUZvcih0aGlzLnBhdGgpO1xuICAgIH1cblxuICAgIGdldCBpc1dvcmtzcGFjZSgpIHtcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5qc29uLndvcmtzcGFjZXMpO1xuICAgIH1cblxuICAgIGdldCByb290KCk6IFBhY2thZ2Uge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud29ya3NwYWNlO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgSnNvbk5vdEZvdW5kRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0IHdvcmtpbmdEaXIod2Q6IHN0cmluZykge1xuICAgICAgICB3b3JraW5nRGlyID0gd2Q7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldCB3b3Jrc3BhY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLndvcmtzcGFjZUZvcih3b3JraW5nRGlyKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgd29ya3NwYWNlRm9yKGN3ZDogc3RyaW5nKSB7XG4gICAgICAgIGlmICghd29ya3NwYWNlKSB7XG4gICAgICAgICAgICB3b3Jrc3BhY2UgPSBmaW5kKGN3ZCwgcGtnID0+IEFycmF5LmlzQXJyYXkocGtnLmpzb24ud29ya3NwYWNlcykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB3b3Jrc3BhY2U7XG4gICAgfVxuXG4gICAgc3RhdGljIGdldCB0b29scygpIHtcbiAgICAgICAgaWYgKCF0b29scykge1xuICAgICAgICAgICAgdG9vbHMgPSBuZXcgUGFja2FnZSh7IHBhdGg6IHRvb2xzUGF0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9vbHM7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpbmRFeHBvcnQobmFtZTogc3RyaW5nLCB0eXBlOiBcImNqc1wiIHwgXCJlc21cIiA9IFwiZXNtXCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya3NwYWNlLnJlc29sdmVJbXBvcnQobmFtZSwgdHlwZSk7XG4gICAgfVxuXG4gICAgcmVzb2x2ZUV4cG9ydChuYW1lOiBzdHJpbmcsIHR5cGU6IFwiY2pzXCIgfCBcImVzbVwiID0gXCJlc21cIikge1xuICAgICAgICBpZiAoIW5hbWUuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgIG5hbWUgPSBgLi8ke25hbWV9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleHBvcnREZXRhaWwgPSB0aGlzLmV4cG9ydHM/LltuYW1lXTtcblxuICAgICAgICBpZiAoZXhwb3J0RGV0YWlsKSB7XG4gICAgICAgICAgICBjb25zdCBleHAgPSBmaW5kRXhwb3J0Q29uZGl0aW9uKGV4cG9ydERldGFpbCwgdHlwZSk7XG4gICAgICAgICAgICBpZiAoZXhwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZShleHApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5hbWUgPT09IFwiLlwiKSB7XG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gXCJlc21cIiAmJiB0aGlzLmpzb24ubW9kdWxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZSh0aGlzLmpzb24ubW9kdWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmpzb24ubWFpbikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmUodGhpcy5qc29uLm1haW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBleHBvcnQgJHtuYW1lfSBpbiBwYWNrYWdlICR7dGhpcy5uYW1lfWApO1xuICAgIH1cblxuICAgIGZpbmRQYWNrYWdlKG5hbWU6IHN0cmluZykge1xuICAgICAgICBsZXQgcmVzb2x2ZUluID0gdGhpcy5wYXRoO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgaWYgKGlzRGlyZWN0b3J5KHJlc29sdmUocmVzb2x2ZUluLCBcIm5vZGVfbW9kdWxlc1wiLCBuYW1lKSkpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG5leHRSZXNvbHZlSW4gPSBkaXJuYW1lKHJlc29sdmVJbik7XG4gICAgICAgICAgICBpZiAobmV4dFJlc29sdmVJbiA9PT0gcmVzb2x2ZUluKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJHtuYW1lfSBmcm9tICR7dGhpcy5wYXRofWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZUluID0gbmV4dFJlc29sdmVJbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBQYWNrYWdlLmZvclBhdGgocmVzb2x2ZShyZXNvbHZlSW4sIFwibm9kZV9tb2R1bGVzXCIsIG5hbWUpKTtcbiAgICB9XG5cbiAgICByZXNvbHZlSW1wb3J0KG5hbWU6IHN0cmluZywgdHlwZTogXCJjanNcIiB8IFwiZXNtXCIgPSBcImVzbVwiKSB7XG4gICAgICAgIGNvbnN0IHNlZ21lbnRzID0gbmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgIGxldCBwYWNrYWdlTmFtZSA9IHNlZ21lbnRzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICBpZiAocGFja2FnZU5hbWUuc3RhcnRzV2l0aChcIkBcIikgJiYgc2VnbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBwYWNrYWdlTmFtZSA9IGAke3BhY2thZ2VOYW1lfS8ke3NlZ21lbnRzLnNoaWZ0KCl9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBrZyA9IHRoaXMuZmluZFBhY2thZ2UocGFja2FnZU5hbWUpO1xuXG4gICAgICAgIHJldHVybiBwa2cucmVzb2x2ZUV4cG9ydChzZWdtZW50cy5sZW5ndGggPyBzZWdtZW50cy5qb2luKFwiL1wiKSA6IFwiLlwiLCB0eXBlKTtcbiAgICB9XG5cbiAgICBoYXNGaWxlKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gISF0aGlzLiNtYXliZVN0YXQocGF0aCk/LmlzRmlsZSgpO1xuICAgIH1cblxuICAgIGhhc0RpcmVjdG9yeShwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy4jbWF5YmVTdGF0KHBhdGgpPy5pc0RpcmVjdG9yeSgpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlYWRGaWxlKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcmVhZEZpbGUodGhpcy5yZXNvbHZlKHBhdGgpLCBcInV0Zi04XCIpO1xuICAgIH1cblxuICAgIHJlYWRGaWxlU3luYyhwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHJlYWRGaWxlU3luYyh0aGlzLnJlc29sdmUocGF0aCksIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgYXN5bmMgd3JpdGVGaWxlKHBhdGg6IHN0cmluZywgY29udGVudHM6IHVua25vd24pIHtcbiAgICAgICAgYXdhaXQgd3JpdGVGaWxlKHRoaXMucmVzb2x2ZShwYXRoKSwgYCR7Y29udGVudHN9YCk7XG4gICAgfVxuXG4gICAgYXN5bmMgc2F2ZSgpIHtcbiAgICAgICAgYXdhaXQgdGhpcy53cml0ZUZpbGUoam9pbih0aGlzLnBhdGgsIFwicGFja2FnZS5qc29uXCIpLCBKU09OLnN0cmluZ2lmeSh0aGlzLmpzb24sIHVuZGVmaW5lZCwgNCkpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlYWRKc29uKHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgdGhpcy5yZWFkRmlsZShwYXRoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRleHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgICAgICAgZSA9IG5ldyBFcnJvcihgJHtlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKGUgYXMgRXJyb3IpLm1lc3NhZ2UgPSBgRXJyb3IgcGFyc2luZyBcIiR7dGhpcy5yZXNvbHZlKHBhdGgpfVwiOiAkeyhlIGFzIEVycm9yKS5tZXNzYWdlfWA7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgd3JpdGVKc29uKHBhdGg6IHN0cmluZywgdmFsdWU6IHt9KSB7XG4gICAgICAgIGF3YWl0IHRoaXMud3JpdGVGaWxlKHBhdGgsIEpTT04uc3RyaW5naWZ5KHZhbHVlLCB1bmRlZmluZWQsIDQpKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbWF5YmVGb3JQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICBmdW5jdGlvbiBmaW5kKHBhdGg6IHN0cmluZyk6IFBhY2thZ2UgfCBudWxsIHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBwYWNrYWdlRm9yUGF0aFtwYXRoXTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGlmIChleGlzdHNTeW5jKGpvaW4ocGF0aCwgXCJwYWNrYWdlLmpzb25cIikpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBQYWNrYWdlKHsgcGF0aCB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmaW5kKGRpcm5hbWUocGF0aCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYWNrYWdlRm9yUGF0aFtwYXRoXSA9IHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQgPSBmaW5kKHBhdGgpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQgPz8gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHN0YXRpYyBmb3JQYXRoKHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm1heWJlRm9yUGF0aChwYXRoKTtcbiAgICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgcGFja2FnZS5qc29uIGZvciBcIiR7cGF0aH1cImApO1xuICAgIH1cblxuICAgIGdldCBhbGlhc2VzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICBpZiAodGhpcy4jYWxpYXNlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jYWxpYXNlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI2FsaWFzZXMgPSB7XG4gICAgICAgICAgICAuLi5QYWNrYWdlLm1heWJlRm9yUGF0aChkaXJuYW1lKHRoaXMucGF0aCkpPy5hbGlhc2VzLFxuICAgICAgICAgICAgLi4udGhpcy5qc29uLmltcG9ydHMsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuI2FsaWFzZXM7XG4gICAgfVxuXG4gICAgZ2V0IG1vZHVsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RNb2R1bGVzKGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgc291cmNlTW9kdWxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdE1vZHVsZXModHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbWFwIG9mIG1vZHVsZSBuYW1lIC0+IGltcGxlbWVudGF0aW9uIGZpbGUuICBJZiBcInNvdXJjZVwiIGlzIHRydWUsIHNlYXJjaGVzIHNvdXJjZSBmaWxlcyByYXRoZXIgdGhhblxuICAgICAqIHRyYW5zcGlsZWQgZmlsZXMuICBXZSBkbyB0aGlzIHJhdGhlciB0aGFuIGZpbmRpbmcgdHJhbnNwaWxhdGlvbiBmaWxlcyB0aGVuIG1hcHBpbmcgdG8gc291cmNlIGZpbGVzIHNvIHRoaXMgd29ya3NcbiAgICAgKiBldmVuIGlmIHRoZXJlIGlzbid0IGEgYnVpbGQuXG4gICAgICovXG4gICAgbGlzdE1vZHVsZXMoc291cmNlOiBib29sZWFuLCAuLi5jb25kaXRpb25zOiBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25kaXRpb25zID0gW3RoaXMuc3VwcG9ydHNFc20gPyBcImltcG9ydFwiIDogXCJyZXF1aXJlXCIsIFwiZGVmYXVsdFwiXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgICAgIGNvbnN0IGV4cG9ydHMgPSB0aGlzLmV4cG9ydHM7XG4gICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gXCJvYmplY3RcIiAmJiBleHBvcnRzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIG5ldyBTZXQoY29uZGl0aW9ucyksIG1vZHVsZXMsIHRoaXMubmFtZSwgdGhpcy5wYXRoLCBleHBvcnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb2R1bGVzO1xuICAgIH1cblxuICAgICNtYXliZVN0YXQocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBtYXliZVN0YXRTeW5jKHRoaXMucmVzb2x2ZShwYXRoKSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQYWNrYWdlSnNvbiA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGltcG9ydHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgbWF0dGVyPzoge1xuICAgICAgICB0ZXN0PzogYm9vbGVhbjtcbiAgICB9O1xuICAgIHNjcmlwdHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmxldCB3b3JraW5nRGlyID0gXCIuXCI7XG5sZXQgd29ya3NwYWNlOiBQYWNrYWdlIHwgdW5kZWZpbmVkO1xubGV0IHRvb2xzOiBQYWNrYWdlIHwgdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBmaW5kKHN0YXJ0RGlyOiBzdHJpbmcsIHNlbGVjdG9yOiAocGtnOiBQYWNrYWdlKSA9PiBib29sZWFuKTogUGFja2FnZSB7XG4gICAgbGV0IHBrZyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogc3RhcnREaXIgfSk7XG4gICAgd2hpbGUgKCFzZWxlY3Rvcihwa2cpKSB7XG4gICAgICAgIHBrZyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogZGlybmFtZShwa2cucGF0aCkgfSk7XG4gICAgfVxuICAgIHJldHVybiBwa2c7XG59XG5cbmZ1bmN0aW9uIHNlbGVjdEZvcm1hdHMoanNvbjogYW55KSB7XG4gICAgbGV0IGVzbTogYm9vbGVhbiwgY2pzOiBib29sZWFuO1xuXG4gICAgaWYgKGpzb24udHlwZSA9PT0gXCJtb2R1bGVcIikge1xuICAgICAgICBlc20gPSB0cnVlO1xuICAgICAgICBjanMgPVxuICAgICAgICAgICAgKGpzb24ubWFpbiAhPT0gdW5kZWZpbmVkICYmIGpzb24ubW9kdWxlICE9PSB1bmRlZmluZWQpIHx8XG4gICAgICAgICAgICAhIU9iamVjdC52YWx1ZXMoanNvbi5leHBvcnRzID8/IHt9KS5maW5kKChleHA6IGFueSkgPT4gZXhwLnJlcXVpcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNqcyA9IHRydWU7XG4gICAgICAgIGVzbSA9ICEhanNvbi5tb2R1bGUgfHwgISFPYmplY3QudmFsdWVzKGpzb24uZXhwb3J0cyA/PyB7fSkuZmluZCgoZXhwOiBhbnkpID0+IGV4cC5pbXBvcnQpO1xuICAgIH1cblxuICAgIHJldHVybiB7IGVzbSwgY2pzIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRFeHBvcnRDb25kaXRpb24oZGV0YWlsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB0eXBlOiBcImVzbVwiIHwgXCJjanNcIik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGUgPT09IFwiZXNtXCIgJiYgZGV0YWlsLmltcG9ydCkge1xuICAgICAgICBsZXQgZXhwID0gZGV0YWlsLmltcG9ydDtcbiAgICAgICAgaWYgKGV4cCAmJiB0eXBlb2YgZXhwICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBleHAgPSBmaW5kRXhwb3J0Q29uZGl0aW9uKGV4cCwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4cCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4cDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldCBleHAgPSBkZXRhaWwucmVxdWlyZSA/PyBkZXRhaWwubm9kZSA/PyBkZXRhaWwuZGVmYXVsdDtcbiAgICBpZiAoZXhwICYmIHR5cGVvZiBleHAgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgZXhwID0gZmluZEV4cG9ydENvbmRpdGlvbihleHAsIHR5cGUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXhwID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBleHA7XG4gICAgfVxufVxuXG50eXBlIENvbmRpdGlvbnMgPSB7IFtuYW1lOiBzdHJpbmddOiBFeHBvcnRzIH07XG5cbnR5cGUgRXhwb3J0cyA9IHN0cmluZyB8IENvbmRpdGlvbnMgfCBSZWNvcmQ8c3RyaW5nLCBDb25kaXRpb25zPjtcblxuZnVuY3Rpb24gZmluZE1vZHVsZXMoXG4gICAgc291cmNlOiBib29sZWFuLFxuICAgIGNvbmRpdGlvbnM6IFNldDxzdHJpbmc+LFxuICAgIHRhcmdldDogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBwcmVmaXg6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZXhwb3J0czogRXhwb3J0cyxcbikge1xuICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBhZGRNb2R1bGVHbG9icyhzb3VyY2UsIHRhcmdldCwgcHJlZml4LCBwYXRoLCBleHBvcnRzKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZXhwb3J0cykpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBleHBvcnRzKSB7XG4gICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIGNvbmRpdGlvbnMsIHRhcmdldCwgcHJlZml4LCBwYXRoLCBlbnRyeSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSBcIm9iamVjdFwiICYmIGV4cG9ydHMgIT09IG51bGwpIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkQ29uZGl0aW9uID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGV4cG9ydHMpIHtcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIGNvbmRpdGlvbnMsIHRhcmdldCwgam9pbihwcmVmaXgsIGtleSksIHBhdGgsIGV4cG9ydHNba2V5XSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFzZWxlY3RlZENvbmRpdGlvbiAmJiBjb25kaXRpb25zLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgZmluZE1vZHVsZXMoc291cmNlLCBjb25kaXRpb25zLCB0YXJnZXQsIHByZWZpeCwgcGF0aCwgZXhwb3J0c1trZXldKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNYWxmb3JtZWQgZXhwb3J0cyBmaWVsZCBpbiBwYWNrYWdlLmpzb25cIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRNb2R1bGVHbG9icyhzb3VyY2U6IGJvb2xlYW4sIHRhcmdldDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgbmFtZTogc3RyaW5nLCBiYXNlOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZykge1xuICAgIGxldCBwYXRoID0gam9pbihiYXNlLCBwYXR0ZXJuKTtcbiAgICBpZiAoc291cmNlKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcL2Rpc3RcXC8oPzplc218Y2pzKVxcLy8sIFwiL3NyYy9cIik7XG4gICAgfVxuXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoXCIqXCIpKSB7XG4gICAgICAgIC8vIFdpbGRjYXJkXG4gICAgICAgIGlmICghbmFtZS5lbmRzV2l0aChcIi8qXCIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdpbGRjYXJkIGluIG1vZHVsZSAke25hbWV9IGRvZXMgbm90IGFwcGVhciBhcyBmaW5hbCBwYXRoIHNlZ21lbnRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLCBuYW1lLmxlbmd0aCAtIDIpO1xuICAgICAgICBjb25zdCBwYXRocyA9IGdsb2JTeW5jKHNvdXJjZSA/IHBhdGgucmVwbGFjZSgvXFwuanMkLywgXCIue3RzLGpzLGNqcyxtanN9XCIpIDogcGF0aCk7XG4gICAgICAgIGlmICghcGF0aHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1hdGNoIGZvciBtb2R1bGUgJHtuYW1lfSBwYXR0ZXJuICR7cGF0dGVybn1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtwcmVmaXgsIHN1ZmZpeF0gPSBwYXRoLnNwbGl0KC9cXCorLyk7XG4gICAgICAgIGNvbnN0IHByZWZpeExlbmd0aCA9IHByZWZpeCA9PT0gdW5kZWZpbmVkID8gMCA6IHByZWZpeC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHN1ZmZpeExlbmd0aCA9IHN1ZmZpeCA9PT0gdW5kZWZpbmVkID8gMCA6IHN1ZmZpeC5sZW5ndGg7XG5cbiAgICAgICAgZm9yIChjb25zdCB0aGlzUGF0aCBvZiBwYXRocykge1xuICAgICAgICAgICAgY29uc3QgcXVhbGlmaWVyID0gdGhpc1BhdGguc3Vic3RyaW5nKHByZWZpeExlbmd0aCwgdGhpc1BhdGgubGVuZ3RoIC0gc3VmZml4TGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNOYW1lID0gam9pbihuYW1lLCBxdWFsaWZpZXIpO1xuICAgICAgICAgICAgdGFyZ2V0W3RoaXNOYW1lXSA9IHRoaXNQYXRoO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChwYXRoLmluY2x1ZGVzKFwiKlwiKSkge1xuICAgICAgICAvLyBBIHdpbGRjYXJkIHBhdGggaXMgb25seSB2YWxpZCB3aXRoIHdpbGRjYXJkIG5hbWVcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXaWxkY2FyZCBpbiBtb2R1bGUgcGF0aCBcIiR7cGF0aH1cIiBidXQgbm90IGluIG1vZHVsZSBcIiR7bmFtZX1cImApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHdpbGRjYXJkIC0tIHJlbW92ZSBkaXJlY3RvcnlcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvXFwvKD86ZXhwb3J0fGluZGV4KSQvLCBcIlwiKTtcblxuICAgICAgICAvLyBMb29rIGZvciBzb3VyY2UgaWYgZmlsZSBpc24ndCBwcmVzZW50XG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXNGaWxlKHBhdGgpKSB7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc291cmNlICYmIHBhdGguZW5kc1dpdGgoXCIuanNcIikpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcLmpzJC8sIFwiLnRzXCIpO1xuICAgICAgICAgICAgaWYgKGlzRmlsZShwYXRoKSkge1xuICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTW9kdWxlIFwiJHtuYW1lfVwiIHBhdGggXCIke3BhdGh9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0YXJnZXRbbmFtZV0gPSBwYXRoO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFlBQVksY0FBYyxnQkFBZ0I7QUFDbkQsU0FBUyxTQUFTLFVBQVUsTUFBTSxpQkFBaUI7QUFDbkQsU0FBUyxTQUFTLE1BQU0sVUFBVSxlQUFlO0FBQ2pELFNBQVMsYUFBYSx1QkFBdUI7QUFDN0MsU0FBUyxRQUFRLG1CQUFtQixxQkFBcUI7QUFDekQsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxpQkFBaUI7QUFFbkIsTUFBTSwwQkFBMEIsTUFBTTtBQUFDO0FBRXZDLE1BQU0sY0FBYztBQUNwQixNQUFNLGVBQWU7QUFFNUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV4QixTQUFTLFNBQVMsVUFBa0IsT0FBZSxLQUFLLE9BQWdCO0FBQ3BFLFNBQU8sUUFBUSxJQUFJO0FBQ25CLFNBQU8sTUFBTTtBQUNULFVBQU0sT0FBTztBQUFBLE1BQWdCLENBQUMsVUFBVSxTQUFTO0FBQUEsTUFBRyxNQUNoRCxLQUFLLE1BQU0sYUFBYSxRQUFRLE1BQU0sUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDO0FBQUEsSUFDL0Q7QUFFQSxRQUFJLE1BQU07QUFDTixVQUFJLFVBQVUsVUFBYSxLQUFLLFNBQVMsT0FBTztBQUM1QyxlQUFPLEVBQUUsTUFBTSxNQUFNLEtBQUs7QUFBQSxNQUM5QjtBQUFBLElBQ0o7QUFDQSxVQUFN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
|
|
425
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcGFja2FnZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjItMjAyNSBNYXR0ZXIuanMgQXV0aG9yc1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMsIHN0YXRTeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyByZWFkZGlyLCByZWFkRmlsZSwgc3RhdCwgd3JpdGVGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5pbXBvcnQgeyBkaXJuYW1lLCBqb2luLCByZWxhdGl2ZSwgcmVzb2x2ZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBpZ25vcmVFcnJvciwgaWdub3JlRXJyb3JTeW5jIH0gZnJvbSBcIi4vZXJyb3JzLmpzXCI7XG5pbXBvcnQgeyBpc0ZpbGUsIG1heWJlUmVhZEpzb25TeW5jLCBtYXliZVN0YXRTeW5jIH0gZnJvbSBcIi4vZmlsZS5qc1wiO1xuaW1wb3J0IHsgZ2xvYlN5bmMgfSBmcm9tIFwiLi9nbG9iLmpzXCI7XG5pbXBvcnQgeyBJbXBvcnRBbGlhc2VzIH0gZnJvbSBcIi4vaW1wb3J0LWFsaWFzZXMuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4vcHJvZ3Jlc3MuanNcIjtcbmltcG9ydCB7IHRvb2xzUGF0aCB9IGZyb20gXCIuL3Rvb2xzLXBhdGguY2pzXCI7XG5cbmV4cG9ydCBjbGFzcyBKc29uTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBjb25zdCBDT05GSUdfUEFUSCA9IGBzcmMvYnVpbGQuY29uZmlnLnRzYDtcbmV4cG9ydCBjb25zdCBDT0RFR0VOX1BBVEggPSBgY29kZWdlbmA7XG5cbmNvbnN0IHBhY2thZ2VGb3JQYXRoID0ge30gYXMgUmVjb3JkPHN0cmluZywgUGFja2FnZSB8IHVuZGVmaW5lZCB8IG51bGw+O1xuXG5mdW5jdGlvbiBmaW5kSnNvbihmaWxlbmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcgPSBcIi5cIiwgdGl0bGU/OiBzdHJpbmcpIHtcbiAgICBwYXRoID0gcmVzb2x2ZShwYXRoKTtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCBqc29uID0gaWdub3JlRXJyb3JTeW5jKFtcIkVOT0VOVFwiLCBcIkVOT1RESVJcIl0sICgpID0+XG4gICAgICAgICAgICBKU09OLnBhcnNlKHJlYWRGaWxlU3luYyhyZXNvbHZlKHBhdGgsIGZpbGVuYW1lKSkudG9TdHJpbmcoKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGpzb24pIHtcbiAgICAgICAgICAgIGlmICh0aXRsZSA9PT0gdW5kZWZpbmVkIHx8IGpzb24ubmFtZSA9PT0gdGl0bGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyByb290OiBwYXRoLCBqc29uIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50ID0gZGlybmFtZShwYXRoKTtcbiAgICAgICAgaWYgKHBhcmVudCA9PT0gcGF0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEpzb25Ob3RGb3VuZEVycm9yKGBDb3VsZCBub3QgbG9jYXRlICR7dGl0bGUgPz8gZmlsZW5hbWV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0aCA9IHBhcmVudDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzRGlyZWN0b3J5KHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiAhIWlnbm9yZUVycm9yU3luYyhcIkVOT0VOVFwiLCAoKSA9PiBzdGF0U3luYyhwYXRoKS5pc0RpcmVjdG9yeSgpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFBhY2thZ2Uge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBqc29uOiBQYWNrYWdlSnNvbjtcbiAgICBzdXBwb3J0c0VzbTogYm9vbGVhbjtcbiAgICBzdXBwb3J0c0NqczogYm9vbGVhbjtcbiAgICBoYXNTcmM6IGJvb2xlYW47XG4gICAgaGFzVGVzdHM6IGJvb2xlYW47XG4gICAgaGFzQ29uZmlnOiBib29sZWFuO1xuICAgIGlzTGlicmFyeTogYm9vbGVhbjtcbiAgICAjaW1wb3J0QWxpYXNlcz86IEltcG9ydEFsaWFzZXM7XG5cbiAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIHBhdGggPSBcIi5cIixcbiAgICAgICAgbmFtZSxcbiAgICB9OiB7XG4gICAgICAgIHBhdGg/OiBzdHJpbmc7XG4gICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgfSA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHsgcm9vdCwganNvbiB9ID0gZmluZEpzb24oXCJwYWNrYWdlLmpzb25cIiwgcGF0aCwgbmFtZSk7XG4gICAgICAgIHRoaXMucGF0aCA9IHJvb3Q7XG4gICAgICAgIHRoaXMuanNvbiA9IGpzb247XG5cbiAgICAgICAgY29uc3QgeyBlc20sIGNqcyB9ID0gc2VsZWN0Rm9ybWF0cyh0aGlzLmpzb24pO1xuICAgICAgICB0aGlzLnN1cHBvcnRzRXNtID0gZXNtO1xuICAgICAgICB0aGlzLnN1cHBvcnRzQ2pzID0gY2pzO1xuXG4gICAgICAgIHRoaXMuaGFzU3JjID0gaXNEaXJlY3RvcnkodGhpcy5yZXNvbHZlKFwic3JjXCIpKTtcbiAgICAgICAgdGhpcy5oYXNUZXN0cyA9IGlzRGlyZWN0b3J5KHRoaXMucmVzb2x2ZShcInRlc3RcIikpO1xuXG4gICAgICAgIGNvbnN0IHJlZnMgPSBtYXliZVJlYWRKc29uU3luYyh0aGlzLnJlc29sdmUoXCJ0c2NvbmZpZy5qc29uXCIpKT8ucmVmZXJlbmNlcyBhcyB1bmRlZmluZWQgfCB7IHBhdGg6IHN0cmluZyB9W107XG4gICAgICAgIGlmIChyZWZzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmICghcmVmcy5maW5kKHJlZiA9PiB0aGlzLnJlc29sdmUocmVmLnBhdGgpID09PSB0aGlzLnJlc29sdmUoXCJzcmNcIikpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNTcmMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcmVmcy5maW5kKHJlZiA9PiB0aGlzLnJlc29sdmUocmVmLnBhdGgpID09PSB0aGlzLnJlc29sdmUoXCJ0ZXN0XCIpKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzVGVzdHMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMaWJyYXJ5ID0gISEodGhpcy5qc29uLm1haW4gfHwgdGhpcy5qc29uLm1vZHVsZSB8fCB0aGlzLmpzb24uZXhwb3J0cyk7XG5cbiAgICAgICAgdGhpcy5oYXNDb25maWcgPSB0aGlzLmhhc0ZpbGUodGhpcy5yZXNvbHZlKENPTkZJR19QQVRIKSk7XG4gICAgfVxuXG4gICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmpzb24ubmFtZTtcbiAgICB9XG5cbiAgICBnZXQgdmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuanNvbi52ZXJzaW9uO1xuICAgIH1cblxuICAgIGdldCBleHBvcnRzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5qc29uLmV4cG9ydHM7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NvZGVnZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0RpcmVjdG9yeShDT0RFR0VOX1BBVEgpO1xuICAgIH1cblxuICAgIHJlc29sdmUoLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHRoaXMucGF0aCwgLi4ucGF0aHMpO1xuICAgIH1cblxuICAgIHJlbGF0aXZlKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcmVsYXRpdmUodGhpcy5wYXRoLCBwYXRoKTtcbiAgICB9XG5cbiAgICBhc3luYyBnbG9iKHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIC8vIEdsb2Igb25seSB1bmRlcnN0YW5kcyBmb3J3YXJkLXNsYXNoIGFzIHNlcGFyYXRvciBiZWNhdXNlIHJlYXNvbnNcbiAgICAgICAgaWYgKHR5cGVvZiBwYXR0ZXJuID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBwYXR0ZXJuID0gdGhpcy5yZXNvbHZlKHBhdHRlcm4pLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm4ubWFwKHMgPT4gdGhpcy5yZXNvbHZlKHMpLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEN1cnJlbnQgZ2xvYiBpbXBsZW1lbnRhdGlvbiBpc24ndCBhY3R1YWxseSBhc3luYyBhcyB0aGlzIGlzIGZhc3RlciBhbmQgd2Ugb25seSB3YWxrIHNtYWxsIGRpcmVjdG9yeSB0cmVlc1xuICAgICAgICByZXR1cm4gZ2xvYlN5bmMocGF0dGVybik7XG4gICAgfVxuXG4gICAgc3RhcnQod2hhdDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHByb2dyZXNzID0gbmV3IFByb2dyZXNzKCk7XG4gICAgICAgIHByb2dyZXNzLnN0YXJ0dXAod2hhdCwgdGhpcyk7XG4gICAgICAgIHJldHVybiBwcm9ncmVzcztcbiAgICB9XG5cbiAgICBhc3luYyBsYXN0TW9kaWZpZWQoLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RNb2RpZmllZEFic29sdXRlKHBhdGhzLm1hcChwID0+IHRoaXMucmVzb2x2ZShwKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbGFzdE1vZGlmaWVkQWJzb2x1dGUocGF0aHM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGxldCBtdGltZSA9IDA7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgcGF0aHMubWFwKGFzeW5jIHAgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRzID0gYXdhaXQgaWdub3JlRXJyb3IoXCJFTk9FTlRcIiwgYXN5bmMgKCkgPT4gYXdhaXQgc3RhdChwKSk7XG4gICAgICAgICAgICAgICAgaWYgKCFzdGF0cykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGV0IHRoaXNNdGltZTtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdHMuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRocyA9IChhd2FpdCByZWFkZGlyKHApKS5tYXAocDIgPT4gcmVzb2x2ZShwLCBwMikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzTXRpbWUgPSBhd2FpdCB0aGlzLmxhc3RNb2RpZmllZEFic29sdXRlKHBhdGhzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzTXRpbWUgPSBzdGF0cy5tdGltZU1zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpc010aW1lID4gbXRpbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbXRpbWUgPSB0aGlzTXRpbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBtdGltZTtcbiAgICB9XG5cbiAgICBnZXQgZGVwZW5kZW5jaWVzKCkge1xuICAgICAgICBsZXQgcmVzdWx0ID0gQXJyYXk8c3RyaW5nPigpO1xuICAgICAgICBmb3IgKGNvbnN0IHR5cGUgb2YgW1wiZGVwZW5kZW5jaWVzXCIsIFwib3B0aW9uYWxEZXBlbmRlbmNpZXNcIiwgXCJkZXZEZXBlbmRlbmNpZXNcIiwgXCJwZWVyRGVwZW5kZW5jaWVzXCJdKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuanNvblt0eXBlXSA9PT0gXCJvYmplY3RcIiAmJiB0aGlzLmpzb25bdHlwZV0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBbLi4ucmVzdWx0LCAuLi5PYmplY3Qua2V5cyh0aGlzLmpzb25bdHlwZV0pXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLm5ldyBTZXQocmVzdWx0KV07XG4gICAgfVxuXG4gICAgZ2V0IHdvcmtzcGFjZSgpIHtcbiAgICAgICAgcmV0dXJuIFBhY2thZ2Uud29ya3NwYWNlRm9yKHRoaXMucGF0aCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzV29ya3NwYWNlKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLmpzb24ud29ya3NwYWNlcyk7XG4gICAgfVxuXG4gICAgZ2V0IHJvb3QoKTogUGFja2FnZSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2U7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBKc29uTm90Rm91bmRFcnJvcikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHN0YXRpYyBzZXQgd29ya2luZ0Rpcih3ZDogc3RyaW5nKSB7XG4gICAgICAgIHdvcmtpbmdEaXIgPSB3ZDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0IHdvcmtzcGFjZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya3NwYWNlRm9yKHdvcmtpbmdEaXIpO1xuICAgIH1cblxuICAgIHN0YXRpYyB3b3Jrc3BhY2VGb3IoY3dkOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF3b3Jrc3BhY2UpIHtcbiAgICAgICAgICAgIHdvcmtzcGFjZSA9IGZpbmQoY3dkLCBwa2cgPT4gQXJyYXkuaXNBcnJheShwa2cuanNvbi53b3Jrc3BhY2VzKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdvcmtzcGFjZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0IHRvb2xzKCkge1xuICAgICAgICBpZiAoIXRvb2xzKSB7XG4gICAgICAgICAgICB0b29scyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogdG9vbHNQYXRoIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b29scztcbiAgICB9XG5cbiAgICBzdGF0aWMgZmluZEV4cG9ydChuYW1lOiBzdHJpbmcsIHR5cGU6IFwiY2pzXCIgfCBcImVzbVwiID0gXCJlc21cIikge1xuICAgICAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2UucmVzb2x2ZUltcG9ydChuYW1lLCB0eXBlKTtcbiAgICB9XG5cbiAgICByZXNvbHZlRXhwb3J0KG5hbWU6IHN0cmluZywgdHlwZTogXCJjanNcIiB8IFwiZXNtXCIgPSBcImVzbVwiKSB7XG4gICAgICAgIGlmICghbmFtZS5zdGFydHNXaXRoKFwiLlwiKSkge1xuICAgICAgICAgICAgbmFtZSA9IGAuLyR7bmFtZX1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4cG9ydERldGFpbCA9IHRoaXMuZXhwb3J0cz8uW25hbWVdO1xuXG4gICAgICAgIGlmIChleHBvcnREZXRhaWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4cCA9IGZpbmRFeHBvcnRDb25kaXRpb24oZXhwb3J0RGV0YWlsLCB0eXBlKTtcbiAgICAgICAgICAgIGlmIChleHApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlKGV4cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmFtZSA9PT0gXCIuXCIpIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSBcImVzbVwiICYmIHRoaXMuanNvbi5tb2R1bGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlKHRoaXMuanNvbi5tb2R1bGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuanNvbi5tYWluKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZSh0aGlzLmpzb24ubWFpbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZXNvbHZlIGV4cG9ydCAke25hbWV9IGluIHBhY2thZ2UgJHt0aGlzLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgZmluZFBhY2thZ2UobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCByZXNvbHZlSW4gPSB0aGlzLnBhdGg7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBpZiAoaXNEaXJlY3RvcnkocmVzb2x2ZShyZXNvbHZlSW4sIFwibm9kZV9tb2R1bGVzXCIsIG5hbWUpKSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbmV4dFJlc29sdmVJbiA9IGRpcm5hbWUocmVzb2x2ZUluKTtcbiAgICAgICAgICAgIGlmIChuZXh0UmVzb2x2ZUluID09PSByZXNvbHZlSW4pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIG1vZHVsZSAke25hbWV9IGZyb20gJHt0aGlzLnBhdGh9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlSW4gPSBuZXh0UmVzb2x2ZUluO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFBhY2thZ2UuZm9yUGF0aChyZXNvbHZlKHJlc29sdmVJbiwgXCJub2RlX21vZHVsZXNcIiwgbmFtZSkpO1xuICAgIH1cblxuICAgIHJlc29sdmVJbXBvcnQobmFtZTogc3RyaW5nLCB0eXBlOiBcImNqc1wiIHwgXCJlc21cIiA9IFwiZXNtXCIpIHtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBuYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgbGV0IHBhY2thZ2VOYW1lID0gc2VnbWVudHMuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICAgIGlmIChwYWNrYWdlTmFtZS5zdGFydHNXaXRoKFwiQFwiKSAmJiBzZWdtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHBhY2thZ2VOYW1lID0gYCR7cGFja2FnZU5hbWV9LyR7c2VnbWVudHMuc2hpZnQoKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGtnID0gdGhpcy5maW5kUGFja2FnZShwYWNrYWdlTmFtZSk7XG5cbiAgICAgICAgcmV0dXJuIHBrZy5yZXNvbHZlRXhwb3J0KHNlZ21lbnRzLmxlbmd0aCA/IHNlZ21lbnRzLmpvaW4oXCIvXCIpIDogXCIuXCIsIHR5cGUpO1xuICAgIH1cblxuICAgIGhhc0ZpbGUocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuI21heWJlU3RhdChwYXRoKT8uaXNGaWxlKCk7XG4gICAgfVxuXG4gICAgaGFzRGlyZWN0b3J5KHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gISF0aGlzLiNtYXliZVN0YXQocGF0aCk/LmlzRGlyZWN0b3J5KCk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVhZEZpbGUocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiByZWFkRmlsZSh0aGlzLnJlc29sdmUocGF0aCksIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgcmVhZEZpbGVTeW5jKHBhdGg6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gcmVhZEZpbGVTeW5jKHRoaXMucmVzb2x2ZShwYXRoKSwgXCJ1dGYtOFwiKTtcbiAgICB9XG5cbiAgICBhc3luYyB3cml0ZUZpbGUocGF0aDogc3RyaW5nLCBjb250ZW50czogdW5rbm93bikge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGUodGhpcy5yZXNvbHZlKHBhdGgpLCBgJHtjb250ZW50c31gKTtcbiAgICB9XG5cbiAgICBhc3luYyBzYXZlKCkge1xuICAgICAgICBhd2FpdCB0aGlzLndyaXRlRmlsZShqb2luKHRoaXMucGF0aCwgXCJwYWNrYWdlLmpzb25cIiksIEpTT04uc3RyaW5naWZ5KHRoaXMuanNvbiwgdW5kZWZpbmVkLCA0KSk7XG4gICAgfVxuXG4gICAgYXN5bmMgcmVhZEpzb24ocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCB0aGlzLnJlYWRGaWxlKHBhdGgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodGV4dCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBFcnJvcikpIHtcbiAgICAgICAgICAgICAgICBlID0gbmV3IEVycm9yKGAke2V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAoZSBhcyBFcnJvcikubWVzc2FnZSA9IGBFcnJvciBwYXJzaW5nIFwiJHt0aGlzLnJlc29sdmUocGF0aCl9XCI6ICR7KGUgYXMgRXJyb3IpLm1lc3NhZ2V9YDtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyB3cml0ZUpzb24ocGF0aDogc3RyaW5nLCB2YWx1ZToge30pIHtcbiAgICAgICAgYXdhaXQgdGhpcy53cml0ZUZpbGUocGF0aCwgSlNPTi5zdHJpbmdpZnkodmFsdWUsIHVuZGVmaW5lZCwgNCkpO1xuICAgIH1cblxuICAgIHN0YXRpYyBtYXliZUZvclBhdGgocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIGZ1bmN0aW9uIGZpbmQocGF0aDogc3RyaW5nKTogUGFja2FnZSB8IG51bGwge1xuICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHBhY2thZ2VGb3JQYXRoW3BhdGhdO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV4aXN0c1N5bmMoam9pbihwYXRoLCBcInBhY2thZ2UuanNvblwiKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gbmV3IFBhY2thZ2UoeyBwYXRoIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudERpciA9IGRpcm5hbWUocGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnREaXIgPT09IHBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZpbmQocGFyZW50RGlyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFja2FnZUZvclBhdGhbcGF0aF0gPSByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZmluZChwYXRoKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0ID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9yUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5tYXliZUZvclBhdGgocGF0aCk7XG4gICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHBhY2thZ2UuanNvbiBmb3IgXCIke3BhdGh9XCJgKTtcbiAgICB9XG5cbiAgICBnZXQgaW1wb3J0QWxpYXNlcygpOiBJbXBvcnRBbGlhc2VzIHtcbiAgICAgICAgaWYgKHRoaXMuI2ltcG9ydEFsaWFzZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2ltcG9ydEFsaWFzZXM7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNpbXBvcnRBbGlhc2VzID0gbmV3IEltcG9ydEFsaWFzZXMoXG4gICAgICAgICAgICB0aGlzLmpzb24uaW1wb3J0cyxcbiAgICAgICAgICAgIFBhY2thZ2UubWF5YmVGb3JQYXRoKGRpcm5hbWUodGhpcy5wYXRoKSk/LmltcG9ydEFsaWFzZXMsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuI2ltcG9ydEFsaWFzZXM7XG4gICAgfVxuXG4gICAgZ2V0IG1vZHVsZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RNb2R1bGVzKGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgc291cmNlTW9kdWxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdE1vZHVsZXModHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgbWFwIG9mIG1vZHVsZSBuYW1lIC0+IGltcGxlbWVudGF0aW9uIGZpbGUuICBJZiBcInNvdXJjZVwiIGlzIHRydWUsIHNlYXJjaGVzIHNvdXJjZSBmaWxlcyByYXRoZXIgdGhhblxuICAgICAqIHRyYW5zcGlsZWQgZmlsZXMuICBXZSBkbyB0aGlzIHJhdGhlciB0aGFuIGZpbmRpbmcgdHJhbnNwaWxhdGlvbiBmaWxlcyB0aGVuIG1hcHBpbmcgdG8gc291cmNlIGZpbGVzIHNvIHRoaXMgd29ya3NcbiAgICAgKiBldmVuIGlmIHRoZXJlIGlzbid0IGEgYnVpbGQuXG4gICAgICovXG4gICAgbGlzdE1vZHVsZXMoc291cmNlOiBib29sZWFuLCAuLi5jb25kaXRpb25zOiBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25kaXRpb25zID0gW3RoaXMuc3VwcG9ydHNFc20gPyBcImltcG9ydFwiIDogXCJyZXF1aXJlXCIsIFwiZGVmYXVsdFwiXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgICAgIGNvbnN0IGV4cG9ydHMgPSB0aGlzLmV4cG9ydHM7XG4gICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gXCJvYmplY3RcIiAmJiBleHBvcnRzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIG5ldyBTZXQoY29uZGl0aW9ucyksIG1vZHVsZXMsIHRoaXMubmFtZSwgdGhpcy5wYXRoLCBleHBvcnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb2R1bGVzO1xuICAgIH1cblxuICAgICNtYXliZVN0YXQocGF0aDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBtYXliZVN0YXRTeW5jKHRoaXMucmVzb2x2ZShwYXRoKSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQYWNrYWdlSnNvbiA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGltcG9ydHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgbWF0dGVyPzoge1xuICAgICAgICB0ZXN0PzogYm9vbGVhbjtcbiAgICB9O1xuICAgIHNjcmlwdHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmxldCB3b3JraW5nRGlyID0gXCIuXCI7XG5sZXQgd29ya3NwYWNlOiBQYWNrYWdlIHwgdW5kZWZpbmVkO1xubGV0IHRvb2xzOiBQYWNrYWdlIHwgdW5kZWZpbmVkO1xuXG5mdW5jdGlvbiBmaW5kKHN0YXJ0RGlyOiBzdHJpbmcsIHNlbGVjdG9yOiAocGtnOiBQYWNrYWdlKSA9PiBib29sZWFuKTogUGFja2FnZSB7XG4gICAgbGV0IHBrZyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogc3RhcnREaXIgfSk7XG4gICAgd2hpbGUgKCFzZWxlY3Rvcihwa2cpKSB7XG4gICAgICAgIHBrZyA9IG5ldyBQYWNrYWdlKHsgcGF0aDogZGlybmFtZShwa2cucGF0aCkgfSk7XG4gICAgfVxuICAgIHJldHVybiBwa2c7XG59XG5cbmZ1bmN0aW9uIHNlbGVjdEZvcm1hdHMoanNvbjogYW55KSB7XG4gICAgbGV0IGVzbTogYm9vbGVhbiwgY2pzOiBib29sZWFuO1xuXG4gICAgaWYgKGpzb24udHlwZSA9PT0gXCJtb2R1bGVcIikge1xuICAgICAgICBlc20gPSB0cnVlO1xuICAgICAgICBjanMgPVxuICAgICAgICAgICAgKGpzb24ubWFpbiAhPT0gdW5kZWZpbmVkICYmIGpzb24ubW9kdWxlICE9PSB1bmRlZmluZWQpIHx8XG4gICAgICAgICAgICAhIU9iamVjdC52YWx1ZXMoanNvbi5leHBvcnRzID8/IHt9KS5maW5kKChleHA6IGFueSkgPT4gZXhwLnJlcXVpcmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNqcyA9IHRydWU7XG4gICAgICAgIGVzbSA9ICEhanNvbi5tb2R1bGUgfHwgISFPYmplY3QudmFsdWVzKGpzb24uZXhwb3J0cyA/PyB7fSkuZmluZCgoZXhwOiBhbnkpID0+IGV4cC5pbXBvcnQpO1xuICAgIH1cblxuICAgIHJldHVybiB7IGVzbSwgY2pzIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRFeHBvcnRDb25kaXRpb24oZGV0YWlsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB0eXBlOiBcImVzbVwiIHwgXCJjanNcIik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGUgPT09IFwiZXNtXCIgJiYgZGV0YWlsLmltcG9ydCkge1xuICAgICAgICBsZXQgZXhwID0gZGV0YWlsLmltcG9ydDtcbiAgICAgICAgaWYgKGV4cCAmJiB0eXBlb2YgZXhwICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBleHAgPSBmaW5kRXhwb3J0Q29uZGl0aW9uKGV4cCwgdHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4cCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4cDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldCBleHAgPSBkZXRhaWwucmVxdWlyZSA/PyBkZXRhaWwubm9kZSA/PyBkZXRhaWwuZGVmYXVsdDtcbiAgICBpZiAoZXhwICYmIHR5cGVvZiBleHAgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgZXhwID0gZmluZEV4cG9ydENvbmRpdGlvbihleHAsIHR5cGUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZXhwID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBleHA7XG4gICAgfVxufVxuXG50eXBlIENvbmRpdGlvbnMgPSB7IFtuYW1lOiBzdHJpbmddOiBFeHBvcnRzIH07XG5cbnR5cGUgRXhwb3J0cyA9IHN0cmluZyB8IENvbmRpdGlvbnMgfCBSZWNvcmQ8c3RyaW5nLCBDb25kaXRpb25zPjtcblxuZnVuY3Rpb24gZmluZE1vZHVsZXMoXG4gICAgc291cmNlOiBib29sZWFuLFxuICAgIGNvbmRpdGlvbnM6IFNldDxzdHJpbmc+LFxuICAgIHRhcmdldDogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBwcmVmaXg6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZXhwb3J0czogRXhwb3J0cyxcbikge1xuICAgIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBhZGRNb2R1bGVHbG9icyhzb3VyY2UsIHRhcmdldCwgcHJlZml4LCBwYXRoLCBleHBvcnRzKTtcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZXhwb3J0cykpIHtcbiAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBleHBvcnRzKSB7XG4gICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIGNvbmRpdGlvbnMsIHRhcmdldCwgcHJlZml4LCBwYXRoLCBlbnRyeSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSBcIm9iamVjdFwiICYmIGV4cG9ydHMgIT09IG51bGwpIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkQ29uZGl0aW9uID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGV4cG9ydHMpIHtcbiAgICAgICAgICAgIGlmIChrZXkuc3RhcnRzV2l0aChcIi5cIikpIHtcbiAgICAgICAgICAgICAgICBmaW5kTW9kdWxlcyhzb3VyY2UsIGNvbmRpdGlvbnMsIHRhcmdldCwgam9pbihwcmVmaXgsIGtleSksIHBhdGgsIGV4cG9ydHNba2V5XSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFzZWxlY3RlZENvbmRpdGlvbiAmJiBjb25kaXRpb25zLmhhcyhrZXkpKSB7XG4gICAgICAgICAgICAgICAgZmluZE1vZHVsZXMoc291cmNlLCBjb25kaXRpb25zLCB0YXJnZXQsIHByZWZpeCwgcGF0aCwgZXhwb3J0c1trZXldKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvbmRpdGlvbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNYWxmb3JtZWQgZXhwb3J0cyBmaWVsZCBpbiBwYWNrYWdlLmpzb25cIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRNb2R1bGVHbG9icyhzb3VyY2U6IGJvb2xlYW4sIHRhcmdldDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwgbmFtZTogc3RyaW5nLCBiYXNlOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZykge1xuICAgIGxldCBwYXRoID0gam9pbihiYXNlLCBwYXR0ZXJuKTtcbiAgICBpZiAoc291cmNlKSB7XG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcL2Rpc3RcXC8oPzplc218Y2pzKVxcLy8sIFwiL3NyYy9cIik7XG4gICAgfVxuXG4gICAgaWYgKG5hbWUuaW5jbHVkZXMoXCIqXCIpKSB7XG4gICAgICAgIC8vIFdpbGRjYXJkXG4gICAgICAgIGlmICghbmFtZS5lbmRzV2l0aChcIi8qXCIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdpbGRjYXJkIGluIG1vZHVsZSAke25hbWV9IGRvZXMgbm90IGFwcGVhciBhcyBmaW5hbCBwYXRoIHNlZ21lbnRgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5hbWUgPSBuYW1lLnN1YnN0cmluZygwLCBuYW1lLmxlbmd0aCAtIDIpO1xuICAgICAgICBjb25zdCBwYXRocyA9IGdsb2JTeW5jKHNvdXJjZSA/IHBhdGgucmVwbGFjZSgvXFwuanMkLywgXCIue3RzLGpzLGNqcyxtanN9XCIpIDogcGF0aCk7XG4gICAgICAgIGlmICghcGF0aHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1hdGNoIGZvciBtb2R1bGUgJHtuYW1lfSBwYXR0ZXJuICR7cGF0dGVybn1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFtwcmVmaXgsIHN1ZmZpeF0gPSBwYXRoLnNwbGl0KC9cXCorLyk7XG4gICAgICAgIGNvbnN0IHByZWZpeExlbmd0aCA9IHByZWZpeCA9PT0gdW5kZWZpbmVkID8gMCA6IHByZWZpeC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHN1ZmZpeExlbmd0aCA9IHN1ZmZpeCA9PT0gdW5kZWZpbmVkID8gMCA6IHN1ZmZpeC5sZW5ndGg7XG5cbiAgICAgICAgZm9yIChjb25zdCB0aGlzUGF0aCBvZiBwYXRocykge1xuICAgICAgICAgICAgY29uc3QgcXVhbGlmaWVyID0gdGhpc1BhdGguc3Vic3RyaW5nKHByZWZpeExlbmd0aCwgdGhpc1BhdGgubGVuZ3RoIC0gc3VmZml4TGVuZ3RoKTtcbiAgICAgICAgICAgIGNvbnN0IHRoaXNOYW1lID0gam9pbihuYW1lLCBxdWFsaWZpZXIpO1xuICAgICAgICAgICAgdGFyZ2V0W3RoaXNOYW1lXSA9IHRoaXNQYXRoO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChwYXRoLmluY2x1ZGVzKFwiKlwiKSkge1xuICAgICAgICAvLyBBIHdpbGRjYXJkIHBhdGggaXMgb25seSB2YWxpZCB3aXRoIHdpbGRjYXJkIG5hbWVcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXaWxkY2FyZCBpbiBtb2R1bGUgcGF0aCBcIiR7cGF0aH1cIiBidXQgbm90IGluIG1vZHVsZSBcIiR7bmFtZX1cImApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIE5vIHdpbGRjYXJkIC0tIHJlbW92ZSBkaXJlY3RvcnlcbiAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvXFwvKD86ZXhwb3J0fGluZGV4KSQvLCBcIlwiKTtcblxuICAgICAgICAvLyBMb29rIGZvciBzb3VyY2UgaWYgZmlsZSBpc24ndCBwcmVzZW50XG4gICAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgICBpZiAoaXNGaWxlKHBhdGgpKSB7XG4gICAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc291cmNlICYmIHBhdGguZW5kc1dpdGgoXCIuanNcIikpIHtcbiAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoL1xcLmpzJC8sIFwiLnRzXCIpO1xuICAgICAgICAgICAgaWYgKGlzRmlsZShwYXRoKSkge1xuICAgICAgICAgICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTW9kdWxlIFwiJHtuYW1lfVwiIHBhdGggXCIke3BhdGh9XCIgbm90IGZvdW5kYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0YXJnZXRbbmFtZV0gPSBwYXRoO1xuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFlBQVksY0FBYyxnQkFBZ0I7QUFDbkQsU0FBUyxTQUFTLFVBQVUsTUFBTSxpQkFBaUI7QUFDbkQsU0FBUyxTQUFTLE1BQU0sVUFBVSxlQUFlO0FBQ2pELFNBQVMsYUFBYSx1QkFBdUI7QUFDN0MsU0FBUyxRQUFRLG1CQUFtQixxQkFBcUI7QUFDekQsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxpQkFBaUI7QUFFbkIsTUFBTSwwQkFBMEIsTUFBTTtBQUFDO0FBRXZDLE1BQU0sY0FBYztBQUNwQixNQUFNLGVBQWU7QUFFNUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV4QixTQUFTLFNBQVMsVUFBa0IsT0FBZSxLQUFLLE9BQWdC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Q0FBQyxxQkFBcUIsV0FBVyxJQUFJLEdBQUcsR0FBRztBQUNsRCxvQkFBWSxRQUFRLFlBQVksUUFBUSxRQUFRLE1BQU0sUUFBUSxHQUFHLENBQUM7QUFDbEUsNEJBQW9CO0FBQUEsTUFDeEI7QUFBQSxJQUNKO0FBQUEsRUFDSixPQUFPO0FBQ0gsVUFBTSxJQUFJLE1BQU0seUNBQXlDO0FBQUEsRUFDN0Q7QUFDSjtBQUVBLFNBQVMsZUFBZSxRQUFpQixRQUFnQyxNQUFjLE1BQWMsU0FBaUI7QUFDbEgsTUFBSSxPQUFPLEtBQUssTUFBTSxPQUFPO0FBQzdCLE1BQUksUUFBUTtBQUNSLFdBQU8sS0FBSyxRQUFRLHlCQUF5QixPQUFPO0FBQUEsRUFDeEQ7QUFFQSxNQUFJLEtBQUssU0FBUyxHQUFHLEdBQUc7QUFFcEIsUUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLEdBQUc7QUFDdEIsWUFBTSxJQUFJLE1BQU0sc0JBQXNCLElBQUksd0NBQXdDO0FBQUEsSUFDdEY7QUFFQSxXQUFPLEtBQUssVUFBVSxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQ3hDLFVBQU0sUUFBUSxTQUFTLFNBQVMsS0FBSyxRQUFRLFNBQVMsa0JBQWtCLElBQUksSUFBSTtBQUNoRixRQUFJLENBQUMsTUFBTSxRQUFRO0FBQ2YsWUFBTSxJQUFJLE1BQU0sdUJBQXVCLElBQUksWUFBWSxPQUFPLEVBQUU7QUFBQSxJQUNwRTtBQUVBLFVBQU0sQ0FBQyxRQUFRLE1BQU0sSUFBSSxLQUFLLE1BQU0sS0FBSztBQUN6QyxVQUFNLGVBQWUsV0FBVyxTQUFZLElBQUksT0FBTztBQUN2RCxVQUFNLGVBQWUsV0FBVyxTQUFZLElBQUksT0FBTztBQUV2RCxlQUFXLFlBQVksT0FBTztBQUMxQixZQUFNLFlBQVksU0FBUyxVQUFVLGNBQWMsU0FBUyxTQUFTLFlBQVk7QUFDakYsWUFBTSxXQUFXLEtBQUssTUFBTSxTQUFTO0FBQ3JDLGFBQU8sUUFBUSxJQUFJO0FBQUEsSUFDdkI7QUFBQSxFQUNKLFdBQVcsS0FBSyxTQUFTLEdBQUcsR0FBRztBQUUzQixVQUFNLElBQUksTUFBTSw0QkFBNEIsSUFBSSx3QkFBd0IsSUFBSSxHQUFHO0FBQUEsRUFDbkYsT0FBTztBQUVILFdBQU8sS0FBSyxRQUFRLHVCQUF1QixFQUFFO0FBRzdDLFFBQUksUUFBUTtBQUNaLFFBQUksT0FBTyxJQUFJLEdBQUc7QUFDZCxjQUFRO0FBQUEsSUFDWixXQUFXLFVBQVUsS0FBSyxTQUFTLEtBQUssR0FBRztBQUN2QyxhQUFPLEtBQUssUUFBUSxTQUFTLEtBQUs7QUFDbEMsVUFBSSxPQUFPLElBQUksR0FBRztBQUNkLGdCQUFRO0FBQUEsTUFDWjtBQUFBLElBQ0o7QUFFQSxRQUFJLENBQUMsT0FBTztBQUNSLFlBQU0sSUFBSSxNQUFNLFdBQVcsSUFBSSxXQUFXLElBQUksYUFBYTtBQUFBLElBQy9EO0FBRUEsV0FBTyxJQUFJLElBQUk7QUFBQSxFQUNuQjtBQUNKOyIsCiAgIm5hbWVzIjogWyJwYXRocyIsICJmaW5kIiwgInBhdGgiLCAicmVzdWx0IiwgImV4cCJdCn0K
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/package.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,cAAc,gBAAgB;AACnD,SAAS,SAAS,UAAU,MAAM,iBAAiB;AACnD,SAAS,SAAS,MAAM,UAAU,eAAe;AACjD,SAAS,aAAa,uBAAuB;AAC7C,SAAS,QAAQ,mBAAmB,qBAAqB;AACzD,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAEnB,MAAM,0BAA0B,MAAM;AAAC;AAEvC,MAAM,cAAc;AACpB,MAAM,eAAe;AAE5B,MAAM,iBAAiB,CAAC;AAExB,SAAS,SAAS,UAAkB,OAAe,KAAK,OAAgB;AACpE,SAAO,QAAQ,IAAI;AACnB,SAAO,MAAM;AACT,UAAM,OAAO;AAAA,MAAgB,CAAC,UAAU,SAAS;AAAA,MAAG,MAChD,KAAK,MAAM,aAAa,QAAQ,MAAM,QAAQ,CAAC,EAAE,SAAS,CAAC;AAAA,IAC/D;AAEA,QAAI,MAAM;AACN,UAAI,UAAU,UAAa,KAAK,SAAS,OAAO;AAC5C,eAAO,EAAE,MAAM,MAAM,KAAK;AAAA,MAC9B;AAAA,IACJ;AACA,UAAM,SAAS,QAAQ,IAAI;AAC3B,QAAI,WAAW,MAAM;AACjB,YAAM,IAAI,kBAAkB,oBAAoB,SAAS,QAAQ,EAAE;AAAA,IACvE;AACA,WAAO;AAAA,EACX;AACJ;AAEA,SAAS,YAAY,MAAc;AAC/B,SAAO,CAAC,CAAC,gBAAgB,UAAU,MAAM,SAAS,IAAI,EAAE,YAAY,CAAC;AACzE;AAEO,MAAM,QAAQ;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,IACR,OAAO;AAAA,IACP;AAAA,EACJ,IAGI,CAAC,GAAG;AACJ,UAAM,EAAE,MAAM,KAAK,IAAI,SAAS,gBAAgB,MAAM,IAAI;AAC1D,SAAK,OAAO;AACZ,SAAK,OAAO;AAEZ,UAAM,EAAE,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI;AAC5C,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,SAAK,SAAS,YAAY,KAAK,QAAQ,KAAK,CAAC;AAC7C,SAAK,WAAW,YAAY,KAAK,QAAQ,MAAM,CAAC;AAEhD,UAAM,OAAO,kBAAkB,KAAK,QAAQ,eAAe,CAAC,GAAG;AAC/D,QAAI,SAAS,QAAW;AACpB,UAAI,CAAC,KAAK,KAAK,SAAO,KAAK,QAAQ,IAAI,IAAI,MAAM,KAAK,QAAQ,KAAK,CAAC,GAAG;AACnE,aAAK,SAAS;AAAA,MAClB;AACA,UAAI,CAAC,KAAK,KAAK,SAAO,KAAK,QAAQ,IAAI,IAAI,MAAM,KAAK,QAAQ,MAAM,CAAC,GAAG;AACpE,aAAK,WAAW;AAAA,MACpB;AAAA,IACJ;AAEA,SAAK,YAAY,CAAC,EAAE,KAAK,KAAK,QAAQ,KAAK,KAAK,UAAU,KAAK,KAAK;AAEpE,SAAK,YAAY,KAAK,QAAQ,KAAK,QAAQ,WAAW,CAAC;AAAA,EAC3D;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,aAAa,YAAY;AAAA,EACzC;AAAA,EAEA,WAAW,OAAiB;AACxB,WAAO,QAAQ,KAAK,MAAM,GAAG,KAAK;AAAA,EACtC;AAAA,EAEA,SAAS,MAAc;AACnB,WAAO,SAAS,KAAK,MAAM,IAAI;AAAA,EACnC;AAAA,EAEA,MAAM,KAAK,SAA4B;AAEnC,QAAI,OAAO,YAAY,UAAU;AAC7B,gBAAU,KAAK,QAAQ,OAAO,EAAE,QAAQ,OAAO,GAAG;AAAA,IACtD,OAAO;AACH,gBAAU,QAAQ,IAAI,OAAK,KAAK,QAAQ,CAAC,EAAE,QAAQ,OAAO,GAAG,CAAC;AAAA,IAClE;AAGA,WAAO,SAAS,OAAO;AAAA,EAC3B;AAAA,EAEA,MAAM,MAAc;AAChB,UAAM,WAAW,IAAI,SAAS;AAC9B,aAAS,QAAQ,MAAM,IAAI;AAC3B,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,gBAAgB,OAAiB;AACnC,WAAO,KAAK,qBAAqB,MAAM,IAAI,OAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;AAAA,EACpE;AAAA,EAEA,MAAc,qBAAqB,OAAiB;AAChD,QAAI,QAAQ;AACZ,UAAM,QAAQ;AAAA,MACV,MAAM,IAAI,OAAM,MAAK;AACjB,cAAM,QAAQ,MAAM,YAAY,UAAU,YAAY,MAAM,KAAK,CAAC,CAAC;AACnE,YAAI,CAAC,OAAO;AACR;AAAA,QACJ;AAEA,YAAI;AACJ,YAAI,MAAM,YAAY,GAAG;AACrB,gBAAMA,UAAS,MAAM,QAAQ,CAAC,GAAG,IAAI,QAAM,QAAQ,GAAG,EAAE,CAAC;AACzD,sBAAY,MAAM,KAAK,qBAAqBA,MAAK;AAAA,QACrD,OAAO;AACH,sBAAY,MAAM;AAAA,QACtB;AACA,YAAI,YAAY,OAAO;AACnB,kBAAQ;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL;AACA,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe;AACf,QAAI,SAAS,MAAc;AAC3B,eAAW,QAAQ,CAAC,gBAAgB,wBAAwB,mBAAmB,kBAAkB,GAAG;AAChG,UAAI,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,KAAK,KAAK,IAAI,MAAM,MAAM;AACjE,iBAAS,CAAC,GAAG,QAAQ,GAAG,OAAO,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC;AAAA,MACxD;AAAA,IACJ;AACA,WAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;AAAA,EAC9B;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,QAAQ,aAAa,KAAK,IAAI;AAAA,EACzC;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,MAAM,QAAQ,KAAK,KAAK,UAAU;AAAA,EAC7C;AAAA,EAEA,IAAI,OAAgB;AAChB,QAAI;AACA,aAAO,KAAK;AAAA,IAChB,SAAS,GAAG;AACR,UAAI,EAAE,aAAa,oBAAoB;AACnC,cAAM;AAAA,MACV;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,WAAW,WAAW,IAAY;AAC9B,iBAAa;AAAA,EACjB;AAAA,EAEA,WAAW,YAAY;AACnB,WAAO,KAAK,aAAa,UAAU;AAAA,EACvC;AAAA,EAEA,OAAO,aAAa,KAAa;AAC7B,QAAI,CAAC,WAAW;AACZ,kBAAY,KAAK,KAAK,SAAO,MAAM,QAAQ,IAAI,KAAK,UAAU,CAAC;AAAA,IACnE;AACA,WAAO;AAAA,EACX;AAAA,EAEA,WAAW,QAAQ;AACf,QAAI,CAAC,OAAO;AACR,cAAQ,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAC;AAAA,IAC3C;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,WAAW,MAAc,OAAsB,OAAO;AACzD,WAAO,KAAK,UAAU,cAAc,MAAM,IAAI;AAAA,EAClD;AAAA,EAEA,cAAc,MAAc,OAAsB,OAAO;AACrD,QAAI,CAAC,KAAK,WAAW,GAAG,GAAG;AACvB,aAAO,KAAK,IAAI;AAAA,IACpB;AACA,UAAM,eAAe,KAAK,UAAU,IAAI;AAExC,QAAI,cAAc;AACd,YAAM,MAAM,oBAAoB,cAAc,IAAI;AAClD,UAAI,KAAK;AACL,eAAO,KAAK,QAAQ,GAAG;AAAA,MAC3B;AAAA,IACJ;AAEA,QAAI,SAAS,KAAK;AACd,UAAI,SAAS,SAAS,KAAK,KAAK,QAAQ;AACpC,eAAO,KAAK,QAAQ,KAAK,KAAK,MAAM;AAAA,MACxC;AACA,UAAI,KAAK,KAAK,MAAM;AAChB,eAAO,KAAK,QAAQ,KAAK,KAAK,IAAI;AAAA,MACtC;AAAA,IACJ;AAEA,UAAM,IAAI,MAAM,yBAAyB,IAAI,eAAe,KAAK,IAAI,EAAE;AAAA,EAC3E;AAAA,EAEA,YAAY,MAAc;AACtB,QAAI,YAAY,KAAK;AACrB,WAAO,MAAM;AACT,UAAI,YAAY,QAAQ,WAAW,gBAAgB,IAAI,CAAC,GAAG;AACvD;AAAA,MACJ;AACA,YAAM,gBAAgB,QAAQ,SAAS;AACvC,UAAI,kBAAkB,WAAW;AAC7B,cAAM,IAAI,MAAM,sBAAsB,IAAI,SAAS,KAAK,IAAI,EAAE;AAAA,MAClE;AACA,kBAAY;AAAA,IAChB;AAEA,WAAO,QAAQ,QAAQ,QAAQ,WAAW,gBAAgB,IAAI,CAAC;AAAA,EACnE;AAAA,EAEA,cAAc,MAAc,OAAsB,OAAO;AACrD,UAAM,WAAW,KAAK,MAAM,GAAG;AAC/B,QAAI,cAAc,SAAS,MAAM;AACjC,QAAI,YAAY,WAAW,GAAG,KAAK,SAAS,QAAQ;AAChD,oBAAc,GAAG,WAAW,IAAI,SAAS,MAAM,CAAC;AAAA,IACpD;AAEA,UAAM,MAAM,KAAK,YAAY,WAAW;AAExC,WAAO,IAAI,cAAc,SAAS,SAAS,SAAS,KAAK,GAAG,IAAI,KAAK,IAAI;AAAA,EAC7E;AAAA,EAEA,QAAQ,MAAc;AAClB,WAAO,CAAC,CAAC,KAAK,WAAW,IAAI,GAAG,OAAO;AAAA,EAC3C;AAAA,EAEA,aAAa,MAAc;AACvB,WAAO,CAAC,CAAC,KAAK,WAAW,IAAI,GAAG,YAAY;AAAA,EAChD;AAAA,EAEA,MAAM,SAAS,MAAc;AACzB,WAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,OAAO;AAAA,EAC/C;AAAA,EAEA,aAAa,MAAc;AACvB,WAAO,aAAa,KAAK,QAAQ,IAAI,GAAG,OAAO;AAAA,EACnD;AAAA,EAEA,MAAM,UAAU,MAAc,UAAmB;AAC7C,UAAM,UAAU,KAAK,QAAQ,IAAI,GAAG,GAAG,QAAQ,EAAE;AAAA,EACrD;AAAA,EAEA,MAAM,OAAO;AACT,UAAM,KAAK,UAAU,KAAK,KAAK,MAAM,cAAc,GAAG,KAAK,UAAU,KAAK,MAAM,QAAW,CAAC,CAAC;AAAA,EACjG;AAAA,EAEA,MAAM,SAAS,MAAc;AACzB,UAAM,OAAO,MAAM,KAAK,SAAS,IAAI;AACrC,QAAI;AACA,aAAO,KAAK,MAAM,IAAI;AAAA,IAC1B,SAAS,GAAG;AACR,UAAI,EAAE,aAAa,QAAQ;AACvB,YAAI,IAAI,MAAM,GAAG,CAAC,EAAE;AAAA,MACxB;AACA,MAAC,EAAY,UAAU,kBAAkB,KAAK,QAAQ,IAAI,CAAC,MAAO,EAAY,OAAO;AACrF,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,UAAU,MAAc,OAAW;AACrC,UAAM,KAAK,UAAU,MAAM,KAAK,UAAU,OAAO,QAAW,CAAC,CAAC;AAAA,EAClE;AAAA,EAEA,OAAO,aAAa,MAAc;AAC9B,aAASC,MAAKC,OAA8B;AACxC,UAAIC,UAAS,eAAeD,KAAI;AAChC,UAAIC,YAAW,QAAW;AACtB,YAAI,WAAW,KAAKD,OAAM,cAAc,CAAC,GAAG;AACxC,UAAAC,UAAS,IAAI,QAAQ,EAAE,MAAAD,MAAK,CAAC;AAAA,QACjC,OAAO;AACH,gBAAM,YAAY,QAAQA,KAAI;AAC9B,cAAI,cAAcA,OAAM;AACpB,mBAAO;AAAA,UACX;AACA,UAAAC,UAASF,MAAK,SAAS;AAAA,QAC3B;AACA,uBAAeC,KAAI,IAAIC;AAAA,MAC3B;AACA,aAAOA;AAAA,IACX;AAEA,UAAM,SAASF,MAAK,IAAI;AAExB,WAAO,UAAU;AAAA,EACrB;AAAA,EAEA,OAAO,QAAQ,MAAc;AACzB,UAAM,SAAS,KAAK,aAAa,IAAI;AACrC,QAAI,WAAW,QAAW;AACtB,aAAO;AAAA,IACX;AACA,UAAM,IAAI,MAAM,iCAAiC,IAAI,GAAG;AAAA,EAC5D;AAAA,EAEA,IAAI,gBAA+B;AAC/B,QAAI,KAAK,mBAAmB,QAAW;AACnC,aAAO,KAAK;AAAA,IAChB;AAEA,SAAK,iBAAiB,IAAI;AAAA,MACtB,KAAK,KAAK;AAAA,MACV,QAAQ,aAAa,QAAQ,KAAK,IAAI,CAAC,GAAG;AAAA,IAC9C;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,YAAY,KAAK;AAAA,EACjC;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK,YAAY,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,WAAoB,YAAsB;AAClD,QAAI,CAAC,WAAW,QAAQ;AACpB,mBAAa,CAAC,KAAK,cAAc,WAAW,WAAW,SAAS;AAAA,IACpE;AAEA,UAAM,UAAU,CAAC;AAEjB,UAAM,UAAU,KAAK;AACrB,QAAI,OAAO,YAAY,YAAY,YAAY,MAAM;AACjD,kBAAY,QAAQ,IAAI,IAAI,UAAU,GAAG,SAAS,KAAK,MAAM,KAAK,MAAM,OAAO;AAAA,IACnF;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,WAAW,MAAc;AACrB,WAAO,cAAc,KAAK,QAAQ,IAAI,CAAC;AAAA,EAC3C;AACJ;AAaA,IAAI,aAAa;AACjB,IAAI;AACJ,IAAI;AAEJ,SAAS,KAAK,UAAkB,UAA8C;AAC1E,MAAI,MAAM,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,SAAO,CAAC,SAAS,GAAG,GAAG;AACnB,UAAM,IAAI,QAAQ,EAAE,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;AAAA,EACjD;AACA,SAAO;AACX;AAEA,SAAS,cAAc,MAAW;AAC9B,MAAI,KAAc;AAElB,MAAI,KAAK,SAAS,UAAU;AACxB,UAAM;AACN,UACK,KAAK,SAAS,UAAa,KAAK,WAAW,UAC5C,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,QAAa,IAAI,OAAO;AAAA,EAC1E,OAAO;AACH,UAAM;AACN,UAAM,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,QAAa,IAAI,MAAM;AAAA,EAC5F;AAEA,SAAO,EAAE,KAAK,IAAI;AACtB;AAEA,SAAS,oBAAoB,QAA6B,MAAyC;AAC/F,MAAI,SAAS,SAAS,OAAO,QAAQ;AACjC,QAAIG,OAAM,OAAO;AACjB,QAAIA,QAAO,OAAOA,SAAQ,UAAU;AAChC,MAAAA,OAAM,oBAAoBA,MAAK,IAAI;AAAA,IACvC;AACA,QAAIA,MAAK;AACL,aAAOA;AAAA,IACX;AAAA,EACJ;AAEA,MAAI,MAAM,OAAO,WAAW,OAAO,QAAQ,OAAO;AAClD,MAAI,OAAO,OAAO,QAAQ,UAAU;AAChC,UAAM,oBAAoB,KAAK,IAAI;AAAA,EACvC;AAEA,MAAI,OAAO,QAAQ,UAAU;AACzB,WAAO;AAAA,EACX;AACJ;AAMA,SAAS,YACL,QACA,YACA,QACA,QACA,MACA,SACF;AACE,MAAI,OAAO,YAAY,UAAU;AAC7B,mBAAe,QAAQ,QAAQ,QAAQ,MAAM,OAAO;AAAA,EACxD,WAAW,MAAM,QAAQ,OAAO,GAAG;AAC/B,eAAW,SAAS,SAAS;AACzB,kBAAY,QAAQ,YAAY,QAAQ,QAAQ,MAAM,KAAK;AAAA,IAC/D;AAAA,EACJ,WAAW,OAAO,YAAY,YAAY,YAAY,MAAM;AACxD,QAAI,oBAAoB;AACxB,eAAW,OAAO,SAAS;AACvB,UAAI,IAAI,WAAW,GAAG,GAAG;AACrB,oBAAY,QAAQ,YAAY,QAAQ,KAAK,QAAQ,GAAG,GAAG,MAAM,QAAQ,GAAG,CAAC;AAAA,MACjF,WAAW,CAAC,qBAAqB,WAAW,IAAI,GAAG,GAAG;AAClD,oBAAY,QAAQ,YAAY,QAAQ,QAAQ,MAAM,QAAQ,GAAG,CAAC;AAClE,4BAAoB;AAAA,MACxB;AAAA,IACJ;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,MAAM,yCAAyC;AAAA,EAC7D;AACJ;AAEA,SAAS,eAAe,QAAiB,QAAgC,MAAc,MAAc,SAAiB;AAClH,MAAI,OAAO,KAAK,MAAM,OAAO;AAC7B,MAAI,QAAQ;AACR,WAAO,KAAK,QAAQ,yBAAyB,OAAO;AAAA,EACxD;AAEA,MAAI,KAAK,SAAS,GAAG,GAAG;AAEpB,QAAI,CAAC,KAAK,SAAS,IAAI,GAAG;AACtB,YAAM,IAAI,MAAM,sBAAsB,IAAI,wCAAwC;AAAA,IACtF;AAEA,WAAO,KAAK,UAAU,GAAG,KAAK,SAAS,CAAC;AACxC,UAAM,QAAQ,SAAS,SAAS,KAAK,QAAQ,SAAS,kBAAkB,IAAI,IAAI;AAChF,QAAI,CAAC,MAAM,QAAQ;AACf,YAAM,IAAI,MAAM,uBAAuB,IAAI,YAAY,OAAO,EAAE;AAAA,IACpE;AAEA,UAAM,CAAC,QAAQ,MAAM,IAAI,KAAK,MAAM,KAAK;AACzC,UAAM,eAAe,WAAW,SAAY,IAAI,OAAO;AACvD,UAAM,eAAe,WAAW,SAAY,IAAI,OAAO;AAEvD,eAAW,YAAY,OAAO;AAC1B,YAAM,YAAY,SAAS,UAAU,cAAc,SAAS,SAAS,YAAY;AACjF,YAAM,WAAW,KAAK,MAAM,SAAS;AACrC,aAAO,QAAQ,IAAI;AAAA,IACvB;AAAA,EACJ,WAAW,KAAK,SAAS,GAAG,GAAG;AAE3B,UAAM,IAAI,MAAM,4BAA4B,IAAI,wBAAwB,IAAI,GAAG;AAAA,EACnF,OAAO;AAEH,WAAO,KAAK,QAAQ,uBAAuB,EAAE;AAG7C,QAAI,QAAQ;AACZ,QAAI,OAAO,IAAI,GAAG;AACd,cAAQ;AAAA,IACZ,WAAW,UAAU,KAAK,SAAS,KAAK,GAAG;AACvC,aAAO,KAAK,QAAQ,SAAS,KAAK;AAClC,UAAI,OAAO,IAAI,GAAG;AACd,gBAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,WAAW,IAAI,WAAW,IAAI,aAAa;AAAA,IAC/D;AAEA,WAAO,IAAI,IAAI;AAAA,EACnB;AACJ;",
|
|
5
5
|
"names": ["paths", "find", "path", "result", "exp"]
|
|
6
6
|
}
|
|
@@ -17,7 +17,8 @@ export declare class Progress {
|
|
|
17
17
|
failure(text: string): void;
|
|
18
18
|
info(label: string, value?: any): void;
|
|
19
19
|
warn(text: string): void;
|
|
20
|
-
|
|
20
|
+
close(): void;
|
|
21
|
+
[Symbol.dispose](): void;
|
|
21
22
|
refresh(): void;
|
|
22
23
|
subtask(text: string, fn: () => Promise<void>): Promise<void>;
|
|
23
24
|
run<T>(what: string, fn: () => T | Promise<T>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA8DvC,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAwBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/util/progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA8DvC,qBAAa,QAAQ;;IACjB,MAAM,kBAA2B;;IAWjC,SAAS,CAAC,IAAI,EAAE,OAAO;IAIvB,WAAW,CAAC,IAAI,EAAE,OAAO;IAIzB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO;IAcxD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAwBnC,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,OAAO,CAAC,IAAI,EAAE,MAAM;IAMpB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAO/B,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;IAQL,CAAC,MAAM,CAAC,OAAO,CAAC;IAIhB,OAAO;IAMD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IA2B7C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAwBtD;AAED,yBAAiB,QAAQ,CAAC;IACtB,KAAY,MAAM;QACd,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;QACnB,OAAO,YAAY;KACtB;CACJ"}
|
|
@@ -126,13 +126,16 @@ class Progress {
|
|
|
126
126
|
std.out.write(` ${ansi.yellow("Warning:")} ${text}
|
|
127
127
|
`);
|
|
128
128
|
}
|
|
129
|
-
|
|
129
|
+
close() {
|
|
130
130
|
if (this.#refreshInterval) {
|
|
131
131
|
clearInterval(this.#refreshInterval);
|
|
132
132
|
this.#refreshInterval = void 0;
|
|
133
133
|
}
|
|
134
134
|
writeStatus("");
|
|
135
135
|
}
|
|
136
|
+
[Symbol.dispose]() {
|
|
137
|
+
this.close();
|
|
138
|
+
}
|
|
136
139
|
refresh() {
|
|
137
140
|
if (this.#updateSpinner()) {
|
|
138
141
|
this.#writeOngoing();
|
|
@@ -195,4 +198,4 @@ class Progress {
|
|
|
195
198
|
export {
|
|
196
199
|
Progress
|
|
197
200
|
};
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IHsgc2NyZWVuIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zY3JlZW4uanNcIjtcbmltcG9ydCB7IHN0ZCB9IGZyb20gXCIuLi9hbnNpLXRleHQvc3RkLmpzXCI7XG5pbXBvcnQgeyBhbnNpIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC90ZXh0LWJ1aWxkZXIuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi9wYWNrYWdlLmpzXCI7XG5cbmNvbnN0IFNQSU5ORVIgPSBcIlx1MjVEMFx1MjVEM1x1MjVEMVx1MjVEMlwiOyAvL1wiXHUyODVDXHUyODE0XHUyODIyXHUyOEEzXCI7IC8vW1wiXHUyNkFCXHVGRTBFXCIsIFwiXHUyNkFBXHVGRTBFXCJdOyBcIlx1Mjg0OFx1MjgxNFx1MjgyMlx1Mjg4MVwiO1xuY29uc3QgU1BJTk5FUl9JTlRFUlZBTCA9IDEwMDtcblxuZnVuY3Rpb24gcGFja2FnZUlkZW50aXR5KHBrZzogUGFja2FnZSkge1xuICAgIGxldCBpZGVudGl0eSA9IGFuc2kuYm9sZChwa2cuanNvbi5uYW1lKS50b1N0cmluZygpO1xuICAgIGlmIChwa2cuanNvbi52ZXJzaW9uKSB7XG4gICAgICAgIGlkZW50aXR5ID0gYCR7aWRlbnRpdHl9QCR7cGtnLmpzb24udmVyc2lvbn1gO1xuICAgIH1cbiAgICByZXR1cm4gaWRlbnRpdHk7XG59XG5cbi8qKlxuICogSW50ZXJjZXB0IHdyaXRlcyB0byBzdGRlcnIgYW5kIHN0ZG91dCBzbyB3ZSBjYW4gZW5zdXJlIG91ciB1cGRhdGVzIGFwcGVhciBvbiBkaWZmZXJlbnQgbGluZXMgZnJvbSBvdGhlciBvdXRwdXQuXG4gKi9cbmNvbnN0IHdyaXRlU3RhdHVzID0gKCgpID0+IHtcbiAgICBsZXQgbGFzdFN0YXR1czogdW5kZWZpbmVkIHwgc3RyaW5nO1xuICAgIGxldCBuZWVkTmV3bGluZSA9IGZhbHNlO1xuXG4gICAgZnVuY3Rpb24gaW50ZXJjZXB0KHN0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFdyaXRlID0gc3RyZWFtLndyaXRlO1xuICAgICAgICBzdHJlYW0ud3JpdGUgPSAocGF5bG9hZDogVWludDhBcnJheSB8IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxhc3RTdGF0dXMpIHtcbiAgICAgICAgICAgICAgICBhY3R1YWxXcml0ZS5jYWxsKHN0cmVhbSwgXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXF1aXJlIGEgbmV3bGluZSBmb3Igc3RhdHVzIHVwZGF0ZXMgYW55IHRpbWUgdGhlIGN1cnNvciBkb2VzIG5vdCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgICAgICAgICAgIG5lZWROZXdsaW5lID0gcGF5bG9hZFtwYXlsb2FkLmxlbmd0aCAtIDFdICE9PSBcIlxcblwiICYmIHBheWxvYWRbcGF5bG9hZC5sZW5ndGggLSAxXSAhPT0gXCJcXHJcIjtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBwYXlsb2FkLCAuLi5wYXJhbXMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGludGVyY2VwdChzdGRvdXQpO1xuICAgIGludGVyY2VwdChzdGRlcnIpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdyaXRlU3RhdHVzKHRleHQ6IHN0cmluZywgd2lsbE92ZXJ3cml0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHRleHQgKz0gd2lsbE92ZXJ3cml0ZSA/IGAke3NjcmVlbi5lcmFzZS50b0VvbH1cXHJgIDogYCR7c2NyZWVuLmVyYXNlLnRvRW9sfVxcbmA7XG4gICAgICAgIGlmICh0ZXh0ID09PSBsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdGQub3V0LnN0YXRlKHsgYnVmZmVyOiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmVlZE5ld2xpbmUgJiYgIXRleHQuc3RhcnRzV2l0aChcIlxcblwiKSkge1xuICAgICAgICAgICAgICAgIHN0ZC5vdXQoXCJcXG5cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0ZC5vdXQud3JpdGVUcnVuY2F0ZWQodGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhc3RTdGF0dXMgPSB0ZXh0O1xuICAgIH07XG59KSgpO1xuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3Mge1xuICAgIHN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdGFydHVwO1xuICAgICNvbmdvaW5nVGV4dD86IHN0cmluZztcbiAgICAjc3RhcnQ/OiBudW1iZXI7XG4gICAgI3NwaW5uZXIgPSBcIlx1MjlEN1wiO1xuICAgICNyZWZyZXNoSW50ZXJ2YWw/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gICAgI3NwaW5uZXJQb3NpdGlvbiA9IDA7XG4gICAgI3NwaW5uZXJXaW5kb3c/OiBudW1iZXI7XG4gICAgI3N1YnRhc2tzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuYm9sZChgJHt0ZXh0fWApO1xuICAgIH1cblxuICAgIGRlZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuZGltKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgc2tpcCh3aHk6IHN0cmluZywgcGtnOiBQYWNrYWdlKSB7XG4gICAgICAgIHN0ZC5vdXQud3JpdGUoYW5zaS5kaW0oYFNraXAgJHtwYWNrYWdlSWRlbnRpdHkocGtnKX06ICR7d2h5fVxcblxcbmApKTtcbiAgICB9XG5cbiAgICBzdGFydHVwKHdoYXQ6IHN0cmluZywgcGtnT3JPdmVyd3JpdGU/OiBQYWNrYWdlIHwgYm9vbGVhbikge1xuICAgICAgICBpZiAocHJvY2Vzcy5zdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZVNwaW5uZXIoKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHNldEludGVydmFsKHRoaXMucmVmcmVzaC5iaW5kKHRoaXMpLCBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN0YXJ0dXA7XG4gICAgICAgIGlmIChwa2dPck92ZXJ3cml0ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBwa2dPck92ZXJ3cml0ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgIHdyaXRlU3RhdHVzKHdoYXQsIHBrZ09yT3ZlcndyaXRlID8/IHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JpdGVTdGF0dXMoYCR7d2hhdH0gJHtwYWNrYWdlSWRlbnRpdHkocGtnT3JPdmVyd3JpdGUpfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHRleHQ6IHN0cmluZywgZXh0cmE/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuT25nb2luZztcbiAgICAgICAgbGV0IGR1cmF0aW9uO1xuICAgICAgICBpZiAodGhpcy4jc3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gXCJcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gdGhpcy4jZHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmEgPSBleHRyYSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IGAgJHtleHRyYX1gO1xuICAgICAgICB0aGlzLiNvbmdvaW5nVGV4dCA9IGAke3RleHR9ICR7ZHVyYXRpb259JHtleHRyYX1gO1xuICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICB9XG5cbiAgICAjd3JpdGVPbmdvaW5nKCkge1xuICAgICAgICBpZiAoIXRoaXMuI29uZ29pbmdUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWJ0YXNrID0gdGhpcy4jc3VidGFza3MubGVuZ3RoID8gYW5zaS5kaW0oYCAoJHt0aGlzLiNzdWJ0YXNrc1t0aGlzLiNzdWJ0YXNrcy5sZW5ndGggLSAxXX0pYCkgOiBcIlwiO1xuXG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS55ZWxsb3codGhpcy4jc3Bpbm5lcil9ICR7dGhpcy4jb25nb2luZ1RleHR9JHtzdWJ0YXNrfWAsIHRydWUpO1xuICAgIH1cblxuICAgIHN1Y2Nlc3ModGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN1Y2Nlc3M7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5ncmVlbihcIlx1MjcxM1wiKX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmdUZXh0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5icmlnaHQucmVkKFwiXHUyNzE3XCIpfSAke3RleHR9ICR7dGhpcy4jZHVyYXRpb259YCk7XG4gICAgICAgIHRoaXMuI3N0YXJ0ID0gdGhpcy4jb25nb2luZ1RleHQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaW5mbyhsYWJlbDogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxhYmVsID0gYCR7YW5zaS5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLmRpbShcIlx1MjAyM1wiKX0gJHtsYWJlbH1gKTtcbiAgICB9XG5cbiAgICB3YXJuKHRleHQ6IHN0cmluZykge1xuICAgICAgICBzdGQub3V0LndyaXRlKGAgICAgJHthbnNpLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgc2h1dGRvd24oKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICByZWZyZXNoKCkge1xuICAgICAgICBpZiAodGhpcy4jdXBkYXRlU3Bpbm5lcigpKSB7XG4gICAgICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIHN1YnRhc2sodGV4dDogc3RyaW5nLCBmbjogKCkgPT4gUHJvbWlzZTx2b2lkPikge1xuICAgICAgICB0aGlzLiNzdWJ0YXNrcy5wdXNoKHRleHQpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBmbigpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy4jc3VidGFza3MucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdXBkYXRlU3Bpbm5lcigpIHtcbiAgICAgICAgaWYgKCFzdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHdpbmRvdyA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgaWYgKHRoaXMuI3NwaW5uZXJXaW5kb3cgPT09IHdpbmRvdykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI3NwaW5uZXJXaW5kb3cgPSB3aW5kb3c7XG5cbiAgICAgICAgdGhpcy4jc3Bpbm5lclBvc2l0aW9uID0gKHRoaXMuI3NwaW5uZXJQb3NpdGlvbiArIDEpICUgU1BJTk5FUi5sZW5ndGg7XG4gICAgICAgIHRoaXMuI3NwaW5uZXIgPSBTUElOTkVSW3RoaXMuI3NwaW5uZXJQb3NpdGlvbl07XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXN5bmMgcnVuPFQ+KHdoYXQ6IHN0cmluZywgZm46ICgpID0+IFQgfCBQcm9taXNlPFQ+KSB7XG4gICAgICAgIHRoaXMudXBkYXRlKHdoYXQpO1xuICAgICAgICBsZXQgcmVzdWx0OiBUO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgZm4oKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5mYWlsdXJlKHdoYXQpO1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN1Y2Nlc3Mod2hhdCk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0ICNkdXJhdGlvbigpIHtcbiAgICAgICAgbGV0IG1zID0gdGhpcy4jc3RhcnQgPyBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuI3N0YXJ0IDogMDtcbiAgICAgICAgaWYgKG1zIDwgMTAwMCkge1xuICAgICAgICAgICAgbXMgPSBNYXRoLnJvdW5kKG1zIC8gMTApIC8gMTAwO1xuICAgICAgICB9IGVsc2UgaWYgKG1zIDwgMTAwMDApIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC5yb3VuZChtcyAvIDEwMCkgLyAxMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC50cnVuYyhtcyAvIDEwMDApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHthbnNpLmRpbS55ZWxsb3d9KCR7bXN9cykke2Fuc2kubm90LmRpbS5ub3QueWVsbG93fWA7XG4gICAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByb2dyZXNzIHtcbiAgICBleHBvcnQgZW51bSBTdGF0dXMge1xuICAgICAgICBTdGFydHVwID0gXCJzdGFydHVwXCIsXG4gICAgICAgIE9uZ29pbmcgPSBcIm9uZ29pbmdcIixcbiAgICAgICAgU3VjY2VzcyA9IFwic3VjY2Vzc1wiLFxuICAgICAgICBGYWlsdXJlID0gXCJmYWlsdXJlXCIsXG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLFNBQVMsUUFBUSxjQUFjO0FBQy9CLFNBQVMsY0FBYztBQUN2QixTQUFTLFdBQVc7QUFDcEIsU0FBUyxZQUFZO0FBR3JCLE1BQU0sVUFBVTtBQUNoQixNQUFNLG1CQUFtQjtBQUV6QixTQUFTLGdCQUFnQixLQUFjO0FBQ25DLE1BQUksV0FBVyxLQUFLLEtBQUssSUFBSSxLQUFLLElBQUksRUFBRSxTQUFTO0FBQ2pELE1BQUks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LEtBQUssZ0JBQWdCO0FBQ25DLFdBQUssbUJBQW1CO0FBQUEsSUFDNUI7QUFDQSxnQkFBWSxFQUFFO0FBQUEsRUFDbEI7QUFBQSxFQUVBLFVBQVU7QUFDTixRQUFJLEtBQUssZUFBZSxHQUFHO0FBQ3ZCLFdBQUssY0FBYztBQUFBLElBQ3ZCO0FBQUEsRUFDSjtBQUFBLEVBRUEsTUFBTSxRQUFRLE1BQWMsSUFBeUI7QUFDakQsU0FBSyxVQUFVLEtBQUssSUFBSTtBQUV4QixRQUFJO0FBQ0EsWUFBTSxHQUFHO0FBQUEsSUFDYixVQUFFO0FBQ0UsV0FBSyxVQUFVLElBQUk7QUFBQSxJQUN2QjtBQUFBLEVBQ0o7QUFBQSxFQUVBLGlCQUFpQjtBQUNiLFFBQUksQ0FBQyxPQUFPLE9BQU87QUFDZixhQUFPO0FBQUEsSUFDWDtBQUVBLFVBQU0sU0FBUyxLQUFLLE9BQU0sb0JBQUksS0FBSyxHQUFFLFFBQVEsSUFBSSxnQkFBZ0I7QUFDakUsUUFBSSxLQUFLLG1CQUFtQixRQUFRO0FBQ2hDLGFBQU87QUFBQSxJQUNYO0FBQ0EsU0FBSyxpQkFBaUI7QUFFdEIsU0FBSyxvQkFBb0IsS0FBSyxtQkFBbUIsS0FBSyxRQUFRO0FBQzlELFNBQUssV0FBVyxRQUFRLEtBQUssZ0JBQWdCO0FBRTdDLFdBQU87QUFBQSxFQUNYO0FBQUEsRUFFQSxNQUFNLElBQU8sTUFBYyxJQUEwQjtBQUNqRCxTQUFLLE9BQU8sSUFBSTtBQUNoQixRQUFJO0FBQ0osUUFBSTtBQUNBLGVBQVMsTUFBTSxHQUFHO0FBQUEsSUFDdEIsU0FBUyxHQUFHO0FBQ1IsV0FBSyxRQUFRLElBQUk7QUFDakIsWUFBTTtBQUFBLElBQ1Y7QUFDQSxTQUFLLFFBQVEsSUFBSTtBQUNqQixXQUFPO0FBQUEsRUFDWDtBQUFBLEVBRUEsSUFBSSxZQUFZO0FBQ1osUUFBSSxLQUFLLEtBQUssVUFBUyxvQkFBSSxLQUFLLEdBQUUsUUFBUSxJQUFJLEtBQUssU0FBUztBQUM1RCxRQUFJLEtBQUssS0FBTTtBQUNYLFdBQUssS0FBSyxNQUFNLEtBQUssRUFBRSxJQUFJO0FBQUEsSUFDL0IsV0FBVyxLQUFLLEtBQU87QUFDbkIsV0FBSyxLQUFLLE1BQU0sS0FBSyxHQUFHLElBQUk7QUFBQSxJQUNoQyxPQUFPO0FBQ0gsV0FBSyxLQUFLLE1BQU0sS0FBSyxHQUFJO0FBQUEsSUFDN0I7QUFDQSxXQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sSUFBSSxFQUFFLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNO0FBQUEsRUFDL0Q7QUFDSjtBQUFBLENBRU8sQ0FBVUMsY0FBVjtBQUNJLE1BQUs7QUFBTCxJQUFLQyxZQUFMO0FBQ0gsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQ1YsSUFBQUEsUUFBQSxhQUFVO0FBQUEsS0FKRixTQUFBRCxVQUFBLFdBQUFBLFVBQUE7QUFBQSxHQURDOyIsCiAgIm5hbWVzIjogWyJ3cml0ZVN0YXR1cyIsICJQcm9ncmVzcyIsICJTdGF0dXMiXQp9Cg==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvZ3Jlc3MudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIyLTIwMjUgTWF0dGVyLmpzIEF1dGhvcnNcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgc3RkZXJyLCBzdGRvdXQgfSBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IHsgc2NyZWVuIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC9zY3JlZW4uanNcIjtcbmltcG9ydCB7IHN0ZCB9IGZyb20gXCIuLi9hbnNpLXRleHQvc3RkLmpzXCI7XG5pbXBvcnQgeyBhbnNpIH0gZnJvbSBcIi4uL2Fuc2ktdGV4dC90ZXh0LWJ1aWxkZXIuanNcIjtcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tIFwiLi9wYWNrYWdlLmpzXCI7XG5cbmNvbnN0IFNQSU5ORVIgPSBcIlx1MjVEMFx1MjVEM1x1MjVEMVx1MjVEMlwiOyAvL1wiXHUyODVDXHUyODE0XHUyODIyXHUyOEEzXCI7IC8vW1wiXHUyNkFCXHVGRTBFXCIsIFwiXHUyNkFBXHVGRTBFXCJdOyBcIlx1Mjg0OFx1MjgxNFx1MjgyMlx1Mjg4MVwiO1xuY29uc3QgU1BJTk5FUl9JTlRFUlZBTCA9IDEwMDtcblxuZnVuY3Rpb24gcGFja2FnZUlkZW50aXR5KHBrZzogUGFja2FnZSkge1xuICAgIGxldCBpZGVudGl0eSA9IGFuc2kuYm9sZChwa2cuanNvbi5uYW1lKS50b1N0cmluZygpO1xuICAgIGlmIChwa2cuanNvbi52ZXJzaW9uKSB7XG4gICAgICAgIGlkZW50aXR5ID0gYCR7aWRlbnRpdHl9QCR7cGtnLmpzb24udmVyc2lvbn1gO1xuICAgIH1cbiAgICByZXR1cm4gaWRlbnRpdHk7XG59XG5cbi8qKlxuICogSW50ZXJjZXB0IHdyaXRlcyB0byBzdGRlcnIgYW5kIHN0ZG91dCBzbyB3ZSBjYW4gZW5zdXJlIG91ciB1cGRhdGVzIGFwcGVhciBvbiBkaWZmZXJlbnQgbGluZXMgZnJvbSBvdGhlciBvdXRwdXQuXG4gKi9cbmNvbnN0IHdyaXRlU3RhdHVzID0gKCgpID0+IHtcbiAgICBsZXQgbGFzdFN0YXR1czogdW5kZWZpbmVkIHwgc3RyaW5nO1xuICAgIGxldCBuZWVkTmV3bGluZSA9IGZhbHNlO1xuXG4gICAgZnVuY3Rpb24gaW50ZXJjZXB0KHN0cmVhbTogTm9kZUpTLldyaXRlU3RyZWFtKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbFdyaXRlID0gc3RyZWFtLndyaXRlO1xuICAgICAgICBzdHJlYW0ud3JpdGUgPSAocGF5bG9hZDogVWludDhBcnJheSB8IHN0cmluZywgLi4ucGFyYW1zOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGxhc3RTdGF0dXMpIHtcbiAgICAgICAgICAgICAgICBhY3R1YWxXcml0ZS5jYWxsKHN0cmVhbSwgXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBSZXF1aXJlIGEgbmV3bGluZSBmb3Igc3RhdHVzIHVwZGF0ZXMgYW55IHRpbWUgdGhlIGN1cnNvciBkb2VzIG5vdCBlbmQgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmVcbiAgICAgICAgICAgIG5lZWROZXdsaW5lID0gcGF5bG9hZFtwYXlsb2FkLmxlbmd0aCAtIDFdICE9PSBcIlxcblwiICYmIHBheWxvYWRbcGF5bG9hZC5sZW5ndGggLSAxXSAhPT0gXCJcXHJcIjtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdHVhbFdyaXRlLmNhbGwoc3RyZWFtLCBwYXlsb2FkLCAuLi5wYXJhbXMpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGludGVyY2VwdChzdGRvdXQpO1xuICAgIGludGVyY2VwdChzdGRlcnIpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHdyaXRlU3RhdHVzKHRleHQ6IHN0cmluZywgd2lsbE92ZXJ3cml0ZSA9IGZhbHNlKSB7XG4gICAgICAgIHRleHQgKz0gd2lsbE92ZXJ3cml0ZSA/IGAke3NjcmVlbi5lcmFzZS50b0VvbH1cXHJgIDogYCR7c2NyZWVuLmVyYXNlLnRvRW9sfVxcbmA7XG4gICAgICAgIGlmICh0ZXh0ID09PSBsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzdGQub3V0LnN0YXRlKHsgYnVmZmVyOiB0cnVlIH0sICgpID0+IHtcbiAgICAgICAgICAgIGlmIChsYXN0U3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgbGFzdFN0YXR1cyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmVlZE5ld2xpbmUgJiYgIXRleHQuc3RhcnRzV2l0aChcIlxcblwiKSkge1xuICAgICAgICAgICAgICAgIHN0ZC5vdXQoXCJcXG5cIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0ZC5vdXQud3JpdGVUcnVuY2F0ZWQodGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxhc3RTdGF0dXMgPSB0ZXh0O1xuICAgIH07XG59KSgpO1xuXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3Mge1xuICAgIHN0YXR1cyA9IFByb2dyZXNzLlN0YXR1cy5TdGFydHVwO1xuICAgICNvbmdvaW5nVGV4dD86IHN0cmluZztcbiAgICAjc3RhcnQ/OiBudW1iZXI7XG4gICAgI3NwaW5uZXIgPSBcIlx1MjlEN1wiO1xuICAgICNyZWZyZXNoSW50ZXJ2YWw/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG4gICAgI3NwaW5uZXJQb3NpdGlvbiA9IDA7XG4gICAgI3NwaW5uZXJXaW5kb3c/OiBudW1iZXI7XG4gICAgI3N1YnRhc2tzID0gQXJyYXk8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuYm9sZChgJHt0ZXh0fWApO1xuICAgIH1cblxuICAgIGRlZW1waGFzaXplKHRleHQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGFuc2kuZGltKGAke3RleHR9YCk7XG4gICAgfVxuXG4gICAgc2tpcCh3aHk6IHN0cmluZywgcGtnOiBQYWNrYWdlKSB7XG4gICAgICAgIHN0ZC5vdXQud3JpdGUoYW5zaS5kaW0oYFNraXAgJHtwYWNrYWdlSWRlbnRpdHkocGtnKX06ICR7d2h5fVxcblxcbmApKTtcbiAgICB9XG5cbiAgICBzdGFydHVwKHdoYXQ6IHN0cmluZywgcGtnT3JPdmVyd3JpdGU/OiBQYWNrYWdlIHwgYm9vbGVhbikge1xuICAgICAgICBpZiAocHJvY2Vzcy5zdGRvdXQuaXNUVFkpIHtcbiAgICAgICAgICAgIHRoaXMuI3VwZGF0ZVNwaW5uZXIoKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHNldEludGVydmFsKHRoaXMucmVmcmVzaC5iaW5kKHRoaXMpLCBTUElOTkVSX0lOVEVSVkFMKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN0YXJ0dXA7XG4gICAgICAgIGlmIChwa2dPck92ZXJ3cml0ZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBwa2dPck92ZXJ3cml0ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgIHdyaXRlU3RhdHVzKHdoYXQsIHBrZ09yT3ZlcndyaXRlID8/IHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JpdGVTdGF0dXMoYCR7d2hhdH0gJHtwYWNrYWdlSWRlbnRpdHkocGtnT3JPdmVyd3JpdGUpfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHRleHQ6IHN0cmluZywgZXh0cmE/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBQcm9ncmVzcy5TdGF0dXMuT25nb2luZztcbiAgICAgICAgbGV0IGR1cmF0aW9uO1xuICAgICAgICBpZiAodGhpcy4jc3RhcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jc3RhcnQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gXCJcIjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGR1cmF0aW9uID0gdGhpcy4jZHVyYXRpb247XG4gICAgICAgIH1cbiAgICAgICAgZXh0cmEgPSBleHRyYSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IGAgJHtleHRyYX1gO1xuICAgICAgICB0aGlzLiNvbmdvaW5nVGV4dCA9IGAke3RleHR9ICR7ZHVyYXRpb259JHtleHRyYX1gO1xuICAgICAgICB0aGlzLiN3cml0ZU9uZ29pbmcoKTtcbiAgICB9XG5cbiAgICAjd3JpdGVPbmdvaW5nKCkge1xuICAgICAgICBpZiAoIXRoaXMuI29uZ29pbmdUZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdWJ0YXNrID0gdGhpcy4jc3VidGFza3MubGVuZ3RoID8gYW5zaS5kaW0oYCAoJHt0aGlzLiNzdWJ0YXNrc1t0aGlzLiNzdWJ0YXNrcy5sZW5ndGggLSAxXX0pYCkgOiBcIlwiO1xuXG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS55ZWxsb3codGhpcy4jc3Bpbm5lcil9ICR7dGhpcy4jb25nb2luZ1RleHR9JHtzdWJ0YXNrfWAsIHRydWUpO1xuICAgIH1cblxuICAgIHN1Y2Nlc3ModGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLlN1Y2Nlc3M7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5ncmVlbihcIlx1MjcxM1wiKX0gJHt0ZXh0fSAke3RoaXMuI2R1cmF0aW9ufWApO1xuICAgICAgICB0aGlzLiNzdGFydCA9IHRoaXMuI29uZ29pbmdUZXh0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGZhaWx1cmUodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gUHJvZ3Jlc3MuU3RhdHVzLkZhaWx1cmU7XG4gICAgICAgIHdyaXRlU3RhdHVzKGAgICR7YW5zaS5icmlnaHQucmVkKFwiXHUyNzE3XCIpfSAke3RleHR9ICR7dGhpcy4jZHVyYXRpb259YCk7XG4gICAgICAgIHRoaXMuI3N0YXJ0ID0gdGhpcy4jb25nb2luZ1RleHQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaW5mbyhsYWJlbDogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGxhYmVsID0gYCR7YW5zaS5kaW0obGFiZWwpfSAke3ZhbHVlfWA7XG4gICAgICAgIH1cbiAgICAgICAgd3JpdGVTdGF0dXMoYCAgJHthbnNpLmRpbShcIlx1MjAyM1wiKX0gJHtsYWJlbH1gKTtcbiAgICB9XG5cbiAgICB3YXJuKHRleHQ6IHN0cmluZykge1xuICAgICAgICBzdGQub3V0LndyaXRlKGAgICAgJHthbnNpLnllbGxvdyhcIldhcm5pbmc6XCIpfSAke3RleHR9XFxuYCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLiNyZWZyZXNoSW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy4jcmVmcmVzaEludGVydmFsKTtcbiAgICAgICAgICAgIHRoaXMuI3JlZnJlc2hJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB3cml0ZVN0YXR1cyhcIlwiKTtcbiAgICB9XG5cbiAgICBbU3ltYm9sLmRpc3Bvc2VdKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcmVmcmVzaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuI3VwZGF0ZVNwaW5uZXIoKSkge1xuICAgICAgICAgICAgdGhpcy4jd3JpdGVPbmdvaW5nKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBzdWJ0YXNrKHRleHQ6IHN0cmluZywgZm46ICgpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgICAgICAgdGhpcy4jc3VidGFza3MucHVzaCh0ZXh0KTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgZm4oKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuI3N1YnRhc2tzLnBvcCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3VwZGF0ZVNwaW5uZXIoKSB7XG4gICAgICAgIGlmICghc3Rkb3V0LmlzVFRZKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB3aW5kb3cgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gU1BJTk5FUl9JTlRFUlZBTCk7XG4gICAgICAgIGlmICh0aGlzLiNzcGlubmVyV2luZG93ID09PSB3aW5kb3cpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNzcGlubmVyV2luZG93ID0gd2luZG93O1xuXG4gICAgICAgIHRoaXMuI3NwaW5uZXJQb3NpdGlvbiA9ICh0aGlzLiNzcGlubmVyUG9zaXRpb24gKyAxKSAlIFNQSU5ORVIubGVuZ3RoO1xuICAgICAgICB0aGlzLiNzcGlubmVyID0gU1BJTk5FUlt0aGlzLiNzcGlubmVyUG9zaXRpb25dO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGFzeW5jIHJ1bjxUPih3aGF0OiBzdHJpbmcsIGZuOiAoKSA9PiBUIHwgUHJvbWlzZTxUPikge1xuICAgICAgICB0aGlzLnVwZGF0ZSh3aGF0KTtcbiAgICAgICAgbGV0IHJlc3VsdDogVDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGF3YWl0IGZuKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmFpbHVyZSh3aGF0KTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdWNjZXNzKHdoYXQpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldCAjZHVyYXRpb24oKSB7XG4gICAgICAgIGxldCBtcyA9IHRoaXMuI3N0YXJ0ID8gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSB0aGlzLiNzdGFydCA6IDA7XG4gICAgICAgIGlmIChtcyA8IDEwMDApIHtcbiAgICAgICAgICAgIG1zID0gTWF0aC5yb3VuZChtcyAvIDEwKSAvIDEwMDtcbiAgICAgICAgfSBlbHNlIGlmIChtcyA8IDEwMDAwKSB7XG4gICAgICAgICAgICBtcyA9IE1hdGgucm91bmQobXMgLyAxMDApIC8gMTA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtcyA9IE1hdGgudHJ1bmMobXMgLyAxMDAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7YW5zaS5kaW0ueWVsbG93fSgke21zfXMpJHthbnNpLm5vdC5kaW0ubm90LnllbGxvd31gO1xuICAgIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcm9ncmVzcyB7XG4gICAgZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICAgICAgU3RhcnR1cCA9IFwic3RhcnR1cFwiLFxuICAgICAgICBPbmdvaW5nID0gXCJvbmdvaW5nXCIsXG4gICAgICAgIFN1Y2Nlc3MgPSBcInN1Y2Nlc3NcIixcbiAgICAgICAgRmFpbHVyZSA9IFwiZmFpbHVyZVwiLFxuICAgIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLFFBQVEsY0FBYztBQUMvQixTQUFTLGNBQWM7QUFDdkIsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsWUFBWTtBQUdyQixNQUFNLFVBQVU7QUFDaEIsTUFBTSxtQkFBbUI7QUFFekIsU0FBUyxnQkFBZ0IsS0FBYztBQUNuQyxN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LEtBQUssS0FBSyxVQUFTLG9CQUFJLEtBQUssR0FBRSxRQUFRLElBQUksS0FBSyxTQUFTO0FBQzVELFFBQUksS0FBSyxLQUFNO0FBQ1gsV0FBSyxLQUFLLE1BQU0sS0FBSyxFQUFFLElBQUk7QUFBQSxJQUMvQixXQUFXLEtBQUssS0FBTztBQUNuQixXQUFLLEtBQUssTUFBTSxLQUFLLEdBQUcsSUFBSTtBQUFBLElBQ2hDLE9BQU87QUFDSCxXQUFLLEtBQUssTUFBTSxLQUFLLEdBQUk7QUFBQSxJQUM3QjtBQUNBLFdBQU8sR0FBRyxLQUFLLElBQUksTUFBTSxJQUFJLEVBQUUsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLE1BQU07QUFBQSxFQUMvRDtBQUNKO0FBQUEsQ0FFTyxDQUFVQyxjQUFWO0FBQ0ksTUFBSztBQUFMLElBQUtDLFlBQUw7QUFDSCxJQUFBQSxRQUFBLGFBQVU7QUFDVixJQUFBQSxRQUFBLGFBQVU7QUFDVixJQUFBQSxRQUFBLGFBQVU7QUFDVixJQUFBQSxRQUFBLGFBQVU7QUFBQSxLQUpGLFNBQUFELFVBQUEsV0FBQUEsVUFBQTtBQUFBLEdBREM7IiwKICAibmFtZXMiOiBbIndyaXRlU3RhdHVzIiwgIlByb2dyZXNzIiwgIlN0YXR1cyJdCn0K
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/util/progress.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["writeStatus", "Progress", "Status"]
|
|
6
6
|
}
|
|
@@ -25,9 +25,9 @@ async function main(argv = process.argv) {
|
|
|
25
25
|
if (args.tag) {
|
|
26
26
|
await progress.run(`Tagging version ${progress.emphasize(versioner.version)}`, () => versioner.tag());
|
|
27
27
|
}
|
|
28
|
-
progress.
|
|
28
|
+
progress.close();
|
|
29
29
|
}
|
|
30
30
|
export {
|
|
31
31
|
main
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZlcnNpb25pbmcvY2xpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI1IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IGNvbW1hbmRlciB9IGZyb20gXCIuLi91dGlsL2NvbW1hbmRlci5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuLi91dGlsL3BhY2thZ2UuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZ3Jlc3MuanNcIjtcbmltcG9ydCB7IFZlcnNpb25lciB9IGZyb20gXCIuL3ZlcnNpb25lci5qc1wiO1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgc2V0PzogYm9vbGVhbjtcbiAgICBhcHBseT86IGJvb2xlYW47XG4gICAgdGFnPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oYXJndiA9IHByb2Nlc3MuYXJndikge1xuICAgIGNvbnN0IHByb2dyYW0gPSBjb21tYW5kZXIoXCJtYXR0ZXItdmVyc2lvblwiLCBcIk1hbmlwdWxhdGUgbW9ub3JlcG8gcGFja2FnZSB2ZXJzaW9ucy5cIilcbiAgICAgICAgLmFyZ3VtZW50KFwiW3ZlcnNpb25dXCIpXG4gICAgICAgIC5vcHRpb24oXCItcCwgLS1wcmVmaXggPHByZWZpeD5cIiwgXCJzcGVjaWZ5IG1vbm9yZXBvIGRpcmVjdG9yeVwiKVxuICAgICAgICAub3B0aW9uKFwiLXMsIC0tc2V0XCIsIFwic2V0cyB0aGUgcmVsZWFzZSB2ZXJzaW9uXCIpXG4gICAgICAgIC5vcHRpb24oXCItYSwgLS1hcHBseVwiLCBcInNldHMgcGFja2FnZSB2ZXJzaW9ucyB0byB0aGUgcmVsZWFzZSB2ZXJzaW9uXCIpXG4gICAgICAgIC5vcHRpb24oXCItdCwgLS10YWdcIiwgXCJhZGRzIGdpdCB0YWcgZm9yIHJlbGVhc2UgdmVyc2lvblwiKVxuICAgICAgICAucGFyc2UoYXJndik7XG5cbiAgICBjb25zdCBhcmdzID0gcHJvZ3JhbS5vcHRzPEFyZ3M+KCk7XG4gICAgYXJncy52ZXJzaW9uID0gcHJvZ3JhbS5hcmdzWzBdO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IGFyZ3MudmVyc2lvbjtcbiAgICBjb25zdCBwa2cgPSBuZXcgUGFja2FnZSh7IHBhdGg6IGFyZ3MucHJlZml4IH0pO1xuICAgIGNvbnN0IHZlcnNpb25lciA9IG5ldyBWZXJzaW9uZXIocGtnLCB2ZXJzaW9uKTtcblxuICAgIGNvbnN0IHByb2dyZXNzID0gbmV3IFByb2dyZXNzKCk7XG5cbiAgICBwcm9ncmVzcy5zdGFydHVwKGBSZWxlYXNlICR7dmVyc2lvbmVyLnZlcnNpb259YCwgdmVyc2lvbmVyLnBrZyk7XG4gICAgaWYgKGFyZ3Muc2V0KSB7XG4gICAgICAgIGF3YWl0IHByb2dyZXNzLnJ1bihgU2V0IHZlcnNpb24gdG8gJHtwcm9ncmVzcy5lbXBoYXNpemUodmVyc2lvbmVyLnZlcnNpb24pfWAsICgpID0+IHZlcnNpb25lci5zZXQoKSk7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3MuYXBwbHkpIHtcbiAgICAgICAgYXdhaXQgdmVyc2lvbmVyLmFwcGx5KHByb2dyZXNzKTtcbiAgICB9XG5cbiAgICBpZiAoYXJncy50YWcpIHtcbiAgICAgICAgYXdhaXQgcHJvZ3Jlc3MucnVuKGBUYWdnaW5nIHZlcnNpb24gJHtwcm9ncmVzcy5lbXBoYXNpemUodmVyc2lvbmVyLnZlcnNpb24pfWAsICgpID0+
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3ZlcnNpb25pbmcvY2xpLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMi0yMDI1IE1hdHRlci5qcyBBdXRob3JzXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuICovXG5cbmltcG9ydCB7IGNvbW1hbmRlciB9IGZyb20gXCIuLi91dGlsL2NvbW1hbmRlci5qc1wiO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gXCIuLi91dGlsL3BhY2thZ2UuanNcIjtcbmltcG9ydCB7IFByb2dyZXNzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZ3Jlc3MuanNcIjtcbmltcG9ydCB7IFZlcnNpb25lciB9IGZyb20gXCIuL3ZlcnNpb25lci5qc1wiO1xuXG5pbnRlcmZhY2UgQXJncyB7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgc2V0PzogYm9vbGVhbjtcbiAgICBhcHBseT86IGJvb2xlYW47XG4gICAgdGFnPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oYXJndiA9IHByb2Nlc3MuYXJndikge1xuICAgIGNvbnN0IHByb2dyYW0gPSBjb21tYW5kZXIoXCJtYXR0ZXItdmVyc2lvblwiLCBcIk1hbmlwdWxhdGUgbW9ub3JlcG8gcGFja2FnZSB2ZXJzaW9ucy5cIilcbiAgICAgICAgLmFyZ3VtZW50KFwiW3ZlcnNpb25dXCIpXG4gICAgICAgIC5vcHRpb24oXCItcCwgLS1wcmVmaXggPHByZWZpeD5cIiwgXCJzcGVjaWZ5IG1vbm9yZXBvIGRpcmVjdG9yeVwiKVxuICAgICAgICAub3B0aW9uKFwiLXMsIC0tc2V0XCIsIFwic2V0cyB0aGUgcmVsZWFzZSB2ZXJzaW9uXCIpXG4gICAgICAgIC5vcHRpb24oXCItYSwgLS1hcHBseVwiLCBcInNldHMgcGFja2FnZSB2ZXJzaW9ucyB0byB0aGUgcmVsZWFzZSB2ZXJzaW9uXCIpXG4gICAgICAgIC5vcHRpb24oXCItdCwgLS10YWdcIiwgXCJhZGRzIGdpdCB0YWcgZm9yIHJlbGVhc2UgdmVyc2lvblwiKVxuICAgICAgICAucGFyc2UoYXJndik7XG5cbiAgICBjb25zdCBhcmdzID0gcHJvZ3JhbS5vcHRzPEFyZ3M+KCk7XG4gICAgYXJncy52ZXJzaW9uID0gcHJvZ3JhbS5hcmdzWzBdO1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IGFyZ3MudmVyc2lvbjtcbiAgICBjb25zdCBwa2cgPSBuZXcgUGFja2FnZSh7IHBhdGg6IGFyZ3MucHJlZml4IH0pO1xuICAgIGNvbnN0IHZlcnNpb25lciA9IG5ldyBWZXJzaW9uZXIocGtnLCB2ZXJzaW9uKTtcblxuICAgIGNvbnN0IHByb2dyZXNzID0gbmV3IFByb2dyZXNzKCk7XG5cbiAgICBwcm9ncmVzcy5zdGFydHVwKGBSZWxlYXNlICR7dmVyc2lvbmVyLnZlcnNpb259YCwgdmVyc2lvbmVyLnBrZyk7XG4gICAgaWYgKGFyZ3Muc2V0KSB7XG4gICAgICAgIGF3YWl0IHByb2dyZXNzLnJ1bihgU2V0IHZlcnNpb24gdG8gJHtwcm9ncmVzcy5lbXBoYXNpemUodmVyc2lvbmVyLnZlcnNpb24pfWAsICgpID0+IHZlcnNpb25lci5zZXQoKSk7XG4gICAgfVxuXG4gICAgaWYgKGFyZ3MuYXBwbHkpIHtcbiAgICAgICAgYXdhaXQgdmVyc2lvbmVyLmFwcGx5KHByb2dyZXNzKTtcbiAgICB9XG5cbiAgICBpZiAoYXJncy50YWcpIHtcbiAgICAgICAgYXdhaXQgcHJvZ3Jlc3MucnVuKGBUYWdnaW5nIHZlcnNpb24gJHtwcm9ncmVzcy5lbXBoYXNpemUodmVyc2lvbmVyLnZlcnNpb24pfWAsICgpID0+IHZlcnNpb25lci50YWcoKSk7XG4gICAgfVxuXG4gICAgcHJvZ3Jlc3MuY2xvc2UoKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLGVBQWU7QUFDeEIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxpQkFBaUI7QUFVMUIsZUFBc0IsS0FBSyxPQUFPLFFBQVEsTUFBTTtBQUM1QyxRQUFNLFVBQVUsVUFBVSxrQkFBa0IsdUNBQXVDLEVBQzlFLFNBQVMsV0FBVyxFQUNwQixPQUFPLHlCQUF5Qiw0QkFBNEIsRUFDNUQsT0FBTyxhQUFhLDBCQUEwQixFQUM5QyxPQUFPLGVBQWUsOENBQThDLEVBQ3BFLE9BQU8sYUFBYSxrQ0FBa0MsRUFDdEQsTUFBTSxJQUFJO0FBRWYsUUFBTSxPQUFPLFFBQVEsS0FBVztBQUNoQyxPQUFLLFVBQVUsUUFBUSxLQUFLLENBQUM7QUFFN0IsUUFBTSxVQUFVLEtBQUs7QUFDckIsUUFBTSxNQUFNLElBQUksUUFBUSxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUM7QUFDN0MsUUFBTSxZQUFZLElBQUksVUFBVSxLQUFLLE9BQU87QUFFNUMsUUFBTSxXQUFXLElBQUksU0FBUztBQUU5QixXQUFTLFFBQVEsV0FBVyxVQUFVLE9BQU8sSUFBSSxVQUFVLEdBQUc7QUFDOUQsTUFBSSxLQUFLLEtBQUs7QUFDVixVQUFNLFNBQVMsSUFBSSxrQkFBa0IsU0FBUyxVQUFVLFVBQVUsT0FBTyxDQUFDLElBQUksTUFBTSxVQUFVLElBQUksQ0FBQztBQUFBLEVBQ3ZHO0FBRUEsTUFBSSxLQUFLLE9BQU87QUFDWixVQUFNLFVBQVUsTUFBTSxRQUFRO0FBQUEsRUFDbEM7QUFFQSxNQUFJLEtBQUssS0FBSztBQUNWLFVBQU0sU0FBUyxJQUFJLG1CQUFtQixTQUFTLFVBQVUsVUFBVSxPQUFPLENBQUMsSUFBSSxNQUFNLFVBQVUsSUFBSSxDQUFDO0FBQUEsRUFDeEc7QUFFQSxXQUFTLE1BQU07QUFDbkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/versioning/cli.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAU1B,eAAsB,KAAK,OAAO,QAAQ,MAAM;AAC5C,QAAM,UAAU,UAAU,kBAAkB,uCAAuC,EAC9E,SAAS,WAAW,EACpB,OAAO,yBAAyB,4BAA4B,EAC5D,OAAO,aAAa,0BAA0B,EAC9C,OAAO,eAAe,8CAA8C,EACpE,OAAO,aAAa,kCAAkC,EACtD,MAAM,IAAI;AAEf,QAAM,OAAO,QAAQ,KAAW;AAChC,OAAK,UAAU,QAAQ,KAAK,CAAC;AAE7B,QAAM,UAAU,KAAK;AACrB,QAAM,MAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAC7C,QAAM,YAAY,IAAI,UAAU,KAAK,OAAO;AAE5C,QAAM,WAAW,IAAI,SAAS;AAE9B,WAAS,QAAQ,WAAW,UAAU,OAAO,IAAI,UAAU,GAAG;AAC9D,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,kBAAkB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACvG;AAEA,MAAI,KAAK,OAAO;AACZ,UAAM,UAAU,MAAM,QAAQ;AAAA,EAClC;AAEA,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,mBAAmB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACxG;AAEA,WAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,iBAAiB;AAC1B,SAAS,eAAe;AACxB,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAU1B,eAAsB,KAAK,OAAO,QAAQ,MAAM;AAC5C,QAAM,UAAU,UAAU,kBAAkB,uCAAuC,EAC9E,SAAS,WAAW,EACpB,OAAO,yBAAyB,4BAA4B,EAC5D,OAAO,aAAa,0BAA0B,EAC9C,OAAO,eAAe,8CAA8C,EACpE,OAAO,aAAa,kCAAkC,EACtD,MAAM,IAAI;AAEf,QAAM,OAAO,QAAQ,KAAW;AAChC,OAAK,UAAU,QAAQ,KAAK,CAAC;AAE7B,QAAM,UAAU,KAAK;AACrB,QAAM,MAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;AAC7C,QAAM,YAAY,IAAI,UAAU,KAAK,OAAO;AAE5C,QAAM,WAAW,IAAI,SAAS;AAE9B,WAAS,QAAQ,WAAW,UAAU,OAAO,IAAI,UAAU,GAAG;AAC9D,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,kBAAkB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACvG;AAEA,MAAI,KAAK,OAAO;AACZ,UAAM,UAAU,MAAM,QAAQ;AAAA,EAClC;AAEA,MAAI,KAAK,KAAK;AACV,UAAM,SAAS,IAAI,mBAAmB,SAAS,UAAU,UAAU,OAAO,CAAC,IAAI,MAAM,UAAU,IAAI,CAAC;AAAA,EACxG;AAEA,WAAS,MAAM;AACnB;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/tools",
|
|
3
|
-
"version": "0.12.4-alpha.0-
|
|
3
|
+
"version": "0.12.4-alpha.0-20250213-1187f81eb",
|
|
4
4
|
"description": "Matter.js tooling",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://github.com/project-chip/matter.js#readme",
|
|
60
60
|
"dependencies": {
|
|
61
|
+
"@microsoft/tsdoc": "^0.15.1",
|
|
61
62
|
"ansi-colors": "^4.1.3",
|
|
62
63
|
"commander": "^13.1.0",
|
|
63
64
|
"esbuild": "^0.25.0",
|
|
@@ -65,15 +66,16 @@
|
|
|
65
66
|
"typescript": "~5.7.3",
|
|
66
67
|
"type-fest": "^4.34.1",
|
|
67
68
|
"typedoc": "^0.27.7",
|
|
68
|
-
"typedoc-github-theme": "^0.2.1"
|
|
69
|
-
"@microsoft/tsdoc": "^0.15.1"
|
|
69
|
+
"typedoc-github-theme": "^0.2.1"
|
|
70
70
|
},
|
|
71
71
|
"optionalDependencies": {
|
|
72
72
|
"@esbuild/linux-x64": "^0.24.2"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
+
"@types/madge": "^5.0.3",
|
|
75
76
|
"@types/minimatch": "^5.1.2",
|
|
76
|
-
"@types/node": "^22.10.10"
|
|
77
|
+
"@types/node": "^22.10.10",
|
|
78
|
+
"detective-typescript": "^14.0.0"
|
|
77
79
|
},
|
|
78
80
|
"publishConfig": {
|
|
79
81
|
"access": "public"
|
package/src/building/builder.ts
CHANGED
|
@@ -67,12 +67,12 @@ export class Builder {
|
|
|
67
67
|
try {
|
|
68
68
|
await this.#doBuild(project, progress);
|
|
69
69
|
} catch (e: any) {
|
|
70
|
-
progress.
|
|
70
|
+
progress.close();
|
|
71
71
|
process.stderr.write(`${e.stack ?? e.message}\n\n`);
|
|
72
72
|
process.exit(1);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
progress.
|
|
75
|
+
progress.close();
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
async #doBuild(project: Project, progress: Progress) {
|
package/src/building/cli.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { commander } from "../util/commander.js";
|
|
8
8
|
import { Package } from "../util/package.js";
|
|
9
|
+
import { reportCycles } from "./cycles.js";
|
|
9
10
|
import { buildDocs, mergeDocs } from "./docs.js";
|
|
10
11
|
import { Graph } from "./graph.js";
|
|
11
12
|
import { ProjectBuilder, Target } from "./project-builder.js";
|
|
@@ -19,6 +20,7 @@ enum Mode {
|
|
|
19
20
|
DisplayGraph,
|
|
20
21
|
BuildDocs,
|
|
21
22
|
SyncTsconfigs,
|
|
23
|
+
Circular,
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
interface Args {
|
|
@@ -91,6 +93,13 @@ export async function main(argv = process.argv) {
|
|
|
91
93
|
mode = Mode.BuildDocs;
|
|
92
94
|
});
|
|
93
95
|
|
|
96
|
+
program
|
|
97
|
+
.command("cycles")
|
|
98
|
+
.description("find circular dependencies")
|
|
99
|
+
.action(() => {
|
|
100
|
+
mode = Mode.Circular;
|
|
101
|
+
});
|
|
102
|
+
|
|
94
103
|
program.action(() => {});
|
|
95
104
|
|
|
96
105
|
const args = program.parse(argv).opts<Args>();
|
|
@@ -144,7 +153,7 @@ export async function main(argv = process.argv) {
|
|
|
144
153
|
break;
|
|
145
154
|
|
|
146
155
|
case Mode.BuildDocs: {
|
|
147
|
-
|
|
156
|
+
using progress = pkg.start("Documenting");
|
|
148
157
|
if (pkg.isWorkspace) {
|
|
149
158
|
const graph = await Graph.load();
|
|
150
159
|
for (const node of graph.nodes) {
|
|
@@ -158,5 +167,20 @@ export async function main(argv = process.argv) {
|
|
|
158
167
|
}
|
|
159
168
|
break;
|
|
160
169
|
}
|
|
170
|
+
|
|
171
|
+
case Mode.Circular: {
|
|
172
|
+
using progress = pkg.start("Analyzing dependencies");
|
|
173
|
+
if (pkg.isWorkspace) {
|
|
174
|
+
const graph = await Graph.load();
|
|
175
|
+
for (const node of graph.nodes) {
|
|
176
|
+
if (node.pkg.isLibrary) {
|
|
177
|
+
await reportCycles(node.pkg, progress);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
} else {
|
|
181
|
+
await reportCycles(pkg, progress);
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
161
185
|
}
|
|
162
186
|
}
|