@aws-cdk/toolkit-lib 0.3.3 → 0.3.4
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/api-extractor.json +3 -0
- package/build-info.json +2 -2
- package/db.json.gz +0 -0
- package/lib/actions/bootstrap/private/helpers.js +3 -3
- package/lib/actions/diff/index.d.ts +1 -1
- package/lib/actions/diff/index.js +1 -1
- package/lib/actions/diff/private/helpers.js +8 -8
- package/lib/actions/refactor/index.d.ts +12 -0
- package/lib/actions/refactor/index.js +1 -1
- package/lib/api/aws-auth/awscli-compatible.js +2 -2
- package/lib/api/aws-auth/credential-plugins.js +2 -2
- package/lib/api/aws-auth/sdk-provider.js +2 -2
- package/lib/api/aws-auth/sdk.js +2 -2
- package/lib/api/bootstrap/bootstrap-environment.js +2 -2
- package/lib/api/cloud-assembly/environment.js +1 -1
- package/lib/api/cloud-assembly/index.d.ts +1 -1
- package/lib/api/cloud-assembly/index.js +3 -2
- package/lib/api/cloud-assembly/private/context-aware-source.js +3 -3
- package/lib/api/cloud-assembly/private/exec.js +3 -3
- package/lib/api/cloud-assembly/private/prepare-source.js +4 -4
- package/lib/api/cloud-assembly/private/source-builder.d.ts +10 -8
- package/lib/api/cloud-assembly/private/source-builder.js +36 -19
- package/lib/api/cloud-assembly/private/stack-assembly.js +7 -7
- package/lib/api/cloud-assembly/source-builder.d.ts +19 -0
- package/lib/api/cloud-assembly/source-builder.js +1 -1
- package/lib/api/cloud-assembly/stack-collection.js +2 -2
- package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +1 -1
- package/lib/api/cloudformation/evaluate-cloudformation-template.js +2 -2
- package/lib/api/cloudformation/stack-helpers.js +2 -2
- package/lib/api/cloudformation/template-body-parameter.js +2 -2
- package/lib/api/context.js +2 -2
- package/lib/api/deployments/asset-publishing.js +2 -2
- package/lib/api/deployments/assets.js +5 -6
- package/lib/api/deployments/cfn-api.js +3 -3
- package/lib/api/deployments/checks.js +2 -2
- package/lib/api/deployments/deploy-stack.js +2 -2
- package/lib/api/deployments/deployment-result.js +2 -2
- package/lib/api/deployments/deployments.js +3 -3
- package/lib/api/diff/diff-formatter.js +2 -2
- package/lib/api/environment/environment-access.js +2 -2
- package/lib/api/environment/environment-resources.js +2 -2
- package/lib/api/environment/placeholders.js +1 -1
- package/lib/api/garbage-collection/garbage-collector.js +2 -2
- package/lib/api/garbage-collection/progress-printer.js +2 -2
- package/lib/api/garbage-collection/stack-refresh.js +2 -2
- package/lib/api/hotswap/appsync-mapping-templates.js +2 -2
- package/lib/api/hotswap/common.js +2 -2
- package/lib/api/hotswap/hotswap-deployments.js +2 -2
- package/lib/api/hotswap/lambda-functions.js +2 -2
- package/lib/api/index.d.ts +0 -1
- package/lib/api/index.js +1 -2
- package/lib/api/io/private/level-priority.js +1 -1
- package/lib/api/io/private/sdk-logger.d.ts +1 -1
- package/lib/api/io/private/sdk-logger.js +6 -6
- package/lib/api/io/private/span.js +1 -1
- package/lib/api/logs-monitor/logs-monitor.js +2 -2
- package/lib/api/notices/cached-data-source.d.ts +13 -0
- package/lib/api/notices/cached-data-source.js +77 -0
- package/lib/api/notices/filter.d.ts +59 -0
- package/lib/api/notices/filter.js +189 -0
- package/lib/api/notices/index.d.ts +1 -0
- package/lib/api/notices/index.js +18 -0
- package/lib/api/notices/notices.d.ts +111 -0
- package/lib/api/notices/notices.js +131 -0
- package/lib/api/notices/types.d.ts +37 -0
- package/lib/api/notices/types.js +3 -0
- package/lib/api/notices/web-data-source.d.ts +9 -0
- package/lib/api/notices/web-data-source.js +70 -0
- package/lib/api/plugin/context-provider-plugin.js +1 -1
- package/lib/api/plugin/plugin.d.ts +0 -2
- package/lib/api/plugin/plugin.js +4 -9
- package/lib/api/refactoring/cloudformation.d.ts +23 -0
- package/lib/api/refactoring/cloudformation.js +54 -1
- package/lib/api/refactoring/exclude.d.ts +29 -0
- package/lib/api/refactoring/exclude.js +94 -0
- package/lib/api/refactoring/index.d.ts +4 -23
- package/lib/api/refactoring/index.js +28 -60
- package/lib/api/resource-import/importer.js +2 -2
- package/lib/api/rwlock.js +2 -2
- package/lib/api/settings.js +2 -2
- package/lib/api/shared-private.js +31 -6186
- package/lib/api/toolkit-info.js +2 -2
- package/lib/api/work-graph/work-graph-builder.js +3 -3
- package/lib/api/work-graph/work-graph.js +2 -2
- package/lib/context-providers/ami.js +2 -2
- package/lib/context-providers/cc-api-provider.js +2 -2
- package/lib/context-providers/hosted-zones.js +2 -2
- package/lib/context-providers/index.js +4 -4
- package/lib/context-providers/keys.js +2 -2
- package/lib/context-providers/load-balancers.js +2 -2
- package/lib/context-providers/security-groups.js +2 -2
- package/lib/context-providers/ssm-parameters.js +2 -2
- package/lib/context-providers/vpcs.js +3 -3
- package/lib/index.d.ts +3 -1
- package/lib/index.js +4 -2
- package/lib/index_bg.wasm +0 -0
- package/lib/payloads/deploy.d.ts +7 -0
- package/lib/payloads/deploy.js +1 -1
- package/lib/payloads/hotswap.d.ts +1 -0
- package/lib/payloads/hotswap.js +1 -1
- package/lib/private/activity-printer/base.js +1 -1
- package/lib/toolkit/non-interactive-io-host.js +5 -4
- package/lib/toolkit/toolkit.d.ts +2 -2
- package/lib/toolkit/toolkit.js +40 -27
- package/lib/util/directories.js +2 -2
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.js +2 -1
- package/lib/util/json.js +1 -1
- package/lib/util/net.d.ts +9 -0
- package/lib/util/net.js +60 -0
- package/lib/util/objects.js +2 -2
- package/lib/util/types.js +1 -1
- package/lib/util/version-range.js +2 -2
- package/package.json +25 -26
- package/tsdoc.json +15 -0
- package/lib/api/notices.d.ts +0 -210
- package/lib/api/notices.js +0 -430
- package/lib/api/shared-private.js.map +0 -7
- package/lib/api/shared-public.d.ts +0 -2139
- package/lib/api/shared-public.js +0 -3272
- package/lib/api/shared-public.js.map +0 -7
- package/lib/private/util.d.ts +0 -1
- package/lib/private/util.js +0 -787
- package/lib/private/util.js.map +0 -7
- /package/lib/{api → toolkit}/toolkit-error.d.ts +0 -0
- /package/lib/{api → toolkit}/toolkit-error.js +0 -0
package/lib/api/index.js
CHANGED
|
@@ -34,9 +34,8 @@ __exportStar(require("./resource-import"), exports);
|
|
|
34
34
|
__exportStar(require("./rwlock"), exports);
|
|
35
35
|
__exportStar(require("./settings"), exports);
|
|
36
36
|
__exportStar(require("./stack-events"), exports);
|
|
37
|
-
__exportStar(require("./toolkit-error"), exports);
|
|
38
37
|
__exportStar(require("./toolkit-info"), exports);
|
|
39
38
|
__exportStar(require("./work-graph"), exports);
|
|
40
39
|
__exportStar(require("./tree"), exports);
|
|
41
40
|
__exportStar(require("./tags"), exports);
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsNENBQTBCO0FBQzFCLHVDQUFxQjtBQUNyQixpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQywyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixpREFBK0I7QUFDL0IsK0NBQTZCO0FBQzdCLHlDQUF1QjtBQUN2Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F3cy1hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vYm9vdHN0cmFwJztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWQtYXNzZW1ibHknO1xuZXhwb3J0ICogZnJvbSAnLi9jbG91ZGZvcm1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXBsb3ltZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2RpZmYnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2dhcmJhZ2UtY29sbGVjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2hvdHN3YXAnO1xuZXhwb3J0ICogZnJvbSAnLi9pbyc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ3MtbW9uaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL25vdGljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9yZWZhY3RvcmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVpcmUtYXBwcm92YWwnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZS1pbXBvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9yd2xvY2snO1xuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YWNrLWV2ZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xraXQtaW5mbyc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmstZ3JhcGgnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncyc7XG4iXX0=
|
|
@@ -30,4 +30,4 @@ function compareFn(a, b) {
|
|
|
30
30
|
function isMessageRelevantForLevel(msg, level) {
|
|
31
31
|
return compareFn(msg.level, level) >= 0;
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwtcHJpb3JpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsZXZlbC1wcmlvcml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSw4REFFQztBQTlCRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLEdBQUc7SUFDYixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87Q0FDQyxDQUFDO0FBRVgsd0JBQXdCO0FBQ3hCLHNEQUFzRDtBQUN0RCxNQUFNLGFBQWEsR0FBMEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUgsU0FBUyxTQUFTLENBQUMsQ0FBaUIsRUFBRSxDQUFpQjtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLEdBQThCLEVBQUUsS0FBcUI7SUFDN0YsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIEtlZXAgdGhpcyBsaXN0IG9yZGVyZWQgZnJvbSBtb3N0IHRvIGxlYXN0IHZlcmJvc2UuXG4gKiBFdmVyeSBsZXZlbCBcImluY2x1ZGVzXCIgYWxsIG9mIHRoZSBsZXZlbHMgYmVsb3cgaXQuXG4gKiBUaGlzIGlzIHVzZWQgdG8gY29tcGFyZSBsZXZlbHMgb2YgbWVzc2FnZXMgdG8gZGV0ZXJtaW5lIHdoYXQgc2hvdWxkIGJlIGxvZ2dlZC5cbiAqL1xuY29uc3QgbGV2ZWxzID0gW1xuICAndHJhY2UnLFxuICAnZGVidWcnLFxuICAnaW5mbycsXG4gICd3YXJuJyxcbiAgJ3Jlc3VsdCcsXG4gICdlcnJvcicsXG5dIGFzIGNvbnN0O1xuXG4vLyBjb21wYXJlIGxldmVscyBoZWxwZXJcbi8vIGhlbHBlciB0byBjb252ZXJ0IHRoZSBhcnJheSBpbnRvIGEgbWFwIHdpdGggbnVtYmVyc1xuY29uc3Qgb3JkZXJlZExldmVsczogUmVjb3JkPHR5cGVvZiBsZXZlbHNbbnVtYmVyXSwgbnVtYmVyPiA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhsZXZlbHMpLm1hcChhID0+IGEucmV2ZXJzZSgpKSk7XG5mdW5jdGlvbiBjb21wYXJlRm4oYTogSW9NZXNzYWdlTGV2ZWwsIGI6IElvTWVzc2FnZUxldmVsKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9yZGVyZWRMZXZlbHNbYV0gLSBvcmRlcmVkTGV2ZWxzW2JdO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBtZXNzYWdlIGlzIHJlbGV2YW50IGZvciB0aGUgZ2l2ZW4gbG9nIGxldmVsLlxuICpcbiAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBsZXZlbCBUaGUgbGV2ZWwgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBpcyByZWxldmFudCBmb3IgdGhlIGdpdmVuIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNZXNzYWdlUmVsZXZhbnRGb3JMZXZlbChtc2c6IHsgbGV2ZWw6IElvTWVzc2FnZUxldmVsIH0sIGxldmVsOiBJb01lc3NhZ2VMZXZlbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY29tcGFyZUZuKG1zZy5sZXZlbCwgbGV2ZWwpID49IDA7XG59XG5cbiJdfQ==
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.asSdkLogger = asSdkLogger;
|
|
4
4
|
const util_1 = require("util");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const messages_1 = require("./messages");
|
|
6
|
+
const util_2 = require("../../../util");
|
|
7
7
|
function asSdkLogger(ioHost) {
|
|
8
8
|
return new class {
|
|
9
9
|
// This is too much detail for our logs
|
|
@@ -39,13 +39,13 @@ function asSdkLogger(ioHost) {
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
info(...content) {
|
|
42
|
-
void ioHost.notify(
|
|
42
|
+
void ioHost.notify(messages_1.IO.CDK_SDK_I0100.msg(`[sdk info] ${formatSdkLoggerContent(content)}`, {
|
|
43
43
|
sdkLevel: 'info',
|
|
44
44
|
content,
|
|
45
45
|
}));
|
|
46
46
|
}
|
|
47
47
|
warn(...content) {
|
|
48
|
-
void ioHost.notify(
|
|
48
|
+
void ioHost.notify(messages_1.IO.CDK_SDK_I0100.msg(`[sdk warn] ${formatSdkLoggerContent(content)}`, {
|
|
49
49
|
sdkLevel: 'warn',
|
|
50
50
|
content,
|
|
51
51
|
}));
|
|
@@ -72,7 +72,7 @@ function asSdkLogger(ioHost) {
|
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
74
|
error(...content) {
|
|
75
|
-
void ioHost.notify(
|
|
75
|
+
void ioHost.notify(messages_1.IO.CDK_SDK_I0100.msg(`[sdk error] ${formatSdkLoggerContent(content)}`, {
|
|
76
76
|
sdkLevel: 'error',
|
|
77
77
|
content,
|
|
78
78
|
}));
|
|
@@ -121,4 +121,4 @@ function isSdkApiCallSuccess(x) {
|
|
|
121
121
|
function isSdkApiCallError(x) {
|
|
122
122
|
return x && typeof x === 'object' && x.commandName && x.error;
|
|
123
123
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2RrLWxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNkay1sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFPQSxrQ0E2RUM7QUFuRkQsK0JBQStCO0FBRy9CLHlDQUFnQztBQUNoQyx3Q0FBdUQ7QUFFdkQsU0FBZ0IsV0FBVyxDQUFDLE1BQWdCO0lBQzFDLE9BQU8sSUFBSTtRQUNULHVDQUF1QztRQUNoQyxLQUFLLENBQUMsR0FBRyxRQUFlO1FBQy9CLENBQUM7UUFDTSxLQUFLLENBQUMsR0FBRyxRQUFlO1FBQy9CLENBQUM7UUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0EwQkc7UUFDSSxJQUFJLENBQUMsR0FBRyxPQUFjO1lBQzNCLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxjQUFjLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7Z0JBQ3ZGLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixPQUFPO2FBQ1IsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBRU0sSUFBSSxDQUFDLEdBQUcsT0FBYztZQUMzQixLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsY0FBYyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO2dCQUN2RixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsT0FBTzthQUNSLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQW9CRztRQUNJLEtBQUssQ0FBQyxHQUFHLE9BQWM7WUFDNUIsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGVBQWUsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtnQkFDeEYsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU87YUFDUixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLHNCQUFzQixDQUFDLE9BQWM7SUFDNUMsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGNBQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsT0FBWTtJQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2pFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsUUFBUSxjQUFjLE9BQU8sQ0FBQyxRQUFRLEVBQUUsZUFBZSxXQUFXLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLDZCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTFGLElBQUksbUJBQW1CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7U0FBTSxDQUFDO1FBQ04sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQW1CRCxTQUFTLG1CQUFtQixDQUFDLENBQU07SUFDakMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUNqRSxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxDQUFNO0lBQy9CLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgaW5zcGVjdCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tICdAc21pdGh5L3R5cGVzJztcbmltcG9ydCB0eXBlIHsgSW9IZWxwZXIgfSBmcm9tICcuL2lvLWhlbHBlcic7XG5pbXBvcnQgeyBJTyB9IGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHsgcmVwbGFjZXJCdWZmZXJXaXRoSW5mbyB9IGZyb20gJy4uLy4uLy4uL3V0aWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNTZGtMb2dnZXIoaW9Ib3N0OiBJb0hlbHBlcik6IExvZ2dlciB7XG4gIHJldHVybiBuZXcgY2xhc3MgaW1wbGVtZW50cyBMb2dnZXIge1xuICAgIC8vIFRoaXMgaXMgdG9vIG11Y2ggZGV0YWlsIGZvciBvdXIgbG9nc1xuICAgIHB1YmxpYyB0cmFjZSguLi5fY29udGVudDogYW55W10pIHtcbiAgICB9XG4gICAgcHVibGljIGRlYnVnKC4uLl9jb250ZW50OiBhbnlbXSkge1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluZm8gaXMgY2FsbGVkIG1vc3RseSAoZXhjbHVzaXZlbHk/KSBmb3Igc3VjY2Vzc2Z1bCBBUEkgY2FsbHNcbiAgICAgKlxuICAgICAqIFBheWxvYWQ6XG4gICAgICpcbiAgICAgKiAoTm90ZSB0aGUgaW5wdXQgY29udGFpbnMgZW50aXJlIENGTiB0ZW1wbGF0ZXMsIGZvciBleGFtcGxlKVxuICAgICAqXG4gICAgICogYGBgXG4gICAgICoge1xuICAgICAqICAgY2xpZW50TmFtZTogJ1MzQ2xpZW50JyxcbiAgICAgKiAgIGNvbW1hbmROYW1lOiAnR2V0QnVja2V0TG9jYXRpb25Db21tYW5kJyxcbiAgICAgKiAgIGlucHV0OiB7XG4gICAgICogICAgIEJ1Y2tldDogJy4uLi4uJyxcbiAgICAgKiAgICAgRXhwZWN0ZWRCdWNrZXRPd25lcjogdW5kZWZpbmVkXG4gICAgICogICB9LFxuICAgICAqICAgb3V0cHV0OiB7IExvY2F0aW9uQ29uc3RyYWludDogJ2V1LWNlbnRyYWwtMScgfSxcbiAgICAgKiAgIG1ldGFkYXRhOiB7XG4gICAgICogICAgIGh0dHBTdGF0dXNDb2RlOiAyMDAsXG4gICAgICogICAgIHJlcXVlc3RJZDogJy4uLi4nLFxuICAgICAqICAgICBleHRlbmRlZFJlcXVlc3RJZDogJy4uLicsXG4gICAgICogICAgIGNmSWQ6IHVuZGVmaW5lZCxcbiAgICAgKiAgICAgYXR0ZW1wdHM6IDEsXG4gICAgICogICAgIHRvdGFsUmV0cnlEZWxheTogMFxuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5mbyguLi5jb250ZW50OiBhbnlbXSkge1xuICAgICAgdm9pZCBpb0hvc3Qubm90aWZ5KElPLkNES19TREtfSTAxMDAubXNnKGBbc2RrIGluZm9dICR7Zm9ybWF0U2RrTG9nZ2VyQ29udGVudChjb250ZW50KX1gLCB7XG4gICAgICAgIHNka0xldmVsOiAnaW5mbycsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdhcm4oLi4uY29udGVudDogYW55W10pIHtcbiAgICAgIHZvaWQgaW9Ib3N0Lm5vdGlmeShJTy5DREtfU0RLX0kwMTAwLm1zZyhgW3NkayB3YXJuXSAke2Zvcm1hdFNka0xvZ2dlckNvbnRlbnQoY29udGVudCl9YCwge1xuICAgICAgICBzZGtMZXZlbDogJ3dhcm4nLFxuICAgICAgICBjb250ZW50LFxuICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVycm9yIGlzIGNhbGxlZCBtb3N0bHkgKGV4Y2x1c2l2ZWx5PykgZm9yIGZhaWxpbmcgQVBJIGNhbGxzXG4gICAgICpcbiAgICAgKiBQYXlsb2FkIChpbnB1dCB3b3VsZCBiZSB0aGUgZW50aXJlIEFQSSBjYWxsIGFyZ3VtZW50cykuXG4gICAgICpcbiAgICAgKiBgYGBcbiAgICAgKiB7XG4gICAgICogICBjbGllbnROYW1lOiAnU1RTQ2xpZW50JyxcbiAgICAgKiAgIGNvbW1hbmROYW1lOiAnR2V0Q2FsbGVySWRlbnRpdHlDb21tYW5kJyxcbiAgICAgKiAgIGlucHV0OiB7fSxcbiAgICAgKiAgIGVycm9yOiBBZ2dyZWdhdGVFcnJvciBbRUNPTk5SRUZVU0VEXTpcbiAgICAgKiAgICAgICBhdCBpbnRlcm5hbENvbm5lY3RNdWx0aXBsZSAobm9kZTpuZXQ6MTEyMToxOClcbiAgICAgKiAgICAgICBhdCBhZnRlckNvbm5lY3RNdWx0aXBsZSAobm9kZTpuZXQ6MTY4ODo3KSB7XG4gICAgICogICAgIGNvZGU6ICdFQ09OTlJFRlVTRUQnLFxuICAgICAqICAgICAnJG1ldGFkYXRhJzogeyBhdHRlbXB0czogMywgdG90YWxSZXRyeURlbGF5OiA2MDAgfSxcbiAgICAgKiAgICAgW2Vycm9yc106IFsgW0Vycm9yXSwgW0Vycm9yXSBdXG4gICAgICogICB9LFxuICAgICAqICAgbWV0YWRhdGE6IHsgYXR0ZW1wdHM6IDMsIHRvdGFsUmV0cnlEZWxheTogNjAwIH1cbiAgICAgKiB9XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcHVibGljIGVycm9yKC4uLmNvbnRlbnQ6IGFueVtdKSB7XG4gICAgICB2b2lkIGlvSG9zdC5ub3RpZnkoSU8uQ0RLX1NES19JMDEwMC5tc2coYFtzZGsgZXJyb3JdICR7Zm9ybWF0U2RrTG9nZ2VyQ29udGVudChjb250ZW50KX1gLCB7XG4gICAgICAgIHNka0xldmVsOiAnZXJyb3InLFxuICAgICAgICBjb250ZW50LFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIGNhbiBiZSBhbnl0aGluZy5cbiAqXG4gKiBGb3IgZGVidWcsIGl0IHNlZW1zIHRvIGJlIG1vc3RseSBzdHJpbmdzLlxuICogRm9yIGluZm8sIGl0IHNlZW1zIHRvIGJlIG9iamVjdHMuXG4gKlxuICogU3RyaW5naWZ5IGFuZCBqb2luIHdpdGhvdXQgc2VwYXJhdG9yLlxuICovXG5mdW5jdGlvbiBmb3JtYXRTZGtMb2dnZXJDb250ZW50KGNvbnRlbnQ6IGFueVtdKSB7XG4gIGlmIChjb250ZW50Lmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IGFwaUZtdCA9IGZvcm1hdEFwaUNhbGwoY29udGVudFswXSk7XG4gICAgaWYgKGFwaUZtdCkge1xuICAgICAgcmV0dXJuIGFwaUZtdDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvbnRlbnQubWFwKCh4KSA9PiB0eXBlb2YgeCA9PT0gJ3N0cmluZycgPyB4IDogaW5zcGVjdCh4KSkuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEFwaUNhbGwoY29udGVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFpc1Nka0FwaUNhbGxTdWNjZXNzKGNvbnRlbnQpICYmICFpc1Nka0FwaUNhbGxFcnJvcihjb250ZW50KSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCBzZXJ2aWNlID0gY29udGVudC5jbGllbnROYW1lLnJlcGxhY2UoL0NsaWVudCQvLCAnJyk7XG4gIGNvbnN0IGFwaSA9IGNvbnRlbnQuY29tbWFuZE5hbWUucmVwbGFjZSgvQ29tbWFuZCQvLCAnJyk7XG5cbiAgY29uc3QgcGFydHMgPSBbXTtcbiAgaWYgKChjb250ZW50Lm1ldGFkYXRhPy5hdHRlbXB0cyA/PyAwKSA+IDEpIHtcbiAgICBwYXJ0cy5wdXNoKGBbJHtjb250ZW50Lm1ldGFkYXRhPy5hdHRlbXB0c30gYXR0ZW1wdHMsICR7Y29udGVudC5tZXRhZGF0YT8udG90YWxSZXRyeURlbGF5fW1zIHJldHJ5XWApO1xuICB9XG5cbiAgcGFydHMucHVzaChgJHtzZXJ2aWNlfS4ke2FwaX0oJHtKU09OLnN0cmluZ2lmeShjb250ZW50LmlucHV0LCByZXBsYWNlckJ1ZmZlcldpdGhJbmZvKX0pYCk7XG5cbiAgaWYgKGlzU2RrQXBpQ2FsbFN1Y2Nlc3MoY29udGVudCkpIHtcbiAgICBwYXJ0cy5wdXNoKCctPiBPSycpO1xuICB9IGVsc2Uge1xuICAgIHBhcnRzLnB1c2goYC0+ICR7Y29udGVudC5lcnJvcn1gKTtcbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5qb2luKCcgJyk7XG59XG5cbmludGVyZmFjZSBTZGtBcGlDYWxsQmFzZSB7XG4gIGNsaWVudE5hbWU6IHN0cmluZztcbiAgY29tbWFuZE5hbWU6IHN0cmluZztcbiAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBtZXRhZGF0YT86IHtcbiAgICBodHRwU3RhdHVzQ29kZT86IG51bWJlcjtcbiAgICByZXF1ZXN0SWQ/OiBzdHJpbmc7XG4gICAgZXh0ZW5kZWRSZXF1ZXN0SWQ/OiBzdHJpbmc7XG4gICAgY2ZJZD86IHN0cmluZztcbiAgICBhdHRlbXB0cz86IG51bWJlcjtcbiAgICB0b3RhbFJldHJ5RGVsYXk/OiBudW1iZXI7XG4gIH07XG59XG5cbnR5cGUgU2RrQXBpQ2FsbFN1Y2Nlc3MgPSBTZGtBcGlDYWxsQmFzZSAmIHsgb3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB9O1xudHlwZSBTZGtBcGlDYWxsRXJyb3IgPSBTZGtBcGlDYWxsQmFzZSAmIHsgZXJyb3I6IEVycm9yIH07XG5cbmZ1bmN0aW9uIGlzU2RrQXBpQ2FsbFN1Y2Nlc3MoeDogYW55KTogeCBpcyBTZGtBcGlDYWxsU3VjY2VzcyB7XG4gIHJldHVybiB4ICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0JyAmJiB4LmNvbW1hbmROYW1lICYmIHgub3V0cHV0O1xufVxuXG5mdW5jdGlvbiBpc1Nka0FwaUNhbGxFcnJvcih4OiBhbnkpOiB4IGlzIFNka0FwaUNhbGxFcnJvciB7XG4gIHJldHVybiB4ICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0JyAmJiB4LmNvbW1hbmROYW1lICYmIHguZXJyb3I7XG59XG4iXX0=
|
|
@@ -84,4 +84,4 @@ function withSpanId(span, message) {
|
|
|
84
84
|
span,
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNwYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBQWtDO0FBQ2xDLDZCQUE2QjtBQUk3Qix3Q0FBMkM7QUFpRjNDOzs7Ozs7R0FNRztBQUNILE1BQWEsU0FBUztJQUNILFVBQVUsQ0FBdUI7SUFDakMsUUFBUSxDQUFXO0lBRXBDLFlBQW1CLFFBQWtCLEVBQUUsVUFBZ0M7UUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQVFNLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBTSxFQUFFLENBQUs7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUErQixFQUFpQixFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDOUUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUV4QyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ3BDLFFBQVEsRUFDUixZQUFZLENBQ2IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDckQsT0FBTztnQkFDTCxJQUFJLEVBQUUsV0FBVztnQkFDakIsS0FBSyxFQUFFLElBQUEsaUJBQVUsRUFBQyxXQUFXLENBQUM7YUFDL0IsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxJQUEwQixFQUFFO2dCQUM1QyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQStCLEVBQWlCLEVBQUU7Z0JBQzlELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFDLEtBQStCLEVBQUUsT0FBZ0IsRUFBd0IsRUFBRTtnQkFDdkYsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0csTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7b0JBQ2hDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDeEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztZQUVELEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBTSxFQUFFLENBQTBDLEVBQXdCLEVBQUU7Z0JBQ3RGLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUV4QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQXlDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDekUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFFcEMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNsQyxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO29CQUN2QixHQUFHLFVBQVU7aUJBQ1QsQ0FBQyxDQUFDLENBQUM7Z0JBRVgsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE1RUQsOEJBNEVDO0FBRUQsU0FBUyxTQUFTLENBQW1CLEtBQVUsRUFBRSxNQUFVO0lBQ3pELE1BQU0sY0FBYyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUVqRCxzR0FBc0c7SUFDdEcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRS9ELG9FQUFvRTtJQUNwRSw2RUFBNkU7SUFDN0UsTUFBTSxPQUFPLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRTVELE9BQU87UUFDTCxPQUFPO1FBQ1AsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLE9BQW1DO0lBQ25FLE9BQU87UUFDTCxHQUFHLE9BQU87UUFDVixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlsIGZyb20gJ25vZGU6dXRpbCc7XG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb25MZXNzTWVzc2FnZSwgSW9IZWxwZXIgfSBmcm9tICcuL2lvLWhlbHBlcic7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZU1ha2VyIH0gZnJvbSAnLi9tZXNzYWdlLW1ha2VyJztcbmltcG9ydCB0eXBlIHsgRHVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy90eXBlcyc7XG5pbXBvcnQgeyBmb3JtYXRUaW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BhbkVuZCB7XG4gIHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXI7XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgc3BlY2lmaWMgc3BhblxuICpcbiAqIEEgc3BhbiBkZWZpbml0aW9uIGlzIGEgcGFpciBvZiBgSW9NZXNzYWdlTWFrZXJgcyB0byBjcmVhdGUgYSBzdGFydCBhbmQgZW5kIG1lc3NhZ2Ugb2YgdGhlIHNwYW4gcmVzcGVjdGl2ZWx5LlxuICogSXQgYWxzbyBoYXMgYSBkaXNwbGF5IG5hbWUsIHRoYXQgaXMgdXNlZCBmb3IgYXV0by1nZW5lcmF0ZWQgbWVzc2FnZSB0ZXh0IHdoZW4gdGhleSBhcmUgbm90IHByb3ZpZGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5EZWZpbml0aW9uPFMgZXh0ZW5kcyBvYmplY3QsIEUgZXh0ZW5kcyBTcGFuRW5kPiB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnQ6IElvTWVzc2FnZU1ha2VyPFM+O1xuICByZWFkb25seSBlbmQ6IElvTWVzc2FnZU1ha2VyPEU+O1xufVxuXG4vKipcbiAqIFVzZWQgaW4gY29uZGl0aW9uYWwgdHlwZXMgdG8gY2hlY2sgaWYgYSB0eXBlIChlLmcuIGFmdGVyIG9taXR0aW5nIGZpZWxkcykgaXMgYW4gZW1wdHkgb2JqZWN0XG4gKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGNvdW50ZXItaW50dWl0aXZlIG5laXRoZXIgYG9iamVjdGAgbm9yIGB7fWAgcmVwcmVzZW50IHRoYXQuXG4gKi9cbnR5cGUgRW1wdHlPYmplY3QgPSB7XG4gIFtpbmRleDogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sXTogbmV2ZXI7XG59XG5cbi8qKlxuICogSGVscGVyIHR5cGUgdG8gZm9yY2UgYSBwYXJhbWV0ZXIgdG8gYmUgbm90IHByZXNlbnQgb2YgdGhlIGNvbXB1dGVkIHR5cGUgaXMgYW4gZW1wdHkgb2JqZWN0XG4gKi9cbnR5cGUgVm9pZFdoZW5FbXB0eTxUPiA9IFQgZXh0ZW5kcyBFbXB0eU9iamVjdCA/IHZvaWQgOiBUXG5cbi8qKlxuICogSGVscGVyIHR5cGUgdG8gZm9yY2UgYSBwYXJhbWV0ZXIgdG8gYmUgYW4gZW1wdHkgb2JqZWN0IGlmIHRoZSBjb21wdXRlZCB0eXBlIGlzIGFuIGVtcHR5IG9iamVjdFxuICogVGhpcyBpcyB3ZWlyZCwgYnV0IHNvbWUgY29tcHV0ZWQgdHlwZXMgKGUuZy4gdXNpbmcgYE9taXRgKSBkb24ndCBlbmQgdXAgZW5mb3JjaW5nIHRoaXMuXG4gKi9cbnR5cGUgRm9yY2VFbXB0eTxUPiA9IFQgZXh0ZW5kcyBFbXB0eU9iamVjdCA/IEVtcHR5T2JqZWN0IDogVFxuXG4vKipcbiAqIE1ha2Ugc29tZSBwcm9wZXJ0aWVzIG9wdGlvbmFsXG4gKi9cbnR5cGUgT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxQYXJ0aWFsPFQ+LCBLPiAmIE9taXQ8VCwgSz47XG5cbi8qKlxuICogRW5kaW5nIHRoZSBzcGFuIHJldHVybnMgdGhlIG9ic2VydmVkIGR1cmF0aW9uXG4gKi9cbmludGVyZmFjZSBFbGFwc2VkVGltZSB7XG4gIHJlYWRvbmx5IGFzTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgYXNTZWM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIG1lc3NhZ2Ugc3BhbiB0aGF0IGNhbiBiZSBlbmRlZCBhbmQgcmVhZCB0aW1lcyBmcm9tXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lc3NhZ2VTcGFuPEUgZXh0ZW5kcyBTcGFuRW5kPiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUgc3RhcnRcbiAgICovXG4gIGVsYXBzZWRUaW1lKCk6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xuICAvKipcbiAgICogU2VuZHMgYSBzaW1wbGUsIGdlbmVyaWMgbWVzc2FnZSB3aXRoIHRoZSBjdXJyZW50IHRpbWluZ1xuICAgKiBGb3IgbW9yZSBjb21wbGV4IGludGVybWVkaWF0ZSBtZXNzYWdlcywgZ2V0IHRoZSBgZWxhcHNlZFRpbWVgIGFuZCB1c2UgYG5vdGlmeWBcbiAgICovXG4gIHRpbWluZyhtYWtlcjogSW9NZXNzYWdlTWFrZXI8RHVyYXRpb24+LCBtZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxFbGFwc2VkVGltZT47XG4gIC8qKlxuICAgKiBTZW5kcyBhbiBhcmJpdHJhcnkgaW50ZXJtZWRpYXRlIG1lc3NhZ2UgYXMgcGFydCBvZiB0aGUgc3BhblxuICAgKi9cbiAgbm90aWZ5KG1lc3NhZ2U6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIEVuZCB0aGUgc3BhbiB3aXRoIGEgcGF5bG9hZFxuICAgKi9cbiAgZW5kKHBheWxvYWQ6IFZvaWRXaGVuRW1wdHk8T21pdDxFLCBrZXlvZiBTcGFuRW5kPj4pOiBQcm9taXNlPEVsYXBzZWRUaW1lPjtcbiAgLyoqXG4gICAqIEVuZCB0aGUgc3BhbiB3aXRoIGEgcGF5bG9hZCwgb3ZlcndyaXRpbmdcbiAgICovXG4gIGVuZChwYXlsb2FkOiBWb2lkV2hlbkVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pik6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xuICAvKipcbiAgICogRW5kIHRoZSBzcGFuIHdpdGggYSBtZXNzYWdlIGFuZCBwYXlsb2FkXG4gICAqL1xuICBlbmQobWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkOiBGb3JjZUVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pik6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyB0byBtYWtlIHNwYW5zIGFyb3VuZCBibG9ja3Mgb2Ygd29ya1xuICpcbiAqIEJsb2NrcyBhcmUgZW5jbG9zZWQgYnkgYSBzdGFydCBhbmQgZW5kIG1lc3NhZ2UuXG4gKiBBbGwgbWVzc2FnZXMgb2YgdGhlIHNwYW4gc2hhcmUgYSB1bmlxdWUgaWQuXG4gKiBUaGUgZW5kIG1lc3NhZ2UgY29udGFpbnMgdGhlIHRpbWUgcGFzc2VkIGJldHdlZW4gc3RhcnQgYW5kIGVuZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNwYW5NYWtlcjxTIGV4dGVuZHMgb2JqZWN0LCBFIGV4dGVuZHMgU3BhbkVuZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmluaXRpb246IFNwYW5EZWZpbml0aW9uPFMsIEU+O1xuICBwcml2YXRlIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoaW9IZWxwZXI6IElvSGVscGVyLCBkZWZpbml0aW9uOiBTcGFuRGVmaW5pdGlvbjxTLCBFPikge1xuICAgIHRoaXMuZGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG4gICAgdGhpcy5pb0hlbHBlciA9IGlvSGVscGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyB0aGUgc3BhbiBhbmQgaW5pdGlhbGx5IG5vdGlmaWVzIHRoZSBJb0hvc3RcbiAgICogQHJldHVybnMgYSBtZXNzYWdlIHNwYW5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBiZWdpbihwYXlsb2FkOiBWb2lkV2hlbkVtcHR5PFM+KTogUHJvbWlzZTxJTWVzc2FnZVNwYW48RT4+O1xuICBwdWJsaWMgYXN5bmMgYmVnaW4obWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkOiBTKTogUHJvbWlzZTxJTWVzc2FnZVNwYW48RT4+O1xuICBwdWJsaWMgYXN5bmMgYmVnaW4oYTogYW55LCBiPzogUyk6IFByb21pc2U8SU1lc3NhZ2VTcGFuPEU+PiB7XG4gICAgY29uc3Qgc3BhbklkID0gdXVpZC52NCgpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgY29uc3Qgbm90aWZ5ID0gKG1zZzogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmlvSGVscGVyLm5vdGlmeSh3aXRoU3BhbklkKHNwYW5JZCwgbXNnKSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXJ0SW5wdXQgPSBwYXJzZUFyZ3M8Uz4oYSwgYik7XG4gICAgY29uc3Qgc3RhcnRNc2cgPSBzdGFydElucHV0Lm1lc3NhZ2UgPz8gYFN0YXJ0aW5nICR7dGhpcy5kZWZpbml0aW9uLm5hbWV9IC4uLmA7XG4gICAgY29uc3Qgc3RhcnRQYXlsb2FkID0gc3RhcnRJbnB1dC5wYXlsb2FkO1xuXG4gICAgYXdhaXQgbm90aWZ5KHRoaXMuZGVmaW5pdGlvbi5zdGFydC5tc2coXG4gICAgICBzdGFydE1zZyxcbiAgICAgIHN0YXJ0UGF5bG9hZCxcbiAgICApKTtcblxuICAgIGNvbnN0IHRpbWluZ01zZ1RlbXBsYXRlID0gJ1xcbuKcqCAgJXMgdGltZTogJWRzXFxuJztcbiAgICBjb25zdCB0aW1lID0gKCkgPT4ge1xuICAgICAgY29uc3QgZWxhcHNlZFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0VGltZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFzTXM6IGVsYXBzZWRUaW1lLFxuICAgICAgICBhc1NlYzogZm9ybWF0VGltZShlbGFwc2VkVGltZSksXG4gICAgICB9O1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgZWxhcHNlZFRpbWU6IGFzeW5jICgpOiBQcm9taXNlPEVsYXBzZWRUaW1lPiA9PiB7XG4gICAgICAgIHJldHVybiB0aW1lKCk7XG4gICAgICB9LFxuXG4gICAgICBub3RpZnk6IGFzeW5jKG1zZzogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KG1zZyk7XG4gICAgICB9LFxuXG4gICAgICB0aW1pbmc6IGFzeW5jKG1ha2VyOiBJb01lc3NhZ2VNYWtlcjxEdXJhdGlvbj4sIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPEVsYXBzZWRUaW1lPiA9PiB7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGltZSgpO1xuICAgICAgICBjb25zdCB0aW1pbmdNc2cgPSBtZXNzYWdlID8gbWVzc2FnZSA6IHV0aWwuZm9ybWF0KHRpbWluZ01zZ1RlbXBsYXRlLCB0aGlzLmRlZmluaXRpb24ubmFtZSwgZHVyYXRpb24uYXNTZWMpO1xuICAgICAgICBhd2FpdCBub3RpZnkobWFrZXIubXNnKHRpbWluZ01zZywge1xuICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbi5hc01zLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBkdXJhdGlvbjtcbiAgICAgIH0sXG5cbiAgICAgIGVuZDogYXN5bmMgKHg6IGFueSwgeT86IEZvcmNlRW1wdHk8T3B0aW9uYWw8RSwga2V5b2YgU3BhbkVuZD4+KTogUHJvbWlzZTxFbGFwc2VkVGltZT4gPT4ge1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRpbWUoKTtcblxuICAgICAgICBjb25zdCBlbmRJbnB1dCA9IHBhcnNlQXJnczxGb3JjZUVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pj4oeCwgeSk7XG4gICAgICAgIGNvbnN0IGVuZE1zZyA9IGVuZElucHV0Lm1lc3NhZ2UgPz8gdXRpbC5mb3JtYXQodGltaW5nTXNnVGVtcGxhdGUsIHRoaXMuZGVmaW5pdGlvbi5uYW1lLCBkdXJhdGlvbi5hc1NlYyk7XG4gICAgICAgIGNvbnN0IGVuZFBheWxvYWQgPSBlbmRJbnB1dC5wYXlsb2FkO1xuXG4gICAgICAgIGF3YWl0IG5vdGlmeSh0aGlzLmRlZmluaXRpb24uZW5kLm1zZyhcbiAgICAgICAgICBlbmRNc2csIHtcbiAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbi5hc01zLFxuICAgICAgICAgICAgLi4uZW5kUGF5bG9hZCxcbiAgICAgICAgICB9IGFzIEUpKTtcblxuICAgICAgICByZXR1cm4gZHVyYXRpb247XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VBcmdzPFMgZXh0ZW5kcyBvYmplY3Q+KGZpcnN0OiBhbnksIHNlY29uZD86IFMpOiB7IG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDsgcGF5bG9hZDogUyB9IHtcbiAgY29uc3QgZmlyc3RJc01lc3NhZ2UgPSB0eXBlb2YgZmlyc3QgPT09ICdzdHJpbmcnO1xuXG4gIC8vIFdoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgc3RyaW5nIG9yIHdlIGhhdmUgYSBzZWNvbmQgYXJndW1lbnQsIHRoZW4gdGhlIGZpcnN0IGFyZyBpcyB0aGUgbWVzc2FnZVxuICBjb25zdCBtZXNzYWdlID0gKGZpcnN0SXNNZXNzYWdlIHx8IHNlY29uZCkgPyBmaXJzdCA6IHVuZGVmaW5lZDtcblxuICAvLyBXaGVuIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIHN0cmluZyBvciB3ZSBoYXZlIGEgc2Vjb25kIGFyZ3VtZW50LFxuICAvLyB0aGVuIHRoZSBzZWNvbmQgYXJnIGlzIHRoZSBwYXlsb2FkLCBvdGhlcndpc2UgdGhlIGZpcnN0IGFyZyBpcyB0aGUgcGF5bG9hZFxuICBjb25zdCBwYXlsb2FkID0gKGZpcnN0SXNNZXNzYWdlIHx8IHNlY29uZCkgPyBzZWNvbmQgOiBmaXJzdDtcblxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2UsXG4gICAgcGF5bG9hZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gd2l0aFNwYW5JZChzcGFuOiBzdHJpbmcsIG1lc3NhZ2U6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4ge1xuICByZXR1cm4ge1xuICAgIC4uLm1lc3NhZ2UsXG4gICAgc3BhbixcbiAgfTtcbn1cbiJdfQ==
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNwYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBQWtDO0FBQ2xDLDZCQUE2QjtBQUk3Qix3Q0FBMkM7QUFpRjNDOzs7Ozs7R0FNRztBQUNILE1BQWEsU0FBUztJQUNILFVBQVUsQ0FBdUI7SUFDakMsUUFBUSxDQUFXO0lBRXBDLFlBQW1CLFFBQWtCLEVBQUUsVUFBZ0M7UUFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQVFNLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBTSxFQUFFLENBQUs7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFdkMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUErQixFQUFpQixFQUFFO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sSUFBSSxZQUFZLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDOUUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUV4QyxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ3BDLFFBQVEsRUFDUixZQUFZLENBQ2IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxpQkFBaUIsR0FBRyxxQkFBcUIsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUU7WUFDaEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDckQsT0FBTztnQkFDTCxJQUFJLEVBQUUsV0FBVztnQkFDakIsS0FBSyxFQUFFLElBQUEsaUJBQVUsRUFBQyxXQUFXLENBQUM7YUFDL0IsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxJQUEwQixFQUFFO2dCQUM1QyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFDLEdBQStCLEVBQWlCLEVBQUU7Z0JBQzlELE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFDLEtBQStCLEVBQUUsT0FBZ0IsRUFBd0IsRUFBRTtnQkFDdkYsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0csTUFBTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7b0JBQ2hDLFFBQVEsRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDeEIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztZQUVELEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBTSxFQUFFLENBQTBDLEVBQXdCLEVBQUU7Z0JBQ3RGLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDO2dCQUV4QixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQXlDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDekUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFFcEMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNsQyxNQUFNLEVBQUU7b0JBQ04sUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO29CQUN2QixHQUFHLFVBQVU7aUJBQ1QsQ0FBQyxDQUFDLENBQUM7Z0JBRVgsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUE1RUQsOEJBNEVDO0FBRUQsU0FBUyxTQUFTLENBQW1CLEtBQVUsRUFBRSxNQUFVO0lBQ3pELE1BQU0sY0FBYyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztJQUVqRCxzR0FBc0c7SUFDdEcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBRS9ELG9FQUFvRTtJQUNwRSw2RUFBNkU7SUFDN0UsTUFBTSxPQUFPLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBRTVELE9BQU87UUFDTCxPQUFPO1FBQ1AsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsSUFBWSxFQUFFLE9BQW1DO0lBQ25FLE9BQU87UUFDTCxHQUFHLE9BQU87UUFDVixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlsIGZyb20gJ25vZGU6dXRpbCc7XG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IHR5cGUgeyBBY3Rpb25MZXNzTWVzc2FnZSwgSW9IZWxwZXIgfSBmcm9tICcuL2lvLWhlbHBlcic7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZU1ha2VyIH0gZnJvbSAnLi9tZXNzYWdlLW1ha2VyJztcbmltcG9ydCB0eXBlIHsgRHVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi9wYXlsb2Fkcy90eXBlcyc7XG5pbXBvcnQgeyBmb3JtYXRUaW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3BhbkVuZCB7XG4gIHJlYWRvbmx5IGR1cmF0aW9uOiBudW1iZXI7XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgc3BlY2lmaWMgc3BhblxuICpcbiAqIEEgc3BhbiBkZWZpbml0aW9uIGlzIGEgcGFpciBvZiBgSW9NZXNzYWdlTWFrZXJgcyB0byBjcmVhdGUgYSBzdGFydCBhbmQgZW5kIG1lc3NhZ2Ugb2YgdGhlIHNwYW4gcmVzcGVjdGl2ZWx5LlxuICogSXQgYWxzbyBoYXMgYSBkaXNwbGF5IG5hbWUsIHRoYXQgaXMgdXNlZCBmb3IgYXV0by1nZW5lcmF0ZWQgbWVzc2FnZSB0ZXh0IHdoZW4gdGhleSBhcmUgbm90IHByb3ZpZGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYW5EZWZpbml0aW9uPFMgZXh0ZW5kcyBvYmplY3QsIEUgZXh0ZW5kcyBTcGFuRW5kPiB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhcnQ6IElvTWVzc2FnZU1ha2VyPFM+O1xuICByZWFkb25seSBlbmQ6IElvTWVzc2FnZU1ha2VyPEU+O1xufVxuXG4vKipcbiAqIFVzZWQgaW4gY29uZGl0aW9uYWwgdHlwZXMgdG8gY2hlY2sgaWYgYSB0eXBlIChlLmcuIGFmdGVyIG9taXR0aW5nIGZpZWxkcykgaXMgYW4gZW1wdHkgb2JqZWN0XG4gKiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIGNvdW50ZXItaW50dWl0aXZlIG5laXRoZXIgYG9iamVjdGAgbm9yIGB7fWAgcmVwcmVzZW50IHRoYXQuXG4gKi9cbnR5cGUgRW1wdHlPYmplY3QgPSB7XG4gIFtpbmRleDogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sXTogbmV2ZXI7XG59O1xuXG4vKipcbiAqIEhlbHBlciB0eXBlIHRvIGZvcmNlIGEgcGFyYW1ldGVyIHRvIGJlIG5vdCBwcmVzZW50IG9mIHRoZSBjb21wdXRlZCB0eXBlIGlzIGFuIGVtcHR5IG9iamVjdFxuICovXG50eXBlIFZvaWRXaGVuRW1wdHk8VD4gPSBUIGV4dGVuZHMgRW1wdHlPYmplY3QgPyB2b2lkIDogVDtcblxuLyoqXG4gKiBIZWxwZXIgdHlwZSB0byBmb3JjZSBhIHBhcmFtZXRlciB0byBiZSBhbiBlbXB0eSBvYmplY3QgaWYgdGhlIGNvbXB1dGVkIHR5cGUgaXMgYW4gZW1wdHkgb2JqZWN0XG4gKiBUaGlzIGlzIHdlaXJkLCBidXQgc29tZSBjb21wdXRlZCB0eXBlcyAoZS5nLiB1c2luZyBgT21pdGApIGRvbid0IGVuZCB1cCBlbmZvcmNpbmcgdGhpcy5cbiAqL1xudHlwZSBGb3JjZUVtcHR5PFQ+ID0gVCBleHRlbmRzIEVtcHR5T2JqZWN0ID8gRW1wdHlPYmplY3QgOiBUO1xuXG4vKipcbiAqIE1ha2Ugc29tZSBwcm9wZXJ0aWVzIG9wdGlvbmFsXG4gKi9cbnR5cGUgT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxQYXJ0aWFsPFQ+LCBLPiAmIE9taXQ8VCwgSz47XG5cbi8qKlxuICogRW5kaW5nIHRoZSBzcGFuIHJldHVybnMgdGhlIG9ic2VydmVkIGR1cmF0aW9uXG4gKi9cbmludGVyZmFjZSBFbGFwc2VkVGltZSB7XG4gIHJlYWRvbmx5IGFzTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgYXNTZWM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIG1lc3NhZ2Ugc3BhbiB0aGF0IGNhbiBiZSBlbmRlZCBhbmQgcmVhZCB0aW1lcyBmcm9tXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lc3NhZ2VTcGFuPEUgZXh0ZW5kcyBTcGFuRW5kPiB7XG4gIC8qKlxuICAgKiBHZXQgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUgc3RhcnRcbiAgICovXG4gIGVsYXBzZWRUaW1lKCk6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xuICAvKipcbiAgICogU2VuZHMgYSBzaW1wbGUsIGdlbmVyaWMgbWVzc2FnZSB3aXRoIHRoZSBjdXJyZW50IHRpbWluZ1xuICAgKiBGb3IgbW9yZSBjb21wbGV4IGludGVybWVkaWF0ZSBtZXNzYWdlcywgZ2V0IHRoZSBgZWxhcHNlZFRpbWVgIGFuZCB1c2UgYG5vdGlmeWBcbiAgICovXG4gIHRpbWluZyhtYWtlcjogSW9NZXNzYWdlTWFrZXI8RHVyYXRpb24+LCBtZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxFbGFwc2VkVGltZT47XG4gIC8qKlxuICAgKiBTZW5kcyBhbiBhcmJpdHJhcnkgaW50ZXJtZWRpYXRlIG1lc3NhZ2UgYXMgcGFydCBvZiB0aGUgc3BhblxuICAgKi9cbiAgbm90aWZ5KG1lc3NhZ2U6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqXG4gICAqIEVuZCB0aGUgc3BhbiB3aXRoIGEgcGF5bG9hZFxuICAgKi9cbiAgZW5kKHBheWxvYWQ6IFZvaWRXaGVuRW1wdHk8T21pdDxFLCBrZXlvZiBTcGFuRW5kPj4pOiBQcm9taXNlPEVsYXBzZWRUaW1lPjtcbiAgLyoqXG4gICAqIEVuZCB0aGUgc3BhbiB3aXRoIGEgcGF5bG9hZCwgb3ZlcndyaXRpbmdcbiAgICovXG4gIGVuZChwYXlsb2FkOiBWb2lkV2hlbkVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pik6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xuICAvKipcbiAgICogRW5kIHRoZSBzcGFuIHdpdGggYSBtZXNzYWdlIGFuZCBwYXlsb2FkXG4gICAqL1xuICBlbmQobWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkOiBGb3JjZUVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pik6IFByb21pc2U8RWxhcHNlZFRpbWU+O1xufVxuXG4vKipcbiAqIEhlbHBlciBjbGFzcyB0byBtYWtlIHNwYW5zIGFyb3VuZCBibG9ja3Mgb2Ygd29ya1xuICpcbiAqIEJsb2NrcyBhcmUgZW5jbG9zZWQgYnkgYSBzdGFydCBhbmQgZW5kIG1lc3NhZ2UuXG4gKiBBbGwgbWVzc2FnZXMgb2YgdGhlIHNwYW4gc2hhcmUgYSB1bmlxdWUgaWQuXG4gKiBUaGUgZW5kIG1lc3NhZ2UgY29udGFpbnMgdGhlIHRpbWUgcGFzc2VkIGJldHdlZW4gc3RhcnQgYW5kIGVuZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNwYW5NYWtlcjxTIGV4dGVuZHMgb2JqZWN0LCBFIGV4dGVuZHMgU3BhbkVuZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmluaXRpb246IFNwYW5EZWZpbml0aW9uPFMsIEU+O1xuICBwcml2YXRlIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoaW9IZWxwZXI6IElvSGVscGVyLCBkZWZpbml0aW9uOiBTcGFuRGVmaW5pdGlvbjxTLCBFPikge1xuICAgIHRoaXMuZGVmaW5pdGlvbiA9IGRlZmluaXRpb247XG4gICAgdGhpcy5pb0hlbHBlciA9IGlvSGVscGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyB0aGUgc3BhbiBhbmQgaW5pdGlhbGx5IG5vdGlmaWVzIHRoZSBJb0hvc3RcbiAgICogQHJldHVybnMgYSBtZXNzYWdlIHNwYW5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBiZWdpbihwYXlsb2FkOiBWb2lkV2hlbkVtcHR5PFM+KTogUHJvbWlzZTxJTWVzc2FnZVNwYW48RT4+O1xuICBwdWJsaWMgYXN5bmMgYmVnaW4obWVzc2FnZTogc3RyaW5nLCBwYXlsb2FkOiBTKTogUHJvbWlzZTxJTWVzc2FnZVNwYW48RT4+O1xuICBwdWJsaWMgYXN5bmMgYmVnaW4oYTogYW55LCBiPzogUyk6IFByb21pc2U8SU1lc3NhZ2VTcGFuPEU+PiB7XG4gICAgY29uc3Qgc3BhbklkID0gdXVpZC52NCgpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgY29uc3Qgbm90aWZ5ID0gKG1zZzogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmlvSGVscGVyLm5vdGlmeSh3aXRoU3BhbklkKHNwYW5JZCwgbXNnKSk7XG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXJ0SW5wdXQgPSBwYXJzZUFyZ3M8Uz4oYSwgYik7XG4gICAgY29uc3Qgc3RhcnRNc2cgPSBzdGFydElucHV0Lm1lc3NhZ2UgPz8gYFN0YXJ0aW5nICR7dGhpcy5kZWZpbml0aW9uLm5hbWV9IC4uLmA7XG4gICAgY29uc3Qgc3RhcnRQYXlsb2FkID0gc3RhcnRJbnB1dC5wYXlsb2FkO1xuXG4gICAgYXdhaXQgbm90aWZ5KHRoaXMuZGVmaW5pdGlvbi5zdGFydC5tc2coXG4gICAgICBzdGFydE1zZyxcbiAgICAgIHN0YXJ0UGF5bG9hZCxcbiAgICApKTtcblxuICAgIGNvbnN0IHRpbWluZ01zZ1RlbXBsYXRlID0gJ1xcbuKcqCAgJXMgdGltZTogJWRzXFxuJztcbiAgICBjb25zdCB0aW1lID0gKCkgPT4ge1xuICAgICAgY29uc3QgZWxhcHNlZFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0VGltZTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFzTXM6IGVsYXBzZWRUaW1lLFxuICAgICAgICBhc1NlYzogZm9ybWF0VGltZShlbGFwc2VkVGltZSksXG4gICAgICB9O1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgZWxhcHNlZFRpbWU6IGFzeW5jICgpOiBQcm9taXNlPEVsYXBzZWRUaW1lPiA9PiB7XG4gICAgICAgIHJldHVybiB0aW1lKCk7XG4gICAgICB9LFxuXG4gICAgICBub3RpZnk6IGFzeW5jKG1zZzogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgYXdhaXQgbm90aWZ5KG1zZyk7XG4gICAgICB9LFxuXG4gICAgICB0aW1pbmc6IGFzeW5jKG1ha2VyOiBJb01lc3NhZ2VNYWtlcjxEdXJhdGlvbj4sIG1lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPEVsYXBzZWRUaW1lPiA9PiB7XG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gdGltZSgpO1xuICAgICAgICBjb25zdCB0aW1pbmdNc2cgPSBtZXNzYWdlID8gbWVzc2FnZSA6IHV0aWwuZm9ybWF0KHRpbWluZ01zZ1RlbXBsYXRlLCB0aGlzLmRlZmluaXRpb24ubmFtZSwgZHVyYXRpb24uYXNTZWMpO1xuICAgICAgICBhd2FpdCBub3RpZnkobWFrZXIubXNnKHRpbWluZ01zZywge1xuICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbi5hc01zLFxuICAgICAgICB9KSk7XG4gICAgICAgIHJldHVybiBkdXJhdGlvbjtcbiAgICAgIH0sXG5cbiAgICAgIGVuZDogYXN5bmMgKHg6IGFueSwgeT86IEZvcmNlRW1wdHk8T3B0aW9uYWw8RSwga2V5b2YgU3BhbkVuZD4+KTogUHJvbWlzZTxFbGFwc2VkVGltZT4gPT4ge1xuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IHRpbWUoKTtcblxuICAgICAgICBjb25zdCBlbmRJbnB1dCA9IHBhcnNlQXJnczxGb3JjZUVtcHR5PE9wdGlvbmFsPEUsIGtleW9mIFNwYW5FbmQ+Pj4oeCwgeSk7XG4gICAgICAgIGNvbnN0IGVuZE1zZyA9IGVuZElucHV0Lm1lc3NhZ2UgPz8gdXRpbC5mb3JtYXQodGltaW5nTXNnVGVtcGxhdGUsIHRoaXMuZGVmaW5pdGlvbi5uYW1lLCBkdXJhdGlvbi5hc1NlYyk7XG4gICAgICAgIGNvbnN0IGVuZFBheWxvYWQgPSBlbmRJbnB1dC5wYXlsb2FkO1xuXG4gICAgICAgIGF3YWl0IG5vdGlmeSh0aGlzLmRlZmluaXRpb24uZW5kLm1zZyhcbiAgICAgICAgICBlbmRNc2csIHtcbiAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbi5hc01zLFxuICAgICAgICAgICAgLi4uZW5kUGF5bG9hZCxcbiAgICAgICAgICB9IGFzIEUpKTtcblxuICAgICAgICByZXR1cm4gZHVyYXRpb247XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gcGFyc2VBcmdzPFMgZXh0ZW5kcyBvYmplY3Q+KGZpcnN0OiBhbnksIHNlY29uZD86IFMpOiB7IG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDsgcGF5bG9hZDogUyB9IHtcbiAgY29uc3QgZmlyc3RJc01lc3NhZ2UgPSB0eXBlb2YgZmlyc3QgPT09ICdzdHJpbmcnO1xuXG4gIC8vIFdoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEgc3RyaW5nIG9yIHdlIGhhdmUgYSBzZWNvbmQgYXJndW1lbnQsIHRoZW4gdGhlIGZpcnN0IGFyZyBpcyB0aGUgbWVzc2FnZVxuICBjb25zdCBtZXNzYWdlID0gKGZpcnN0SXNNZXNzYWdlIHx8IHNlY29uZCkgPyBmaXJzdCA6IHVuZGVmaW5lZDtcblxuICAvLyBXaGVuIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIHN0cmluZyBvciB3ZSBoYXZlIGEgc2Vjb25kIGFyZ3VtZW50LFxuICAvLyB0aGVuIHRoZSBzZWNvbmQgYXJnIGlzIHRoZSBwYXlsb2FkLCBvdGhlcndpc2UgdGhlIGZpcnN0IGFyZyBpcyB0aGUgcGF5bG9hZFxuICBjb25zdCBwYXlsb2FkID0gKGZpcnN0SXNNZXNzYWdlIHx8IHNlY29uZCkgPyBzZWNvbmQgOiBmaXJzdDtcblxuICByZXR1cm4ge1xuICAgIG1lc3NhZ2UsXG4gICAgcGF5bG9hZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gd2l0aFNwYW5JZChzcGFuOiBzdHJpbmcsIG1lc3NhZ2U6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogQWN0aW9uTGVzc01lc3NhZ2U8dW5rbm93bj4ge1xuICByZXR1cm4ge1xuICAgIC4uLm1lc3NhZ2UsXG4gICAgc3BhbixcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -109,7 +109,7 @@ class CloudWatchLogEventMonitor {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
catch (e) {
|
|
112
|
-
await this.ioHelper.notify(private_1.IO.CDK_TOOLKIT_E5035.msg(
|
|
112
|
+
await this.ioHelper.notify(private_1.IO.CDK_TOOLKIT_E5035.msg(`Error occurred while monitoring logs: ${String(e)}`, { error: e }));
|
|
113
113
|
}
|
|
114
114
|
this.scheduleNextTick();
|
|
115
115
|
}
|
|
@@ -191,4 +191,4 @@ class CloudWatchLogEventMonitor {
|
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
193
|
exports.CloudWatchLogEventMonitor = CloudWatchLogEventMonitor;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9ncy1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3QiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLHFDQUFxQztBQUVyQywyQ0FBbUM7QUFvQ25DLE1BQWEseUJBQXlCO0lBQ3BDOztPQUVHO0lBQ0ssU0FBUyxDQUFTO0lBRTFCOztPQUVHO0lBQ2MsMkJBQTJCLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7SUFFMUY7Ozs7OztPQU1HO0lBQ2MsZUFBZSxHQUFXLEtBQUssQ0FBQztJQUUxQyxTQUFTLENBQVU7SUFDVCxRQUFRLENBQVc7SUFFcEMsWUFBWSxLQUFxQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUUzQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUU7WUFDakYsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO1NBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxD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WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsc0RBQXNEO1lBQ3RELHdEQUF3RDtZQUN4RCw0QkFBNEI7WUFDNUIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLDJCQUEyQixFQUFFLENBQUM7Z0JBQzNDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztRQUNELHVCQUF1QixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDeEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBM05ELDhEQTJOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgdHlwZSAqIGFzIGN4YXBpIGZyb20gJ0Bhd3MtY2RrL2N4LWFwaSc7XG5pbXBvcnQgKiBhcyBjaGFsayBmcm9tICdjaGFsayc7XG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xuaW1wb3J0IHR5cGUgeyBDbG91ZFdhdGNoTG9nRXZlbnQgfSBmcm9tICcuLi8uLi9wYXlsb2Fkcy9sb2dzLW1vbml0b3InO1xuaW1wb3J0IHsgZmxhdHRlbiB9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHR5cGUgeyBTREsgfSBmcm9tICcuLi9hd3MtYXV0aC9wcml2YXRlJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi4vaW8vcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IElvSGVscGVyIH0gZnJvbSAnLi4vaW8vcHJpdmF0ZSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiB0cmFja2luZyBpbmZvcm1hdGlvbiBvbiB0aGUgbG9nIGdyb3VwcyB0aGF0IGFyZVxuICogYmVpbmcgbW9uaXRvcmVkXG4gKi9cbmludGVyZmFjZSBMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBUaGUgU0RLIGZvciBhIGdpdmVuIGVudmlyb25tZW50IChhY2NvdW50L3JlZ2lvbilcbiAgICovXG4gIHJlYWRvbmx5IHNkazogU0RLO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBsb2cgZ3JvdXBzIGFuZCBhc3NvY2lhdGVkIHN0YXJ0VGltZSBpbiBhIGdpdmVuIGFjY291bnQuXG4gICAqXG4gICAqIFRoZSBtb25pdG9yIHdpbGwgcmVhZCBldmVudHMgZnJvbSB0aGUgbG9nIGdyb3VwIHN0YXJ0aW5nIGF0IHRoZVxuICAgKiBhc3NvY2lhdGVkIHN0YXJ0VGltZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBzU3RhcnRUaW1lczogeyBbbG9nR3JvdXBOYW1lOiBzdHJpbmddOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZFdhdGNoTG9nRXZlbnRNb25pdG9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIElvSG9zdCB1c2VkIGZvciBtZXNzYWdpbmdcbiAgICovXG4gIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgZnJvbSB3aGljaCB3ZSBzdGFydCByZWFkaW5nIGxvZyBtZXNzYWdlc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vd1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRUaW1lPzogRGF0ZTtcbn1cblxuZXhwb3J0IGNsYXNzIENsb3VkV2F0Y2hMb2dFdmVudE1vbml0b3Ige1xuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGljaCBldmVudHMgbm90IHRvIGRpc3BsYXlcbiAgICovXG4gIHByaXZhdGUgc3RhcnRUaW1lOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1hcCBvZiBlbnZpcm9ubWVudCAoYWNjb3VudDpyZWdpb24pIHRvIExvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGVudnNMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncyA9IG5ldyBNYXA8c3RyaW5nLCBMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncz4oKTtcblxuICAvKipcbiAgICogQWZ0ZXIgcmVhZGluZyBldmVudHMgZnJvbSBhbGwgQ2xvdWRXYXRjaCBsb2cgZ3JvdXBzXG4gICAqIGhvdyBsb25nIHNob3VsZCB3ZSB3YWl0IHRvIHJlYWQgbW9yZSBldmVudHMuXG4gICAqXG4gICAqIElmIHRoZXJlIGlzIHNvbWUgZXJyb3Igd2l0aCByZWFkaW5nIGV2ZW50cyAoaS5lLiBUaHJvdHRsZSlcbiAgICogdGhlbiB0aGlzIGlzIGFsc28gaG93IGxvbmcgd2Ugd2FpdCB1bnRpbCB3ZSB0cnkgYWdhaW5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcG9sbGluZ0ludGVydmFsOiBudW1iZXIgPSAyXzAwMDtcblxuICBwdWJsaWMgbW9uaXRvcklkPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGlvSGVscGVyOiBJb0hlbHBlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2xvdWRXYXRjaExvZ0V2ZW50TW9uaXRvclByb3BzKSB7XG4gICAgdGhpcy5zdGFydFRpbWUgPSBwcm9wcy5zdGFydFRpbWU/LmdldFRpbWUoKSA/PyBEYXRlLm5vdygpO1xuICAgIHRoaXMuaW9IZWxwZXIgPSBwcm9wcy5pb0hlbHBlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXN1bWUgcmVhZGluZy9wcmludGluZyBldmVudHNcbiAgICovXG4gIHB1YmxpYyBhc3luYyBhY3RpdmF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLm1vbml0b3JJZCA9IHV1aWQudjQoKTtcblxuICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19UT09MS0lUX0k1MDMyLm1zZygnU3RhcnQgbW9uaXRvcmluZyBsb2cgZ3JvdXBzJywge1xuICAgICAgbW9uaXRvcjogdGhpcy5tb25pdG9ySWQsXG4gICAgICBsb2dHcm91cE5hbWVzOiB0aGlzLmxvZ0dyb3VwTmFtZXMoKSxcbiAgICB9KSk7XG5cbiAgICBhd2FpdCB0aGlzLnRpY2soKTtcbiAgICB0aGlzLnNjaGVkdWxlTmV4dFRpY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWFjdGl2YXRlcyB0aGUgbW9uaXRvciBzbyBubyBuZXcgZXZlbnRzIGFyZSByZWFkXG4gICAqIHVzZSBjYXNlIGZvciB0aGlzIGlzIHdoZW4gd2UgYXJlIGluIHRoZSBtaWRkbGUgb2YgcGVyZm9ybWluZyBhIGRlcGxveW1lbnRcbiAgICogYW5kIGRvbid0IHdhbnQgdG8gaW50ZXJ3ZWF2ZSBhbGwgdGhlIGxvZ3MgdG9nZXRoZXIgd2l0aCB0aGUgQ0ZOXG4gICAqIGRlcGxveW1lbnQgbG9nc1xuICAgKlxuICAgKiBBbHNvIHJlc2V0cyB0aGUgc3RhcnQgdGltZSB0byBiZSB3aGVuIHRoZSBuZXcgZGVwbG95bWVudCB3YXMgdHJpZ2dlcmVkXG4gICAqIGFuZCBjbGVhcnMgdGhlIGxpc3Qgb2YgdHJhY2tlZCBsb2cgZ3JvdXBzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVhY3RpdmF0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvbGRNb25pdG9ySWQgPSB0aGlzLm1vbml0b3JJZCE7XG4gICAgdGhpcy5tb25pdG9ySWQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5zdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuXG4gICAgYXdhaXQgdGhpcy5pb0hlbHBlci5ub3RpZnkoSU8uQ0RLX1RPT0xLSVRfSTUwMzQubXNnKCdTdG9wcGVkIG1vbml0b3JpbmcgbG9nIGdyb3VwcycsIHtcbiAgICAgIG1vbml0b3I6IG9sZE1vbml0b3JJZCxcbiAgICAgIGxvZ0dyb3VwTmFtZXM6IHRoaXMubG9nR3JvdXBOYW1lcygpLFxuICAgIH0pKTtcblxuICAgIHRoaXMuZW52c0xvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBDbG91ZFdhdGNoIGxvZyBncm91cHMgdG8gcmVhZCBsb2cgZXZlbnRzIGZyb20uXG4gICAqIFNpbmNlIHdlIGNvdWxkIGJlIHdhdGNoaW5nIG11bHRpcGxlIHN0YWNrcyB0aGF0IGRlcGxveSB0b1xuICAgKiBtdWx0aXBsZSBlbnZpcm9ubWVudHMgKGFjY291bnQrcmVnaW9uKSwgd2UgbmVlZCB0byBzdG9yZSBhIGxpc3Qgb2YgbG9nIGdyb3Vwc1xuICAgKiBwZXIgZW52IGFsb25nIHdpdGggdGhlIFNESyBvYmplY3QgdGhhdCBoYXMgYWNjZXNzIHRvIHJlYWQgZnJvbVxuICAgKiB0aGF0IGVudmlyb25tZW50LlxuICAgKi9cbiAgcHVibGljIGFkZExvZ0dyb3VwcyhlbnY6IGN4YXBpLkVudmlyb25tZW50LCBzZGs6IFNESywgbG9nR3JvdXBOYW1lczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICBjb25zdCBhd3NFbnYgPSBgJHtlbnYuYWNjb3VudH06JHtlbnYucmVnaW9ufWA7XG4gICAgY29uc3QgbG9nR3JvdXBzU3RhcnRUaW1lcyA9IGxvZ0dyb3VwTmFtZXMucmVkdWNlKFxuICAgICAgKGFjYywgZ3JvdXBOYW1lKSA9PiB7XG4gICAgICAgIGFjY1tncm91cE5hbWVdID0gdGhpcy5zdGFydFRpbWU7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30gYXMgeyBbbG9nR3JvdXBOYW1lOiBzdHJpbmddOiBudW1iZXIgfSxcbiAgICApO1xuICAgIHRoaXMuZW52c0xvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLnNldChhd3NFbnYsIHtcbiAgICAgIHNkayxcbiAgICAgIGxvZ0dyb3Vwc1N0YXJ0VGltZXM6IHtcbiAgICAgICAgLi4udGhpcy5lbnZzTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MuZ2V0KGF3c0Vudik/LmxvZ0dyb3Vwc1N0YXJ0VGltZXMsXG4gICAgICAgIC4uLmxvZ0dyb3Vwc1N0YXJ0VGltZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dHcm91cE5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudnNMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncy52YWx1ZXMoKSkuZmxhdE1hcCgoc2V0dGluZ3MpID0+IE9iamVjdC5rZXlzKHNldHRpbmdzLmxvZ0dyb3Vwc1N0YXJ0VGltZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2NoZWR1bGVOZXh0VGljaygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubW9uaXRvcklkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB2b2lkIHRoaXMudGljaygpLCB0aGlzLnBvbGxpbmdJbnRlcnZhbCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gZXhjbHVkaW5nIGZyb20gY29kZWNvdmVyYWdlIGJlY2F1c2UgdGhpc1xuICAgIC8vIGRvZXNuJ3QgYWx3YXlzIHJ1biAoZGVwZW5kcyBvbiB0aW1pbmcpXG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKCF0aGlzLm1vbml0b3JJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV2ZW50cyA9IGZsYXR0ZW4oYXdhaXQgdGhpcy5yZWFkTmV3RXZlbnRzKCkpO1xuICAgICAgZm9yIChjb25zdCBldmVudCBvZiBldmVudHMpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5wcmludChldmVudCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdlIG1pZ2h0IGhhdmUgYmVlbiBzdG9wKClwZWQgd2hpbGUgdGhlIG5ldHdvcmsgY2FsbCB3YXMgaW4gcHJvZ3Jlc3MuXG4gICAgICBpZiAoIXRoaXMubW9uaXRvcklkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19UT09MS0lUX0U1MDM1Lm1zZygnRXJyb3Igb2NjdXJyZWQgd2hpbGUgbW9uaXRvcmluZyBsb2dzOiAlcycsIHsgZXJyb3I6IGUgfSkpO1xuICAgIH1cblxuICAgIHRoaXMuc2NoZWR1bGVOZXh0VGljaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGFsbCBuZXcgbG9nIGV2ZW50cyBmcm9tIGEgc2V0IG9mIENsb3VkV2F0Y2ggTG9nIEdyb3Vwc1xuICAgKiBpbiBwYXJhbGxlbFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyByZWFkTmV3RXZlbnRzKCk6IFByb21pc2U8QXJyYXk8QXJyYXk8Q2xvdWRXYXRjaExvZ0V2ZW50Pj4+IHtcbiAgICBjb25zdCBwcm9taXNlczogQXJyYXk8UHJvbWlzZTxBcnJheTxDbG91ZFdhdGNoTG9nRXZlbnQ+Pj4gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHNldHRpbmdzIG9mIHRoaXMuZW52c0xvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLnZhbHVlcygpKSB7XG4gICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIE9iamVjdC5rZXlzKHNldHRpbmdzLmxvZ0dyb3Vwc1N0YXJ0VGltZXMpKSB7XG4gICAgICAgIHByb21pc2VzLnB1c2godGhpcy5yZWFkRXZlbnRzRnJvbUxvZ0dyb3VwKHNldHRpbmdzLCBncm91cCkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBMaW1pdGVkIHNldCBvZiBsb2cgZ3JvdXBzXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBjZGtsYWJzL3Byb21pc2VhbGwtbm8tdW5ib3VuZGVkLXBhcmFsbGVsaXNtXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmludCBvdXQgYSBjbG91ZHdhdGNoIGV2ZW50XG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHByaW50KGV2ZW50OiBDbG91ZFdhdGNoTG9nRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfVE9PTEtJVF9JNTAzMy5tc2coXG4gICAgICB1dGlsLmZvcm1hdChcbiAgICAgICAgJ1slc10gJXMgJXMnLFxuICAgICAgICBjaGFsay5ibHVlKGV2ZW50LmxvZ0dyb3VwTmFtZSksXG4gICAgICAgIGNoYWxrLnllbGxvdyhldmVudC50aW1lc3RhbXAudG9Mb2NhbGVUaW1lU3RyaW5nKCkpLFxuICAgICAgICBldmVudC5tZXNzYWdlLnRyaW0oKSxcbiAgICAgICksXG4gICAgICBldmVudCxcbiAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbGwgbmV3IGxvZyBldmVudHMgZnJvbSBhIENsb3VkV2F0Y2ggTG9nIEdyb3VwXG4gICAqIHN0YXJ0aW5nIGF0IGVpdGhlciB0aGUgdGltZSB0aGUgaG90c3dhcCB3YXMgdHJpZ2dlcmVkIG9yXG4gICAqIHdoZW4gdGhlIGxhc3QgZXZlbnQgd2FzIHJlYWQgb24gdGhlIHByZXZpb3VzIHRpY2tcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVhZEV2ZW50c0Zyb21Mb2dHcm91cChcbiAgICBsb2dHcm91cHNBY2Nlc3NTZXR0aW5nczogTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MsXG4gICAgbG9nR3JvdXBOYW1lOiBzdHJpbmcsXG4gICk6IFByb21pc2U8QXJyYXk8Q2xvdWRXYXRjaExvZ0V2ZW50Pj4ge1xuICAgIGNvbnN0IGV2ZW50czogQ2xvdWRXYXRjaExvZ0V2ZW50W10gPSBbXTtcblxuICAgIC8vIGxvZyBldmVudHMgZnJvbSBzb21lIHNlcnZpY2UgYXJlIGluZ2VzdGVkIGZhc3RlciB0aGFuIG90aGVyc1xuICAgIC8vIHNvIHdlIG5lZWQgdG8gdHJhY2sgdGhlIHN0YXJ0L2VuZCB0aW1lIGZvciBlYWNoIGxvZyBncm91cCBpbmRpdmlkdWFsbHlcbiAgICAvLyB0byBtYWtlIHN1cmUgdGhhdCB3ZSBwcm9jZXNzIGFsbCBldmVudHMgZnJvbSBlYWNoIGxvZyBncm91cFxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IGxvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLmxvZ0dyb3Vwc1N0YXJ0VGltZXNbbG9nR3JvdXBOYW1lXSA/PyB0aGlzLnN0YXJ0VGltZTtcbiAgICBsZXQgZW5kVGltZSA9IHN0YXJ0VGltZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBsb2dHcm91cHNBY2Nlc3NTZXR0aW5ncy5zZGsuY2xvdWRXYXRjaExvZ3MoKS5maWx0ZXJMb2dFdmVudHMoe1xuICAgICAgICBsb2dHcm91cE5hbWU6IGxvZ0dyb3VwTmFtZSxcbiAgICAgICAgbGltaXQ6IDEwMCxcbiAgICAgICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGZpbHRlcmVkRXZlbnRzID0gcmVzcG9uc2UuZXZlbnRzID8/IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGV2ZW50IG9mIGZpbHRlcmVkRXZlbnRzKSB7XG4gICAgICAgIGlmIChldmVudC5tZXNzYWdlKSB7XG4gICAgICAgICAgZXZlbnRzLnB1c2goe1xuICAgICAgICAgICAgbWVzc2FnZTogZXZlbnQubWVzc2FnZSxcbiAgICAgICAgICAgIGxvZ0dyb3VwTmFtZSxcbiAgICAgICAgICAgIHRpbWVzdGFtcDogZXZlbnQudGltZXN0YW1wID8gbmV3IERhdGUoZXZlbnQudGltZXN0YW1wKSA6IG5ldyBEYXRlKCksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoZXZlbnQudGltZXN0YW1wICYmIGVuZFRpbWUgPCBldmVudC50aW1lc3RhbXApIHtcbiAgICAgICAgICAgIGVuZFRpbWUgPSBldmVudC50aW1lc3RhbXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBBcyBsb25nIGFzIHRoZXJlIGFyZSBfYW55XyBldmVudHMgaW4gdGhlIGxvZyBncm91cCBgZmlsdGVyTG9nRXZlbnRzYCB3aWxsIHJldHVybiBhIG5leHRUb2tlbi5cbiAgICAgIC8vIFRoaXMgaXMgdHJ1ZSBldmVuIGlmIHRoZXNlIGV2ZW50cyBhcmUgYmVmb3JlIGBzdGFydFRpbWVgLiBTbyBpZiB3ZSBoYXZlIDEwMCBldmVudHMgYW5kIGEgbmV4dFRva2VuXG4gICAgICAvLyB0aGVuIGFzc3VtZSB0aGF0IHdlIGhhdmUgaGl0IHRoZSBsaW1pdCBhbmQgbGV0IHRoZSB1c2VyIGtub3cgc29tZSBtZXNzYWdlcyBoYXZlIGJlZW4gc3VwcHJlc3NlZC5cbiAgICAgIC8vIFdlIGFyZSBlc3NlbnRpYWxseSBzaG93aW5nIHRoZW0gYSBzYW1wbGluZyAoMTAwMDAgZXZlbnRzIHByaW50ZWQgb3V0IGlzIG5vdCB2ZXJ5IHVzZWZ1bClcbiAgICAgIGlmIChmaWx0ZXJlZEV2ZW50cy5sZW5ndGggPT09IDEwMCAmJiByZXNwb25zZS5uZXh0VG9rZW4pIHtcbiAgICAgICAgZXZlbnRzLnB1c2goe1xuICAgICAgICAgIG1lc3NhZ2U6ICc+Pj4gYHdhdGNoYCBzaG93cyBvbmx5IHRoZSBmaXJzdCAxMDAgbG9nIG1lc3NhZ2VzIC0gdGhlIHJlc3QgaGF2ZSBiZWVuIHRydW5jYXRlZC4uLicsXG4gICAgICAgICAgbG9nR3JvdXBOYW1lLFxuICAgICAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoZW5kVGltZSksXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgLy8gd2l0aCBMYW1iZGEgZnVuY3Rpb25zIHRoZSBDbG91ZFdhdGNoIGlzIG5vdCBjcmVhdGVkXG4gICAgICAvLyB1bnRpbCBzb21ldGhpbmcgaXMgbG9nZ2VkLCBzbyBqdXN0IGtlZXAgcG9sbGluZyB1bnRpbFxuICAgICAgLy8gdGhlcmUgaXMgc29tdGhpbmcgdG8gZmluZFxuICAgICAgaWYgKGUubmFtZSA9PT0gJ1Jlc291cmNlTm90Rm91bmRFeGNlcHRpb24nKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIGxvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLmxvZ0dyb3Vwc1N0YXJ0VGltZXNbbG9nR3JvdXBOYW1lXSA9IGVuZFRpbWUgKyAxO1xuICAgIHJldHVybiBldmVudHM7XG4gIH1cbn1cbiJdfQ==
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy1tb25pdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9ncy1tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3QiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLHFDQUFxQztBQUVyQywyQ0FBbUM7QUFvQ25DLE1BQWEseUJBQXlCO0lBQ3BDOztPQUVHO0lBQ0ssU0FBUyxDQUFTO0lBRTFCOztPQUVHO0lBQ2MsMkJBQTJCLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7SUFFMUY7Ozs7OztPQU1HO0lBQ2MsZUFBZSxHQUFXLEtBQUssQ0FBQztJQUUxQyxTQUFTLENBQVU7SUFDVCxRQUFRLENBQVc7SUFFcEMsWUFBWSxLQUFxQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsUUFBUTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUUzQixNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUU7WUFDakYsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3ZCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO1NBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxD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QU8sQ0FBQztpQkFDN0IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1lBQ2hCLHNEQUFzRDtZQUN0RCx3REFBd0Q7WUFDeEQsNEJBQTRCO1lBQzVCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSywyQkFBMkIsRUFBRSxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFDRCxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7UUFDRCx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQTNORCw4REEyTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlsIGZyb20gJ3V0aWwnO1xuaW1wb3J0IHR5cGUgKiBhcyBjeGFwaSBmcm9tICdAYXdzLWNkay9jeC1hcGknO1xuaW1wb3J0ICogYXMgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcbmltcG9ydCB0eXBlIHsgQ2xvdWRXYXRjaExvZ0V2ZW50IH0gZnJvbSAnLi4vLi4vcGF5bG9hZHMvbG9ncy1tb25pdG9yJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICcuLi8uLi91dGlsJztcbmltcG9ydCB0eXBlIHsgU0RLIH0gZnJvbSAnLi4vYXdzLWF1dGgvcHJpdmF0ZSc7XG5pbXBvcnQgeyBJTyB9IGZyb20gJy4uL2lvL3ByaXZhdGUnO1xuaW1wb3J0IHR5cGUgeyBJb0hlbHBlciB9IGZyb20gJy4uL2lvL3ByaXZhdGUnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gdHJhY2tpbmcgaW5mb3JtYXRpb24gb24gdGhlIGxvZyBncm91cHMgdGhhdCBhcmVcbiAqIGJlaW5nIG1vbml0b3JlZFxuICovXG5pbnRlcmZhY2UgTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3Mge1xuICAvKipcbiAgICogVGhlIFNESyBmb3IgYSBnaXZlbiBlbnZpcm9ubWVudCAoYWNjb3VudC9yZWdpb24pXG4gICAqL1xuICByZWFkb25seSBzZGs6IFNESztcblxuICAvKipcbiAgICogQSBtYXAgb2YgbG9nIGdyb3VwcyBhbmQgYXNzb2NpYXRlZCBzdGFydFRpbWUgaW4gYSBnaXZlbiBhY2NvdW50LlxuICAgKlxuICAgKiBUaGUgbW9uaXRvciB3aWxsIHJlYWQgZXZlbnRzIGZyb20gdGhlIGxvZyBncm91cCBzdGFydGluZyBhdCB0aGVcbiAgICogYXNzb2NpYXRlZCBzdGFydFRpbWVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3Vwc1N0YXJ0VGltZXM6IHsgW2xvZ0dyb3VwTmFtZTogc3RyaW5nXTogbnVtYmVyIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRXYXRjaExvZ0V2ZW50TW9uaXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBJb0hvc3QgdXNlZCBmb3IgbWVzc2FnaW5nXG4gICAqL1xuICByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGZyb20gd2hpY2ggd2Ugc3RhcnQgcmVhZGluZyBsb2cgbWVzc2FnZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3dcbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0VGltZT86IERhdGU7XG59XG5cbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nRXZlbnRNb25pdG9yIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hpY2ggZXZlbnRzIG5vdCB0byBkaXNwbGF5XG4gICAqL1xuICBwcml2YXRlIHN0YXJ0VGltZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXAgb2YgZW52aXJvbm1lbnQgKGFjY291bnQ6cmVnaW9uKSB0byBMb2dHcm91cHNBY2Nlc3NTZXR0aW5nc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBlbnZzTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MgPSBuZXcgTWFwPHN0cmluZywgTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEFmdGVyIHJlYWRpbmcgZXZlbnRzIGZyb20gYWxsIENsb3VkV2F0Y2ggbG9nIGdyb3Vwc1xuICAgKiBob3cgbG9uZyBzaG91bGQgd2Ugd2FpdCB0byByZWFkIG1vcmUgZXZlbnRzLlxuICAgKlxuICAgKiBJZiB0aGVyZSBpcyBzb21lIGVycm9yIHdpdGggcmVhZGluZyBldmVudHMgKGkuZS4gVGhyb3R0bGUpXG4gICAqIHRoZW4gdGhpcyBpcyBhbHNvIGhvdyBsb25nIHdlIHdhaXQgdW50aWwgd2UgdHJ5IGFnYWluXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBvbGxpbmdJbnRlcnZhbDogbnVtYmVyID0gMl8wMDA7XG5cbiAgcHVibGljIG1vbml0b3JJZD86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXI7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IENsb3VkV2F0Y2hMb2dFdmVudE1vbml0b3JQcm9wcykge1xuICAgIHRoaXMuc3RhcnRUaW1lID0gcHJvcHMuc3RhcnRUaW1lPy5nZXRUaW1lKCkgPz8gRGF0ZS5ub3coKTtcbiAgICB0aGlzLmlvSGVscGVyID0gcHJvcHMuaW9IZWxwZXI7XG4gIH1cblxuICAvKipcbiAgICogcmVzdW1lIHJlYWRpbmcvcHJpbnRpbmcgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYWN0aXZhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5tb25pdG9ySWQgPSB1dWlkLnY0KCk7XG5cbiAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfVE9PTEtJVF9JNTAzMi5tc2coJ1N0YXJ0IG1vbml0b3JpbmcgbG9nIGdyb3VwcycsIHtcbiAgICAgIG1vbml0b3I6IHRoaXMubW9uaXRvcklkLFxuICAgICAgbG9nR3JvdXBOYW1lczogdGhpcy5sb2dHcm91cE5hbWVzKCksXG4gICAgfSkpO1xuXG4gICAgYXdhaXQgdGhpcy50aWNrKCk7XG4gICAgdGhpcy5zY2hlZHVsZU5leHRUaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogZGVhY3RpdmF0ZXMgdGhlIG1vbml0b3Igc28gbm8gbmV3IGV2ZW50cyBhcmUgcmVhZFxuICAgKiB1c2UgY2FzZSBmb3IgdGhpcyBpcyB3aGVuIHdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHBlcmZvcm1pbmcgYSBkZXBsb3ltZW50XG4gICAqIGFuZCBkb24ndCB3YW50IHRvIGludGVyd2VhdmUgYWxsIHRoZSBsb2dzIHRvZ2V0aGVyIHdpdGggdGhlIENGTlxuICAgKiBkZXBsb3ltZW50IGxvZ3NcbiAgICpcbiAgICogQWxzbyByZXNldHMgdGhlIHN0YXJ0IHRpbWUgdG8gYmUgd2hlbiB0aGUgbmV3IGRlcGxveW1lbnQgd2FzIHRyaWdnZXJlZFxuICAgKiBhbmQgY2xlYXJzIHRoZSBsaXN0IG9mIHRyYWNrZWQgbG9nIGdyb3Vwc1xuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlYWN0aXZhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb2xkTW9uaXRvcklkID0gdGhpcy5tb25pdG9ySWQhO1xuICAgIHRoaXMubW9uaXRvcklkID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19UT09MS0lUX0k1MDM0Lm1zZygnU3RvcHBlZCBtb25pdG9yaW5nIGxvZyBncm91cHMnLCB7XG4gICAgICBtb25pdG9yOiBvbGRNb25pdG9ySWQsXG4gICAgICBsb2dHcm91cE5hbWVzOiB0aGlzLmxvZ0dyb3VwTmFtZXMoKSxcbiAgICB9KSk7XG5cbiAgICB0aGlzLmVudnNMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncy5jbGVhcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgQ2xvdWRXYXRjaCBsb2cgZ3JvdXBzIHRvIHJlYWQgbG9nIGV2ZW50cyBmcm9tLlxuICAgKiBTaW5jZSB3ZSBjb3VsZCBiZSB3YXRjaGluZyBtdWx0aXBsZSBzdGFja3MgdGhhdCBkZXBsb3kgdG9cbiAgICogbXVsdGlwbGUgZW52aXJvbm1lbnRzIChhY2NvdW50K3JlZ2lvbiksIHdlIG5lZWQgdG8gc3RvcmUgYSBsaXN0IG9mIGxvZyBncm91cHNcbiAgICogcGVyIGVudiBhbG9uZyB3aXRoIHRoZSBTREsgb2JqZWN0IHRoYXQgaGFzIGFjY2VzcyB0byByZWFkIGZyb21cbiAgICogdGhhdCBlbnZpcm9ubWVudC5cbiAgICovXG4gIHB1YmxpYyBhZGRMb2dHcm91cHMoZW52OiBjeGFwaS5FbnZpcm9ubWVudCwgc2RrOiBTREssIGxvZ0dyb3VwTmFtZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY29uc3QgYXdzRW52ID0gYCR7ZW52LmFjY291bnR9OiR7ZW52LnJlZ2lvbn1gO1xuICAgIGNvbnN0IGxvZ0dyb3Vwc1N0YXJ0VGltZXMgPSBsb2dHcm91cE5hbWVzLnJlZHVjZShcbiAgICAgIChhY2MsIGdyb3VwTmFtZSkgPT4ge1xuICAgICAgICBhY2NbZ3JvdXBOYW1lXSA9IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIHsgW2xvZ0dyb3VwTmFtZTogc3RyaW5nXTogbnVtYmVyIH0sXG4gICAgKTtcbiAgICB0aGlzLmVudnNMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncy5zZXQoYXdzRW52LCB7XG4gICAgICBzZGssXG4gICAgICBsb2dHcm91cHNTdGFydFRpbWVzOiB7XG4gICAgICAgIC4uLnRoaXMuZW52c0xvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLmdldChhd3NFbnYpPy5sb2dHcm91cHNTdGFydFRpbWVzLFxuICAgICAgICAuLi5sb2dHcm91cHNTdGFydFRpbWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nR3JvdXBOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5lbnZzTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MudmFsdWVzKCkpLmZsYXRNYXAoKHNldHRpbmdzKSA9PiBPYmplY3Qua2V5cyhzZXR0aW5ncy5sb2dHcm91cHNTdGFydFRpbWVzKSk7XG4gIH1cblxuICBwcml2YXRlIHNjaGVkdWxlTmV4dFRpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1vbml0b3JJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdm9pZCB0aGlzLnRpY2soKSwgdGhpcy5wb2xsaW5nSW50ZXJ2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0aWNrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGV4Y2x1ZGluZyBmcm9tIGNvZGVjb3ZlcmFnZSBiZWNhdXNlIHRoaXNcbiAgICAvLyBkb2Vzbid0IGFsd2F5cyBydW4gKGRlcGVuZHMgb24gdGltaW5nKVxuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmICghdGhpcy5tb25pdG9ySWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBldmVudHMgPSBmbGF0dGVuKGF3YWl0IHRoaXMucmVhZE5ld0V2ZW50cygpKTtcbiAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucHJpbnQoZXZlbnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBXZSBtaWdodCBoYXZlIGJlZW4gc3RvcCgpcGVkIHdoaWxlIHRoZSBuZXR3b3JrIGNhbGwgd2FzIGluIHByb2dyZXNzLlxuICAgICAgaWYgKCF0aGlzLm1vbml0b3JJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLm5vdGlmeShJTy5DREtfVE9PTEtJVF9FNTAzNS5tc2coYEVycm9yIG9jY3VycmVkIHdoaWxlIG1vbml0b3JpbmcgbG9nczogJHtTdHJpbmcoZSl9YCwgeyBlcnJvcjogZSB9KSk7XG4gICAgfVxuXG4gICAgdGhpcy5zY2hlZHVsZU5leHRUaWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZHMgYWxsIG5ldyBsb2cgZXZlbnRzIGZyb20gYSBzZXQgb2YgQ2xvdWRXYXRjaCBMb2cgR3JvdXBzXG4gICAqIGluIHBhcmFsbGVsXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJlYWROZXdFdmVudHMoKTogUHJvbWlzZTxBcnJheTxBcnJheTxDbG91ZFdhdGNoTG9nRXZlbnQ+Pj4ge1xuICAgIGNvbnN0IHByb21pc2VzOiBBcnJheTxQcm9taXNlPEFycmF5PENsb3VkV2F0Y2hMb2dFdmVudD4+PiA9IFtdO1xuICAgIGZvciAoY29uc3Qgc2V0dGluZ3Mgb2YgdGhpcy5lbnZzTG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MudmFsdWVzKCkpIHtcbiAgICAgIGZvciAoY29uc3QgZ3JvdXAgb2YgT2JqZWN0LmtleXMoc2V0dGluZ3MubG9nR3JvdXBzU3RhcnRUaW1lcykpIHtcbiAgICAgICAgcHJvbWlzZXMucHVzaCh0aGlzLnJlYWRFdmVudHNGcm9tTG9nR3JvdXAoc2V0dGluZ3MsIGdyb3VwKSk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIExpbWl0ZWQgc2V0IG9mIGxvZyBncm91cHNcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGNka2xhYnMvcHJvbWlzZWFsbC1uby11bmJvdW5kZWQtcGFyYWxsZWxpc21cbiAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByaW50IG91dCBhIGNsb3Vkd2F0Y2ggZXZlbnRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcHJpbnQoZXZlbnQ6IENsb3VkV2F0Y2hMb2dFdmVudCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIubm90aWZ5KElPLkNES19UT09MS0lUX0k1MDMzLm1zZyhcbiAgICAgIHV0aWwuZm9ybWF0KFxuICAgICAgICAnWyVzXSAlcyAlcycsXG4gICAgICAgIGNoYWxrLmJsdWUoZXZlbnQubG9nR3JvdXBOYW1lKSxcbiAgICAgICAgY2hhbGsueWVsbG93KGV2ZW50LnRpbWVzdGFtcC50b0xvY2FsZVRpbWVTdHJpbmcoKSksXG4gICAgICAgIGV2ZW50Lm1lc3NhZ2UudHJpbSgpLFxuICAgICAgKSxcbiAgICAgIGV2ZW50LFxuICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGFsbCBuZXcgbG9nIGV2ZW50cyBmcm9tIGEgQ2xvdWRXYXRjaCBMb2cgR3JvdXBcbiAgICogc3RhcnRpbmcgYXQgZWl0aGVyIHRoZSB0aW1lIHRoZSBob3Rzd2FwIHdhcyB0cmlnZ2VyZWQgb3JcbiAgICogd2hlbiB0aGUgbGFzdCBldmVudCB3YXMgcmVhZCBvbiB0aGUgcHJldmlvdXMgdGlja1xuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyByZWFkRXZlbnRzRnJvbUxvZ0dyb3VwKFxuICAgIGxvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzOiBMb2dHcm91cHNBY2Nlc3NTZXR0aW5ncyxcbiAgICBsb2dHcm91cE5hbWU6IHN0cmluZyxcbiAgKTogUHJvbWlzZTxBcnJheTxDbG91ZFdhdGNoTG9nRXZlbnQ+PiB7XG4gICAgY29uc3QgZXZlbnRzOiBDbG91ZFdhdGNoTG9nRXZlbnRbXSA9IFtdO1xuXG4gICAgLy8gbG9nIGV2ZW50cyBmcm9tIHNvbWUgc2VydmljZSBhcmUgaW5nZXN0ZWQgZmFzdGVyIHRoYW4gb3RoZXJzXG4gICAgLy8gc28gd2UgbmVlZCB0byB0cmFjayB0aGUgc3RhcnQvZW5kIHRpbWUgZm9yIGVhY2ggbG9nIGdyb3VwIGluZGl2aWR1YWxseVxuICAgIC8vIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIHByb2Nlc3MgYWxsIGV2ZW50cyBmcm9tIGVhY2ggbG9nIGdyb3VwXG4gICAgY29uc3Qgc3RhcnRUaW1lID0gbG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MubG9nR3JvdXBzU3RhcnRUaW1lc1tsb2dHcm91cE5hbWVdID8/IHRoaXMuc3RhcnRUaW1lO1xuICAgIGxldCBlbmRUaW1lID0gc3RhcnRUaW1lO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGxvZ0dyb3Vwc0FjY2Vzc1NldHRpbmdzLnNkay5jbG91ZFdhdGNoTG9ncygpLmZpbHRlckxvZ0V2ZW50cyh7XG4gICAgICAgIGxvZ0dyb3VwTmFtZTogbG9nR3JvdXBOYW1lLFxuICAgICAgICBsaW1pdDogMTAwLFxuICAgICAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRFdmVudHMgPSByZXNwb25zZS5ldmVudHMgPz8gW107XG5cbiAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZmlsdGVyZWRFdmVudHMpIHtcbiAgICAgICAgaWYgKGV2ZW50Lm1lc3NhZ2UpIHtcbiAgICAgICAgICBldmVudHMucHVzaCh7XG4gICAgICAgICAgICBtZXNzYWdlOiBldmVudC5tZXNzYWdlLFxuICAgICAgICAgICAgbG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgdGltZXN0YW1wOiBldmVudC50aW1lc3RhbXAgPyBuZXcgRGF0ZShldmVudC50aW1lc3RhbXApIDogbmV3IERhdGUoKSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChldmVudC50aW1lc3RhbXAgJiYgZW5kVGltZSA8IGV2ZW50LnRpbWVzdGFtcCkge1xuICAgICAgICAgICAgZW5kVGltZSA9IGV2ZW50LnRpbWVzdGFtcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEFzIGxvbmcgYXMgdGhlcmUgYXJlIF9hbnlfIGV2ZW50cyBpbiB0aGUgbG9nIGdyb3VwIGBmaWx0ZXJMb2dFdmVudHNgIHdpbGwgcmV0dXJuIGEgbmV4dFRva2VuLlxuICAgICAgLy8gVGhpcyBpcyB0cnVlIGV2ZW4gaWYgdGhlc2UgZXZlbnRzIGFyZSBiZWZvcmUgYHN0YXJ0VGltZWAuIFNvIGlmIHdlIGhhdmUgMTAwIGV2ZW50cyBhbmQgYSBuZXh0VG9rZW5cbiAgICAgIC8vIHRoZW4gYXNzdW1lIHRoYXQgd2UgaGF2ZSBoaXQgdGhlIGxpbWl0IGFuZCBsZXQgdGhlIHVzZXIga25vdyBzb21lIG1lc3NhZ2VzIGhhdmUgYmVlbiBzdXBwcmVzc2VkLlxuICAgICAgLy8gV2UgYXJlIGVzc2VudGlhbGx5IHNob3dpbmcgdGhlbSBhIHNhbXBsaW5nICgxMDAwMCBldmVudHMgcHJpbnRlZCBvdXQgaXMgbm90IHZlcnkgdXNlZnVsKVxuICAgICAgaWYgKGZpbHRlcmVkRXZlbnRzLmxlbmd0aCA9PT0gMTAwICYmIHJlc3BvbnNlLm5leHRUb2tlbikge1xuICAgICAgICBldmVudHMucHVzaCh7XG4gICAgICAgICAgbWVzc2FnZTogJz4+PiBgd2F0Y2hgIHNob3dzIG9ubHkgdGhlIGZpcnN0IDEwMCBsb2cgbWVzc2FnZXMgLSB0aGUgcmVzdCBoYXZlIGJlZW4gdHJ1bmNhdGVkLi4uJyxcbiAgICAgICAgICBsb2dHcm91cE5hbWUsXG4gICAgICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZShlbmRUaW1lKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAvLyB3aXRoIExhbWJkYSBmdW5jdGlvbnMgdGhlIENsb3VkV2F0Y2ggaXMgbm90IGNyZWF0ZWRcbiAgICAgIC8vIHVudGlsIHNvbWV0aGluZyBpcyBsb2dnZWQsIHNvIGp1c3Qga2VlcCBwb2xsaW5nIHVudGlsXG4gICAgICAvLyB0aGVyZSBpcyBzb210aGluZyB0byBmaW5kXG4gICAgICBpZiAoZS5uYW1lID09PSAnUmVzb3VyY2VOb3RGb3VuZEV4Y2VwdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gICAgbG9nR3JvdXBzQWNjZXNzU2V0dGluZ3MubG9nR3JvdXBzU3RhcnRUaW1lc1tsb2dHcm91cE5hbWVdID0gZW5kVGltZSArIDE7XG4gICAgcmV0dXJuIGV2ZW50cztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Notice, NoticeDataSource } from './types';
|
|
2
|
+
import type { IoDefaultMessages } from '../io/private';
|
|
3
|
+
export declare class CachedDataSource implements NoticeDataSource {
|
|
4
|
+
private readonly ioMessages;
|
|
5
|
+
private readonly fileName;
|
|
6
|
+
private readonly dataSource;
|
|
7
|
+
private readonly skipCache?;
|
|
8
|
+
constructor(ioMessages: IoDefaultMessages, fileName: string, dataSource: NoticeDataSource, skipCache?: boolean | undefined);
|
|
9
|
+
fetch(): Promise<Notice[]>;
|
|
10
|
+
private fetchInner;
|
|
11
|
+
private load;
|
|
12
|
+
private save;
|
|
13
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CachedDataSource = void 0;
|
|
4
|
+
const fs = require("fs-extra");
|
|
5
|
+
const toolkit_error_1 = require("../../toolkit/toolkit-error");
|
|
6
|
+
const TIME_TO_LIVE_SUCCESS = 60 * 60 * 1000; // 1 hour
|
|
7
|
+
const TIME_TO_LIVE_ERROR = 1 * 60 * 1000; // 1 minute
|
|
8
|
+
class CachedDataSource {
|
|
9
|
+
ioMessages;
|
|
10
|
+
fileName;
|
|
11
|
+
dataSource;
|
|
12
|
+
skipCache;
|
|
13
|
+
constructor(ioMessages, fileName, dataSource, skipCache) {
|
|
14
|
+
this.ioMessages = ioMessages;
|
|
15
|
+
this.fileName = fileName;
|
|
16
|
+
this.dataSource = dataSource;
|
|
17
|
+
this.skipCache = skipCache;
|
|
18
|
+
}
|
|
19
|
+
async fetch() {
|
|
20
|
+
const cachedData = await this.load();
|
|
21
|
+
const data = cachedData.notices;
|
|
22
|
+
const expiration = cachedData.expiration ?? 0;
|
|
23
|
+
if (Date.now() > expiration || this.skipCache) {
|
|
24
|
+
let updatedData = cachedData;
|
|
25
|
+
try {
|
|
26
|
+
updatedData = await this.fetchInner();
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
this.ioMessages.debug(`Could not refresh notices: ${e}`);
|
|
30
|
+
updatedData = {
|
|
31
|
+
expiration: Date.now() + TIME_TO_LIVE_ERROR,
|
|
32
|
+
notices: [],
|
|
33
|
+
};
|
|
34
|
+
throw toolkit_error_1.ToolkitError.withCause('Failed to load CDK notices. Please try again later.', e);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
await this.save(updatedData);
|
|
38
|
+
}
|
|
39
|
+
return updatedData.notices;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
this.ioMessages.debug(`Reading cached notices from ${this.fileName}`);
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async fetchInner() {
|
|
47
|
+
return {
|
|
48
|
+
expiration: Date.now() + TIME_TO_LIVE_SUCCESS,
|
|
49
|
+
notices: await this.dataSource.fetch(),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
async load() {
|
|
53
|
+
const defaultValue = {
|
|
54
|
+
expiration: 0,
|
|
55
|
+
notices: [],
|
|
56
|
+
};
|
|
57
|
+
try {
|
|
58
|
+
return fs.existsSync(this.fileName)
|
|
59
|
+
? await fs.readJSON(this.fileName)
|
|
60
|
+
: defaultValue;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
this.ioMessages.debug(`Failed to load notices from cache: ${e}`);
|
|
64
|
+
return defaultValue;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async save(cached) {
|
|
68
|
+
try {
|
|
69
|
+
await fs.writeJSON(this.fileName, cached);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
this.ioMessages.debug(`Failed to store notices in the cache: ${e}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.CachedDataSource = CachedDataSource;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2FjaGVkLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUUvQiwrREFBMkQ7QUFRM0QsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFNBQVM7QUFDdEQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFdBQVc7QUFFckQsTUFBYSxnQkFBZ0I7SUFFUjtJQUNBO0lBQ0E7SUFDQTtJQUpuQixZQUNtQixVQUE2QixFQUM3QixRQUFnQixFQUNoQixVQUE0QixFQUM1QixTQUFtQjtRQUhuQixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQVU7SUFFdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUU5QyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzlDLElBQUksV0FBVyxHQUFrQixVQUFVLENBQUM7WUFFNUMsSUFBSSxDQUFDO2dCQUNILFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekQsV0FBVyxHQUFHO29CQUNaLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsa0JBQWtCO29CQUMzQyxPQUFPLEVBQUUsRUFBRTtpQkFDWixDQUFDO2dCQUNGLE1BQU0sNEJBQVksQ0FBQyxTQUFTLENBQUMscURBQXFELEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDekYsQ0FBQztvQkFBUyxDQUFDO2dCQUNULE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsK0JBQStCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxvQkFBb0I7WUFDN0MsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFTyxLQUFLLENBQUMsSUFBSTtRQUNoQixNQUFNLFlBQVksR0FBRztZQUNuQixVQUFVLEVBQUUsQ0FBQztZQUNiLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQWtCO2dCQUNuRCxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ25CLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakUsT0FBTyxZQUFZLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQXFCO1FBQ3RDLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWxFRCw0Q0FrRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgdHlwZSB7IE5vdGljZSwgTm90aWNlRGF0YVNvdXJjZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi4vLi4vdG9vbGtpdC90b29sa2l0LWVycm9yJztcbmltcG9ydCB0eXBlIHsgSW9EZWZhdWx0TWVzc2FnZXMgfSBmcm9tICcuLi9pby9wcml2YXRlJztcblxuaW50ZXJmYWNlIENhY2hlZE5vdGljZXMge1xuICBleHBpcmF0aW9uOiBudW1iZXI7XG4gIG5vdGljZXM6IE5vdGljZVtdO1xufVxuXG5jb25zdCBUSU1FX1RPX0xJVkVfU1VDQ0VTUyA9IDYwICogNjAgKiAxMDAwOyAvLyAxIGhvdXJcbmNvbnN0IFRJTUVfVE9fTElWRV9FUlJPUiA9IDEgKiA2MCAqIDEwMDA7IC8vIDEgbWludXRlXG5cbmV4cG9ydCBjbGFzcyBDYWNoZWREYXRhU291cmNlIGltcGxlbWVudHMgTm90aWNlRGF0YVNvdXJjZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW9NZXNzYWdlczogSW9EZWZhdWx0TWVzc2FnZXMsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogTm90aWNlRGF0YVNvdXJjZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNraXBDYWNoZT86IGJvb2xlYW4sXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZmV0Y2goKTogUHJvbWlzZTxOb3RpY2VbXT4ge1xuICAgIGNvbnN0IGNhY2hlZERhdGEgPSBhd2FpdCB0aGlzLmxvYWQoKTtcbiAgICBjb25zdCBkYXRhID0gY2FjaGVkRGF0YS5ub3RpY2VzO1xuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBjYWNoZWREYXRhLmV4cGlyYXRpb24gPz8gMDtcblxuICAgIGlmIChEYXRlLm5vdygpID4gZXhwaXJhdGlvbiB8fCB0aGlzLnNraXBDYWNoZSkge1xuICAgICAgbGV0IHVwZGF0ZWREYXRhOiBDYWNoZWROb3RpY2VzID0gY2FjaGVkRGF0YTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgdXBkYXRlZERhdGEgPSBhd2FpdCB0aGlzLmZldGNoSW5uZXIoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5pb01lc3NhZ2VzLmRlYnVnKGBDb3VsZCBub3QgcmVmcmVzaCBub3RpY2VzOiAke2V9YCk7XG4gICAgICAgIHVwZGF0ZWREYXRhID0ge1xuICAgICAgICAgIGV4cGlyYXRpb246IERhdGUubm93KCkgKyBUSU1FX1RPX0xJVkVfRVJST1IsXG4gICAgICAgICAgbm90aWNlczogW10sXG4gICAgICAgIH07XG4gICAgICAgIHRocm93IFRvb2xraXRFcnJvci53aXRoQ2F1c2UoJ0ZhaWxlZCB0byBsb2FkIENESyBub3RpY2VzLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLicsIGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlKHVwZGF0ZWREYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1cGRhdGVkRGF0YS5ub3RpY2VzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlvTWVzc2FnZXMuZGVidWcoYFJlYWRpbmcgY2FjaGVkIG5vdGljZXMgZnJvbSAke3RoaXMuZmlsZU5hbWV9YCk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoSW5uZXIoKTogUHJvbWlzZTxDYWNoZWROb3RpY2VzPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cGlyYXRpb246IERhdGUubm93KCkgKyBUSU1FX1RPX0xJVkVfU1VDQ0VTUyxcbiAgICAgIG5vdGljZXM6IGF3YWl0IHRoaXMuZGF0YVNvdXJjZS5mZXRjaCgpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWQoKTogUHJvbWlzZTxDYWNoZWROb3RpY2VzPiB7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID0ge1xuICAgICAgZXhwaXJhdGlvbjogMCxcbiAgICAgIG5vdGljZXM6IFtdLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZzLmV4aXN0c1N5bmModGhpcy5maWxlTmFtZSlcbiAgICAgICAgPyBhd2FpdCBmcy5yZWFkSlNPTih0aGlzLmZpbGVOYW1lKSBhcyBDYWNoZWROb3RpY2VzXG4gICAgICAgIDogZGVmYXVsdFZhbHVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuaW9NZXNzYWdlcy5kZWJ1ZyhgRmFpbGVkIHRvIGxvYWQgbm90aWNlcyBmcm9tIGNhY2hlOiAke2V9YCk7XG4gICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2F2ZShjYWNoZWQ6IENhY2hlZE5vdGljZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZnMud3JpdGVKU09OKHRoaXMuZmlsZU5hbWUsIGNhY2hlZCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5pb01lc3NhZ2VzLmRlYnVnKGBGYWlsZWQgdG8gc3RvcmUgbm90aWNlcyBpbiB0aGUgY2FjaGU6ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type IoDefaultMessages } from '../io/private';
|
|
2
|
+
import type { BootstrappedEnvironment, Notice } from './types';
|
|
3
|
+
export interface NoticesFilterFilterOptions {
|
|
4
|
+
readonly data: Notice[];
|
|
5
|
+
readonly cliVersion: string;
|
|
6
|
+
readonly outDir: string;
|
|
7
|
+
readonly bootstrappedEnvironments: BootstrappedEnvironment[];
|
|
8
|
+
}
|
|
9
|
+
export declare class NoticesFilter {
|
|
10
|
+
private readonly ioMessages;
|
|
11
|
+
constructor(ioMessages: IoDefaultMessages);
|
|
12
|
+
filter(options: NoticesFilterFilterOptions): FilteredNotice[];
|
|
13
|
+
/**
|
|
14
|
+
* From a set of input options, return the notices components we are searching for
|
|
15
|
+
*/
|
|
16
|
+
private otherComponents;
|
|
17
|
+
/**
|
|
18
|
+
* Based on a set of component names, find all notices that match one of the given components
|
|
19
|
+
*/
|
|
20
|
+
private findForNamedComponents;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the given "affected component" name applies to the given actual component name.
|
|
23
|
+
*
|
|
24
|
+
* The name matches if the name is exactly the same, or the name in the notice
|
|
25
|
+
* is a prefix of the node name when the query ends in '.'.
|
|
26
|
+
*/
|
|
27
|
+
private componentNameMatches;
|
|
28
|
+
/**
|
|
29
|
+
* Adds dynamic values from the given ActualComponents
|
|
30
|
+
*
|
|
31
|
+
* If there are multiple components with the same dynamic name, they are joined
|
|
32
|
+
* by a comma.
|
|
33
|
+
*/
|
|
34
|
+
private addDynamicValues;
|
|
35
|
+
/**
|
|
36
|
+
* Treat 'framework' as an alias for either `aws-cdk-lib.` or `@aws-cdk/core.`.
|
|
37
|
+
*
|
|
38
|
+
* Because it's EITHER `aws-cdk-lib` or `@aws-cdk/core`, we need to add multiple
|
|
39
|
+
* arrays at the top level.
|
|
40
|
+
*/
|
|
41
|
+
private resolveAliases;
|
|
42
|
+
/**
|
|
43
|
+
* Load the construct tree from the given directory and return its components
|
|
44
|
+
*/
|
|
45
|
+
private constructTreeComponents;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Notice after passing the filter. A filter can augment a notice with
|
|
49
|
+
* dynamic values as it has access to the dynamic matching data.
|
|
50
|
+
*/
|
|
51
|
+
export declare class FilteredNotice {
|
|
52
|
+
readonly notice: Notice;
|
|
53
|
+
private readonly dynamicValues;
|
|
54
|
+
constructor(notice: Notice);
|
|
55
|
+
addDynamicValue(key: string, value: string): void;
|
|
56
|
+
format(): string;
|
|
57
|
+
private formatOverview;
|
|
58
|
+
private resolveDynamicValues;
|
|
59
|
+
}
|