cdk-comprehend-s3olap 2.0.521 → 2.0.522
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/.jsii +31 -5
- package/lib/cdk-comprehend-s3olap.js +2 -2
- package/lib/comprehend-lambdas.js +2 -2
- package/lib/iam-roles.js +4 -4
- package/node_modules/aws-sdk/README.md +1 -1
- package/node_modules/aws-sdk/apis/application-signals-2024-04-15.min.json +144 -54
- package/node_modules/aws-sdk/apis/bedrock-agent-2023-06-05.min.json +28 -6
- package/node_modules/aws-sdk/apis/connect-2017-08-08.min.json +268 -250
- package/node_modules/aws-sdk/apis/datazone-2018-05-10.min.json +677 -635
- package/node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.examples.json +18 -0
- package/node_modules/aws-sdk/apis/elasticloadbalancingv2-2015-12-01.min.json +65 -11
- package/node_modules/aws-sdk/apis/finspace-2021-03-12.min.json +7 -1
- package/node_modules/aws-sdk/apis/fis-2020-12-01.min.json +80 -0
- package/node_modules/aws-sdk/apis/logs-2014-03-28.min.json +191 -64
- package/node_modules/aws-sdk/apis/logs-2014-03-28.paginators.json +6 -0
- package/node_modules/aws-sdk/apis/mediaconnect-2018-11-14.min.json +116 -42
- package/node_modules/aws-sdk/apis/medialive-2017-10-14.min.json +349 -341
- package/node_modules/aws-sdk/apis/qapps-2023-11-27.examples.json +23 -0
- package/node_modules/aws-sdk/apis/qapps-2023-11-27.min.json +60 -21
- package/node_modules/aws-sdk/apis/s3control-2018-08-20.min.json +92 -4
- package/node_modules/aws-sdk/apis/s3control-2018-08-20.paginators.json +6 -0
- package/node_modules/aws-sdk/apis/sagemaker-2017-07-24.min.json +1018 -972
- package/node_modules/aws-sdk/apis/timestream-influxdb-2023-01-27.min.json +3 -1
- package/node_modules/aws-sdk/clients/applicationsignals.d.ts +136 -22
- package/node_modules/aws-sdk/clients/appsync.d.ts +2 -2
- package/node_modules/aws-sdk/clients/bedrockagent.d.ts +19 -2
- package/node_modules/aws-sdk/clients/cloudwatchlogs.d.ts +184 -5
- package/node_modules/aws-sdk/clients/codepipeline.d.ts +8 -8
- package/node_modules/aws-sdk/clients/connect.d.ts +39 -3
- package/node_modules/aws-sdk/clients/datazone.d.ts +42 -0
- package/node_modules/aws-sdk/clients/elbv2.d.ts +59 -2
- package/node_modules/aws-sdk/clients/finspace.d.ts +3 -3
- package/node_modules/aws-sdk/clients/fis.d.ts +83 -1
- package/node_modules/aws-sdk/clients/gamelift.d.ts +27 -27
- package/node_modules/aws-sdk/clients/kinesisanalyticsv2.d.ts +1 -1
- package/node_modules/aws-sdk/clients/mediaconnect.d.ts +49 -0
- package/node_modules/aws-sdk/clients/medialive.d.ts +11 -0
- package/node_modules/aws-sdk/clients/qapps.d.ts +44 -2
- package/node_modules/aws-sdk/clients/s3control.d.ts +110 -31
- package/node_modules/aws-sdk/clients/sagemaker.d.ts +64 -4
- package/node_modules/aws-sdk/clients/timestreaminfluxdb.d.ts +9 -1
- package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +5 -5
- package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +22 -22
- package/node_modules/aws-sdk/dist/aws-sdk.js +548 -331
- package/node_modules/aws-sdk/dist/aws-sdk.min.js +85 -85
- package/node_modules/aws-sdk/lib/core.js +1 -1
- package/node_modules/aws-sdk/lib/maintenance_mode_message.js +3 -3
- package/node_modules/aws-sdk/lib/region_config_data.json +12 -0
- package/node_modules/aws-sdk/package.json +1 -1
- package/package.json +6 -6
package/.jsii
CHANGED
@@ -7,8 +7,8 @@
|
|
7
7
|
"url": "https://fantasticsie.medium.com/"
|
8
8
|
},
|
9
9
|
"bundled": {
|
10
|
-
"aws-sdk": "^2.
|
11
|
-
"esbuild": "^0.
|
10
|
+
"aws-sdk": "^2.1691.0",
|
11
|
+
"esbuild": "^0.24.0"
|
12
12
|
},
|
13
13
|
"dependencies": {
|
14
14
|
"aws-cdk-lib": "^2.27.0",
|
@@ -2700,6 +2700,19 @@
|
|
2700
2700
|
}
|
2701
2701
|
}
|
2702
2702
|
},
|
2703
|
+
"aws-cdk-lib.aws_pcaconnectorscep": {
|
2704
|
+
"targets": {
|
2705
|
+
"dotnet": {
|
2706
|
+
"package": "Amazon.CDK.AWS.PCAConnectorSCEP"
|
2707
|
+
},
|
2708
|
+
"java": {
|
2709
|
+
"package": "software.amazon.awscdk.services.pcaconnectorscep"
|
2710
|
+
},
|
2711
|
+
"python": {
|
2712
|
+
"module": "aws_cdk.aws_pcaconnectorscep"
|
2713
|
+
}
|
2714
|
+
}
|
2715
|
+
},
|
2703
2716
|
"aws-cdk-lib.aws_personalize": {
|
2704
2717
|
"targets": {
|
2705
2718
|
"dotnet": {
|
@@ -3415,6 +3428,19 @@
|
|
3415
3428
|
}
|
3416
3429
|
}
|
3417
3430
|
},
|
3431
|
+
"aws-cdk-lib.aws_ssmquicksetup": {
|
3432
|
+
"targets": {
|
3433
|
+
"dotnet": {
|
3434
|
+
"package": "Amazon.CDK.AWS.SSMQuickSetup"
|
3435
|
+
},
|
3436
|
+
"java": {
|
3437
|
+
"package": "software.amazon.awscdk.services.ssmquicksetup"
|
3438
|
+
},
|
3439
|
+
"python": {
|
3440
|
+
"module": "aws_cdk.aws_ssmquicksetup"
|
3441
|
+
}
|
3442
|
+
}
|
3443
|
+
},
|
3418
3444
|
"aws-cdk-lib.aws_sso": {
|
3419
3445
|
"targets": {
|
3420
3446
|
"dotnet": {
|
@@ -3838,7 +3864,7 @@
|
|
3838
3864
|
"stability": "stable"
|
3839
3865
|
},
|
3840
3866
|
"homepage": "https://github.com/HsiehShuJeng/cdk-comprehend-s3olap.git",
|
3841
|
-
"jsiiVersion": "5.4.
|
3867
|
+
"jsiiVersion": "5.4.36 (build 0893030)",
|
3842
3868
|
"keywords": [
|
3843
3869
|
"AWS::S3ObjectLambda",
|
3844
3870
|
"amazon-comprehhend",
|
@@ -5939,6 +5965,6 @@
|
|
5939
5965
|
"symbolId": "src/cdk-comprehend-s3olap:S3AccessPointNames"
|
5940
5966
|
}
|
5941
5967
|
},
|
5942
|
-
"version": "2.0.
|
5943
|
-
"fingerprint": "
|
5968
|
+
"version": "2.0.522",
|
5969
|
+
"fingerprint": "AFVS1bgSfYlEhYtJD0jp08aToqc1ZfkXtIg4NulrYFs="
|
5944
5970
|
}
|
@@ -421,7 +421,7 @@ class ComprehendS3olab extends constructs_1.Construct {
|
|
421
421
|
}
|
422
422
|
exports.ComprehendS3olab = ComprehendS3olab;
|
423
423
|
_a = JSII_RTTI_SYMBOL_1;
|
424
|
-
ComprehendS3olab[_a] = { fqn: "cdk-comprehend-s3olap.ComprehendS3olab", version: "2.0.
|
424
|
+
ComprehendS3olab[_a] = { fqn: "cdk-comprehend-s3olap.ComprehendS3olab", version: "2.0.522" };
|
425
425
|
class LambdaArnCaptorCustomResource extends constructs_1.Construct {
|
426
426
|
constructor(scope, id, props) {
|
427
427
|
super(scope, id);
|
@@ -482,5 +482,5 @@ class LambdaArnCaptorCustomResource extends constructs_1.Construct {
|
|
482
482
|
}
|
483
483
|
exports.LambdaArnCaptorCustomResource = LambdaArnCaptorCustomResource;
|
484
484
|
_b = JSII_RTTI_SYMBOL_1;
|
485
|
-
LambdaArnCaptorCustomResource[_b] = { fqn: "cdk-comprehend-s3olap.LambdaArnCaptorCustomResource", version: "2.0.
|
485
|
+
LambdaArnCaptorCustomResource[_b] = { fqn: "cdk-comprehend-s3olap.LambdaArnCaptorCustomResource", version: "2.0.522" };
|
486
486
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbXByZWhlbmQtczNvbGFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nkay1jb21wcmVoZW5kLXMzb2xhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQyx1REFBaUQ7QUFDakQsd0RBQXdEO0FBQ3hELDZDQUE2QztBQUM3Qyx5Q0FBeUM7QUFDekMsMERBQTBEO0FBQzFELGlFQUFpRTtBQUNqRSxtREFBbUQ7QUFDbkQsMkNBQXVDO0FBQ3ZDLDZEQUE0SDtBQUM1SCwyQ0FLcUI7QUFFckIsSUFBWSxXQUtYO0FBTEQsV0FBWSxXQUFXO0lBQ3JCLGtDQUFtQixDQUFBO0lBQ25CLDhCQUFlLENBQUE7SUFDZixrQ0FBbUIsQ0FBQTtJQUNuQiwyQ0FBNEIsQ0FBQTtBQUM5QixDQUFDLEVBTFcsV0FBVywyQkFBWCxXQUFXLFFBS3RCO0FBK0ZEOztHQUVHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQWlDN0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBMFNuQjs7Ozs7V0FLRztRQUNLLDJCQUFzQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxzQkFBNkMsRUFBbUIsRUFBRTtZQUNwSCxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsRUFBRSxlQUFlLElBQUksT0FBTyxDQUFDO1lBQzNFLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixFQUFFLFFBQVEsSUFBSSxNQUFNLENBQUM7WUFDNUQsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsRUFBRSx1QkFBdUIsSUFBSSxNQUFNLENBQUM7WUFDMUYsTUFBTSx3QkFBd0IsR0FBRyxzQkFBc0IsRUFBRSx3QkFBd0IsSUFBSSxPQUFPLENBQUM7WUFDN0YsTUFBTSxrQ0FBa0MsR0FBRyxzQkFBc0IsRUFBRSxr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QUFFO1NBQ2hELENBQUMsQ0FBQztRQUNILE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLG1CQUFtQixFQUFFO1lBQzdGLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxVQUFVLEVBQUU7Z0JBQ1YsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQ3hDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUTthQUN0QjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQzs7QUFoRUgsc0VBaUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBSdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNkZWxwb3kgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnQnO1xuaW1wb3J0ICogYXMgczNvYmplY3RsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzb2JqZWN0bGFtYmRhJztcbmltcG9ydCAqIGFzIGNyIGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBY2Nlc3NDb25ydG9sTGFtYmRhLCBBY2Nlc3NDb25ydG9sTGFtYmRhUHJvcHMsIFJlZGFjdGlvbkxhbWJkYSwgUmVkYWN0aW9uTGFtYmRhUHJvcHMgfSBmcm9tICcuL2NvbXByZWhlbmQtbGFtYmRhcyc7XG5pbXBvcnQge1xuICBBZG1pblJvbGUsIEFkbWluUm9sZVByb3BzLFxuICBCaWxsaW5nUm9sZSwgQmlsbGluZ1JvbGVQcm9wcyxcbiAgQ3VzdFN1cHBvcnRSb2xlLCBDdXN0U3VwcG9ydFJvbGVQcm9wcyxcbiAgR2VuZXJhbFJvbGUsIEdlbmVyYWxSb2xlUHJvcHMsXG59IGZyb20gJy4vaWFtLXJvbGVzJztcblxuZXhwb3J0IGVudW0gSWFtUm9sZU5hbWUge1xuICBHRU5FUkFMID0gJ0dlbmVyYWwnLFxuICBBRE1JTiA9ICdBZG1pbicsXG4gIEJJTExJTkcgPSAnQmlsbGluZycsXG4gIENVU1RfU1VQUE9SVCA9ICdDdXN0U3VwcG9ydCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTM0FjY2Vzc1BvaW50TmFtZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIFMzIGFjZWVzcyBwb2ludCBmb3IgdGhlIGdlbmVyYWwgcm9sZSBpbiB0aGUgYWNjZXNzIGNvbnRyb2wgY2FzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2FjY2Vzc2N0bC1zMy1hcC1zdXJ2ZXktcmVzdWx0cy11bmtub3duLXBpaSdcbiAgICovXG4gIHJlYWRvbmx5IGdlbmVyYWw6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBTMyBhY2Vlc3MgcG9pbnQgZm9yIHRoZSBhZG1pbiByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2FkbWluLXMzLWFjY2Vzcy1wb2ludC1jYWxsLXRyYW5zY3JpcHRzLWtub3duLXBpaSdcbiAgICovXG4gIHJlYWRvbmx5IGFkbWluOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgUzMgYWNlZXNzIHBvaW50IGZvciB0aGUgYmlsbGluZyByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2JpbGwtczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJ1xuICAgKi9cbiAgcmVhZG9ubHkgYmlsbGluZzogc3RyaW5nO1xuICAvKipcbiAgKiBUaGUgbmFtZSBvZiB0aGUgUzMgYWNlZXNzIHBvaW50IGZvciB0aGUgY3VzdG9tZXIgc3VwcG9ydCByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgKlxuICAqIEBkZWZhdWx0ICdjcy1zMy1hY2Nlc3MtcG9pbnQtY2FsbC10cmFuc2NyaXB0cy1rbm93bi1waWknXG4gICovXG4gIHJlYWRvbmx5IGN1c3RvbWVyU3VwcG9ydDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRTM29sYWJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IGF0dGFjaGVkIHRvIHRoZSBuYW1lIG9mIHRoZSBTMyBidWNrZXQgd2hlcmUgeW91IGFyZSBnb2luZyB0byBleHBsb3JlIHRoZSBTMyBPYmplY3QgTGFtYmRhIHBlcnRhaW5pbmcgdG8gdGhlIGFjY2VzcyBjb250cm9sIGNhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IDYgcmFuZG9tIHdvcmRzXG4gICAqL1xuICByZWFkb25seSBzdXJ2ZXlCdWNrZXRQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IGF0dGFjaGVkIHRvIHRoZSBuYW1lIG9mIHRoZSBTMyBidWNrZXQgd2hlcmUgeW91IGFyZSBnb2luZyB0byBleHBsb3JlIHRoZSBTMyBPYmplY3QgTGFtYmRhIHBlcnRhaW5pbmcgdG8gdGhlIHJlZGFjdGlvbiBjYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCA2IHJhbmRvbSB3b3Jkc1xuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNjcmlwdHNCdWNrZXRQcmVmaXg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZXMgb2YgdGhlIFMzIGFjY2VzcyBwb2ludHMgZm9yIHRoZSBhY2Nlc3MgY29udHJvbCBjYXNlIGFuZCByZWRhY3Rpb24gY2FzZS5cbiAgICovXG4gIHJlYWRvbmx5IHMzQWNjZXNzUG9pbnROYW1lcz86IFMzQWNjZXNzUG9pbnROYW1lcztcbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXJzIG5lZWRlZCBmb3IgdGhlIGBDb21wcmVoZW5kUGlpQWNjZXNzQ29udHJvbFMzT2JqZWN0TGFtYmRhYCBmdW5jdGlvbi5cbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/OiBBY2Nlc3NDb25ydG9sTGFtYmRhUHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVycyBvZiB0aGUgYENvbXByZWhlbmRQaWlSZWRhY3Rpb25TM09iamVjdExhbWJkYWAgZnVuY3Rpb24gZm9yIHRoZSBgQWRtaW5Sb2xlYC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUmVkYWN0aW9uTGFtYmRhQ29uZmlnPzogUmVkYWN0aW9uTGFtYmRhUHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVycyBvZiB0aGUgYENvbXByZWhlbmRQaWlSZWRhY3Rpb25TM09iamVjdExhbWJkYWAgZnVuY3Rpb24gZm9yIHRoZSBgQmlsbGluZ1JvbGVgLlxuICAgKi9cbiAgcmVhZG9ubHkgYmlsbGluZ1JlZGFjdGlvbkxhbWJkYUNvbmZpZz86IFJlZGFjdGlvbkxhbWJkYVByb3BzO1xuICAvKipcbiAgKiBUaGUgcGFyYW1ldGVycyBvZiB0aGUgYENvbXByZWhlbmRQaWlSZWRhY3Rpb25TM09iamVjdExhbWJkYWAgZnVuY3Rpb24gZm9yIHRoZSBgQ3VzdFN1cHBvcnRSb2xlYC5cbiAgKi9cbiAgcmVhZG9ubHkgY3VzcnRTdXBwb3J0UmVkYWN0aW9uTGFtYmRhQ29uZmlnPzogUmVkYWN0aW9uTGFtYmRhUHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgbWFuYWdlYWJsZSBwcm9wZXJ0aWVzIGZvciB0aGUgSUFNIHJvbGUgdXNlZCB0byBhY2Nlc3MgdGhlIGBzdXJ2ZXktcmVzdWx0cy50eHRgIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBnZW5lcmFsUm9sZUNvbmZpZz86IEdlbmVyYWxSb2xlUHJvcHM7XG4gIC8qKlxuICAgKiBUaGUgbWFuYWdlYWJsZSBwcm9wZXJ0aWVzIGZvciB0aGUgYWRtaW5pc3RyYXRvciBJQU0gcm9sZSBpbiB0aGUgcmVkYWN0aW9uIGNhc2UuXG4gICAqL1xuICByZWFkb25seSBhZG1pblJvbGVDb25maWc/OiBBZG1pblJvbGVQcm9wcztcbiAgLyoqXG4gICAqIFRoZSBtYW5hZ2VhYmxlIHByb3BlcnRpZXMgZm9yIHRoZSBiaWxsaW5nIElBTSByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICovXG4gIHJlYWRvbmx5IGJpbGxpbmdSb2xlQ29uZmlnPzogQmlsbGluZ1JvbGVQcm9wcztcbiAgLyoqXG4gICAqIFRoZSBtYW5hZ2VhYmxlIHByb3BlcnRpZXMgZm9yIHRoZSBjdXN0b21lciBzdXBwb3J0IElBTSByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RTdXBwb3J0Um9sZUNvbmZpZz86IEN1c3RTdXBwb3J0Um9sZVByb3BzO1xuICAvKipcbiAgICogRm9yIGRpc3Rpbmd1aXNoIHRlc3QgYW5kIG5vcm1hbCBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBnZW5lcmF0ZVJhbmRvbUNoYXJhY3RlcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBwYXRoIHdoZXJlIGBmaWxlcy9hY2Nlc3NfY29udHJvbC8qLnR4dGAgYW5kIGBmaWxlcy9yZWRhY3Rpb24vKi50eHRgIHdpbGwgYmUgcHV0LlxuICAgKlxuICAgKiBETyBOT1QgSU5DTFVERSBgL2AgaW4gdGhlIGVuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgX19kaXJuYW1lXG4gICAqL1xuICByZWFkb25seSBleGFtcGxlRmlsZURpcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBmb3VuZGF0aW9uIG5lY2Vzc2FyeSB0byBkZXBsb3kgdGhlIFMzIE9iamVjdCBMYW1iZGEgQWNjZWVzcyBDb250cm9sIFVzZSBDYXNlLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcHJlaGVuZFMzb2xhYiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBTMyBPYmplY3QgTGFtYmRhIGZvciBhY2Nlc3MgY29udHJvbC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM29iamVjdExhbWJkYUFjY2Vzc0NvbnRyb2xBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFMzIE9iamVjdCBMYW1iZGEgZm9yIHRoZSBhZG1pbiByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM29iamVjdExhbWJkYUFkbWluQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBTMyBPYmplY3QgTGFtYmRhIGZvciB0aGUgYmlsbGluZyByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzM29iamVjdExhbWJkYUJpbGxpbmdBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFMzIE9iamVjdCBMYW1iZGEgZm9yIHRoZSBjdXN0b21lciBzdXBwb3J0IHJvbGUgaW4gdGhlIHJlZGFjdGlvbiBjYXNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHMzb2JqZWN0TGFtYmRhQ3VzdG9tZXJTdXBwb3J0QXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24gY29tYmluZWQgd2l0aCBBbWF6b24gQ29tcHJlaGVuZCBmb3IgdGhlIGdlbmVyYWwgY2FzZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwaWlBY2Nlc3NDb25ydG9sTGFtYmRhQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24gY29tYmluZWQgd2l0aCBBbWF6b24gQ29tcHJlaGVuZCBmb3IgdGhpZSBhZG1pbmlzdHJhdG9yIHJvbGUgaW4gdGhlIHJlZGFjdGlvbiBjYXNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFkbWluTGFtYmRhQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAqIFRoZSBBUk4gb2YgdGhlIExhbWJkYSBmdW5jdGlvbiBjb21iaW5lZCB3aXRoIEFtYXpvbiBDb21wcmVoZW5kIGZvciB0aGllIGJpbGxpbmcgcm9sZSBpbiB0aGUgcmVkYWN0aW9uIGNhc2UuXG4gICovXG4gIHB1YmxpYyByZWFkb25seSBiaWxsaW5nTGFtYmRhQXJuOiBzdHJpbmc7XG4gIC8qKlxuICogVGhlIEFSTiBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIGNvbWJpbmVkIHdpdGggQW1hem9uIENvbXByZWhlbmQgZm9yIHRoaWUgY3VzdG9tZXIgc3VwcG9ydCByb2xlIGluIHRoZSByZWRhY3Rpb24gY2FzZS5cbiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tZXJTdXBwb3J0TGFtYmRhQXJuOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb21wcmVoZW5kUzNvbGFiUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGV4YW1wbGVGaWxlRGlyID0gcHJvcHM/LmV4YW1wbGVGaWxlRGlyID8/IF9fZGlybmFtZTtcbiAgICBjb25zdCBnZW5lcmF0ZVJhbmRvbUNoYXJhY3RlcnMgPSBwcm9wcz8uZ2VuZXJhdGVSYW5kb21DaGFyYWN0ZXJzID8/IHRydWU7XG4gICAgLy8gcHJlcmVxdWlzaXRlcyBmb3IgSUFNIHJvbGVzXG4gICAgY29uc3QgZ2VuZXJhbFJvbGVDb25maWcgPSB0aGlzLmdldElhbVJvbGVDb25maWcoSWFtUm9sZU5hbWUuR0VORVJBTCwgcHJvcHM/LmdlbmVyYWxSb2xlQ29uZmlnKTtcbiAgICBjb25zdCBhZG1pblJvbGVDb25maWcgPSB0aGlzLmdldElhbVJvbGVDb25maWcoSWFtUm9sZU5hbWUuQURNSU4sIHByb3BzPy5hZG1pblJvbGVDb25maWcpO1xuICAgIGNvbnN0IGJpbGxpbmdSb2xlQ29uZmlnID0gdGhpcy5nZXRJYW1Sb2xlQ29uZmlnKElhbVJvbGVOYW1lLkJJTExJTkcsIHByb3BzPy5iaWxsaW5nUm9sZUNvbmZpZyk7XG4gICAgY29uc3QgY3VzdFN1cHBvcnRSb2xlQ29uZmlnID0gdGhpcy5nZXRJYW1Sb2xlQ29uZmlnKElhbVJvbGVOYW1lLkNVU1RfU1VQUE9SVCwgcHJvcHM/LmN1c3RTdXBwb3J0Um9sZUNvbmZpZyk7XG4gICAgLy8gczMgYnVjZWt0IGFuZCBpdHMgYWNjZXNzIHBvaW50c1xuICAgIGNvbnN0IHN1cnZleUJ1Y2tldFByZWZpeCA9IHByb3BzLnN1cnZleUJ1Y2tldFByZWZpeCA/PyB0aGlzLmdlbmVyYXRlUzNQcmVmaXgoNik7XG4gICAgY29uc3QgdHJhbnNjcmlwdHNCdWNrZXRQcmVmaXggPSBwcm9wcy50cmFuc2NyaXB0c0J1Y2tldFByZWZpeCA/PyB0aGlzLmdlbmVyYXRlUzNQcmVmaXgoNik7XG4gICAgY29uc3QgczNBY2Nlc3NQb2ludE5hbWVzOiBTM0FjY2Vzc1BvaW50TmFtZXMgPSB7XG4gICAgICBnZW5lcmFsOiBwcm9wcz8uczNBY2Nlc3NQb2ludE5hbWVzPy5nZW5lcmFsID8/ICgoZ2VuZXJhdGVSYW5kb21DaGFyYWN0ZXJzKSA/IGBhY2Nlc3NjdGwtczMtYXAtc3VydmV5LXJlc3VsdHMtdW5rbm93bi1waWktJHt0aGlzLmdlbmVyYXRlUzNQcmVmaXgoNil9YCA6ICdhY2Nlc3NjdGwtczMtYXAtc3VydmV5LXJlc3VsdHMtdW5rbm93bi1waWknKSxcbiAgICAgIGFkbWluOiBwcm9wcz8uczNBY2Nlc3NQb2ludE5hbWVzPy5hZG1pbiA/PyAoKGdlbmVyYXRlUmFuZG9tQ2hhcmFjdGVycykgPyBgYWRtaW4tczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpLSR7dGhpcy5nZW5lcmF0ZVMzUHJlZml4KDYpfWAgOiAnYWRtaW4tczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJyksXG4gICAgICBiaWxsaW5nOiBwcm9wcz8uczNBY2Nlc3NQb2ludE5hbWVzPy5iaWxsaW5nID8/ICgoZ2VuZXJhdGVSYW5kb21DaGFyYWN0ZXJzKSA/IGBiaWxsLXMzLWFjY2Vzcy1wb2ludC1jYWxsLXRyYW5zY3JpcHRzLWtub3duLXBpaS0ke3RoaXMuZ2VuZXJhdGVTM1ByZWZpeCg2KX1gIDogJ2JpbGwtczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJyksXG4gICAgICBjdXN0b21lclN1cHBvcnQ6IHByb3BzPy5zM0FjY2Vzc1BvaW50TmFtZXM/LmN1c3RvbWVyU3VwcG9ydCA/PyAoKGdlbmVyYXRlUmFuZG9tQ2hhcmFjdGVycykgPyBgY3MtczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpLSR7dGhpcy5nZW5lcmF0ZVMzUHJlZml4KDYpfWAgOiAnY3MtczMtYWNjZXNzLXBvaW50LWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJyksXG4gICAgfTtcbiAgICAvLyBvYmplY3QgTGFtYmRhXG4gICAgY29uc3QgYWNzZW1hbnRpY1ZlcnNpb24gPSBwcm9wcz8uYWNjZXNzQ29udHJvbExhbWJkYUNvbmZpZz8uc2VtYW50aWNWZXJzaW9uID8/ICcxLjAuMic7XG4gICAgY29uc3QgYWNjb25maWRlbmNlVGhyZXNob2xkID0gcHJvcHM/LmFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/LmNvbmZpZGVuY2VUaHJlc2hvbGQgPz8gJzAuNSc7XG4gICAgY29uc3QgYWNjb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQgPSBwcm9wcz8uYWNjZXNzQ29udHJvbExhbWJkYUNvbmZpZz8uY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50ID8/ICcyMCc7XG4gICAgY29uc3QgYWNkZWZhdWx0TGFuZ3VhZ2VDb2RlID0gcHJvcHM/LmFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/LmRlZmF1bHRMYW5ndWFnZUNvZGUgPz8gJ2VuJztcbiAgICBjb25zdCBhY2RvY3VtZW50TWF4U2l6ZSA9IHByb3BzPy5hY2Nlc3NDb250cm9sTGFtYmRhQ29uZmlnPy5kb2N1bWVudE1heFNpemUgPz8gJzEwMjQwMCc7XG4gICAgY29uc3QgYWNkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzID0gcHJvcHM/LmFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/LmRvY3VtZW50TWF4U2l6ZUNvbnRhaW5zUGlpRW50aXRpZXMgPz8gJzUwMDAwJztcbiAgICBjb25zdCBhY2lzUGFydGlhbE9iamVjdFN1cHBvcnRlZCA9IHByb3BzPy5hY2Nlc3NDb250cm9sTGFtYmRhQ29uZmlnPy5pc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQgPz8gJ2ZhbHNlJztcbiAgICBjb25zdCBhY2xvZ0xldmVsID0gcHJvcHM/LmFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/LmxvZ0xldmVsID8/ICdJTkZPJztcbiAgICBjb25zdCBhY21heENoYXJzT3ZlcmxhcCA9IHByb3BzPy5hY2Nlc3NDb250cm9sTGFtYmRhQ29uZmlnPy5tYXhDaGFyc092ZXJsYXAgPz8gJzIwMCc7XG4gICAgY29uc3QgYWNwaWlFbnRpdHlUeXBlcyA9IHByb3BzPy5hY2Nlc3NDb250cm9sTGFtYmRhQ29uZmlnPy5waWlFbnRpdHlUeXBlcyA/PyAnQUxMJztcbiAgICBjb25zdCBhY3B1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyA9IHByb3BzPy5hY2Nlc3NDb250cm9sTGFtYmRhQ29uZmlnPy5wdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3MgPz8gJ3RydWUnO1xuICAgIGNvbnN0IGFjc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zID0gcHJvcHM/LmFjY2Vzc0NvbnRyb2xMYW1iZGFDb25maWc/LnN1YnNlZ21lbnRPdmVybGFwcGluZ1Rva2VucyA/PyAnMjAnO1xuICAgIGNvbnN0IGFjdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmcgPSBwcm9wcz8uYWNjZXNzQ29udHJvbExhbWJkYUNvbmZpZz8udW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmcgPz8gJ0ZBSUwnO1xuICAgIGNvbnN0IGFjY2Vzc0NvbnRyb2xMYW1iZGEgPSBuZXcgQWNjZXNzQ29ucnRvbExhbWJkYSh0aGlzLCAnU2VydmVybGVzc0xhbWJkYScsIHtcbiAgICAgIHNlbWFudGljVmVyc2lvbjogYWNzZW1hbnRpY1ZlcnNpb24sXG4gICAgICBjb25maWRlbmNlVGhyZXNob2xkOiBhY2NvbmZpZGVuY2VUaHJlc2hvbGQsXG4gICAgICBjb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQ6IGFjY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50LFxuICAgICAgZGVmYXVsdExhbmd1YWdlQ29kZTogYWNkZWZhdWx0TGFuZ3VhZ2VDb2RlLFxuICAgICAgZG9jdW1lbnRNYXhTaXplOiBhY2RvY3VtZW50TWF4U2l6ZSxcbiAgICAgIGRvY3VtZW50TWF4U2l6ZUNvbnRhaW5zUGlpRW50aXRpZXM6IGFjZG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyxcbiAgICAgIGlzUGFydGlhbE9iamVjdFN1cHBvcnRlZDogYWNpc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQsXG4gICAgICBsb2dMZXZlbDogYWNsb2dMZXZlbCxcbiAgICAgIG1heENoYXJzT3ZlcmxhcDogYWNtYXhDaGFyc092ZXJsYXAsXG4gICAgICBwaWlFbnRpdHlUeXBlczogYWNwaWlFbnRpdHlUeXBlcyxcbiAgICAgIHB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljczogYWNwdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3MsXG4gICAgICBzdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnM6IGFjc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zLFxuICAgICAgdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmc6IGFjdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmcsXG4gICAgfSk7XG4gICAgLy8gQ29tcHJlaGVuZFBpaVJlZGFjdGlvblMzT2JqZWN0TGFtYmRhXG4gICAgY29uc3QgYWRtaW5SZWRhY3RMYW1iZGEgPSB0aGlzLmluaXRpYWxpemVSZWRhY3RMYW1iZGEoSWFtUm9sZU5hbWUuQURNSU4sIHByb3BzPy5hZG1pblJlZGFjdGlvbkxhbWJkYUNvbmZpZyk7XG4gICAgY29uc3QgYmlsbGluZ1JlZGFjdExhbWJkYSA9IHRoaXMuaW5pdGlhbGl6ZVJlZGFjdExhbWJkYShJYW1Sb2xlTmFtZS5CSUxMSU5HLCBwcm9wcz8uYmlsbGluZ1JlZGFjdGlvbkxhbWJkYUNvbmZpZyk7XG4gICAgY29uc3QgY3VzdFN1cHBvcnRSZWRhY3RMYW1iZGEgPSB0aGlzLmluaXRpYWxpemVSZWRhY3RMYW1iZGEoSWFtUm9sZU5hbWUuQ1VTVF9TVVBQT1JULCBwcm9wcz8uY3VzcnRTdXBwb3J0UmVkYWN0aW9uTGFtYmRhQ29uZmlnKTtcbiAgICBiaWxsaW5nUmVkYWN0TGFtYmRhLm5vZGUuYWRkRGVwZW5kZW5jeShhZG1pblJlZGFjdExhbWJkYSk7XG4gICAgY3VzdFN1cHBvcnRSZWRhY3RMYW1iZGEubm9kZS5hZGREZXBlbmRlbmN5KGJpbGxpbmdSZWRhY3RMYW1iZGEpO1xuXG4gICAgLy8gSUFNIHJvbGVzXG4gICAgY29uc3QgZ2VuZXJhbFJvbGUgPSBuZXcgR2VuZXJhbFJvbGUodGhpcywgJ0dlbmVyYWwnLCB7XG4gICAgICBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWU6IGdlbmVyYWxSb2xlQ29uZmlnLm9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSxcbiAgICAgIHBvbGljeU5hbWU6IGdlbmVyYWxSb2xlQ29uZmlnLnBvbGljeU5hbWUsXG4gICAgICBpYW1Sb2xlTmFtZTogZ2VuZXJhbFJvbGVDb25maWcuaWFtUm9sZU5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgYWRtaW5Sb2xlID0gbmV3IEFkbWluUm9sZSh0aGlzLCAnQWRtaW4nLCB7XG4gICAgICBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWU6IGFkbWluUm9sZUNvbmZpZy5vYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUsXG4gICAgICBwb2xpY3lOYW1lOiBhZG1pblJvbGVDb25maWcucG9saWN5TmFtZSxcbiAgICAgIGlhbVJvbGVOYW1lOiBhZG1pblJvbGVDb25maWcuaWFtUm9sZU5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgYmlsbGluZ1JvbGUgPSBuZXcgQmlsbGluZ1JvbGUodGhpcywgJ0JpbGxpbmcnLCB7XG4gICAgICBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWU6IGJpbGxpbmdSb2xlQ29uZmlnLm9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSxcbiAgICAgIHBvbGljeU5hbWU6IGJpbGxpbmdSb2xlQ29uZmlnLnBvbGljeU5hbWUsXG4gICAgICBpYW1Sb2xlTmFtZTogYmlsbGluZ1JvbGVDb25maWcuaWFtUm9sZU5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgY3VzdFN1cHBvcnRSb2xlID0gbmV3IEN1c3RTdXBwb3J0Um9sZSh0aGlzLCAnQ3VzdFN1cHBvcnQnLCB7XG4gICAgICBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWU6IGN1c3RTdXBwb3J0Um9sZUNvbmZpZy5vYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUsXG4gICAgICBwb2xpY3lOYW1lOiBjdXN0U3VwcG9ydFJvbGVDb25maWcucG9saWN5TmFtZSxcbiAgICAgIGlhbVJvbGVOYW1lOiBjdXN0U3VwcG9ydFJvbGVDb25maWcuaWFtUm9sZU5hbWUsXG4gICAgfSk7XG5cbiAgICAvLyBTMyBidWNrZXRzXG4gICAgY29uc3Qgc3VydmV5QnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnU3VydmV5UmVzdWx0QnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogKGdlbmVyYXRlUmFuZG9tQ2hhcmFjdGVycykgPyBgc3VydmV5LXJlc3VsdHMtdW5rbm93bi1waWktJHtzdXJ2ZXlCdWNrZXRQcmVmaXh9YCA6ICdzdXJ2ZXktcmVzdWx0cy11bmtub3duLXBpaS0xMjM0NTYnLFxuICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIH0pO1xuICAgIHN1cnZleUJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KFxuICAgICAge1xuICAgICAgICBzaWQ6ICdBV1NCdWNrZXRHZXRQb2xpY3knLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BY2NvdW50Um9vdFByaW5jaXBhbCgpXSxcbiAgICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICByZXNvdXJjZXM6IFtgJHtzdXJ2ZXlCdWNrZXQuYnVja2V0QXJufS8qYF0sXG4gICAgICAgIGNvbmRpdGlvbnM6IHsgWydTdHJpbmdFcXVhbHMnXTogeyAnczM6RGF0YUFjY2Vzc1BvaW50QWNjb3VudCc6IGNkay5Bd3MuQUNDT1VOVF9JRCB9IH0sXG4gICAgICB9LFxuICAgICkpO1xuICAgIHN1cnZleUJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KFxuICAgICAge1xuICAgICAgICBzaWQ6ICdBV1NCdWNrZXRQdXRQb2xpY3knLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BY2NvdW50Um9vdFByaW5jaXBhbCgpXSxcbiAgICAgICAgYWN0aW9uczogWydzMzpQdXRPYmplY3QnXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICByZXNvdXJjZXM6IFtgJHtzdXJ2ZXlCdWNrZXQuYnVja2V0QXJufS8qYF0sXG4gICAgICB9LFxuICAgICkpO1xuICAgIGNvbnN0IHRyYW5zY3JpcHRCdWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdUcmFuc2NyaXB0QnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogKGdlbmVyYXRlUmFuZG9tQ2hhcmFjdGVycykgPyBgY2FsbC10cmFuc2NyaXB0cy1rbm93bi1waWktJHt0cmFuc2NyaXB0c0J1Y2tldFByZWZpeH1gIDogJ2NhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpLTEyMzQ0NTYnLFxuICAgICAgcmVtb3ZhbFBvbGljeTogY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIH0pO1xuICAgIHRyYW5zY3JpcHRCdWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShuZXcgaWFtLlBvbGljeVN0YXRlbWVudChcbiAgICAgIHtcbiAgICAgICAgc2lkOiAnQVdTQnVja2V0R2V0UG9saWN5JyxcbiAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uQWNjb3VudFJvb3RQcmluY2lwYWwoKV0sXG4gICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgcmVzb3VyY2VzOiBbYCR7dHJhbnNjcmlwdEJ1Y2tldC5idWNrZXRBcm59LypgXSxcbiAgICAgICAgY29uZGl0aW9uczogeyBbJ1N0cmluZ0VxdWFscyddOiB7ICdzMzpEYXRhQWNjZXNzUG9pbnRBY2NvdW50JzogY2RrLkF3cy5BQ0NPVU5UX0lEIH0gfSxcbiAgICAgIH0sXG4gICAgKSk7XG4gICAgdHJhbnNjcmlwdEJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KFxuICAgICAge1xuICAgICAgICBzaWQ6ICdBV1NCdWNrZXRQdXRQb2xpY3knLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BY2NvdW50Um9vdFByaW5jaXBhbCgpXSxcbiAgICAgICAgYWN0aW9uczogWydzMzpQdXRPYmplY3QnXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICByZXNvdXJjZXM6IFtgJHt0cmFuc2NyaXB0QnVja2V0LmJ1Y2tldEFybn0vKmBdLFxuICAgICAgfSxcbiAgICApKTtcbiAgICBzdXJ2ZXlCdWNrZXQubm9kZS5hZGREZXBlbmRlbmN5KGFjY2Vzc0NvbnRyb2xMYW1iZGEpO1xuICAgIHN1cnZleUJ1Y2tldC5ub2RlLmFkZERlcGVuZGVuY3koZ2VuZXJhbFJvbGUpO1xuICAgIHRyYW5zY3JpcHRCdWNrZXQubm9kZS5hZGREZXBlbmRlbmN5KGFkbWluUmVkYWN0TGFtYmRhKTtcbiAgICB0cmFuc2NyaXB0QnVja2V0Lm5vZGUuYWRkRGVwZW5kZW5jeShiaWxsaW5nUmVkYWN0TGFtYmRhKTtcbiAgICB0cmFuc2NyaXB0QnVja2V0Lm5vZGUuYWRkRGVwZW5kZW5jeShjdXN0U3VwcG9ydFJlZGFjdExhbWJkYSk7XG4gICAgdHJhbnNjcmlwdEJ1Y2tldC5ub2RlLmFkZERlcGVuZGVuY3koYWRtaW5Sb2xlKTtcbiAgICB0cmFuc2NyaXB0QnVja2V0Lm5vZGUuYWRkRGVwZW5kZW5jeShiaWxsaW5nUm9sZSk7XG4gICAgdHJhbnNjcmlwdEJ1Y2tldC5ub2RlLmFkZERlcGVuZGVuY3koY3VzdFN1cHBvcnRSb2xlKTtcblxuICAgIC8vIGN1c3RvbSByZXNvdXJjZXNcbiAgICBjb25zdCBnZW5lcmFsTGFtYmRhQXJuQ2FwdG9yID0gbmV3IExhbWJkYUFybkNhcHRvckN1c3RvbVJlc291cmNlKHRoaXMsICdHZW5lcmFsQ2FwdG9yJywge1xuICAgICAgcm9sZU5hbWU6IElhbVJvbGVOYW1lLkdFTkVSQUwsXG4gICAgICBwYXJ0aWFsTGFtYmRhTmFtZTogJ1BpaUFjY2Vzc0NvbnRyb2xGdW5jdGlvbicsXG4gICAgfSk7XG4gICAgY29uc3QgYWRtaW5MYW1iZGFBcm5DYXB0b3IgPSBuZXcgTGFtYmRhQXJuQ2FwdG9yQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0FkbWluTGFtYmRhQ2FwdG9yJywge1xuICAgICAgcm9sZU5hbWU6IElhbVJvbGVOYW1lLkFETUlOLFxuICAgICAgcGFydGlhbExhbWJkYU5hbWU6ICdQaWlSZWRhY3Rpb25GdW5jdGlvbicsXG4gICAgfSk7XG4gICAgY29uc3QgYmlsbGluZ0xhbWJkYUFybkNhcHRvciA9IG5ldyBMYW1iZGFBcm5DYXB0b3JDdXN0b21SZXNvdXJjZSh0aGlzLCAnQmlsbGluZ0NhcHRvcicsIHtcbiAgICAgIHJvbGVOYW1lOiBJYW1Sb2xlTmFtZS5CSUxMSU5HLFxuICAgICAgcGFydGlhbExhbWJkYU5hbWU6ICdQaWlSZWRhY3Rpb25GdW5jdGlvbicsXG4gICAgfSk7XG4gICAgY29uc3QgY3VzdG9tU3VwcG9ydExhbWJkYUFybkNhcHRvciA9IG5ldyBMYW1iZGFBcm5DYXB0b3JDdXN0b21SZXNvdXJjZSh0aGlzLCAnQ3VzdG9tU3VwcG9ydENhcHRvcicsIHtcbiAgICAgIHJvbGVOYW1lOiBJYW1Sb2xlTmFtZS5DVVNUX1NVUFBPUlQsXG4gICAgICBwYXJ0aWFsTGFtYmRhTmFtZTogJ1BpaVJlZGFjdGlvbkZ1bmN0aW9uJyxcbiAgICB9KTtcbiAgICBnZW5lcmFsTGFtYmRhQXJuQ2FwdG9yLm5vZGUuYWRkRGVwZW5kZW5jeShhY2Nlc3NDb250cm9sTGFtYmRhKTtcbiAgICBhZG1pbkxhbWJkYUFybkNhcHRvci5ub2RlLmFkZERlcGVuZGVuY3koYWRtaW5SZWRhY3RMYW1iZGEpO1xuICAgIGJpbGxpbmdMYW1iZGFBcm5DYXB0b3Iubm9kZS5hZGREZXBlbmRlbmN5KGJpbGxpbmdSZWRhY3RMYW1iZGEpO1xuICAgIGN1c3RvbVN1cHBvcnRMYW1iZGFBcm5DYXB0b3Iubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RTdXBwb3J0UmVkYWN0TGFtYmRhKTtcbiAgICB0aGlzLnBpaUFjY2Vzc0NvbnJ0b2xMYW1iZGFBcm4gPSBnZW5lcmFsTGFtYmRhQXJuQ2FwdG9yLmxhbWJkYUFybjtcbiAgICB0aGlzLmFkbWluTGFtYmRhQXJuID0gYWRtaW5MYW1iZGFBcm5DYXB0b3IubGFtYmRhQXJuO1xuICAgIHRoaXMuYmlsbGluZ0xhbWJkYUFybiA9IGJpbGxpbmdMYW1iZGFBcm5DYXB0b3IubGFtYmRhQXJuO1xuICAgIHRoaXMuY3VzdG9tZXJTdXBwb3J0TGFtYmRhQXJuID0gY3VzdG9tU3VwcG9ydExhbWJkYUFybkNhcHRvci5sYW1iZGFBcm47XG5cbiAgICAvLyBTMyBhY2Nlc3MgcG9pbnRzXG4gICAgY29uc3QgZ2VuZXJhbEFjY2Vzc1BvaW50ID0gbmV3IHMzLkNmbkFjY2Vzc1BvaW50KHRoaXMsICdBY2Nlc3NDb250cm9sUzNBY2Nlc3NQb2ludCcsIHtcbiAgICAgIGJ1Y2tldDogc3VydmV5QnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAvLyBuYW1lOiBzM0FjY2Vzc1BvaW50TmFtZXMuZ2VuZXJhbC5zdWJzdHJpbmcoMCwgNTApLFxuICAgIH0pO1xuICAgIGdlbmVyYWxBY2Nlc3NQb2ludC5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdOYW1lJywgczNBY2Nlc3NQb2ludE5hbWVzLmdlbmVyYWwuc3Vic3RyaW5nKDAsIDUwKSk7XG4gICAgZ2VuZXJhbEFjY2Vzc1BvaW50LmFkZE92ZXJyaWRlO1xuICAgIGNvbnN0IGFkbWluQWNjZXNzUG9pbnQgPSBuZXcgczMuQ2ZuQWNjZXNzUG9pbnQodGhpcywgJ0FkbWluUzNBY2Nlc3NQb2ludCcsIHtcbiAgICAgIGJ1Y2tldDogdHJhbnNjcmlwdEJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgLy8gbmFtZTogczNBY2Nlc3NQb2ludE5hbWVzLmFkbWluLnN1YnN0cmluZygwLCA1MCksXG4gICAgfSk7XG4gICAgYWRtaW5BY2Nlc3NQb2ludC5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdOYW1lJywgczNBY2Nlc3NQb2ludE5hbWVzLmFkbWluLnN1YnN0cmluZygwLCA1MCkpO1xuICAgIGNvbnN0IGJpbGxpbmdBY2Nlc3NQb2ludCA9IG5ldyBzMy5DZm5BY2Nlc3NQb2ludCh0aGlzLCAnQmlsbGluZ1MzQWNjZXNzUG9pbnQnLCB7XG4gICAgICBidWNrZXQ6IHRyYW5zY3JpcHRCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIC8vIG5hbWU6IHMzQWNjZXNzUG9pbnROYW1lcy5iaWxsaW5nLnN1YnN0cmluZygwLCA1MCksXG4gICAgfSk7XG4gICAgYWRtaW5BY2Nlc3NQb2ludC5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdOYW1lJywgczNBY2Nlc3NQb2ludE5hbWVzLmJpbGxpbmcuc3Vic3RyaW5nKDAsIDUwKSk7XG4gICAgY29uc3QgY3VzdG9tZXJTdXBwb3J0QWNjZXNzUG9pbnQgPSBuZXcgczMuQ2ZuQWNjZXNzUG9pbnQodGhpcywgJ0N1c3RvbWVyU3VwcG9ydFMzQWNjZXNzUG9pbnQnLCB7XG4gICAgICBidWNrZXQ6IHRyYW5zY3JpcHRCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIC8vIG5hbWU6IHMzQWNjZXNzUG9pbnROYW1lcy5jdXN0b21lclN1cHBvcnQuc3Vic3RyaW5nKDAsIDUwKSxcbiAgICB9KTtcbiAgICBjdXN0b21lclN1cHBvcnRBY2Nlc3NQb2ludC5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdOYW1lJywgczNBY2Nlc3NQb2ludE5hbWVzLmN1c3RvbWVyU3VwcG9ydC5zdWJzdHJpbmcoMCwgNTApKTtcblxuICAgIC8vIFMzT2JqZWN0TGFtYmRhIHJlc291cmNlc1xuICAgIGNvbnN0IGFjY2Vzc0NvbnRyb2xPYmplY3RMYW1iZGEgPSBuZXcgczNvYmplY3RsYW1iZGEuQ2ZuQWNjZXNzUG9pbnQodGhpcywgJ0dlbmVyYWxMYW1iZGFBY2Nlc3NQb2ludCcsIHtcbiAgICAgIG5hbWU6IGdlbmVyYWxSb2xlQ29uZmlnLm9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSxcbiAgICAgIG9iamVjdExhbWJkYUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgc3VwcG9ydGluZ0FjY2Vzc1BvaW50OiBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OnMzOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTphY2Nlc3Nwb2ludC8ke2dlbmVyYWxBY2Nlc3NQb2ludC5hdHRyTmFtZX1gLFxuICAgICAgICB0cmFuc2Zvcm1hdGlvbkNvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uczogWydHZXRPYmplY3QnXSxcbiAgICAgICAgICAgIGNvbnRlbnRUcmFuc2Zvcm1hdGlvbjogbmV3IGNkay5DZm5Kc29uKHRoaXMsICdHZW5lcmFsT2JqZWN0TGFtYmRhQ29uZmlnJywge1xuICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgIEF3c0xhbWJkYToge1xuICAgICAgICAgICAgICAgICAgRnVuY3Rpb25Bcm46IHRoaXMucGlpQWNjZXNzQ29ucnRvbExhbWJkYUFybixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3QgYWRtaW5PYmplY3RMYW1iZGEgPSBuZXcgczNvYmplY3RsYW1iZGEuQ2ZuQWNjZXNzUG9pbnQodGhpcywgJ0FkbWluTGFtYmRhQWNjZXNzUG9pbnQnLCB7XG4gICAgICBuYW1lOiBhZG1pblJvbGVDb25maWcub2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lLFxuICAgICAgb2JqZWN0TGFtYmRhQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBzdXBwb3J0aW5nQWNjZXNzUG9pbnQ6IGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06czM6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmFjY2Vzc3BvaW50LyR7YWRtaW5BY2Nlc3NQb2ludC5hdHRyTmFtZX1gLFxuICAgICAgICB0cmFuc2Zvcm1hdGlvbkNvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uczogWydHZXRPYmplY3QnXSxcbiAgICAgICAgICAgIGNvbnRlbnRUcmFuc2Zvcm1hdGlvbjogbmV3IGNkay5DZm5Kc29uKHRoaXMsICdBZG1pbk9iamVjdExhbWJkYUNvbmZpZycsIHtcbiAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICBBd3NMYW1iZGE6IHtcbiAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uQXJuOiB0aGlzLmFkbWluTGFtYmRhQXJuLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBiaWxsaW5nT2JqZWN0TGFtYmRhID0gbmV3IHMzb2JqZWN0bGFtYmRhLkNmbkFjY2Vzc1BvaW50KHRoaXMsICdCaWxsaW5nTGFtYmRhQWNjZXNzUG9pbnQnLCB7XG4gICAgICBuYW1lOiBiaWxsaW5nUm9sZUNvbmZpZy5vYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUsXG4gICAgICBvYmplY3RMYW1iZGFDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIHN1cHBvcnRpbmdBY2Nlc3NQb2ludDogYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMzoke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06YWNjZXNzcG9pbnQvJHtiaWxsaW5nQWNjZXNzUG9pbnQuYXR0ck5hbWV9YCxcbiAgICAgICAgdHJhbnNmb3JtYXRpb25Db25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnR2V0T2JqZWN0J10sXG4gICAgICAgICAgICBjb250ZW50VHJhbnNmb3JtYXRpb246IG5ldyBjZGsuQ2ZuSnNvbih0aGlzLCAnQmlsbGluZ09iamVjdExhbWJkYUNvbmZpZycsIHtcbiAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICBBd3NMYW1iZGE6IHtcbiAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uQXJuOiB0aGlzLmJpbGxpbmdMYW1iZGFBcm4sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGN1c3RvbWVyU3VwcG9ydE9iamVjdExhbWJkYSA9IG5ldyBzM29iamVjdGxhbWJkYS5DZm5BY2Nlc3NQb2ludCh0aGlzLCAnQ3VzdG9tZXJTdXBwb3J0TGFtYmRhQWNjZXNzUG9pbnQnLCB7XG4gICAgICBuYW1lOiBjdXN0U3VwcG9ydFJvbGVDb25maWcub2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lLFxuICAgICAgb2JqZWN0TGFtYmRhQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBzdXBwb3J0aW5nQWNjZXNzUG9pbnQ6IGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06czM6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmFjY2Vzc3BvaW50LyR7Y3VzdG9tZXJTdXBwb3J0QWNjZXNzUG9pbnQuYXR0ck5hbWV9YCxcbiAgICAgICAgdHJhbnNmb3JtYXRpb25Db25maWd1cmF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnR2V0T2JqZWN0J10sXG4gICAgICAgICAgICBjb250ZW50VHJhbnNmb3JtYXRpb246IG5ldyBjZGsuQ2ZuSnNvbih0aGlzLCAnQ3VzdG9tZXJTdXBwb3J0T2JqZWN0TGFtYmRhQ29uZmlnJywge1xuICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgIEF3c0xhbWJkYToge1xuICAgICAgICAgICAgICAgICAgRnVuY3Rpb25Bcm46IHRoaXMuY3VzdG9tZXJTdXBwb3J0TGFtYmRhQXJuLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIEF1dG9tYXRpYyB1cGxvYWRpbmdcbiAgICBjb25zdCBzdXJ2ZXlGaWxlUGF0aCA9IHBhdGguam9pbihleGFtcGxlRmlsZURpciwgJ2ZpbGVzL2FjY2Vzc19jb250cm9sJyk7XG4gICAgY29uc3QgcmVkYWN0aW9uRmlsZVBhdGggPSBwYXRoLmpvaW4oZXhhbXBsZUZpbGVEaXIsICdmaWxlcy9yZWRhY3Rpb24nKTtcbiAgICBjb25zb2xlLmxvZyhgc3VydmV5RmlsZVBhdGg6ICR7c3VydmV5RmlsZVBhdGh9YCk7XG4gICAgY29uc29sZS5sb2coYHJlZGFjdGlvbkZpbGVQYXRoOiAke3JlZGFjdGlvbkZpbGVQYXRofWApO1xuICAgIGlmIChmcy5leGlzdHNTeW5jKHN1cnZleUZpbGVQYXRoKSkge1xuICAgICAgY29uc3QgZGVwbG95RmlsZXMgPSBuZXcgczNkZWxwb3kuQnVja2V0RGVwbG95bWVudCh0aGlzLCAnRGVwbG95U3VydmV5UmVzdWx0RmlsZXMnLCB7XG4gICAgICAgIHNvdXJjZXM6IFtzM2RlbHBveS5Tb3VyY2UuYXNzZXQoc3VydmV5RmlsZVBhdGgpXSxcbiAgICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHN1cnZleUJ1Y2tldCxcbiAgICAgIH0pO1xuICAgICAgZGVwbG95RmlsZXMubm9kZS5hZGREZXBlbmRlbmN5KGFjY2Vzc0NvbnRyb2xPYmplY3RMYW1iZGEpO1xuICAgIH07XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocmVkYWN0aW9uRmlsZVBhdGgpKSB7XG4gICAgICBjb25zdCBkZXBsb3lUcmFuc2NyaXB0RmlsZXMgPSBuZXcgczNkZWxwb3kuQnVja2V0RGVwbG95bWVudCh0aGlzLCAnRGVwbG95VHJhbnNjcmlwdEZpbGVzJywge1xuICAgICAgICBzb3VyY2VzOiBbczNkZWxwb3kuU291cmNlLmFzc2V0KHJlZGFjdGlvbkZpbGVQYXRoKV0sXG4gICAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0cmFuc2NyaXB0QnVja2V0LFxuICAgICAgfSk7XG4gICAgICBkZXBsb3lUcmFuc2NyaXB0RmlsZXMubm9kZS5hZGREZXBlbmRlbmN5KGFkbWluT2JqZWN0TGFtYmRhKTtcbiAgICAgIGRlcGxveVRyYW5zY3JpcHRGaWxlcy5ub2RlLmFkZERlcGVuZGVuY3koYmlsbGluZ09iamVjdExhbWJkYSk7XG4gICAgICBkZXBsb3lUcmFuc2NyaXB0RmlsZXMubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RvbWVyU3VwcG9ydE9iamVjdExhbWJkYSk7XG4gICAgfTtcblxuICAgIHRoaXMuczNvYmplY3RMYW1iZGFBY2Nlc3NDb250cm9sQXJuID0gY2RrLlRva2VuLmFzU3RyaW5nKGNkay5Gbi5nZXRBdHQoYWNjZXNzQ29udHJvbE9iamVjdExhbWJkYS5sb2dpY2FsSWQsICdBcm4nKSk7XG4gICAgdGhpcy5zM29iamVjdExhbWJkYUFkbWluQXJuID0gY2RrLlRva2VuLmFzU3RyaW5nKGNkay5Gbi5nZXRBdHQoYWRtaW5PYmplY3RMYW1iZGEubG9naWNhbElkLCAnQXJuJykpO1xuICAgIHRoaXMuczNvYmplY3RMYW1iZGFCaWxsaW5nQXJuID0gY2RrLlRva2VuLmFzU3RyaW5nKGNkay5Gbi5nZXRBdHQoYmlsbGluZ09iamVjdExhbWJkYS5sb2dpY2FsSWQsICdBcm4nKSk7XG4gICAgdGhpcy5zM29iamVjdExhbWJkYUN1c3RvbWVyU3VwcG9ydEFybiA9IGNkay5Ub2tlbi5hc1N0cmluZyhjZGsuRm4uZ2V0QXR0KGN1c3RvbWVyU3VwcG9ydE9iamVjdExhbWJkYS5sb2dpY2FsSWQsICdBcm4nKSk7XG4gICAgYWNjZXNzQ29udHJvbE9iamVjdExhbWJkYS5ub2RlLmFkZERlcGVuZGVuY3koZ2VuZXJhbExhbWJkYUFybkNhcHRvcik7XG4gICAgYWRtaW5PYmplY3RMYW1iZGEubm9kZS5hZGREZXBlbmRlbmN5KGFkbWluTGFtYmRhQXJuQ2FwdG9yKTtcbiAgICBiaWxsaW5nT2JqZWN0TGFtYmRhLm5vZGUuYWRkRGVwZW5kZW5jeShiaWxsaW5nTGFtYmRhQXJuQ2FwdG9yKTtcbiAgICBjdXN0b21lclN1cHBvcnRPYmplY3RMYW1iZGEubm9kZS5hZGREZXBlbmRlbmN5KGN1c3RvbVN1cHBvcnRMYW1iZGFBcm5DYXB0b3IpO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlUzNQcmVmaXgobGVuZ3RoOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHZhciByZXN1bHQgPSAnJztcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSc7XG4gICAgY29uc3QgY2hhcmFjdGVyc0xlbmd0aCA9IGNoYXJhY3RlcnMubGVuZ3RoO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlZGFjdGlvbiBMYW1iZGEgZnVuY3Rpb24gZm9yIGEgc3BlaWNmaWMgSUFNIHJvbGUuXG4gICAqXG4gICAqIEBwYXJhbSByb2xlTmFtZSB0aGUgbmFtZSBvZiB0aGUgY29ycmVzcG9uZGluZyBJQU0gcm9sZVxuICAgKiBAcGFyYW0gc2VydmVybGVzc0xhbWJkYUNvbmZpZyB0aGUgY29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgc2V0dGluZyBmb3IgdGhlIEFtYXpvbiBDb21wcmVoZW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplUmVkYWN0TGFtYmRhID0gKHJvbGVOYW1lOiBzdHJpbmcsIHNlcnZlcmxlc3NMYW1iZGFDb25maWc/OiBSZWRhY3Rpb25MYW1iZGFQcm9wcyk6IFJlZGFjdGlvbkxhbWJkYSA9PiB7XG4gICAgY29uc3Qgc2VtYW50aWNWZXJzaW9uID0gc2VydmVybGVzc0xhbWJkYUNvbmZpZz8uc2VtYW50aWNWZXJzaW9uID8/ICcxLjAuMic7XG4gICAgY29uc3QgbG9nTGV2ZWwgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy5sb2dMZXZlbCA/PyAnSU5GTyc7XG4gICAgY29uc3QgdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmcgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy51bnN1cHBvcnRlZEZpbGVIYW5kbGluZyA/PyAnRkFJTCc7XG4gICAgY29uc3QgaXNQYXJ0aWFsT2JqZWN0U3VwcG9ydGVkID0gc2VydmVybGVzc0xhbWJkYUNvbmZpZz8uaXNQYXJ0aWFsT2JqZWN0U3VwcG9ydGVkID8/ICdmYWxzZSc7XG4gICAgY29uc3QgZG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LmRvY3VtZW50TWF4U2l6ZUNvbnRhaW5zUGlpRW50aXRpZXMgPz8gJzUwMDAwJztcbiAgICBjb25zdCBkb2N1bWVudE1heFNpemVEZXRlY3RQaWlFbnRpdGllcyA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LmRvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzID8/ICc1MDAwJztcbiAgICBjb25zdCBwaWlFbnRpdHlUeXBlcyA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LnBpaUVudGl0eVR5cGVzID8/ICdBTEwnO1xuICAgIGNvbnN0IG1hc2tDaGFyYWN0ZXIgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy5tYXNrQ2hhcmFjdGVyID8/ICcqJztcbiAgICBjb25zdCBtYXNrTW9kZSA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/Lm1hc2tNb2RlID8/ICdNQVNLJztcbiAgICBjb25zdCBzdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnMgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy5zdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnMgPz8gJzIwJztcbiAgICBjb25zdCBkb2N1bWVudE1heFNpemUgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy5kb2N1bWVudE1heFNpemUgPz8gJzEwMjQwMCc7XG4gICAgY29uc3QgY29uZmlkZW5jZVRocmVzaG9sZCA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LmNvbmZpZGVuY2VUaHJlc2hvbGQgPz8gJzAuNSc7XG4gICAgY29uc3QgbWF4Q2hhcnNPdmVybGFwID0gc2VydmVybGVzc0xhbWJkYUNvbmZpZz8ubWF4Q2hhcnNPdmVybGFwID8/ICcyMDAnO1xuICAgIGNvbnN0IGRlZmF1bHRMYW5ndWFnZUNvZGUgPSBzZXJ2ZXJsZXNzTGFtYmRhQ29uZmlnPy5kZWZhdWx0TGFuZ3VhZ2VDb2RlID8/ICdlbic7XG4gICAgY29uc3QgZGV0ZWN0UGlpRW50aXRpZXNUaHJlYWRDb3VudCA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LmRldGVjdFBpaUVudGl0aWVzVGhyZWFkQ291bnQgPz8gJzgnO1xuICAgIGNvbnN0IGNvbnRhaW5zUGlpRW50aXRpZXNUaHJlYWRDb3VudCA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LmNvbnRhaW5zUGlpRW50aXRpZXNUaHJlYWRDb3VudCA/PyAnMjAnO1xuICAgIGNvbnN0IHB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyA9IHNlcnZlcmxlc3NMYW1iZGFDb25maWc/LnB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyA/PyAndHJ1ZSc7XG5cbiAgICByZXR1cm4gbmV3IFJlZGFjdGlvbkxhbWJkYSh0aGlzLCBgU2VydmVybGVzc1JlZGFjdExhbWJkYS0ke3JvbGVOYW1lfWAsIHtcbiAgICAgIHNlbWFudGljVmVyc2lvbjogc2VtYW50aWNWZXJzaW9uLFxuICAgICAgbG9nTGV2ZWw6IGxvZ0xldmVsLFxuICAgICAgdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmc6IHVuc3VwcG9ydGVkRmlsZUhhbmRsaW5nLFxuICAgICAgaXNQYXJ0aWFsT2JqZWN0U3VwcG9ydGVkOiBpc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQsXG4gICAgICBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzOiBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzLFxuICAgICAgZG9jdW1lbnRNYXhTaXplRGV0ZWN0UGlpRW50aXRpZXM6IGRvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzLFxuICAgICAgcGlpRW50aXR5VHlwZXM6IHBpaUVudGl0eVR5cGVzLFxuICAgICAgbWFza0NoYXJhY3RlcjogbWFza0NoYXJhY3RlcixcbiAgICAgIG1hc2tNb2RlOiBtYXNrTW9kZSxcbiAgICAgIHN1YnNlZ21lbnRPdmVybGFwcGluZ1Rva2Vuczogc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zLFxuICAgICAgZG9jdW1lbnRNYXhTaXplOiBkb2N1bWVudE1heFNpemUsXG4gICAgICBjb25maWRlbmNlVGhyZXNob2xkOiBjb25maWRlbmNlVGhyZXNob2xkLFxuICAgICAgbWF4Q2hhcnNPdmVybGFwOiBtYXhDaGFyc092ZXJsYXAsXG4gICAgICBkZWZhdWx0TGFuZ3VhZ2VDb2RlOiBkZWZhdWx0TGFuZ3VhZ2VDb2RlLFxuICAgICAgZGV0ZWN0UGlpRW50aXRpZXNUaHJlYWRDb3VudDogZGV0ZWN0UGlpRW50aXRpZXNUaHJlYWRDb3VudCxcbiAgICAgIGNvbnRhaW5zUGlpRW50aXRpZXNUaHJlYWRDb3VudDogY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50LFxuICAgICAgcHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzOiBwdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3MsXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldHMgcHJvcGVydGllcyByZWxhdGVkIHRvIHRoZSBJQU0gcm9sZXMuXG4gICAqXG4gICAqIEBwYXJhbSByb2xlTmFtZSB0aGUgbmFtZSBvZiB0aGUgY29ycmVzcG9uZGluZyBJQU0gcm9sZS5cbiAgICogQHBhcmFtIHJvbGVDb25maWcgdGhlIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVyIHNldHRpbmcgZm9yIG9uZSBvZiB0aGUgSUFNIHJvbGUuXG4gICAqIEByZXR1cm5zIHRoZSBwcm9wZXJ0eSBncm91cC5cbiAgICovXG4gIHByaXZhdGUgZ2V0SWFtUm9sZUNvbmZpZyA9IChyb2xlTmFtZTogc3RyaW5nLCByb2xlQ29uZmlnPzogR2VuZXJhbFJvbGVQcm9wcyB8IEFkbWluUm9sZVByb3BzIHwgQmlsbGluZ1JvbGVQcm9wcyB8IEN1c3RTdXBwb3J0Um9sZVByb3BzKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBvbGljeU5hbWU6IHJvbGVDb25maWc/LnBvbGljeU5hbWUgPz8gdGhpcy5fZ2V0RGVmYXVsdFBvbGljeU5hbWUocm9sZU5hbWUpLFxuICAgICAgb2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lOiByb2xlQ29uZmlnPy5vYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUgPz8gdGhpcy5fZ2V0T2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lKHJvbGVOYW1lKSxcbiAgICAgIGlhbVJvbGVOYW1lOiByb2xlQ29uZmlnPy5wb2xpY3lOYW1lID8/IHRoaXMuX2dldFJvbGVOYW1lKHJvbGVOYW1lKSxcbiAgICB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwb2xpY3kgbmFtZSBhY2NvcmRpbmcgdG8gdGhlIElBTSByb2xlLlxuICAgKlxuICAgKiBAcGFyYW0gcm9sZU5hbWUgdGhlIG5hbWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgSUFNIHJvbGUuXG4gICAqL1xuICBwcml2YXRlIF9nZXREZWZhdWx0UG9saWN5TmFtZShyb2xlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHJvbGVOYW1lKSB7XG4gICAgICBjYXNlIElhbVJvbGVOYW1lLkdFTkVSQUw6IHJldHVybiAnZ2VuZXJhbC1yb2xlLXMzb2xhcC1wb2xpY3knO1xuICAgICAgY2FzZSBJYW1Sb2xlTmFtZS5BRE1JTjogcmV0dXJuICdhZG1pbi1yb2xlLXMzb2xhcC1wb2xpY3knO1xuICAgICAgY2FzZSBJYW1Sb2xlTmFtZS5CSUxMSU5HOiByZXR1cm4gJ2JpbGxpbmctcm9sZS1zM29sYXAtcG9saWN5JztcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuQ1VTVF9TVVBQT1JUOiByZXR1cm4gJ2N1c3RvbWVyc3VwcG9ydC1yb2xlLXMzb2xhcC1wb2xpY3knO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS5sb2coJ0NoZWNrIHRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSwgdGhlcmUgbWlnaHQgYmUgYSBwcm9ibGVtYXRjaSBzcGVsbGluZy4nKTtcbiAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIG5hbWUgZm9yIHRoZSBhY2Nlc3MgcG9pbnQgb2YgdGhlIFMzIE9iamVjdCBMYW1iZGEgYWNjb3JkaW5nIHRvIHRoZSBJQU0gcm9sZS5cbiAgICpcbiAgICogQHBhcmFtIHJvbGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBjb3JyZXNwb25kaW5nIElBTSByb2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0T2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lKHJvbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAocm9sZU5hbWUpIHtcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuR0VORVJBTDogcmV0dXJuICdhY2Nlc3NjdGwtczNvbGFwLXN1cnZleS1yZXN1bHRzLXVua25vd24tcGlpJztcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuQURNSU46IHJldHVybiAnYWRtaW4tczNvbGFwLWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJztcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuQklMTElORzogcmV0dXJuICdiaWxsaW5nLXMzb2xhcC1jYWxsLXRyYW5zY3JpcHRzLWtub3duLXBpaSc7XG4gICAgICBjYXNlIElhbVJvbGVOYW1lLkNVU1RfU1VQUE9SVDogcmV0dXJuICdjdXN0c3VwcG9ydC1zM29sYXAtY2FsbC10cmFuc2NyaXB0cy1rbm93bi1waWknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS5sb2coJ0NoZWNrIHRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSwgdGhlcmUgbWlnaHQgYmUgYSBwcm9ibGVtYXRjaSBzcGVsbGluZy4nKTtcbiAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIG5hbWUgZm9yIHRoZSBJQU0gcm9sZS5cbiAgICpcbiAgICogQHBhcmFtIHJvbGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBjb3JyZXNwb25kaW5nIElBTSByb2xlLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0Um9sZU5hbWUocm9sZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChyb2xlTmFtZSkge1xuICAgICAgY2FzZSBJYW1Sb2xlTmFtZS5HRU5FUkFMOiByZXR1cm4gJ0dlbmVyYWxSb2xlJztcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuQURNSU46IHJldHVybiAnUmVkYWN0aW9uQWRtaW5Sb2xlJztcbiAgICAgIGNhc2UgSWFtUm9sZU5hbWUuQklMTElORzogcmV0dXJuICdSZWRhY3Rpb25CaWxsaW5nUm9sZSc7XG4gICAgICBjYXNlIElhbVJvbGVOYW1lLkNVU1RfU1VQUE9SVDogcmV0dXJuICdSZWRhY3Rpb25DdXN0U3VwcG9ydFJvbGUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS5sb2coJ0NoZWNrIHRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSwgdGhlcmUgbWlnaHQgYmUgYSBwcm9ibGVtYXRjaSBzcGVsbGluZy4nKTtcbiAgICAgICAgcmV0dXJuICd1bmRlZmluZWQnO1xuICAgIH1cbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQXJuQ2FwdG9yUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgY29ycmVzcG9uZGluZyBJQU0gcm9sZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwYXJ0aWFsIGZpeGVkIG5hbWUgb2YgdGhlIGdlbWVyYWwgTGFtYmRhIGZ1bmN0aW9uIGNyZWF0ZWQgZnJvbSB0aGUgc2VydmVybGVzcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpYWxMYW1iZGFOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFBcm5DYXB0b3JDdXN0b21SZXNvdXJjZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBnZW5lcmFsIExhbWJkYSBmdW5jdGlvbiBjcmVhdGVkIGZyb20gdGhlIHNlcnZlcmxlc3MgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy84NzYwXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbGFtYmRhQXJuOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMYW1iZGFBcm5DYXB0b3JSZXNvdXJjZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBjdXN0b21SZXNvdXJjZVJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0NSUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdBbiBleGVjdXRpb24gcm9sZSB0byBmaW5kIG91dCB0aGUgQVJOIG9mIHRoZSBhY2Nlc3MgY29udHJvbCBMYW1iZGEuJyxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnLFxuICAgICAgICApLFxuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0FXU1hSYXlEYWVtb25Xcml0ZUFjY2VzcycpLFxuICAgICAgXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIENvbXByZWhlbmRTM09iamVjdExhbWJkYUN1c3RvbVJlc291cmNlUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBhc3NpZ25TaWRzOiB0cnVlLFxuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnTGlzdExhbWJkYVBlcm1pc3Npb25zJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpMaXN0RnVuY3Rpb25zJ10sXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnR2V0TGFtYmRhRnVuY3Rpb25zUGVybWlzc2lvbnMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnbGFtYmRhOkdldEZ1bmN0aW9uJywgJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OmxhbWJkYToke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06ZnVuY3Rpb246KmBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IG9uRXZlbnQgPSBuZXcgbGFtYmRhLk5vZGVqc0Z1bmN0aW9uKHRoaXMsICdBcm5FeHBlcnQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYEEgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgZ2V0cyB0aGUgQVJOIG9mIFxcYCR7cHJvcHMucGFydGlhbExhbWJkYU5hbWV9XFxgYCxcbiAgICAgIGVudHJ5OiBmcy5leGlzdHNTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvbGFtYmRhLWFybi1oZWxwZXIudHMnKSkgPyBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2xhbWJkYS1hcm4taGVscGVyLnRzJykgOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2xhbWJkYS1hcm4taGVscGVyLmpzJyksXG4gICAgICBoYW5kbGVyOiAnbGFtYmRhSGFuZGxlcicsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICBidW5kbGluZzoge1xuICAgICAgICBtaW5pZnk6IGZhbHNlLFxuICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgIGV4dGVybmFsTW9kdWxlczogWydhd3Mtc2RrJ10sXG4gICAgICB9LFxuICAgICAgcm9sZTogY3VzdG9tUmVzb3VyY2VSb2xlLFxuICAgIH0pO1xuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsICdQcm92aWRlcicsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBvbkV2ZW50LFxuICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX01PTlRILFxuICAgICAgcm9sZTogY3VzdG9tUmVzb3VyY2VSb2xlLndpdGhvdXRQb2xpY3lVcGRhdGVzKCksXG4gICAgfSk7XG4gICAgY29uc3QgbGFtYmRhQXJuU2VhcmNoVW5pdCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgYCR7cHJvcHMucm9sZU5hbWV9R2VuZXJhbFNlYXJjaFVuaXRgLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgTGFtYmRhRml4ZWROYW1lOiBwcm9wcy5wYXJ0aWFsTGFtYmRhTmFtZSxcbiAgICAgICAgR2VucmU6IHByb3BzLnJvbGVOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmxhbWJkYUFybiA9IGNkay5Ub2tlbi5hc1N0cmluZyhsYW1iZGFBcm5TZWFyY2hVbml0LmdldEF0dCgnTGFtYmRhQXJuJykpO1xuICB9XG59Il19
|
@@ -47,7 +47,7 @@ class AccessConrtolLambda extends constructs_1.Construct {
|
|
47
47
|
}
|
48
48
|
exports.AccessConrtolLambda = AccessConrtolLambda;
|
49
49
|
_a = JSII_RTTI_SYMBOL_1;
|
50
|
-
AccessConrtolLambda[_a] = { fqn: "cdk-comprehend-s3olap.AccessConrtolLambda", version: "2.0.
|
50
|
+
AccessConrtolLambda[_a] = { fqn: "cdk-comprehend-s3olap.AccessConrtolLambda", version: "2.0.522" };
|
51
51
|
class RedactionLambda extends constructs_1.Construct {
|
52
52
|
constructor(scope, id, props) {
|
53
53
|
super(scope, id);
|
@@ -97,5 +97,5 @@ class RedactionLambda extends constructs_1.Construct {
|
|
97
97
|
}
|
98
98
|
exports.RedactionLambda = RedactionLambda;
|
99
99
|
_b = JSII_RTTI_SYMBOL_1;
|
100
|
-
RedactionLambda[_b] = { fqn: "cdk-comprehend-s3olap.RedactionLambda", version: "2.0.
|
100
|
+
RedactionLambda[_b] = { fqn: "cdk-comprehend-s3olap.RedactionLambda", version: "2.0.522" };
|
101
101
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlaGVuZC1sYW1iZGFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXByZWhlbmQtbGFtYmRhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsMkNBQXVDO0FBbUZ2QyxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBV2hELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQztRQUN6RCxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxLQUFLLENBQUM7UUFDL0QsTUFBTSw4QkFBOEIsR0FBRyxLQUFLLENBQUMsOEJBQThCLElBQUksSUFBSSxDQUFDO1FBQ3BGLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQztRQUM5RCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxJQUFJLFFBQVEsQ0FBQztRQUMxRCxNQUFNLGtDQUFrQyxHQUFHLEtBQUssQ0FBQyxrQ0FBa0MsSUFBSSxPQUFPLENBQUM7UUFDL0YsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUMsd0JBQXdCLElBQUksT0FBTyxDQUFDO1FBQzNFLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDO1FBQzFDLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO1FBQ3ZELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksS0FBSyxDQUFDO1FBQ3JELE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixJQUFJLE1BQU0sQ0FBQztRQUMxRSxNQUFNLDJCQUEyQixHQUFHLEtBQUssQ0FBQywyQkFB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aWIvYXdzLXNhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NDb25ydG9sTGFtYmRhUHJvcHMge1xuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIHNlcnZlcmxlc3MgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0ICcxLjAuMidcbiAgICovXG4gIHJlYWRvbmx5IHNlbWFudGljVmVyc2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHByZWRpY3Rpb24gY29uZmlkZW5jZSBzY29yZSBhYm92ZSB3aGljaCBQSUkgY2xhc3NpZmljYXRpb24gYW5kIGRldGVjdGlvbiB3b3VsZCBiZSBjb25zaWRlcmVkIGFzIGZpbmFsIGFuc3dlci4gVmFsaWQgcmFuZ2UgKDAuNSB0byAxLjApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnMC41J1xuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlkZW5jZVRocmVzaG9sZD86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBvZiB0aHJlYWRzIHRvIHVzZSBmb3IgY2FsbGluZyBDb21wcmVoZW5kJ3MgQ29udGFpbnNQaWlFbnRpdGllcyBBUEkuIFRoaXMgY29udHJvbHMgdGhlIG51bWJlciBvZiBzaW11bHRhbmVvdXMgY2FsbHMgdGhhdCB3aWxsIGJlIG1hZGUgZnJvbSB0aGlzIExhbWJkYS5cbiAgICpcbiAgICogQGRlZmF1bHQgJzIwJ1xuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBsYW5ndWFnZSBvZiB0aGUgdGV4dCB0byBiZSBwcm9jZXNzZWQuIFRoaXMgY29kZSB3aWxsIGJlIHVzZWQgZm9yIGludGVyYWN0aW5nIHdpdGggQ29tcHJlaGVuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2VuJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlQ29kZT86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHQgbWF4aW11bSBkb2N1bWVudCBzaXplIChpbiBieXRlcykgdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbiBwcm9jZXNzIG90aGVyd2lzZSB3aWxsIHRocm93IGV4Y2VwdGlvbiBmb3IgdG9vIGxhcmdlIGRvY3VtZW50IHNpemUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcxMDI0MDAnXG4gICAqL1xuICByZWFkb25seSBkb2N1bWVudE1heFNpemU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYXhpbXVtIGRvY3VtZW50IHNpemUgKGluIGJ5dGVzKSB0byBiZSB1c2VkIGZvciBtYWtpbmcgY2FsbHMgdG8gQ29tcHJlaGVuZCdzIENvbnRhaW5zUGlpRW50aXRpZXMgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnNTAwMDAnXG4gICAqL1xuICByZWFkb25seSBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0byBzdXBwb3J0IHBhcnRpYWwgb2JqZWN0cyBvciBub3QuIEFjY2Vzc2luZyBwYXJ0aWFsIG9iamVjdCB0aHJvdWdoIGh0dHAgaGVhZGVycyBzdWNoIGJ5dGUtcmFuZ2UgY2FuIGNvcnJ1cHQgdGhlIG9iamVjdCBhbmQvb3IgYWZmZWN0IFBJSSBkZXRlY3Rpb24gYWNjdXJhY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdmYWxzZSdcbiAgICovXG4gIHJlYWRvbmx5IGlzUGFydGlhbE9iamVjdFN1cHBvcnRlZD86IHN0cmluZztcbiAgLyoqXG4gICAqIExvZyBsZXZlbCBmb3IgTGFtYmRhIGZ1bmN0aW9uIGxvZ2dpbmcsIGUuZy4sIEVSUk9SLCBJTkZPLCBERUJVRywgZXRjLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnSU5GTydcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogTWF4aW11bSBjaGFyYWN0ZXJzIHRvIG92ZXJsYXAgYW1vbmcgc2VnbWVudHMgb2YgYSBkb2N1bWVudCBpbiBjYXNlIGNodW5raW5nIGlzIG5lZWRlZCBiZWNhdXNlIG9mIG1heGltdW0gZG9jdW1lbnQgc2l6ZSBsaW1pdC5cbiAgICpcbiAgICogQGRlZmF1bHQgJzIwMCdcbiAgICovXG4gIHJlYWRvbmx5IG1heENoYXJzT3ZlcmxhcD86IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIFBJSSBlbnRpdHkgdHlwZXMgdG8gYmUgY29uc2lkZXJlZCBmb3IgYWNjZXNzIGNvbnRyb2wuIFJlZmVyIENvbXByZWhlbmQncyBkb2N1bWVudGF0aW9uIHBhZ2UgZm9yIGxpc3Qgb2Ygc3VwcG9ydGVkIFBJSSBlbnRpdHkgdHlwZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdBTEwnXG4gICAqL1xuICByZWFkb25seSBwaWlFbnRpdHlUeXBlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRydWUgaWYgcHVibGlzaCBtZXRyaWNzIHRvIENsb3Vkd2F0Y2gsIGZhbHNlIG90aGVyd2lzZS4gU2VlIFJFQURNRS5tZCBmb3IgZGV0YWlscyBvbiBDbG91ZFdhdGNoIG1ldHJpY3MuXG4gICAqXG4gICAqIEBkZWZhdWx0ICd0cnVlJ1xuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRva2Vucy93b3JkcyB0byBvdmVybGFwIGFtb25nIHNlZ21lbnRzIG9mIGEgZG9jdW1lbnQgaW4gY2FzZSBjaHVua2luZyBpcyBuZWVkZWQgYmVjYXVzZSBvZiBtYXhpbXVtIGRvY3VtZW50IHNpemUgbGltaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcyMCdcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNlZ21lbnRPdmVybGFwcGluZ1Rva2Vucz86IHN0cmluZztcbiAgLyoqXG4gICAqIEhhbmRsaW5nIGxvZ2ljIGZvciBVbnN1cHBvcnRlZCBmaWxlcy4gVmFsaWQgdmFsdWVzIGFyZSBQQVNTIGFuZCBGQUlMLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnRkFJTCdcbiAgICovXG4gIHJlYWRvbmx5IHVuc3VwcG9ydGVkRmlsZUhhbmRsaW5nPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQWNjZXNzQ29ucnRvbExhbWJkYSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdW5kZXJseWluZyByZXNvdXJlIGluIHRoZSBzZXJ2ZXJsZXNzIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZW50aXR5IG9mIHRoZSBzZXJ2ZXJsZXNzIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzYW1BcHBsaWNhdGlvbjogc2FtLkNmbkFwcGxpY2F0aW9uO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWNjZXNzQ29ucnRvbExhbWJkYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBzZW1hbnRpY1ZlcnNpb24gPSBwcm9wcy5zZW1hbnRpY1ZlcnNpb24gPz8gJzEuMC4yJztcbiAgICBjb25zdCBjb25maWRlbmNlVGhyZXNob2xkID0gcHJvcHMuY29uZmlkZW5jZVRocmVzaG9sZCA/PyAnMC41JztcbiAgICBjb25zdCBjb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQgPSBwcm9wcy5jb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQgPz8gJzIwJztcbiAgICBjb25zdCBkZWZhdWx0TGFuZ3VhZ2VDb2RlID0gcHJvcHMuZGVmYXVsdExhbmd1YWdlQ29kZSA/PyAnZW4nO1xuICAgIGNvbnN0IGRvY3VtZW50TWF4U2l6ZSA9IHByb3BzLmRvY3VtZW50TWF4U2l6ZSA/PyAnMTAyNDAwJztcbiAgICBjb25zdCBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzID0gcHJvcHMuZG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyA/PyAnNTAwMDAnO1xuICAgIGNvbnN0IGlzUGFydGlhbE9iamVjdFN1cHBvcnRlZCA9IHByb3BzLmlzUGFydGlhbE9iamVjdFN1cHBvcnRlZCA/PyAnZmFsc2UnO1xuICAgIGNvbnN0IGxvZ0xldmVsID0gcHJvcHMubG9nTGV2ZWwgPz8gJ0lORk8nO1xuICAgIGNvbnN0IG1heENoYXJzT3ZlcmxhcCA9IHByb3BzLm1heENoYXJzT3ZlcmxhcCA/PyAnMjAwJztcbiAgICBjb25zdCBwaWlFbnRpdHlUeXBlcyA9IHByb3BzLnBpaUVudGl0eVR5cGVzID8/ICdBTEwnO1xuICAgIGNvbnN0IHB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyA9IHByb3BzLnB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyA/PyAndHJ1ZSc7XG4gICAgY29uc3Qgc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zID0gcHJvcHMuc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zID8/ICcyMCc7XG4gICAgY29uc3QgdW5zdXBwb3J0ZWRGaWxlSGFuZGxpbmcgPSBwcm9wcy51bnN1cHBvcnRlZEZpbGVIYW5kbGluZyA/PyAnRkFJTCc7XG4gICAgdGhpcy5zYW1BcHBsaWNhdGlvbiA9IG5ldyBzYW0uQ2ZuQXBwbGljYXRpb24odGhpcywgJ0NvbXByZWhlbmRQaWlBY2Nlc3NDb250cm9sUzNPYmplY3RMYW1iZGEnLCB7XG4gICAgICBsb2NhdGlvbjoge1xuICAgICAgICBhcHBsaWNhdGlvbklkOiAnYXJuOmF3czpzZXJ2ZXJsZXNzcmVwbzp1cy1lYXN0LTE6ODM5NzgyODU1MjIzOmFwcGxpY2F0aW9ucy9Db21wcmVoZW5kUGlpQWNjZXNzQ29udHJvbFMzT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgc2VtYW50aWNWZXJzaW9uOiBzZW1hbnRpY1ZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBbJ0NvbmZpZGVuY2VUaHJlc2hvbGQnXTogY29uZmlkZW5jZVRocmVzaG9sZCxcbiAgICAgICAgWydDb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQnXTogY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50LFxuICAgICAgICBbJ0RlZmF1bHRMYW5ndWFnZUNvZGUnXTogZGVmYXVsdExhbmd1YWdlQ29kZSxcbiAgICAgICAgWydEb2N1bWVudE1heFNpemUnXTogZG9jdW1lbnRNYXhTaXplLFxuICAgICAgICBbJ0RvY3VtZW50TWF4U2l6ZUNvbnRhaW5zUGlpRW50aXRpZXMnXTogZG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyxcbiAgICAgICAgWydJc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQnXTogaXNQYXJ0aWFsT2JqZWN0U3VwcG9ydGVkLFxuICAgICAgICBbJ0xvZ0xldmVsJ106IGxvZ0xldmVsLFxuICAgICAgICBbJ01heENoYXJzT3ZlcmxhcCddOiBtYXhDaGFyc092ZXJsYXAsXG4gICAgICAgIFsnUGlpRW50aXR5VHlwZXMnXTogcGlpRW50aXR5VHlwZXMsXG4gICAgICAgIFsnUHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzJ106IHB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyxcbiAgICAgICAgWydTdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnMnXTogc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zLFxuICAgICAgICBbJ1Vuc3VwcG9ydGVkRmlsZUhhbmRsaW5nJ106IHVuc3VwcG9ydGVkRmlsZUhhbmRsaW5nLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YWNrTmFtZSA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLnNhbUFwcGxpY2F0aW9uLnJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWRhY3Rpb25MYW1iZGFQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgc2VydmVybGVzcyBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgJzEuMC4yJ1xuICAgKi9cbiAgcmVhZG9ubHkgc2VtYW50aWNWZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogTG9nIGxldmVsIGZvciBMYW1iZGEgZnVuY3Rpb24gbG9nZ2luZywgZS5nLiwgRVJST1IsIElORk8sIERFQlVHLCBldGMuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdJTkZPJ1xuICAgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBIYW5kbGluZyBsb2dpYyBmb3IgVW5zdXBwb3J0ZWQgZmlsZXMuIFZhbGlkIHZhbHVlcyBhcmUgUEFTUyBhbmQgRkFJTC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ0ZBSUwnXG4gICAqL1xuICByZWFkb25seSB1bnN1cHBvcnRlZEZpbGVIYW5kbGluZz86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3VwcG9ydCBwYXJ0aWFsIG9iamVjdHMgb3Igbm90LiBBY2Nlc3NpbmcgcGFydGlhbCBvYmplY3QgdGhyb3VnaCBodHRwIGhlYWRlcnMgc3VjaCBieXRlLXJhbmdlIGNhbiBjb3JydXB0IHRoZSBvYmplY3QgYW5kL29yIGFmZmVjdCBQSUkgZGV0ZWN0aW9uIGFjY3VyYWN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZmFsc2UnXG4gICAqL1xuICByZWFkb25seSBpc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYXhpbXVtIGRvY3VtZW50IHNpemUgKGluIGJ5dGVzKSB0byBiZSB1c2VkIGZvciBtYWtpbmcgY2FsbHMgdG8gQ29tcHJlaGVuZCdzIENvbnRhaW5zUGlpRW50aXRpZXMgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnNTAwMDAnXG4gICAqL1xuICByZWFkb25seSBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzPzogc3RyaW5nO1xuICAvKipcbiAgICogTWF4aW11bSBkb2N1bWVudCBzaXplIChpbiBieXRlcykgdG8gYmUgdXNlZCBmb3IgbWFraW5nIGNhbGxzIHRvIENvbXByZWhlbmQncyBEZXRlY3RQaWlFbnRpdGllcyBBUEkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICc1MDAwJ1xuICAgKi9cbiAgcmVhZG9ubHkgZG9jdW1lbnRNYXhTaXplRGV0ZWN0UGlpRW50aXRpZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbW1hIHNlcGFyYXRlZCBQSUkgZW50aXR5IHR5cGVzIHRvIGJlIGNvbnNpZGVyZWQgZm9yIHJlZGFjdGlvbi4gUmVmZXIgQ29tcHJlaGVuZCdzIGRvY3VtZW50YXRpb24gcGFnZSBmb3IgbGlzdCBvZiBzdXBwb3J0ZWQgUElJIGVudGl0eSB0eXBlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ0FMTCdcbiAgICovXG4gIHJlYWRvbmx5IHBpaUVudGl0eVR5cGVzPzogc3RyaW5nO1xuICAvKipcbiAgICogQSBjaGFyYWN0ZXIgdGhhdCByZXBsYWNlcyBlYWNoIGNoYXJhY3RlciBpbiB0aGUgcmVkYWN0ZWQgUElJIGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgJyonXG4gICAqL1xuICByZWFkb25seSBtYXNrQ2hhcmFjdGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIFBJSSBlbnRpdHkgaXMgcmVkYWN0ZWQgd2l0aCB0aGUgbWFzayBjaGFyYWN0ZXIgb3IgdGhlIGVudGl0eSB0eXBlLiBWYWxpZCB2YWx1ZXMgLSBSRVBMQUNFX1dJVEhfUElJX0VOVElUWV9UWVBFIGFuZCBNQVNLLlxuICAgKlxuICAgKiBAZmVmYXVsdCAnTUFTSydcbiAgICovXG4gIHJlYWRvbmx5IG1hc2tNb2RlPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIG9mIHRva2Vucy93b3JkcyB0byBvdmVybGFwIGFtb25nIHNlZ21lbnRzIG9mIGEgZG9jdW1lbnQgaW4gY2FzZSBjaHVua2luZyBpcyBuZWVkZWQgYmVjYXVzZSBvZiBtYXhpbXVtIGRvY3VtZW50IHNpemUgbGltaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcyMCdcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNlZ21lbnRPdmVybGFwcGluZ1Rva2Vucz86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHQgbWF4aW11bSBkb2N1bWVudCBzaXplIChpbiBieXRlcykgdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbiBwcm9jZXNzIG90aGVyd2lzZSB3aWxsIHRocm93IGV4Y2VwdGlvbiBmb3IgdG9vIGxhcmdlIGRvY3VtZW50IHNpemUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICcxMDI0MDAnXG4gICAqL1xuICByZWFkb25seSBkb2N1bWVudE1heFNpemU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwcmVkaWN0aW9uIGNvbmZpZGVuY2Ugc2NvcmUgYWJvdmUgd2hpY2ggUElJIGNsYXNzaWZpY2F0aW9uIGFuZCBkZXRlY3Rpb24gd291bGQgYmUgY29uc2lkZXJlZCBhcyBmaW5hbCBhbnN3ZXIuIFZhbGlkIHJhbmdlICgwLjUgdG8gMS4wKS5cbiAgICpcbiAgICogQGRlZmF1bHQgJzAuNSdcbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZGVuY2VUaHJlc2hvbGQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNYXhpbXVtIGNoYXJhY3RlcnMgdG8gb3ZlcmxhcCBhbW9uZyBzZWdtZW50cyBvZiBhIGRvY3VtZW50IGluIGNhc2UgY2h1bmtpbmcgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgbWF4aW11bSBkb2N1bWVudCBzaXplIGxpbWl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnMjAwJ1xuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q2hhcnNPdmVybGFwPzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBsYW5ndWFnZSBvZiB0aGUgdGV4dCB0byBiZSBwcm9jZXNzZWQuIFRoaXMgY29kZSB3aWxsIGJlIHVzZWQgZm9yIGludGVyYWN0aW5nIHdpdGggQ29tcHJlaGVuZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2VuJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdExhbmd1YWdlQ29kZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBvZiB0aHJlYWRzIHRvIHVzZSBmb3IgY2FsbGluZyBDb21wcmVoZW5kJ3MgRGV0ZWN0UGlpRW50aXRpZXMgQVBJLiBUaGlzIGNvbnRyb2xzIHRoZSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGNhbGxzIHRoYXQgd2lsbCBiZSBtYWRlIGZyb20gdGhpcyBMYW1iZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0ICc4J1xuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0UGlpRW50aXRpZXNUaHJlYWRDb3VudD86IHN0cmluZztcbiAgLyoqXG4gICAqIE51bWJlciBvZiB0aHJlYWRzIHRvIHVzZSBmb3IgY2FsbGluZyBDb21wcmVoZW5kJ3MgQ29udGFpbnNQaWlFbnRpdGllcyBBUEkuIFRoaXMgY29udHJvbHMgdGhlIG51bWJlciBvZiBzaW11bHRhbmVvdXMgY2FsbHMgdGhhdCB3aWxsIGJlIG1hZGUgZnJvbSB0aGlzIExhbWJkYS5cbiAgICpcbiAgICogQGRlZmF1bHQgJzIwJ1xuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVHJ1ZSBpZiBwdWJsaXNoIG1ldHJpY3MgdG8gQ2xvdWR3YXRjaCwgZmFsc2Ugb3RoZXJ3aXNlLiBTZWUgUkVBRE1FLm1kIGZvciBkZXRhaWxzIG9uIENsb3VkV2F0Y2ggbWV0cmljcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3RydWUnXG4gICAqL1xuICByZWFkb25seSBwdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSZWRhY3Rpb25MYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHVuZGVybHlpbmcgcmVzb3VyZSBpbiB0aGUgc2VydmVybGVzcyBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGVudGl0eSBvZiB0aGUgc2VydmVybGVzcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgc2FtQXBwbGljYXRpb246IHNhbS5DZm5BcHBsaWNhdGlvbjtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZWRhY3Rpb25MYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3Qgc2VtYW50aWNWZXJzaW9uID0gcHJvcHM/LnNlbWFudGljVmVyc2lvbiA/PyAnMS4wLjInO1xuICAgIGNvbnN0IGxvZ0xldmVsID0gcHJvcHM/LmxvZ0xldmVsID8/ICdJTkZPJztcbiAgICBjb25zdCB1bnN1cHBvcnRlZEZpbGVIYW5kbGluZyA9IHByb3BzPy51bnN1cHBvcnRlZEZpbGVIYW5kbGluZyA/PyAnRkFJTCc7XG4gICAgY29uc3QgaXNQYXJ0aWFsT2JqZWN0U3VwcG9ydGVkID0gcHJvcHM/LmlzUGFydGlhbE9iamVjdFN1cHBvcnRlZCA/PyAnZmFsc2UnO1xuICAgIGNvbnN0IGRvY3VtZW50TWF4U2l6ZUNvbnRhaW5zUGlpRW50aXRpZXMgPSBwcm9wcz8uZG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyA/PyAnNTAwMDAnO1xuICAgIGNvbnN0IGRvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzID0gcHJvcHM/LmRvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzID8/ICc1MDAwJztcbiAgICBjb25zdCBwaWlFbnRpdHlUeXBlcyA9IHByb3BzPy5waWlFbnRpdHlUeXBlcyA/PyAnQUxMJztcbiAgICBjb25zdCBtYXNrQ2hhcmFjdGVyID0gcHJvcHM/Lm1hc2tDaGFyYWN0ZXIgPz8gJyonO1xuICAgIGNvbnN0IG1hc2tNb2RlID0gcHJvcHM/Lm1hc2tNb2RlID8/ICdNQVNLJztcbiAgICBjb25zdCBzdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnMgPSBwcm9wcz8uc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zID8/ICcyMCc7XG4gICAgY29uc3QgZG9jdW1lbnRNYXhTaXplID0gcHJvcHM/LmRvY3VtZW50TWF4U2l6ZSA/PyAnMTAyNDAwJztcbiAgICBjb25zdCBjb25maWRlbmNlVGhyZXNob2xkID0gcHJvcHM/LmNvbmZpZGVuY2VUaHJlc2hvbGQgPz8gJzAuNSc7XG4gICAgY29uc3QgbWF4Q2hhcnNPdmVybGFwID0gcHJvcHM/Lm1heENoYXJzT3ZlcmxhcCA/PyAnMjAwJztcbiAgICBjb25zdCBkZWZhdWx0TGFuZ3VhZ2VDb2RlID0gcHJvcHM/LmRlZmF1bHRMYW5ndWFnZUNvZGUgPz8gJ2VuJztcbiAgICBjb25zdCBkZXRlY3RQaWlFbnRpdGllc1RocmVhZENvdW50ID0gcHJvcHM/LmRldGVjdFBpaUVudGl0aWVzVGhyZWFkQ291bnQgPz8gJzgnO1xuICAgIGNvbnN0IGNvbnRhaW5zUGlpRW50aXRpZXNUaHJlYWRDb3VudCA9IHByb3BzPy5jb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQgPz8gJzIwJztcbiAgICBjb25zdCBwdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3MgPSBwcm9wcz8ucHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzID8/ICd0cnVlJztcblxuICAgIHRoaXMuc2FtQXBwbGljYXRpb24gPSBuZXcgc2FtLkNmbkFwcGxpY2F0aW9uKHRoaXMsICdDb21wcmVoZW5kUGlpQWNjZXNzQ29udHJvbFMzT2JqZWN0TGFtYmRhJywge1xuICAgICAgbG9jYXRpb246IHtcbiAgICAgICAgYXBwbGljYXRpb25JZDogJ2Fybjphd3M6c2VydmVybGVzc3JlcG86dXMtZWFzdC0xOjgzOTc4Mjg1NTIyMzphcHBsaWNhdGlvbnMvQ29tcHJlaGVuZFBpaVJlZGFjdGlvblMzT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgc2VtYW50aWNWZXJzaW9uOiBzZW1hbnRpY1ZlcnNpb24sXG4gICAgICB9LFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBbJ0xvZ0xldmVsJ106IGxvZ0xldmVsLFxuICAgICAgICBbJ1Vuc3VwcG9ydGVkRmlsZUhhbmRsaW5nJ106IHVuc3VwcG9ydGVkRmlsZUhhbmRsaW5nLFxuICAgICAgICBbJ0lzUGFydGlhbE9iamVjdFN1cHBvcnRlZCddOiBpc1BhcnRpYWxPYmplY3RTdXBwb3J0ZWQsXG4gICAgICAgIFsnRG9jdW1lbnRNYXhTaXplQ29udGFpbnNQaWlFbnRpdGllcyddOiBkb2N1bWVudE1heFNpemVDb250YWluc1BpaUVudGl0aWVzLFxuICAgICAgICBbJ0RvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzJ106IGRvY3VtZW50TWF4U2l6ZURldGVjdFBpaUVudGl0aWVzLFxuICAgICAgICBbJ1BpaUVudGl0eVR5cGVzJ106IHBpaUVudGl0eVR5cGVzLFxuICAgICAgICBbJ01hc2tDaGFyYWN0ZXInXTogbWFza0NoYXJhY3RlcixcbiAgICAgICAgWydNYXNrTW9kZSddOiBtYXNrTW9kZSxcbiAgICAgICAgWydTdWJzZWdtZW50T3ZlcmxhcHBpbmdUb2tlbnMnXTogc3Vic2VnbWVudE92ZXJsYXBwaW5nVG9rZW5zLFxuICAgICAgICBbJ0RvY3VtZW50TWF4U2l6ZSddOiBkb2N1bWVudE1heFNpemUsXG4gICAgICAgIFsnQ29uZmlkZW5jZVRocmVzaG9sZCddOiBjb25maWRlbmNlVGhyZXNob2xkLFxuICAgICAgICBbJ01heENoYXJzT3ZlcmxhcCddOiBtYXhDaGFyc092ZXJsYXAsXG4gICAgICAgIFsnRGVmYXVsdExhbmd1YWdlQ29kZSddOiBkZWZhdWx0TGFuZ3VhZ2VDb2RlLFxuICAgICAgICBbJ0RldGVjdFBpaUVudGl0aWVzVGhyZWFkQ291bnQnXTogZGV0ZWN0UGlpRW50aXRpZXNUaHJlYWRDb3VudCxcbiAgICAgICAgWydDb250YWluc1BpaUVudGl0aWVzVGhyZWFkQ291bnQnXTogY29udGFpbnNQaWlFbnRpdGllc1RocmVhZENvdW50LFxuICAgICAgICBbJ1B1Ymxpc2hDbG91ZFdhdGNoTWV0cmljcyddOiBwdWJsaXNoQ2xvdWRXYXRjaE1ldHJpY3MsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuc3RhY2tOYW1lID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuc2FtQXBwbGljYXRpb24ucmVmKTtcbiAgfVxufSJdfQ==
|
package/lib/iam-roles.js
CHANGED
@@ -95,7 +95,7 @@ class GeneralRole extends constructs_1.Construct {
|
|
95
95
|
}
|
96
96
|
exports.GeneralRole = GeneralRole;
|
97
97
|
_a = JSII_RTTI_SYMBOL_1;
|
98
|
-
GeneralRole[_a] = { fqn: "cdk-comprehend-s3olap.GeneralRole", version: "2.0.
|
98
|
+
GeneralRole[_a] = { fqn: "cdk-comprehend-s3olap.GeneralRole", version: "2.0.522" };
|
99
99
|
class AdminRole extends constructs_1.Construct {
|
100
100
|
constructor(scope, id, props) {
|
101
101
|
super(scope, id);
|
@@ -180,7 +180,7 @@ class AdminRole extends constructs_1.Construct {
|
|
180
180
|
}
|
181
181
|
exports.AdminRole = AdminRole;
|
182
182
|
_b = JSII_RTTI_SYMBOL_1;
|
183
|
-
AdminRole[_b] = { fqn: "cdk-comprehend-s3olap.AdminRole", version: "2.0.
|
183
|
+
AdminRole[_b] = { fqn: "cdk-comprehend-s3olap.AdminRole", version: "2.0.522" };
|
184
184
|
class BillingRole extends constructs_1.Construct {
|
185
185
|
constructor(scope, id, props) {
|
186
186
|
super(scope, id);
|
@@ -265,7 +265,7 @@ class BillingRole extends constructs_1.Construct {
|
|
265
265
|
}
|
266
266
|
exports.BillingRole = BillingRole;
|
267
267
|
_c = JSII_RTTI_SYMBOL_1;
|
268
|
-
BillingRole[_c] = { fqn: "cdk-comprehend-s3olap.BillingRole", version: "2.0.
|
268
|
+
BillingRole[_c] = { fqn: "cdk-comprehend-s3olap.BillingRole", version: "2.0.522" };
|
269
269
|
class CustSupportRole extends constructs_1.Construct {
|
270
270
|
constructor(scope, id, props) {
|
271
271
|
super(scope, id);
|
@@ -350,5 +350,5 @@ class CustSupportRole extends constructs_1.Construct {
|
|
350
350
|
}
|
351
351
|
exports.CustSupportRole = CustSupportRole;
|
352
352
|
_d = JSII_RTTI_SYMBOL_1;
|
353
|
-
CustSupportRole[_d] = { fqn: "cdk-comprehend-s3olap.CustSupportRole", version: "2.0.
|
353
|
+
CustSupportRole[_d] = { fqn: "cdk-comprehend-s3olap.CustSupportRole", version: "2.0.522" };
|
354
354
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXJvbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lhbS1yb2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFtQztBQUNuQywyQ0FBMkM7QUFDM0MsMkNBQXVDO0FBdUJ2Qzs7OztHQUlHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFnQnhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxJQUFJLDRCQUE0QixDQUFDO1FBQ3BFLE1BQU0sMkJBQTJCLEdBQUcsS0FBSyxDQUFDLDJCQUEyQixJQUFJLDZDQUE2QyxDQUFDO1FBQ3ZILE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksYUFBYSxDQUFDO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ2hELFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QyxjQUFjLEVBQUU7Z0JBQ2QsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUM7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixVQUFVLEVBQUU7d0JBQ1YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDOzRCQUN0QixHQUFHLEVBQUUscUJBQXFCOzRCQUMxQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLOzRCQUN4QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7NEJBQzFCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQzt5QkFDakIsQ0FBQzt3QkFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7NEJBQ3RCLEdBQUcsRUFBRSxvQ0FBb0M7NEJB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OzZCQUNGO3lCQUNGLENBQUM7cUJBQ0g7aUJBQ0YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQzs7QUE1RkgsMENBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYWxSb2xlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIElBTSBwb2xpY3kgZm9yIHRoZSBJQU0gcm9sZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2dlbmVyYWwtcm9sZS1zM29sYXAtcG9saWN5J1xuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIG9iamVjdCBMYW1iZGEgYWNjZXNzIHBvaW50LCB3aGljaCB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBTMyBhY2NlZXNzIHBvaW50IGZvciB0aGUgUzMgYnVja2V0IGluIHRoZSBkZW1vc3RyYXRpb24uXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnYWNjZXNzY3RsLXMzb2xhcC1zdXJ2ZXktcmVzdWx0cy11bmtub3duLXBpaSdcbiAgICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnR2VuZXJhbFJvbGUnXG4gICAgICovXG4gIHJlYWRvbmx5IGlhbVJvbGVOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByb2xlIHRoYXQgeW91IGFyZSBnb2luZyB0byBhc3N1bWUgKHN3aXRjaCByb2xlKVxuICpcbiAqIEV4cGxvcmVzIGhvdyB0aGUgUzMgT2JqZWN0IExhbWJkYSB3b3Jrcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdlbmVyYWxSb2xlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAgICogVGhlIEFSTiBvZiB0aGUgSUFNIHJvbGUuXG4gICAgICpcbiAgICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcbiAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIElBTSByb2xlLlxuICAgICAqXG4gICAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICAgKiBUaGUgdW5pcXVlIHN0cmluZyBpZGVudGlmeWluZyB0aGUgcm9sZS5cbiAgICAgKlxuICAgICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBHZW5lcmFsUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBwb2xpY3lOYW1lID0gcHJvcHMucG9saWN5TmFtZSA/PyAnZ2VuZXJhbC1yb2xlLXMzb2xhcC1wb2xpY3knO1xuICAgIGNvbnN0IG9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSA9IHByb3BzLm9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSA/PyAnYWNjZXNzY3RsLXMzb2xhcC1zdXJ2ZXktcmVzdWx0cy11bmtub3duLXBpaSc7XG4gICAgY29uc3QgaWFtUm9sZU5hbWUgPSBwcm9wcy5pYW1Sb2xlTmFtZSA/PyAnR2VuZXJhbFJvbGUnO1xuICAgIGNvbnN0IGdlbmVyYWxSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJYW1Sb2xlJywge1xuICAgICAgcm9sZU5hbWU6IGlhbVJvbGVOYW1lLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkFjY291bnRSb290UHJpbmNpcGFsKCksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBbcG9saWN5TmFtZV06IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIGFzc2lnblNpZHM6IHRydWUsXG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xpc3RpbmdPYmplY3RzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ3MzOkxpc3RCdWNrZXQnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xpc3RpbmdCdWNrZXRzQW5kQWNjZXNzUG9pbnRzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50Rm9yT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnRDb25maWd1cmF0aW9uRm9yT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdEFjY2Vzc1BvaW50c0Zvck9iamVjdExhbWJkYScsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3RBbGxNeUJ1Y2tldHMnLFxuICAgICAgICAgICAgICAgICdzMzpMaXN0QWNjZXNzUG9pbnRzJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnQnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRBY2NvdW50UHVibGljQWNjZXNzQmxvY2snLFxuICAgICAgICAgICAgICAgICdzMzpHZXRCdWNrZXRQdWJsaWNBY2Nlc3NCbG9jaycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldFBvbGljeVN0YXR1cycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldEFjbCcsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50UG9saWN5U3RhdHVzJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd09iamVjdExhbWJkYUFjY2VzcycsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMy1vYmplY3QtbGFtYmRhOkdldConLFxuICAgICAgICAgICAgICAgICdzMy1vYmplY3QtbGFtYmRhOkxpc3QqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMy1vYmplY3QtbGFtYmRhOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTphY2Nlc3Nwb2ludC8ke29iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZX1gXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd1N0YW5kYXJkQWNjZXNzUG9pbnRBY2Nlc3MnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczM6R2V0KicsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3QqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAgIFsnRm9yQW55VmFsdWU6U3RyaW5nRXF1YWxzJ106IHtcbiAgICAgICAgICAgICAgICAgICdhd3M6Q2FsbGVkVmlhJzogWydzMy1vYmplY3QtbGFtYmRhLmFtYXpvbmF3cy5jb20nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93TGFtYmRhSW52b2NhdGlvbicsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgWydGb3JBbnlWYWx1ZTpTdHJpbmdFcXVhbHMnXToge1xuICAgICAgICAgICAgICAgICAgJ2F3czpDYWxsZWRWaWEnOiBbJ3MzLW9iamVjdC1sYW1iZGEuYW1hem9uYXdzLmNvbSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5yb2xlQXJuID0gZ2VuZXJhbFJvbGUucm9sZUFybjtcbiAgICB0aGlzLnJvbGVOYW1lID0gZ2VuZXJhbFJvbGUucm9sZU5hbWU7XG4gICAgdGhpcy5yb2xlSWQgPSBnZW5lcmFsUm9sZS5yb2xlSWQ7XG4gIH1cbn1cblxuXG5leHBvcnQgaW50ZXJmYWNlIEFkbWluUm9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcG9saWN5IGZvciB0aGUgSUFNIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhZG1pbi1yb2xlLXMzb2xhcC1wb2xpY3knXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG9iamVjdCBMYW1iZGEgYWNjZXNzIHBvaW50LCB3aGljaCB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBTMyBhY2NlZXNzIHBvaW50IGZvciB0aGUgUzMgYnVja2V0IGluIHRoZSBkZW1vc3RyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhZG1pbi1zM29sYXAtY2FsbC10cmFuc2NyaXB0cy1rbm93bi1waWknXG4gICAqL1xuICByZWFkb25seSBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdSZWRhY3Rpb25BZG1pblJvbGUnXG4gICAqL1xuICByZWFkb25seSBpYW1Sb2xlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEFkbWluUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBJQU0gcm9sZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSByb2xlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVJZDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IEFkbWluUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBwb2xpY3lOYW1lID0gcHJvcHM/LnBvbGljeU5hbWUgPz8gJ2FkbWluLXJvbGUtczNvbGFwLXBvbGljeSc7XG4gICAgY29uc3Qgb2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lID0gcHJvcHM/Lm9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZSA/PyAnYWRtaW4tczNvbGFwLWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJztcbiAgICBjb25zdCBpYW1Sb2xlTmFtZSA9IHByb3BzPy5pYW1Sb2xlTmFtZSA/PyAnUmVkYWN0aW9uQWRtaW5Sb2xlJztcbiAgICBjb25zdCBhZG1pblJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ1JlZGFjdGlvbkFkbWluUm9sZScsIHtcbiAgICAgIHJvbGVOYW1lOiBpYW1Sb2xlTmFtZSxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5BY2NvdW50Um9vdFByaW5jaXBhbCgpLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW3BvbGljeU5hbWVdOiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBhc3NpZ25TaWRzOiB0cnVlLFxuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dMaXN0aW5nT2JqZWN0cycsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzMzpMaXN0QnVja2V0J10sXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dMaXN0aW5nQnVja2V0c0FuZEFjY2Vzc1BvaW50cycsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMzpHZXRBY2Nlc3NQb2ludEZvck9iamVjdExhbWJkYScsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50Q29uZmlndXJhdGlvbkZvck9iamVjdExhbWJkYScsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3RBY2Nlc3NQb2ludHNGb3JPYmplY3RMYW1iZGEnLFxuICAgICAgICAgICAgICAgICdzMzpMaXN0QWxsTXlCdWNrZXRzJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdEFjY2Vzc1BvaW50cycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50JyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjb3VudFB1YmxpY0FjY2Vzc0Jsb2NrJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QnVja2V0UHVibGljQWNjZXNzQmxvY2snLFxuICAgICAgICAgICAgICAgICdzMzpHZXRCdWNrZXRQb2xpY3lTdGF0dXMnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRCdWNrZXRBY2wnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRBY2Nlc3NQb2ludFBvbGljeVN0YXR1cycsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dPYmplY3RMYW1iZGFBY2Nlc3MnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczMtb2JqZWN0LWxhbWJkYTpHZXQqJyxcbiAgICAgICAgICAgICAgICAnczMtb2JqZWN0LWxhbWJkYTpMaXN0KicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06czMtb2JqZWN0LWxhbWJkYToke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06YWNjZXNzcG9pbnQvJHtvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWV9YF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dTdGFuZGFyZEFjY2Vzc1BvaW50QWNjZXNzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3MzOkdldConLFxuICAgICAgICAgICAgICAgICdzMzpMaXN0KicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBbJ0ZvckFueVZhbHVlOlN0cmluZ0VxdWFscyddOiB7XG4gICAgICAgICAgICAgICAgICAnYXdzOkNhbGxlZFZpYSc6IFsnczMtb2JqZWN0LWxhbWJkYS5hbWF6b25hd3MuY29tJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xhbWJkYUludm9jYXRpb24nLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnbGFtYmRhOkludm9rZUZ1bmN0aW9uJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAgIFsnRm9yQW55VmFsdWU6U3RyaW5nRXF1YWxzJ106IHtcbiAgICAgICAgICAgICAgICAgICdhd3M6Q2FsbGVkVmlhJzogWydzMy1vYmplY3QtbGFtYmRhLmFtYXpvbmF3cy5jb20nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMucm9sZUFybiA9IGFkbWluUm9sZS5yb2xlQXJuO1xuICAgIHRoaXMucm9sZU5hbWUgPSBhZG1pblJvbGUucm9sZU5hbWU7XG4gICAgdGhpcy5yb2xlSWQgPSBhZG1pblJvbGUucm9sZUlkO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ1JvbGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHBvbGljeSBmb3IgdGhlIElBTSByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnYmlsbGluZy1yb2xlLXMzb2xhcC1wb2xpY3knXG4gICAqL1xuICByZWFkb25seSBwb2xpY3lOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG9iamVjdCBMYW1iZGEgYWNjZXNzIHBvaW50LCB3aGljaCB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBTMyBhY2NlZXNzIHBvaW50IGZvciB0aGUgUzMgYnVja2V0IGluIHRoZSBkZW1vc3RyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdiaWxsaW5nLXMzb2xhcC1jYWxsLXRyYW5zY3JpcHRzLWtub3duLXBpaSdcbiAgICovXG4gIHJlYWRvbmx5IG9iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ1JlZGFjdGlvbkJpbGxpbmdSb2xlJ1xuICAgKi9cbiAgcmVhZG9ubHkgaWFtUm9sZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBCaWxsaW5nUm9sZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBJQU0gcm9sZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSByb2xlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVJZDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IEFkbWluUm9sZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBwb2xpY3lOYW1lID0gcHJvcHM/LnBvbGljeU5hbWUgPz8gJ2JpbGxpbmctcm9sZS1zM29sYXAtcG9saWN5JztcbiAgICBjb25zdCBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUgPSBwcm9wcz8ub2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lID8/ICdiaWxsaW5nLXMzb2xhcC1jYWxsLXRyYW5zY3JpcHRzLWtub3duLXBpaSc7XG4gICAgY29uc3QgaWFtUm9sZU5hbWUgPSBwcm9wcz8uaWFtUm9sZU5hbWUgPz8gJ1JlZGFjdGlvbkJpbGxpbmdSb2xlJztcbiAgICBjb25zdCBiaWxsaW5nUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnUmVkYWN0aW9uQmlsbGluZ1JvbGUnLCB7XG4gICAgICByb2xlTmFtZTogaWFtUm9sZU5hbWUsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQWNjb3VudFJvb3RQcmluY2lwYWwoKSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIFtwb2xpY3lOYW1lXTogbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgYXNzaWduU2lkczogdHJ1ZSxcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93TGlzdGluZ09iamVjdHMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnczM6TGlzdEJ1Y2tldCddLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93TGlzdGluZ0J1Y2tldHNBbmRBY2Nlc3NQb2ludHMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnRGb3JPYmplY3RMYW1iZGEnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRBY2Nlc3NQb2ludENvbmZpZ3VyYXRpb25Gb3JPYmplY3RMYW1iZGEnLFxuICAgICAgICAgICAgICAgICdzMzpMaXN0QWNjZXNzUG9pbnRzRm9yT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdEFsbE15QnVja2V0cycsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3RBY2Nlc3NQb2ludHMnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRBY2Nlc3NQb2ludCcsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY291bnRQdWJsaWNBY2Nlc3NCbG9jaycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldFB1YmxpY0FjY2Vzc0Jsb2NrJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QnVja2V0UG9saWN5U3RhdHVzJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QnVja2V0QWNsJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnRQb2xpY3lTdGF0dXMnLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93T2JqZWN0TGFtYmRhQWNjZXNzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3MzLW9iamVjdC1sYW1iZGE6R2V0KicsXG4gICAgICAgICAgICAgICAgJ3MzLW9iamVjdC1sYW1iZGE6TGlzdConLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OnMzLW9iamVjdC1sYW1iZGE6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmFjY2Vzc3BvaW50LyR7b2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lfWBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93U3RhbmRhcmRBY2Nlc3NQb2ludEFjY2VzcycsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMzpHZXQqJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdConLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgWydGb3JBbnlWYWx1ZTpTdHJpbmdFcXVhbHMnXToge1xuICAgICAgICAgICAgICAgICAgJ2F3czpDYWxsZWRWaWEnOiBbJ3MzLW9iamVjdC1sYW1iZGEuYW1hem9uYXdzLmNvbSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dMYW1iZGFJbnZvY2F0aW9uJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ2xhbWJkYTpJbnZva2VGdW5jdGlvbicsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBbJ0ZvckFueVZhbHVlOlN0cmluZ0VxdWFscyddOiB7XG4gICAgICAgICAgICAgICAgICAnYXdzOkNhbGxlZFZpYSc6IFsnczMtb2JqZWN0LWxhbWJkYS5hbWF6b25hd3MuY29tJ10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnJvbGVBcm4gPSBiaWxsaW5nUm9sZS5yb2xlQXJuO1xuICAgIHRoaXMucm9sZU5hbWUgPSBiaWxsaW5nUm9sZS5yb2xlTmFtZTtcbiAgICB0aGlzLnJvbGVJZCA9IGJpbGxpbmdSb2xlLnJvbGVJZDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RTdXBwb3J0Um9sZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcG9saWN5IGZvciB0aGUgSUFNIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdjdXN0b21lcnN1cHBvcnQtcm9sZS1zM29sYXAtcG9saWN5J1xuICAgKi9cbiAgcmVhZG9ubHkgcG9saWN5TmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBvYmplY3QgTGFtYmRhIGFjY2VzcyBwb2ludCwgd2hpY2ggd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgUzMgYWNjZWVzcyBwb2ludCBmb3IgdGhlIFMzIGJ1Y2tldCBpbiB0aGUgZGVtb3N0cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnY3VzdHN1cHBvcnQtczNvbGFwLWNhbGwtdHJhbnNjcmlwdHMta25vd24tcGlpJ1xuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIElBTSByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnUmVkYWN0aW9uQ3VzdFN1cHBvcnRSb2xlJ1xuICAgKi9cbiAgcmVhZG9ubHkgaWFtUm9sZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDdXN0U3VwcG9ydFJvbGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgSUFNIHJvbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIElBTSByb2xlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIHN0cmluZyBpZGVudGlmeWluZyB0aGUgcm9sZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlSWQ6IHN0cmluZztcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBBZG1pblJvbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgY29uc3QgcG9saWN5TmFtZSA9IHByb3BzPy5wb2xpY3lOYW1lID8/ICdjdXN0b21lcnN1cHBvcnQtcm9sZS1zM29sYXAtcG9saWN5JztcbiAgICBjb25zdCBvYmplY3RMYW1iZGFBY2Nlc3NQb2ludE5hbWUgPSBwcm9wcz8ub2JqZWN0TGFtYmRhQWNjZXNzUG9pbnROYW1lID8/ICdjdXN0c3VwcG9ydC1zM29sYXAtY2FsbC10cmFuc2NyaXB0cy1rbm93bi1waWknO1xuICAgIGNvbnN0IGlhbVJvbGVOYW1lID0gcHJvcHM/LmlhbVJvbGVOYW1lID8/ICdSZWRhY3Rpb25DdXN0U3VwcG9ydFJvbGUnO1xuICAgIGNvbnN0IGN1c3RTdXBwb3J0Um9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnUmVkYWN0aW9uQ3VzdFN1cHBvcnRSb2xlJywge1xuICAgICAgcm9sZU5hbWU6IGlhbVJvbGVOYW1lLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkFjY291bnRSb290UHJpbmNpcGFsKCksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBbcG9saWN5TmFtZV06IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIGFzc2lnblNpZHM6IHRydWUsXG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xpc3RpbmdPYmplY3RzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ3MzOkxpc3RCdWNrZXQnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xpc3RpbmdCdWNrZXRzQW5kQWNjZXNzUG9pbnRzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50Rm9yT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnRDb25maWd1cmF0aW9uRm9yT2JqZWN0TGFtYmRhJyxcbiAgICAgICAgICAgICAgICAnczM6TGlzdEFjY2Vzc1BvaW50c0Zvck9iamVjdExhbWJkYScsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3RBbGxNeUJ1Y2tldHMnLFxuICAgICAgICAgICAgICAgICdzMzpMaXN0QWNjZXNzUG9pbnRzJyxcbiAgICAgICAgICAgICAgICAnczM6R2V0QWNjZXNzUG9pbnQnLFxuICAgICAgICAgICAgICAgICdzMzpHZXRBY2NvdW50UHVibGljQWNjZXNzQmxvY2snLFxuICAgICAgICAgICAgICAgICdzMzpHZXRCdWNrZXRQdWJsaWNBY2Nlc3NCbG9jaycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldFBvbGljeVN0YXR1cycsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEJ1Y2tldEFjbCcsXG4gICAgICAgICAgICAgICAgJ3MzOkdldEFjY2Vzc1BvaW50UG9saWN5U3RhdHVzJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd09iamVjdExhbWJkYUFjY2VzcycsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzMy1vYmplY3QtbGFtYmRhOkdldConLFxuICAgICAgICAgICAgICAgICdzMy1vYmplY3QtbGFtYmRhOkxpc3QqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTpzMy1vYmplY3QtbGFtYmRhOiR7Y2RrLkF3cy5SRUdJT059OiR7Y2RrLkF3cy5BQ0NPVU5UX0lEfTphY2Nlc3Nwb2ludC8ke29iamVjdExhbWJkYUFjY2Vzc1BvaW50TmFtZX1gXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd1N0YW5kYXJkQWNjZXNzUG9pbnRBY2Nlc3MnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnczM6R2V0KicsXG4gICAgICAgICAgICAgICAgJ3MzOkxpc3QqJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICAgIFsnRm9yQW55VmFsdWU6U3RyaW5nRXF1YWxzJ106IHtcbiAgICAgICAgICAgICAgICAgICdhd3M6Q2FsbGVkVmlhJzogWydzMy1vYmplY3QtbGFtYmRhLmFtYXpvbmF3cy5jb20nXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93TGFtYmRhSW52b2NhdGlvbicsXG4gICAgICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICAgICAgWydGb3JBbnlWYWx1ZTpTdHJpbmdFcXVhbHMnXToge1xuICAgICAgICAgICAgICAgICAgJ2F3czpDYWxsZWRWaWEnOiBbJ3MzLW9iamVjdC1sYW1iZGEuYW1hem9uYXdzLmNvbSddLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5yb2xlQXJuID0gY3VzdFN1cHBvcnRSb2xlLnJvbGVBcm47XG4gICAgdGhpcy5yb2xlTmFtZSA9IGN1c3RTdXBwb3J0Um9sZS5yb2xlTmFtZTtcbiAgICB0aGlzLnJvbGVJZCA9IGN1c3RTdXBwb3J0Um9sZS5yb2xlSWQ7XG4gIH1cbn0iXX0=
|
@@ -64,7 +64,7 @@ require('aws-sdk/lib/maintenance_mode_message').suppress = true;
|
|
64
64
|
To use the SDK in the browser, simply add the following script tag to your
|
65
65
|
HTML pages:
|
66
66
|
|
67
|
-
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.
|
67
|
+
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1691.0.min.js"></script>
|
68
68
|
|
69
69
|
You can also build a custom browser SDK with your specified set of AWS services.
|
70
70
|
This can allow you to reduce the SDK's size, specify different API versions of
|