tnp-core 13.2.20 → 16.0.6
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/README.md +20 -20
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/{esm2020 → esm2022}/lib/helpers-messages.mjs +4 -1
- package/browser/{esm2020 → esm2022}/lib/helpers.mjs +7 -7
- package/browser/{fesm2020 → fesm2022}/tnp-core.mjs +11 -6
- package/browser/fesm2022/tnp-core.mjs.map +1 -0
- package/browser/lib/core-models.d.ts +1 -1
- package/browser/package.json +6 -12
- package/cli.backend.js +3 -3
- package/cli.backend.js.map +1 -1
- package/client/README.md +24 -24
- package/client/{esm2020 → esm2022}/lib/helpers-messages.mjs +4 -1
- package/client/{esm2020 → esm2022}/lib/helpers.mjs +7 -7
- package/client/{fesm2020 → fesm2022}/tnp-core.mjs +11 -6
- package/client/fesm2022/tnp-core.mjs.map +1 -0
- package/client/lib/core-models.d.ts +1 -1
- package/client/package.json +84 -82
- package/index.js.map +1 -1
- package/lib/core-config.js.map +1 -1
- package/lib/core-imports.js.map +1 -1
- package/lib/core-models.d.ts +1 -1
- package/lib/core-models.js.map +1 -1
- package/lib/framework-name.js.map +1 -1
- package/lib/helpers-isomorphic.js.map +1 -1
- package/lib/helpers-messages.js +4 -1
- package/lib/helpers-messages.js.map +1 -1
- package/lib/helpers.d.ts +1 -0
- package/lib/helpers.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/node-path-mock.js +3 -3
- package/lib/node-path-mock.js.map +1 -1
- package/lib/progress-data.js.map +1 -1
- package/lib/public-api.js.map +1 -1
- package/package.json +2 -2
- package/package.json_devDependencies.json +202 -202
- package/package.json_tnp.json5 +69 -69
- package/tmp-environment.json +89 -87
- package/websql/README.md +24 -24
- package/websql/{esm2020 → esm2022}/lib/helpers-messages.mjs +4 -1
- package/websql/{esm2020 → esm2022}/lib/helpers.mjs +7 -7
- package/websql/{fesm2020 → fesm2022}/tnp-core.mjs +11 -6
- package/websql/fesm2022/tnp-core.mjs.map +1 -0
- package/websql/lib/core-models.d.ts +1 -1
- package/websql/package.json +6 -12
- package/browser/fesm2015/tnp-core.mjs +0 -2237
- package/browser/fesm2015/tnp-core.mjs.map +0 -1
- package/browser/fesm2020/tnp-core.mjs.map +0 -1
- package/client/fesm2015/tnp-core.mjs +0 -2237
- package/client/fesm2015/tnp-core.mjs.map +0 -1
- package/client/fesm2020/tnp-core.mjs.map +0 -1
- package/websql/fesm2015/tnp-core.mjs +0 -2234
- package/websql/fesm2015/tnp-core.mjs.map +0 -1
- package/websql/fesm2020/tnp-core.mjs.map +0 -1
- /package/browser/{esm2020 → esm2022}/lib/core-config.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/core-imports.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/core-models.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/framework-name.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/helpers-isomorphic.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/node-path-mock.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/lib/progress-data.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/browser/{esm2020 → esm2022}/tnp-core.mjs +0 -0
- /package/browser/{tnp-core.d.ts → index.d.ts} +0 -0
- /package/client/{esm2020 → esm2022}/lib/core-config.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/core-imports.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/core-models.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/framework-name.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/helpers-isomorphic.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/node-path-mock.mjs +0 -0
- /package/client/{esm2020 → esm2022}/lib/progress-data.mjs +0 -0
- /package/client/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/client/{esm2020 → esm2022}/tnp-core.mjs +0 -0
- /package/client/{tnp-core.d.ts → index.d.ts} +0 -0
- /package/websql/{esm2020 → esm2022}/lib/core-config.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/core-imports.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/core-models.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/framework-name.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/helpers-isomorphic.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/node-path-mock.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/lib/progress-data.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/websql/{esm2020 → esm2022}/tnp-core.mjs +0 -0
- /package/websql/{tnp-core.d.ts → index.d.ts} +0 -0
@@ -23,6 +23,12 @@ const encoding = 'utf8';
|
|
23
23
|
const WEBSQL_PROC_MOCK_PROCESSES_PID = {};
|
24
24
|
const WEBSQL_PROC_MOCK_PROCESSES_PPID = {};
|
25
25
|
export class HelpersCore extends HelpersMessages {
|
26
|
+
static get InstanceCore() {
|
27
|
+
if (!HelpersCore._instanceCore) {
|
28
|
+
HelpersCore._instanceCore = new HelpersCore();
|
29
|
+
}
|
30
|
+
return HelpersCore._instanceCore;
|
31
|
+
}
|
26
32
|
constructor() {
|
27
33
|
super();
|
28
34
|
/* */
|
@@ -52,12 +58,6 @@ export class HelpersCore extends HelpersMessages {
|
|
52
58
|
/* */
|
53
59
|
/* */
|
54
60
|
}
|
55
|
-
static get InstanceCore() {
|
56
|
-
if (!HelpersCore._instanceCore) {
|
57
|
-
HelpersCore._instanceCore = new HelpersCore();
|
58
|
-
}
|
59
|
-
return HelpersCore._instanceCore;
|
60
|
-
}
|
61
61
|
isBlob(maybeBlob) {
|
62
62
|
return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';
|
63
63
|
}
|
@@ -1186,4 +1186,4 @@ export class HelpersCore extends HelpersMessages {
|
|
1186
1186
|
}
|
1187
1187
|
;
|
1188
1188
|
({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts
|
1189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFLLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQSxLQUFLO0FBQzVILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJckQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBb0J4QixNQUFNLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUMxQyxNQUFNLCtCQUErQixHQUFHLEVBQUUsQ0FBQztBQUUzQyxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUF3QzlDO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUE3QlosS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztR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TCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFD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QUdMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7U0FFQSxDQUFBO0lBQ0gsQ0FBQztJQUVILEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdIOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQVE7UUFDYixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUNsQixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRTtnQkFDckIsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNsRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUN2QjthQUNGO1lBQ0QsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztDQWdWRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0RBQW9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgICBfLCAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAvKiAqLyAgICB9IGZyb20gJy4vY29yZS1pbXBvcnRzJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG4vKiAqL1xuLyogKi9cbiAgXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IEhlbHBlcnNNZXNzYWdlcyB9IGZyb20gJy4vaGVscGVycy1tZXNzYWdlcyc7XG5pbXBvcnQgeyBFeGVjdXRlT3B0aW9ucywgUnVuT3B0aW9ucyB9IGZyb20gJy4vY29yZS1tb2RlbHMnO1xuaW1wb3J0IHsgZnJhbWV3b3JrTmFtZSB9IGZyb20gJy4vZnJhbWV3b3JrLW5hbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuXG5kZWNsYXJlIGNvbnN0IGdsb2JhbDogYW55O1xuY29uc3QgZW5jb2RpbmcgPSAndXRmOCc7XG4vKiAqL1xuLyogKi9cbiAgXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuU3luY09yQXN5bmNPcHRpb25zIHtcbiAgZnVuY3Rpb25GbjogRnVuY3Rpb24sXG4gIGNvbnRleHQ/OiBvYmplY3QsXG4gIGFycmF5T2ZQYXJhbXM/OiBhbnlbXSxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kT3V0cHV0T3B0aW9ucyB7XG4gIGJpZ2dlckJ1ZmZlcj86IGJvb2xlYW4sXG4gIHNob3dXaG9sZUNvbW1hbmROb3RPbmx5TGFzdExpbmU/OiBib29sZWFuLFxuICBzaG93U3RkZXI/OiBib29sZWFuO1xuICBnYXRoZXJDb2xvcnM/OiBib29sZWFuO1xuICBzaG93RXJyb3JXYXJuaW5nPzogYm9vbGVhbixcbn1cblxuXG5jb25zdCBXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QSUQgPSB7fTtcbmNvbnN0IFdFQlNRTF9QUk9DX01PQ0tfUFJPQ0VTU0VTX1BQSUQgPSB7fTtcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNDb3JlIGV4dGVuZHMgSGVscGVyc01lc3NhZ2VzIHtcblxuXG4gIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZUNvcmU6IEhlbHBlcnNDb3JlO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZUNvcmUoKSB7XG4gICAgaWYgKCFIZWxwZXJzQ29yZS5faW5zdGFuY2VDb3JlKSB7XG4gICAgICBIZWxwZXJzQ29yZS5faW5zdGFuY2VDb3JlID0gbmV3IEhlbHBlcnNDb3JlKCk7XG4gICAgfVxuICAgIHJldHVybiBIZWxwZXJzQ29yZS5faW5zdGFuY2VDb3JlO1xuICB9XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICByZWFkb25seSBiaWdNYXhCdWZmZXIgPSAyMDI0ICogNTAwO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGlzQmxvYihtYXliZUJsb2IpIHtcblxuICAgIHJldHVybiBtYXliZUJsb2IgaW5zdGFuY2VvZiBCbG9iOyAvLyB8fCB0b1N0cmluZy5jYWxsKG1heWJlQmxvYikgPT09ICdbb2JqZWN0IEJsb2JdJztcbiAgfVxuXG5cbiAgcmVtb3ZlU2xhc2hBdEVuZChzOiBzdHJpbmcpIHtcbiAgICBzID0gcz8uZW5kc1dpdGgoYC9gKSA/IHMuc2xpY2UoMCwgcy5sZW5ndGggLSAxKSA6IHM7XG4gICAgcmV0dXJuIHM7XG4gIH1cblxuICByZW1vdmVTbGFzaEF0QmVnaW4oczogc3RyaW5nKSB7XG4gICAgcyA9IHM/LnN0YXJ0c1dpdGgoYC9gKSA/IHMuc2xpY2UoMSkgOiBzO1xuICAgIHJldHVybiBzO1xuICB9XG5cbiAgc3RyaW5naWZ5KGlucHV0T2JqZWN0OiBhbnkpOiBzdHJpbmcge1xuXG5cblxuXG5cblxuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGlucHV0T2JqZWN0LCBudWxsLCAyKTtcbiAgfVxuXG4gIGFzeW5jIHJ1blN5bmNPckFzeW5jKGZuT3JPcHRpb25zOiBGdW5jdGlvbiB8IFtzdHJpbmcsIG9iamVjdF0gfCBSdW5TeW5jT3JBc3luY09wdGlvbnMsIC4uLmZpcnN0QXJnOiBhbnlbXSkge1xuICAgIGlmIChfLmlzVW5kZWZpbmVkKGZuT3JPcHRpb25zKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgcHJvbWlzT3JWYWx1ZTogYW55O1xuICAgIGNvbnN0IG9wdGlvbnNNb2RlID0gXy5pc09iamVjdChmbk9yT3B0aW9ucylcbiAgICAgICYmICFfLmlzQXJyYXkoZm5Pck9wdGlvbnMpXG4gICAgICAmJiAhXy5pc0Z1bmN0aW9uKGZuT3JPcHRpb25zKVxuICAgICAgJiYgIV8uaXNOaWwoZm5Pck9wdGlvbnMpXG4gICAgICA7XG5cbiAgICBpZiAob3B0aW9uc01vZGUpIHtcbiAgICAgIGNvbnN0IHsgZnVuY3Rpb25GbiwgY29udGV4dCwgYXJyYXlPZlBhcmFtcyB9ID0gZm5Pck9wdGlvbnMgYXMgUnVuU3luY09yQXN5bmNPcHRpb25zO1xuICAgICAgcHJvbWlzT3JWYWx1ZSA9IGZ1bmN0aW9uRm4uYXBwbHkoY29udGV4dCwgYXJyYXlPZlBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHByb21pc09yVmFsdWUgPSBfLmlzQXJyYXkoZm5Pck9wdGlvbnMpID8gZm5Pck9wdGlvbnNbMV1bZm5Pck9wdGlvbnNbMF1dKC4uLmZpcnN0QXJnKSA6IGZuT3JPcHRpb25zKC4uLmZpcnN0QXJnKTtcbiAgICB9XG5cblxuICAgIGlmIChwcm9taXNPclZhbHVlIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuXG4gICAgICBwcm9taXNPclZhbHVlID0gUHJvbWlzZS5yZXNvbHZlKHByb21pc09yVmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHByb21pc09yVmFsdWU7XG4gIH1cblxuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuICAvKipcbiAgICogc3ltbGluayBtYXkgaGF2ZSBleGlzdGVkIG9yIHVuZXhpc3RlZCBkZXN0aWFudGlvbiB1cmxcbiAgICogQHBhcmFtIGRlc3RVcmwgTVxuICAgKi9cbiAgaXNTeW1saW5rVGhhdE1hdGNoZXNVcmwocG9zc2libGVTeW1saW5rOiBzdHJpbmcsIGRlc3RVcmw6IHN0cmluZywgYWJzb2x1dGVGaWxlTWF0Y2ggPSBmYWxzZSk6IGJvb2xlYW4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBpc1N5bWxpbmtGaWxlRXhpdGVkT3JVbmV4aXN0ZWQoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgc3ltYm9sbmsgbGluayB0aGF0IHRhcmdldCBmaWxlIGRvZXMgbm90IGV4aXRzXG4gICAqL1xuICBpc1VuZXhpc3RlZExpbmsoZmlsZVBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZXhpc3RlZExpbmsgY2hlY2sgaWYgc291cmNlIG9mIGxpbmsgZXhpc3RzXG4gICAqL1xuICBpc0V4aXN0ZWRTeW1saW5rKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiAgZXhpc3RzKGZvbGRlck9yRmlsZVBhdGg6IHN0cmluZyB8IHN0cmluZ1tdXG5cbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIF9maXhDb21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGlmIChcbiAgICAgIChjb21tYW5kLnN0YXJ0c1dpdGgoJ3RucCAnKSB8fCBjb21tYW5kLnN0YXJ0c1dpdGgoJ2ZpcmVkZXYgJykpIC8vIFRPRE8gZXZlcnkgY2xpIHByb2plY3RzIGhlcmUgdGhhdCB1c2VzIHJ1biBhbmQgbmVlZCB0byBraWxsIHByb2Nlc3MgZWFzbHkhXG4gICAgICAmJlxuICAgICAgKGNvbW1hbmQuc2VhcmNoKCctc3Bpbm5lcj1mYWxzZScpID09PSAtMSkgJiYgKGNvbW1hbmQuc2VhcmNoKCctc3Bpbm5lcj1vZmYnKSA9PT0gLTEpKSB7XG4gICAgICBjb21tYW5kID0gYCR7Y29tbWFuZH0gLXNwaW5uZXI9ZmFsc2VgXG4gICAgfVxuXG4gICAgaWYgKGdsb2JhbC5za2lwQ29yZUNoZWNrICYmIChjb21tYW5kLnN0YXJ0c1dpdGgoJ3RucCAnKSB8fCBjb21tYW5kLnN0YXJ0c1dpdGgoJ2ZpcmVkZXYgJykpKSB7XG4gICAgICBjb21tYW5kID0gYCR7Y29tbWFuZH0gLS1za2lwQ29yZUNoZWNrYFxuICAgIH1cblxuXG4gICAgcmV0dXJuIGNvbW1hbmRcbiAgfVxuXG4gIGNvbW1hbmQoY29tbWFuZDogc3RyaW5nKSB7XG5cbiAgICBjb21tYW5kID0gSGVscGVycy5fZml4Q29tbWFuZChjb21tYW5kKTtcblxuICAgIHJldHVybiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cbiAgd2FpdChzZWNvbmQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcmVzb2x2ZSh2b2lkIDApO1xuICAgICAgfSwgc2Vjb25kICogMTAwMClcbiAgICB9KVxuICB9XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuICBraWxsUHJvY2VzcyhieVBpZDogbnVtYmVyKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIHJ1bihjb21tYW5kOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IFJ1bk9wdGlvbnMpIHtcbiAgICBjb21tYW5kID0gSGVscGVycy5fZml4Q29tbWFuZChjb21tYW5kKTtcblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4ge1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiAgICAgIGFzeW5jKGRldGFjaCA9IGZhbHNlLFxuXG4gICAgICAgIG1vY2tGdW4/OiAoc3Rkb3V0Q2FsbGJhY2s6IChkYXRhRm9yU3Rkb3V0OiBhbnkpID0+IGFueSwgc3RkRXJyY0NhbGxiYWNrOiAoZGF0YUZvclN0ZGVyOiBhbnkpID0+IGFueSwgc2hvdWxkUHJvY2VzQmVEZWFkPzogKCkgPT4gYm9vbGVhbikgPT4gUHJvbWlzZTxudW1iZXI+IHwgbnVtYmVyXG5cbiAgICAgIClcbi8qICovXG4vKiAqL1xuICBcbiAgICAgIHtcblxuXG4gICAgICAgIGlmIChtb2NrRnVuKSB7XG4gICAgICAgICAgY29uc3Qgc3ViU3Rkb3V0U3ViID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgICBjb25zdCBzdWJTdGRlclN1YiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICAgICAgY29uc3QgZXhpdFN1YiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICAgICAgY29uc3Qgc3Vic2NyaWJ0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuXG4gICAgICAgICAgY29uc3QgcHJvY0R1bW15ID0ge1xuICAgICAgICAgICAgc3Rkb3V0OiB7XG4gICAgICAgICAgICAgIG9uKGFjdGlvbjogJ2RhdGEnLCBzdGRvdXRDYWxsYmFjazogYW55KSB7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbiA9PSAnZGF0YScpIHtcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmlidGlvbnMucHVzaChzdWJTdGRvdXRTdWIuc3Vic2NyaWJlKGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzdGRvdXRDYWxsYmFjayhkKTtcbiAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0ZGVycjoge1xuICAgICAgICAgICAgICBvbihhY3Rpb246ICdkYXRhJywgc3Rkb3V0Q2FsbGJhY2s6IGFueSkge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24gPT0gJ2RhdGEnKSB7XG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYnRpb25zLnB1c2goc3ViU3RkZXJTdWIuc3Vic2NyaWJlKGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzdGRvdXRDYWxsYmFjayhkKTtcbiAgICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uKGFjdGlvbjogJ2V4aXQnLCBleGl0RnVuOiBhbnkpIHtcbiAgICAgICAgICAgICAgaWYgKGFjdGlvbiA9PSAnZXhpdCcpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYnRpb25zLnB1c2goZXhpdFN1Yi5zdWJzY3JpYmUoZCA9PiB7XG4gICAgICAgICAgICAgICAgICBleGl0RnVuKGQpO1xuICAgICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHBpZDogdm9pZCAwIGFzIG51bWJlcixcbiAgICAgICAgICAgIHBpZDogdm9pZCAwIGFzIG51bWJlcixcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcHJvY0R1bW15LnBpZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqICgxMDAwIC0gMTAwKSkgKyAxMDA7XG4gICAgICAgICAgcHJvY0R1bW15LnBwaWQgPSBwcm9jRHVtbXkucGlkICsgOTk5OTtcblxuXG4gICAgICAgICAgV0VCU1FMX1BST0NfTU9DS19QUk9DRVNTRVNfUElEW3Byb2NEdW1teS5waWRdID0gcHJvY0R1bW15O1xuICAgICAgICAgIGlmICghV0VCU1FMX1BST0NfTU9DS19QUk9DRVNTRVNfUFBJRFtwcm9jRHVtbXkucHBpZF0pIHtcbiAgICAgICAgICAgIFdFQlNRTF9QUk9DX01PQ0tfUFJPQ0VTU0VTX1BQSURbcHJvY0R1bW15LnBwaWRdID0ge1xuICAgICAgICAgICAgICBjaGlsZFByb2Nlc3NlczogW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QUElEW3Byb2NEdW1teS5wcGlkXS5jaGlsZFByb2Nlc3Nlcy5wdXNoKHByb2NEdW1teS5waWQpO1xuXG5cbiAgICAgICAgICBjb25zdCBjaGVja0lmUHJvY2Vzc1Nob3VsZEJlRGVhZCA9ICgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBfLmlzTmlsKFdFQlNRTF9QUk9DX01PQ0tfUFJPQ0VTU0VTX1BJRFtwcm9jRHVtbXkucGlkXSkgfHwgXy5pc05pbChXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QUElEW3Byb2NEdW1teS5wcGlkXSlcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgZiA9IEhlbHBlcnMucnVuU3luY09yQXN5bmMobW9ja0Z1bixcbiAgICAgICAgICAgIChkKSA9PiB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YlN0ZG91dFN1Yi5uZXh0KGQpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIChkKSA9PiB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YlN0ZGVyU3ViLm5leHQoZCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzaG91bGRCZURlYWQgPSBjaGVja0lmUHJvY2Vzc1Nob3VsZEJlRGVhZCgpO1xuICAgICAgICAgICAgICByZXR1cm4gc2hvdWxkQmVEZWFkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgZi50aGVuKGV4aXRDb2RlID0+IHtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKGV4aXRDb2RlKSkge1xuICAgICAgICAgICAgICBleGl0Q29kZSA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgZXhpdFN1Yi5uZXh0KGV4aXRDb2RlKTtcbiAgICAgICAgICAgICAgc3Vic2NyaWJ0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBTb21ldGhpbmcgd3Jvbmcgd2l0aCB5b3VyIG1vY2sgZnVuY2l0b25gKVxuICAgICAgICAgICAgZXhpdFN1Yi5uZXh0KDEpO1xuICAgICAgICAgICAgc3Vic2NyaWJ0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBwcm9jRHVtbXkgYXMgYW55O1xuICAgICAgICB9XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuICAgICAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgICAgIH0sXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIC8qKlxuICAgKiBRdWljayBmaXggZm9yIG9iamVjdCB2YWx1ZXNcbiAgICovXG4gIHZhbHVlcyhvYmo6IGFueSkge1xuICAgIGlmIChfLmlzT2JqZWN0KG9iaikgJiYgIUFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgICAgY29uc3QgdmFsdWVzID0gW107XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICB2YWx1ZXMucHVzaChvYmpba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgfVxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtY29yZSBsaWIvaGVscGVycy50cyJdfQ==
|
1189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFLLE1BQU0sZ0JBQWdCLENBQUMsQ0FBQSxLQUFLO0FBQzVILEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJckQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFJN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO0FBb0J4QixNQUFNLDhCQUE4QixHQUFHLEVBQUUsQ0FBQztBQUMxQyxNQUFNLCtCQUErQixHQUFHLEVBQUUsQ0FBQztBQUUzQyxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFJdkMsTUFBTSxLQUFLLFlBQVk7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDOUIsV0FBVyxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsT0FBTyxXQUFXLENBQUMs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S0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0ws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TCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1NBRUEsQ0FBQTtJQUNILENBQUM7SUFFSCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUdMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBR0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFHSDs7T0FFRztJQUNILE1BQU0sQ0FBQyxHQUFRO1FBQ2IsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMxQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFDbEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRTtvQkFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDdkI7YUFDRjtZQUNELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FnVkY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9EQUFvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICAgXywgLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gLyogKi8gICAgfSBmcm9tICcuL2NvcmUtaW1wb3J0cyc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuLyogKi9cbi8qICovXG4gIFxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBIZWxwZXJzTWVzc2FnZXMgfSBmcm9tICcuL2hlbHBlcnMtbWVzc2FnZXMnO1xuaW1wb3J0IHsgRXhlY3V0ZU9wdGlvbnMsIFJ1bk9wdGlvbnMgfSBmcm9tICcuL2NvcmUtbW9kZWxzJztcbmltcG9ydCB7IGZyYW1ld29ya05hbWUgfSBmcm9tICcuL2ZyYW1ld29yay1uYW1lJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cblxuZGVjbGFyZSBjb25zdCBnbG9iYWw6IGFueTtcbmNvbnN0IGVuY29kaW5nID0gJ3V0ZjgnO1xuLyogKi9cbi8qICovXG4gIFxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1blN5bmNPckFzeW5jT3B0aW9ucyB7XG4gIGZ1bmN0aW9uRm46IEZ1bmN0aW9uLFxuICBjb250ZXh0Pzogb2JqZWN0LFxuICBhcnJheU9mUGFyYW1zPzogYW55W10sXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZE91dHB1dE9wdGlvbnMge1xuICBiaWdnZXJCdWZmZXI/OiBib29sZWFuLFxuICBzaG93V2hvbGVDb21tYW5kTm90T25seUxhc3RMaW5lPzogYm9vbGVhbixcbiAgc2hvd1N0ZGVyPzogYm9vbGVhbjtcbiAgZ2F0aGVyQ29sb3JzPzogYm9vbGVhbjtcbiAgc2hvd0Vycm9yV2FybmluZz86IGJvb2xlYW4sXG59XG5cblxuY29uc3QgV0VCU1FMX1BST0NfTU9DS19QUk9DRVNTRVNfUElEID0ge307XG5jb25zdCBXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QUElEID0ge307XG5cbmV4cG9ydCBjbGFzcyBIZWxwZXJzQ29yZSBleHRlbmRzIEhlbHBlcnNNZXNzYWdlcyB7XG5cblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2VDb3JlOiBIZWxwZXJzQ29yZTtcbiAgcHVibGljIHN0YXRpYyBnZXQgSW5zdGFuY2VDb3JlKCkge1xuICAgIGlmICghSGVscGVyc0NvcmUuX2luc3RhbmNlQ29yZSkge1xuICAgICAgSGVscGVyc0NvcmUuX2luc3RhbmNlQ29yZSA9IG5ldyBIZWxwZXJzQ29yZSgpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc0NvcmUuX2luc3RhbmNlQ29yZTtcbiAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiAgcmVhZG9ubHkgYmlnTWF4QnVmZmVyID0gMjAyNCAqIDUwMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuICBpc0Jsb2IobWF5YmVCbG9iKSB7XG5cbiAgICByZXR1cm4gbWF5YmVCbG9iIGluc3RhbmNlb2YgQmxvYjsgLy8gfHwgdG9TdHJpbmcuY2FsbChtYXliZUJsb2IpID09PSAnW29iamVjdCBCbG9iXSc7XG4gIH1cblxuXG4gIHJlbW92ZVNsYXNoQXRFbmQoczogc3RyaW5nKSB7XG4gICAgcyA9IHM/LmVuZHNXaXRoKGAvYCkgPyBzLnNsaWNlKDAsIHMubGVuZ3RoIC0gMSkgOiBzO1xuICAgIHJldHVybiBzO1xuICB9XG5cbiAgcmVtb3ZlU2xhc2hBdEJlZ2luKHM6IHN0cmluZykge1xuICAgIHMgPSBzPy5zdGFydHNXaXRoKGAvYCkgPyBzLnNsaWNlKDEpIDogcztcbiAgICByZXR1cm4gcztcbiAgfVxuXG4gIHN0cmluZ2lmeShpbnB1dE9iamVjdDogYW55KTogc3RyaW5nIHtcblxuXG5cblxuXG5cblxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShpbnB1dE9iamVjdCwgbnVsbCwgMik7XG4gIH1cblxuICBhc3luYyBydW5TeW5jT3JBc3luYyhmbk9yT3B0aW9uczogRnVuY3Rpb24gfCBbc3RyaW5nLCBvYmplY3RdIHwgUnVuU3luY09yQXN5bmNPcHRpb25zLCAuLi5maXJzdEFyZzogYW55W10pIHtcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChmbk9yT3B0aW9ucykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IHByb21pc09yVmFsdWU6IGFueTtcbiAgICBjb25zdCBvcHRpb25zTW9kZSA9IF8uaXNPYmplY3QoZm5Pck9wdGlvbnMpXG4gICAgICAmJiAhXy5pc0FycmF5KGZuT3JPcHRpb25zKVxuICAgICAgJiYgIV8uaXNGdW5jdGlvbihmbk9yT3B0aW9ucylcbiAgICAgICYmICFfLmlzTmlsKGZuT3JPcHRpb25zKVxuICAgICAgO1xuXG4gICAgaWYgKG9wdGlvbnNNb2RlKSB7XG4gICAgICBjb25zdCB7IGZ1bmN0aW9uRm4sIGNvbnRleHQsIGFycmF5T2ZQYXJhbXMgfSA9IGZuT3JPcHRpb25zIGFzIFJ1blN5bmNPckFzeW5jT3B0aW9ucztcbiAgICAgIHByb21pc09yVmFsdWUgPSBmdW5jdGlvbkZuLmFwcGx5KGNvbnRleHQsIGFycmF5T2ZQYXJhbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBwcm9taXNPclZhbHVlID0gXy5pc0FycmF5KGZuT3JPcHRpb25zKSA/IGZuT3JPcHRpb25zWzFdW2ZuT3JPcHRpb25zWzBdXSguLi5maXJzdEFyZykgOiBmbk9yT3B0aW9ucyguLi5maXJzdEFyZyk7XG4gICAgfVxuXG5cbiAgICBpZiAocHJvbWlzT3JWYWx1ZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcblxuICAgICAgcHJvbWlzT3JWYWx1ZSA9IFByb21pc2UucmVzb2x2ZShwcm9taXNPclZhbHVlKVxuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNPclZhbHVlO1xuICB9XG5cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cbiAgLyoqXG4gICAqIHN5bWxpbmsgbWF5IGhhdmUgZXhpc3RlZCBvciB1bmV4aXN0ZWQgZGVzdGlhbnRpb24gdXJsXG4gICAqIEBwYXJhbSBkZXN0VXJsIE1cbiAgICovXG4gIGlzU3ltbGlua1RoYXRNYXRjaGVzVXJsKHBvc3NpYmxlU3ltbGluazogc3RyaW5nLCBkZXN0VXJsOiBzdHJpbmcsIGFic29sdXRlRmlsZU1hdGNoID0gZmFsc2UpOiBib29sZWFuIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgaXNTeW1saW5rRmlsZUV4aXRlZE9yVW5leGlzdGVkKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHN5bWJvbG5rIGxpbmsgdGhhdCB0YXJnZXQgZmlsZSBkb2VzIG5vdCBleGl0c1xuICAgKi9cbiAgaXNVbmV4aXN0ZWRMaW5rKGZpbGVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGV4aXN0ZWRMaW5rIGNoZWNrIGlmIHNvdXJjZSBvZiBsaW5rIGV4aXN0c1xuICAgKi9cbiAgaXNFeGlzdGVkU3ltbGluayhmaWxlUGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gIGV4aXN0cyhmb2xkZXJPckZpbGVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXVxuXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBfZml4Q29tbWFuZChjb21tYW5kOiBzdHJpbmcpIHtcbiAgICBpZiAoXG4gICAgICAoY29tbWFuZC5zdGFydHNXaXRoKCd0bnAgJykgfHwgY29tbWFuZC5zdGFydHNXaXRoKCdmaXJlZGV2ICcpKSAvLyBUT0RPIGV2ZXJ5IGNsaSBwcm9qZWN0cyBoZXJlIHRoYXQgdXNlcyBydW4gYW5kIG5lZWQgdG8ga2lsbCBwcm9jZXNzIGVhc2x5IVxuICAgICAgJiZcbiAgICAgIChjb21tYW5kLnNlYXJjaCgnLXNwaW5uZXI9ZmFsc2UnKSA9PT0gLTEpICYmIChjb21tYW5kLnNlYXJjaCgnLXNwaW5uZXI9b2ZmJykgPT09IC0xKSkge1xuICAgICAgY29tbWFuZCA9IGAke2NvbW1hbmR9IC1zcGlubmVyPWZhbHNlYFxuICAgIH1cblxuICAgIGlmIChnbG9iYWwuc2tpcENvcmVDaGVjayAmJiAoY29tbWFuZC5zdGFydHNXaXRoKCd0bnAgJykgfHwgY29tbWFuZC5zdGFydHNXaXRoKCdmaXJlZGV2ICcpKSkge1xuICAgICAgY29tbWFuZCA9IGAke2NvbW1hbmR9IC0tc2tpcENvcmVDaGVja2BcbiAgICB9XG5cblxuICAgIHJldHVybiBjb21tYW5kXG4gIH1cblxuICBjb21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuXG4gICAgY29tbWFuZCA9IEhlbHBlcnMuX2ZpeENvbW1hbmQoY29tbWFuZCk7XG5cbiAgICByZXR1cm4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgfVxuXG4gIHdhaXQoc2Vjb25kOiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgIH0sIHNlY29uZCAqIDEwMDApXG4gICAgfSlcbiAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbiAga2lsbFByb2Nlc3MoYnlQaWQ6IG51bWJlcikge1xuLyogKi9cbi8qICovXG4gIFxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuICBydW4oY29tbWFuZDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBSdW5PcHRpb25zKSB7XG4gICAgY29tbWFuZCA9IEhlbHBlcnMuX2ZpeENvbW1hbmQoY29tbWFuZCk7XG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIHtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG4gICAgICBhc3luYyhkZXRhY2ggPSBmYWxzZSxcblxuICAgICAgICBtb2NrRnVuPzogKHN0ZG91dENhbGxiYWNrOiAoZGF0YUZvclN0ZG91dDogYW55KSA9PiBhbnksIHN0ZEVycmNDYWxsYmFjazogKGRhdGFGb3JTdGRlcjogYW55KSA9PiBhbnksIHNob3VsZFByb2Nlc0JlRGVhZD86ICgpID0+IGJvb2xlYW4pID0+IFByb21pc2U8bnVtYmVyPiB8IG51bWJlclxuXG4gICAgICApXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICB7XG5cblxuICAgICAgICBpZiAobW9ja0Z1bikge1xuICAgICAgICAgIGNvbnN0IHN1YlN0ZG91dFN1YiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICAgICAgY29uc3Qgc3ViU3RkZXJTdWIgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICAgIGNvbnN0IGV4aXRTdWIgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICAgIGNvbnN0IHN1YnNjcmlidGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cblxuICAgICAgICAgIGNvbnN0IHByb2NEdW1teSA9IHtcbiAgICAgICAgICAgIHN0ZG91dDoge1xuICAgICAgICAgICAgICBvbihhY3Rpb246ICdkYXRhJywgc3Rkb3V0Q2FsbGJhY2s6IGFueSkge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24gPT0gJ2RhdGEnKSB7XG4gICAgICAgICAgICAgICAgICBzdWJzY3JpYnRpb25zLnB1c2goc3ViU3Rkb3V0U3ViLnN1YnNjcmliZShkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3Rkb3V0Q2FsbGJhY2soZCk7XG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGRlcnI6IHtcbiAgICAgICAgICAgICAgb24oYWN0aW9uOiAnZGF0YScsIHN0ZG91dENhbGxiYWNrOiBhbnkpIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uID09ICdkYXRhJykge1xuICAgICAgICAgICAgICAgICAgc3Vic2NyaWJ0aW9ucy5wdXNoKHN1YlN0ZGVyU3ViLnN1YnNjcmliZShkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3Rkb3V0Q2FsbGJhY2soZCk7XG4gICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbihhY3Rpb246ICdleGl0JywgZXhpdEZ1bjogYW55KSB7XG4gICAgICAgICAgICAgIGlmIChhY3Rpb24gPT0gJ2V4aXQnKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJ0aW9ucy5wdXNoKGV4aXRTdWIuc3Vic2NyaWJlKGQgPT4ge1xuICAgICAgICAgICAgICAgICAgZXhpdEZ1bihkKTtcbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBwaWQ6IHZvaWQgMCBhcyBudW1iZXIsXG4gICAgICAgICAgICBwaWQ6IHZvaWQgMCBhcyBudW1iZXIsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHByb2NEdW1teS5waWQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAoMTAwMCAtIDEwMCkpICsgMTAwO1xuICAgICAgICAgIHByb2NEdW1teS5wcGlkID0gcHJvY0R1bW15LnBpZCArIDk5OTk7XG5cblxuICAgICAgICAgIFdFQlNRTF9QUk9DX01PQ0tfUFJPQ0VTU0VTX1BJRFtwcm9jRHVtbXkucGlkXSA9IHByb2NEdW1teTtcbiAgICAgICAgICBpZiAoIVdFQlNRTF9QUk9DX01PQ0tfUFJPQ0VTU0VTX1BQSURbcHJvY0R1bW15LnBwaWRdKSB7XG4gICAgICAgICAgICBXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QUElEW3Byb2NEdW1teS5wcGlkXSA9IHtcbiAgICAgICAgICAgICAgY2hpbGRQcm9jZXNzZXM6IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgV0VCU1FMX1BST0NfTU9DS19QUk9DRVNTRVNfUFBJRFtwcm9jRHVtbXkucHBpZF0uY2hpbGRQcm9jZXNzZXMucHVzaChwcm9jRHVtbXkucGlkKTtcblxuXG4gICAgICAgICAgY29uc3QgY2hlY2tJZlByb2Nlc3NTaG91bGRCZURlYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gXy5pc05pbChXRUJTUUxfUFJPQ19NT0NLX1BST0NFU1NFU19QSURbcHJvY0R1bW15LnBpZF0pIHx8IF8uaXNOaWwoV0VCU1FMX1BST0NfTU9DS19QUk9DRVNTRVNfUFBJRFtwcm9jRHVtbXkucHBpZF0pXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IGYgPSBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKG1vY2tGdW4sXG4gICAgICAgICAgICAoZCkgPT4ge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJTdGRvdXRTdWIubmV4dChkKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCAoZCkgPT4ge1xuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzdWJTdGRlclN1Yi5uZXh0KGQpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkQmVEZWFkID0gY2hlY2tJZlByb2Nlc3NTaG91bGRCZURlYWQoKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHNob3VsZEJlRGVhZDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGYudGhlbihleGl0Q29kZSA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc05pbChleGl0Q29kZSkpIHtcbiAgICAgICAgICAgICAgZXhpdENvZGUgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGV4aXRTdWIubmV4dChleGl0Q29kZSk7XG4gICAgICAgICAgICAgIHN1YnNjcmlidGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgU29tZXRoaW5nIHdyb25nIHdpdGggeW91ciBtb2NrIGZ1bmNpdG9uYClcbiAgICAgICAgICAgIGV4aXRTdWIubmV4dCgxKTtcbiAgICAgICAgICAgIHN1YnNjcmlidGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm4gcHJvY0R1bW15IGFzIGFueTtcbiAgICAgICAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgICAgICByZXR1cm4gKHZvaWQgMCk7XG4gICAgICB9LFxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICB9XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuICAvKipcbiAgICogUXVpY2sgZml4IGZvciBvYmplY3QgdmFsdWVzXG4gICAqL1xuICB2YWx1ZXMob2JqOiBhbnkpIHtcbiAgICBpZiAoXy5pc09iamVjdChvYmopICYmICFBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgdmFsdWVzLnB1c2gob2JqW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWVzO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2hlbHBlcnMudHMiXX0=
|
@@ -507,6 +507,8 @@ class HelpersIsomorphic {
|
|
507
507
|
;
|
508
508
|
({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts
|
509
509
|
|
510
|
+
/* */
|
511
|
+
/* */
|
510
512
|
/* */
|
511
513
|
const KEY = {
|
512
514
|
LAST_ERROR: Symbol(),
|
@@ -825,6 +827,9 @@ class HelpersMessages extends HelpersIsomorphic {
|
|
825
827
|
/* */
|
826
828
|
/* */
|
827
829
|
/* */
|
830
|
+
/* */
|
831
|
+
/* */
|
832
|
+
/* */
|
828
833
|
}
|
829
834
|
log(details, debugLevel = 0) {
|
830
835
|
if (Helpers.isBrowser) {
|
@@ -1001,6 +1006,12 @@ const encoding = 'utf8';
|
|
1001
1006
|
const WEBSQL_PROC_MOCK_PROCESSES_PID = {};
|
1002
1007
|
const WEBSQL_PROC_MOCK_PROCESSES_PPID = {};
|
1003
1008
|
class HelpersCore extends HelpersMessages {
|
1009
|
+
static get InstanceCore() {
|
1010
|
+
if (!HelpersCore._instanceCore) {
|
1011
|
+
HelpersCore._instanceCore = new HelpersCore();
|
1012
|
+
}
|
1013
|
+
return HelpersCore._instanceCore;
|
1014
|
+
}
|
1004
1015
|
constructor() {
|
1005
1016
|
super();
|
1006
1017
|
/* */
|
@@ -1030,12 +1041,6 @@ class HelpersCore extends HelpersMessages {
|
|
1030
1041
|
/* */
|
1031
1042
|
/* */
|
1032
1043
|
}
|
1033
|
-
static get InstanceCore() {
|
1034
|
-
if (!HelpersCore._instanceCore) {
|
1035
|
-
HelpersCore._instanceCore = new HelpersCore();
|
1036
|
-
}
|
1037
|
-
return HelpersCore._instanceCore;
|
1038
|
-
}
|
1039
1044
|
isBlob(maybeBlob) {
|
1040
1045
|
return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';
|
1041
1046
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tnp-core.mjs","sources":["../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/framework-name.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/node-path-mock.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/core-imports.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/core-models.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/helpers-isomorphic.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/helpers-messages.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/helpers.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/core-config.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/progress-data.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/lib/index.ts","../../../tmp-libs-for-bundle/tnp-core/projects/tnp-core/src/tnp-core.ts"],"sourcesContent":["let isBrowser = false;\n\nisBrowser = true;\n\n\nexport const frameworkNameBe = (\n ''\n/* */\n/* */\n \n) as 'firedev' | 'tnp';\nexport const frameworkName = isBrowser ? 'firedev' : frameworkNameBe;\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/framework-name.ts","\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError('[firedev-core] Path must be a string. Received ' + JSON.stringify(path));\n }\n}\n\n\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length)\n code = path.charCodeAt(i);\n else if (code === 47 /*/*/)\n break;\n else\n code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0)\n res += '/..';\n else\n res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0)\n res += '/' + path.slice(lastSlash + 1, i);\n else\n res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nexport const path = {\n\n resolve: function resolve(pathToResovle) {\n return pathToResovle;\n },\n\n normalize: function normalize(pathArg) {\n assertPath(pathArg);\n\n if (pathArg.length === 0) return '.';\n\n var isAbsolute = pathArg.charCodeAt(0) === 47 /*/*/;\n var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47 /*/*/;\n\n\n pathArg = normalizeStringPosix(pathArg, !isAbsolute);\n\n if (pathArg.length === 0 && !isAbsolute) pathArg = '.';\n if (pathArg.length > 0 && trailingSeparator) pathArg += '/';\n\n if (isAbsolute) return '/' + pathArg;\n return pathArg;\n },\n\n isAbsolute: function isAbsolute(pathArg) {\n assertPath(pathArg);\n return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0)\n return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined)\n joined = arg;\n else\n joined += '/' + arg;\n }\n }\n if (joined === undefined)\n return '.';\n return path.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = path.resolve(from);\n to = path.resolve(to);\n\n if (from === to) return '';\n\n\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/)\n break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/)\n break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n\n\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n\n\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n\n\n lastCommonSep = i;\n } else if (i === 0) {\n\n\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode)\n break;\n else if (fromCode === 47 /*/*/)\n lastCommonSep = i;\n }\n\n var out = '';\n\n\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0)\n out += '..';\n else\n out += '/..';\n }\n }\n\n\n\n if (out.length > 0)\n return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/)\n ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(pathArg, ext) {\n if (ext !== undefined && typeof ext !== 'string') throw new TypeError('\"ext\" argument must be a string');\n assertPath(pathArg);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {\n if (ext.length === pathArg.length && ext === pathArg) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n\n\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n\n\n end = i;\n }\n } else {\n\n\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd; else if (end === -1) end = pathArg.length;\n return pathArg.slice(start, end);\n } else {\n for (i = pathArg.length - 1; i >= 0; --i) {\n if (pathArg.charCodeAt(i) === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return pathArg.slice(start, end);\n }\n },\n\n extname: function extname(pathArg) {\n assertPath(pathArg);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n\n\n var preDotState = 0;\n for (var i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n\n preDotState === 0 ||\n\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return pathArg.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError('The \"pathObject\" argument must be of type Object. Received type ' + typeof pathObject);\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(pathArg) {\n assertPath(pathArg);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (pathArg.length === 0) return ret;\n var code = pathArg.charCodeAt(0);\n var isAbsolute = code === 47 /*/*/;\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = pathArg.length - 1;\n\n\n\n var preDotState = 0;\n\n\n for (; i >= start; --i) {\n code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i; else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n\n preDotState === 0 ||\n\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute) ret.base = ret.name = pathArg.slice(1, end); else ret.base = ret.name = pathArg.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = pathArg.slice(1, startDot);\n ret.base = pathArg.slice(1, end);\n } else {\n ret.name = pathArg.slice(startPart, startDot);\n ret.base = pathArg.slice(startPart, end);\n }\n ret.ext = pathArg.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = pathArg.slice(0, startPart - 1); else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: { // @ts-ignore\n normalize: (p) => {\n return p;\n }\n },\n posix: null\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts","import * as _ from 'lodash';\nimport * as q from 'q';\nimport * as moment from 'moment';\nimport * as dateformat from 'dateformat';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nimport { path as pathMock } from './node-path-mock';\n\n\nlet path\n/* */\n/* */\n \n\n\n// @ts-ignore\npath = pathMock;\n\n\nfunction win32Path(p: string) {\n/* */\n/* */\n/* */\n/* */\n \n if (/^\\/[a-z]\\//.test(p)) {\n p = p.replace(/^\\/[a-z]\\//, `${p.charAt(1).toUpperCase()}:/`);\n }\n return path.win32.normalize(p);\n}\n\nfunction crossPlatformPath(pathStringOrPathParts: string | string[]) {\n if (Array.isArray(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.join('/')\n }\n/* */\n/* */\n/* */\n/* */\n \n if (typeof pathStringOrPathParts !== 'string') {\n return pathStringOrPathParts;\n }\n\n const isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(pathStringOrPathParts);\n const hasNonAscii = /[^\\u0000-\\u0080]+/.test(pathStringOrPathParts); // eslint-disable-line no-control-regex\n\n if (isExtendedLengthPath || hasNonAscii) {\n return pathStringOrPathParts;\n }\n\n return pathStringOrPathParts.replace(/\\\\/g, '/');\n}\n\n\n\nexport { _, q, moment, dateformat, crossPlatformPath, win32Path, path, }/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts","\nexport interface ExecuteOptions {\n /** Extract string from line */\n extractFromLine?: (string | Function)[];\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLine: string) => string;\n resolvePromiseMsg?: {\n stdout?: string | string[];\n stderr?: string | string[];\n }\n prefix?: string;\n detach?: boolean;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n exitOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n }\n}\n\nexport interface RunOptions extends ExecuteOptions {\n showCommand?: boolean;\n\n /**\n * Show process output\n */\n output?: boolean;\n\n silence?: boolean;\n stdio?: any;\n\n\n cwd?: string;\n\n\n}\n\nexport type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","export class HelpersIsomorphic {\n\n get isBrowser() {\n/* */\n/* */\n \n return true;\n }\n\n get isWebSQL() {\n/* */\n/* */\n \n\n/* */\n/* */\n \n return false;\n }\n get isNode() {\n/* */\n/* */\n \n return false;\n }\n\n contain(arr: any[], item: any): boolean {\n return arr.filter(l => {\n if (l instanceof RegExp) {\n return l.test(item)\n }\n if (l === item) {\n return true;\n }\n if ((item.match && typeof item.match === 'function') ? item.match(l) : false) {\n return true\n }\n return false;\n }).length > 0;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts","/* */\n/* */\n/* */\n \nimport { _ } from './core-imports';\n\n\nimport { Helpers } from './index';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\nimport { frameworkName } from './framework-name';\n\n\n\nconst KEY = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n}\n\nconst KEY_COUNT = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n}\n\nconst KEY_IMPORTANTCE = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n}\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nconst LIMIT = 10;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nexport class HelpersMessages extends HelpersIsomorphic {\n\n msgCacheClear() {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n error(details: any, noExit = false, noTrace = false) {\n\n\n if (Helpers.isBrowser) {\n console.error(details)\n return;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n\n\n info(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n success(details: any | string) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n *\n * @param details\n * @param isLogTask is less important log task\n * @returns\n */\n taskStarted(details: any | string, isLogTask: boolean = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n taskDone(details?: any | string, isLessImportant = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n log(details: any, debugLevel = 0) {\n\n if (Helpers.isBrowser) {\n console.log(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n warn(details: string, trace = false) {\n\n if (Helpers.isBrowser) {\n console.warn(details);\n return;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n}\n\n\n\nfunction transformData(details: any) {\n if (typeof details === 'object') {\n if (Array.isArray(details)) {\n return details.join('\\n')\n }\n try {\n const json = JSON.stringify(details);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","import { _, /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n/* */\n/* */\n \n\nimport { Helpers } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { ExecuteOptions, RunOptions } from './core-models';\nimport { frameworkName } from './framework-name';\n\nimport { Subject, Subscription } from 'rxjs';\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\n/* */\n \n\nexport interface RunSyncOrAsyncOptions {\n functionFn: Function,\n context?: object,\n arrayOfParams?: any[],\n}\n\nexport interface CommandOutputOptions {\n biggerBuffer?: boolean,\n showWholeCommandNotOnlyLastLine?: boolean,\n showStder?: boolean;\n gatherColors?: boolean;\n showErrorWarning?: boolean,\n}\n\n\nconst WEBSQL_PROC_MOCK_PROCESSES_PID = {};\nconst WEBSQL_PROC_MOCK_PROCESSES_PPID = {};\n\nexport class HelpersCore extends HelpersMessages {\n\n\n private static _instanceCore: HelpersCore;\n public static get InstanceCore() {\n if (!HelpersCore._instanceCore) {\n HelpersCore._instanceCore = new HelpersCore();\n }\n return HelpersCore._instanceCore;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n readonly bigMaxBuffer = 2024 * 500;\n constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n isBlob(maybeBlob) {\n\n return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';\n }\n\n\n removeSlashAtEnd(s: string) {\n s = s?.endsWith(`/`) ? s.slice(0, s.length - 1) : s;\n return s;\n }\n\n removeSlashAtBegin(s: string) {\n s = s?.startsWith(`/`) ? s.slice(1) : s;\n return s;\n }\n\n stringify(inputObject: any): string {\n\n\n\n\n\n\n\n return JSON.stringify(inputObject, null, 2);\n }\n\n async runSyncOrAsync(fnOrOptions: Function | [string, object] | RunSyncOrAsyncOptions, ...firstArg: any[]) {\n if (_.isUndefined(fnOrOptions)) {\n return;\n }\n let promisOrValue: any;\n const optionsMode = _.isObject(fnOrOptions)\n && !_.isArray(fnOrOptions)\n && !_.isFunction(fnOrOptions)\n && !_.isNil(fnOrOptions)\n ;\n\n if (optionsMode) {\n const { functionFn, context, arrayOfParams } = fnOrOptions as RunSyncOrAsyncOptions;\n promisOrValue = functionFn.apply(context, arrayOfParams);\n } else {\n // @ts-ignore\n promisOrValue = _.isArray(fnOrOptions) ? fnOrOptions[1][fnOrOptions[0]](...firstArg) : fnOrOptions(...firstArg);\n }\n\n\n if (promisOrValue instanceof Promise) {\n\n promisOrValue = Promise.resolve(promisOrValue)\n }\n\n return promisOrValue;\n }\n\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n /**\n * symlink may have existed or unexisted destiantion url\n * @param destUrl M\n */\n isSymlinkThatMatchesUrl(possibleSymlink: string, destUrl: string, absoluteFileMatch = false): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n isSymlinkFileExitedOrUnexisted(filePath: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * If symbolnk link that target file does not exits\n */\n isUnexistedLink(filePath: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @param existedLink check if source of link exists\n */\n isExistedSymlink(filePath: string): boolean {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n exists(folderOrFilePath: string | string[]\n\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n _fixCommand(command: string) {\n if (\n (command.startsWith('tnp ') || command.startsWith('firedev ')) // TODO every cli projects here that uses run and need to kill process easly!\n &&\n (command.search('-spinner=false') === -1) && (command.search('-spinner=off') === -1)) {\n command = `${command} -spinner=false`\n }\n\n if (global.skipCoreCheck && (command.startsWith('tnp ') || command.startsWith('firedev '))) {\n command = `${command} --skipCoreCheck`\n }\n\n\n return command\n }\n\n command(command: string) {\n\n command = Helpers._fixCommand(command);\n\n return {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n wait(second: number) {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(void 0);\n }, second * 1000)\n })\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n killProcess(byPid: number) {\n/* */\n/* */\n \n/* */\n/* */\n/* */\n \n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n run(command: string,\n options?: RunOptions) {\n command = Helpers._fixCommand(command);\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n async(detach = false,\n\n mockFun?: (stdoutCallback: (dataForStdout: any) => any, stdErrcCallback: (dataForStder: any) => any, shouldProcesBeDead?: () => boolean) => Promise<number> | number\n\n )\n/* */\n/* */\n \n {\n\n\n if (mockFun) {\n const subStdoutSub = new Subject();\n const subStderSub = new Subject();\n const exitSub = new Subject();\n const subscribtions: Subscription[] = [];\n\n\n const procDummy = {\n stdout: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(subStdoutSub.subscribe(d => {\n stdoutCallback(d);\n }))\n }\n }\n },\n stderr: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(subStderSub.subscribe(d => {\n stdoutCallback(d);\n }))\n }\n }\n },\n on(action: 'exit', exitFun: any) {\n if (action == 'exit') {\n subscribtions.push(exitSub.subscribe(d => {\n exitFun(d);\n }))\n }\n },\n ppid: void 0 as number,\n pid: void 0 as number,\n };\n\n procDummy.pid = Math.round(Math.random() * (1000 - 100)) + 100;\n procDummy.ppid = procDummy.pid + 9999;\n\n\n WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid] = procDummy;\n if (!WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid]) {\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid] = {\n childProcesses: [],\n };\n }\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid].childProcesses.push(procDummy.pid);\n\n\n const checkIfProcessShouldBeDead = () => {\n return _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid]) || _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid])\n };\n\n const f = Helpers.runSyncOrAsync(mockFun,\n (d) => {\n setTimeout(() => {\n subStdoutSub.next(d);\n });\n }, (d) => {\n setTimeout(() => {\n subStderSub.next(d);\n });\n }, () => {\n const shouldBeDead = checkIfProcessShouldBeDead();\n return shouldBeDead;\n });\n f.then(exitCode => {\n if (_.isNil(exitCode)) {\n exitCode = 0;\n }\n setTimeout(() => {\n exitSub.next(exitCode);\n subscribtions.forEach(s => s.unsubscribe());\n })\n }).catch((e) => {\n console.error(e);\n console.error(`Something wrong with your mock funciton`)\n exitSub.next(1);\n subscribtions.forEach(s => s.unsubscribe());\n })\n return procDummy as any;\n }\n\n\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n /**\n * Quick fix for object values\n */\n values(obj: any) {\n if (_.isObject(obj) && !Array.isArray(obj)) {\n const values = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n values.push(obj[key]);\n }\n }\n return values;\n }\n return [];\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts","export const CoreConfig = {\n message: {\n globalSystemToolMode: 'globalSystemToolMode'\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-config.ts","import { Helpers } from '.';\nimport { _ } from './core-imports';\nimport { PROGRESS_DATA_TYPE } from './core-models';\n\n/* */\n/* */\n \n\nexport interface IPROGRESS_DATA {\n /**\n * How man percent of\n */\n value?: number;\n msg?: string;\n type?: PROGRESS_DATA_TYPE;\n date?: Date;\n}\n\nexport class PROGRESS_DATA implements IPROGRESS_DATA {\n\n public static log(log: IPROGRESS_DATA) {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n public static resolveFrom(chunk: string,\n callbackOnFounded?: (json: PROGRESS_DATA) => any, checkSplit = true): PROGRESS_DATA[] {\n\n let progress;\n let res: PROGRESS_DATA[] = [];\n if (!_.isString(chunk)) {\n return [];\n }\n chunk = chunk.trim();\n\n if (checkSplit) {\n const split = chunk.split(/\\r\\n|\\n|\\r/);\n if (split.length > 1) {\n\n split.forEach(s => {\n res = res.concat(this.resolveFrom(s, callbackOnFounded, false));\n });\n return res;\n }\n }\n\n if (/\\[\\[\\[.*\\]\\]\\]/g.test(chunk)) {\n chunk = chunk.replace(/^\\[\\[\\[/g, '').replace(/\\]\\]\\]$/g, '');\n progress = chunk;\n }\n if (!_.isUndefined(progress)) {\n try {\n const p = JSON.parse(progress);\n const single = _.merge(new PROGRESS_DATA(), p);\n res = res.concat([single])\n if (_.isFunction(callbackOnFounded)) {\n callbackOnFounded(single);\n }\n } catch (err) {\n Helpers.error(err, true, true)\n Helpers.error(`ProgresssBarData: fail to parse \"${progress}\"`, true, true)\n }\n }\n return res;\n }\n\n public value?: number;\n public msg?: string;\n\n public type: PROGRESS_DATA_TYPE = 'event'\n\n public date?: Date;\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts","export * from './framework-name';\nexport * from './core-imports';\nexport * from './core-models';\nimport { HelpersCore as Base } from './helpers';\nexport * from './core-config';\nexport * from './progress-data';\nexport { HelpersCore as CoreHelpers } from './helpers';\nexport let Helpers = Base.InstanceCore;\n\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["path","pathMock","Base"],"mappings":"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"}
|