@aws-solutions-constructs/core 2.86.0 → 2.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +84 -6
- package/lib/kendra-helper.js +4 -2
- package/lib/waf-helper.js +5 -2
- package/package.json +3 -3
- package/test/TwoLogGroups.json +365 -0
- package/test/pipes-helper.test.js +2 -2
- package/test/step-function-helper.test.js +1 -1
- package/test/test-helper.d.ts +6 -0
- package/test/test-helper.js +84 -1
- package/test/waf-helper.test.js +35 -1
package/.jsii
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"npmlog": "^7.0.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"aws-cdk-lib": "^2.
|
|
16
|
+
"aws-cdk-lib": "^2.206.0",
|
|
17
17
|
"constructs": "^10.0.0"
|
|
18
18
|
},
|
|
19
19
|
"dependencyClosure": {
|
|
@@ -166,6 +166,19 @@
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
|
+
"aws-cdk-lib.aws_aiops": {
|
|
170
|
+
"targets": {
|
|
171
|
+
"dotnet": {
|
|
172
|
+
"package": "Amazon.CDK.AWS.AIOps"
|
|
173
|
+
},
|
|
174
|
+
"java": {
|
|
175
|
+
"package": "software.amazon.awscdk.services.aiops"
|
|
176
|
+
},
|
|
177
|
+
"python": {
|
|
178
|
+
"module": "aws_cdk.aws_aiops"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
169
182
|
"aws-cdk-lib.aws_amazonmq": {
|
|
170
183
|
"targets": {
|
|
171
184
|
"dotnet": {
|
|
@@ -1558,6 +1571,19 @@
|
|
|
1558
1571
|
}
|
|
1559
1572
|
}
|
|
1560
1573
|
},
|
|
1574
|
+
"aws-cdk-lib.aws_evs": {
|
|
1575
|
+
"targets": {
|
|
1576
|
+
"dotnet": {
|
|
1577
|
+
"package": "Amazon.CDK.AWS.EVS"
|
|
1578
|
+
},
|
|
1579
|
+
"java": {
|
|
1580
|
+
"package": "software.amazon.awscdk.services.evs"
|
|
1581
|
+
},
|
|
1582
|
+
"python": {
|
|
1583
|
+
"module": "aws_cdk.aws_evs"
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
},
|
|
1561
1587
|
"aws-cdk-lib.aws_finspace": {
|
|
1562
1588
|
"targets": {
|
|
1563
1589
|
"dotnet": {
|
|
@@ -2494,6 +2520,19 @@
|
|
|
2494
2520
|
}
|
|
2495
2521
|
}
|
|
2496
2522
|
},
|
|
2523
|
+
"aws-cdk-lib.aws_mpa": {
|
|
2524
|
+
"targets": {
|
|
2525
|
+
"dotnet": {
|
|
2526
|
+
"package": "Amazon.CDK.AWS.MPA"
|
|
2527
|
+
},
|
|
2528
|
+
"java": {
|
|
2529
|
+
"package": "software.amazon.awscdk.services.mpa"
|
|
2530
|
+
},
|
|
2531
|
+
"python": {
|
|
2532
|
+
"module": "aws_cdk.aws_mpa"
|
|
2533
|
+
}
|
|
2534
|
+
}
|
|
2535
|
+
},
|
|
2497
2536
|
"aws-cdk-lib.aws_msk": {
|
|
2498
2537
|
"targets": {
|
|
2499
2538
|
"dotnet": {
|
|
@@ -2624,6 +2663,19 @@
|
|
|
2624
2663
|
}
|
|
2625
2664
|
}
|
|
2626
2665
|
},
|
|
2666
|
+
"aws-cdk-lib.aws_odb": {
|
|
2667
|
+
"targets": {
|
|
2668
|
+
"dotnet": {
|
|
2669
|
+
"package": "Amazon.CDK.AWS.ODB"
|
|
2670
|
+
},
|
|
2671
|
+
"java": {
|
|
2672
|
+
"package": "software.amazon.awscdk.services.odb"
|
|
2673
|
+
},
|
|
2674
|
+
"python": {
|
|
2675
|
+
"module": "aws_cdk.aws_odb"
|
|
2676
|
+
}
|
|
2677
|
+
}
|
|
2678
|
+
},
|
|
2627
2679
|
"aws-cdk-lib.aws_omics": {
|
|
2628
2680
|
"targets": {
|
|
2629
2681
|
"dotnet": {
|
|
@@ -3521,6 +3573,19 @@
|
|
|
3521
3573
|
}
|
|
3522
3574
|
}
|
|
3523
3575
|
},
|
|
3576
|
+
"aws-cdk-lib.aws_ssmguiconnect": {
|
|
3577
|
+
"targets": {
|
|
3578
|
+
"dotnet": {
|
|
3579
|
+
"package": "Amazon.CDK.AWS.SSMGuiConnect"
|
|
3580
|
+
},
|
|
3581
|
+
"java": {
|
|
3582
|
+
"package": "software.amazon.awscdk.services.ssmguiconnect"
|
|
3583
|
+
},
|
|
3584
|
+
"python": {
|
|
3585
|
+
"module": "aws_cdk.aws_ssmguiconnect"
|
|
3586
|
+
}
|
|
3587
|
+
}
|
|
3588
|
+
},
|
|
3524
3589
|
"aws-cdk-lib.aws_ssmincidents": {
|
|
3525
3590
|
"targets": {
|
|
3526
3591
|
"dotnet": {
|
|
@@ -3755,6 +3820,19 @@
|
|
|
3755
3820
|
}
|
|
3756
3821
|
}
|
|
3757
3822
|
},
|
|
3823
|
+
"aws-cdk-lib.aws_workspacesinstances": {
|
|
3824
|
+
"targets": {
|
|
3825
|
+
"dotnet": {
|
|
3826
|
+
"package": "Amazon.CDK.AWS.WorkspacesInstances"
|
|
3827
|
+
},
|
|
3828
|
+
"java": {
|
|
3829
|
+
"package": "software.amazon.awscdk.services.workspacesinstances"
|
|
3830
|
+
},
|
|
3831
|
+
"python": {
|
|
3832
|
+
"module": "aws_cdk.aws_workspacesinstances"
|
|
3833
|
+
}
|
|
3834
|
+
}
|
|
3835
|
+
},
|
|
3758
3836
|
"aws-cdk-lib.aws_workspacesthinclient": {
|
|
3759
3837
|
"targets": {
|
|
3760
3838
|
"dotnet": {
|
|
@@ -9699,7 +9777,7 @@
|
|
|
9699
9777
|
"kind": "interface",
|
|
9700
9778
|
"locationInModule": {
|
|
9701
9779
|
"filename": "lib/waf-helper.ts",
|
|
9702
|
-
"line":
|
|
9780
|
+
"line": 55
|
|
9703
9781
|
},
|
|
9704
9782
|
"name": "WafWebAclProps",
|
|
9705
9783
|
"properties": [
|
|
@@ -9708,7 +9786,7 @@
|
|
|
9708
9786
|
"immutable": true,
|
|
9709
9787
|
"locationInModule": {
|
|
9710
9788
|
"filename": "lib/waf-helper.ts",
|
|
9711
|
-
"line":
|
|
9789
|
+
"line": 56
|
|
9712
9790
|
},
|
|
9713
9791
|
"name": "existingWebaclObj",
|
|
9714
9792
|
"type": {
|
|
@@ -9720,7 +9798,7 @@
|
|
|
9720
9798
|
"immutable": true,
|
|
9721
9799
|
"locationInModule": {
|
|
9722
9800
|
"filename": "lib/waf-helper.ts",
|
|
9723
|
-
"line":
|
|
9801
|
+
"line": 57
|
|
9724
9802
|
},
|
|
9725
9803
|
"name": "webaclProps",
|
|
9726
9804
|
"type": {
|
|
@@ -9731,6 +9809,6 @@
|
|
|
9731
9809
|
"symbolId": "lib/waf-helper:WafWebAclProps"
|
|
9732
9810
|
}
|
|
9733
9811
|
},
|
|
9734
|
-
"version": "2.
|
|
9735
|
-
"fingerprint": "
|
|
9812
|
+
"version": "2.87.0",
|
|
9813
|
+
"fingerprint": "BD06J2BrXoaHIXCFe2zNf4q2/4zV0Vk+JkRUznnqi4k="
|
|
9736
9814
|
}
|
package/lib/kendra-helper.js
CHANGED
|
@@ -56,7 +56,9 @@ function buildKendraIndex(scope, id, props) {
|
|
|
56
56
|
function AddMultipleKendraDataSources(scope, id, kendraIndex, clientDataSourceProps) {
|
|
57
57
|
const returnDataSources = [];
|
|
58
58
|
clientDataSourceProps.forEach((props, index) => {
|
|
59
|
-
|
|
59
|
+
const additionalDataSource = AddKendraDataSource(scope, `${id}${index}`, kendraIndex, props);
|
|
60
|
+
additionalDataSource.addDependency(kendraIndex);
|
|
61
|
+
returnDataSources.push(additionalDataSource);
|
|
60
62
|
});
|
|
61
63
|
return returnDataSources;
|
|
62
64
|
}
|
|
@@ -214,4 +216,4 @@ function normalizeKendraPermissions(rawPermissions) {
|
|
|
214
216
|
});
|
|
215
217
|
return result;
|
|
216
218
|
}
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtlbmRyYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQTZCSCw0Q0F3QkM7QUFLRCxvRUFVQztBQUtELGtEQWVDO0FBaUpELGdFQVdDO0FBbFBEOzs7R0FHRztBQUVILGlEQUFpRDtBQUNqRCwyQ0FBMkM7QUFDM0MsbUNBQTBJO0FBQzFJLDZDQUFrQztBQUlsQyx1REFBNEQ7QUFZNUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtJQUN6Rix1Q0FBdUM7SUFDdkMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQiwwRUFBMEU7UUFDMUUsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDaEMsQ0FBQztTQUFNLENBQUM7UUFFTixJQUFJLFlBQVksR0FBVyxFQUFFLENBQUM7UUFFOUIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDckMsWUFBWSxHQUFHLDRCQUE0QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxzQkFBc0IsR0FBRyxJQUFBLHlDQUF1QixFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV6RSxNQUFNLDJCQUEyQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckcsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUMvRixJQUFBLDJCQUFtQixFQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixFQUFFLEVBQUUsS0FBSztnQkFDVCxN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QUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBrZW5kcmEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtlbmRyYSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMsIGFkZENmblN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMsIGdlbmVyYXRlUGh5c2ljYWxLZW5kcmFJbmRleE5hbWUsIG92ZXJyaWRlUHJvcHMgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgQXdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERlZmF1bHRLZW5kcmFJbmRleFByb3BzIH0gZnJvbSAnLi9rZW5kcmEtZGVmYXVsdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkS2VuZHJhSW5kZXhQcm9wcyB7XG4gIHJlYWRvbmx5IGtlbmRyYUluZGV4UHJvcHM/OiBrZW5kcmEuQ2ZuSW5kZXhQcm9wcyB8IGFueTtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIEtlbmRyYSBJbmRleCBvYmplY3QsIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGtlbmRyYUluZGV4UHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0luZGV4T2JqPzoga2VuZHJhLkNmbkluZGV4O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEtlbmRyYUluZGV4KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWlsZEtlbmRyYUluZGV4UHJvcHMpOiBrZW5kcmEuQ2ZuSW5kZXgge1xuICAvLyBDb25kaXRpb25hbCBsYW1iZGEgZnVuY3Rpb24gY3JlYXRpb25cbiAgaWYgKHByb3BzLmV4aXN0aW5nSW5kZXhPYmopIHtcbiAgICAvLyBUaGUgY2xpZW50IHByb3ZpZGVkIGFuIEluZGV4LCBzbyB3ZSdsbCBkbyBub3RoaW5nIGFuZCByZXR1cm4gaXQgdG8gdGhlbVxuICAgIHJldHVybiBwcm9wcy5leGlzdGluZ0luZGV4T2JqO1xuICB9IGVsc2Uge1xuXG4gICAgbGV0IGluZGV4Um9sZUFybjogc3RyaW5nID0gXCJcIjtcblxuICAgIC8vIElmIHRoZSBjbGllbnQgcHJvdmlkZWQgYSByb2xlLCB0aGVuIGRvbid0IGJvdGhlciBjcmVhdGluZyBhIG5ldyBvbmUgdGhhdCB3ZSBkb24ndCBuZWVkXG4gICAgaWYgKCFwcm9wcy5rZW5kcmFJbmRleFByb3BzPy5yb2xlQXJuKSB7XG4gICAgICBpbmRleFJvbGVBcm4gPSBDcmVhdGVLZW5kcmFJbmRleExvZ2dpbmdSb2xlKHNjb3BlLCBpZCk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRJbmRleFByb3BlcnRpZXMgPSBEZWZhdWx0S2VuZHJhSW5kZXhQcm9wcyhpZCwgaW5kZXhSb2xlQXJuKTtcblxuICAgIGNvbnN0IGNvbnNvbGlkYXRlZEluZGV4UHJvcGVydGllcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdEluZGV4UHJvcGVydGllcywgcHJvcHMua2VuZHJhSW5kZXhQcm9wcyk7XG4gICAgY29uc3QgbmV3SW5kZXggPSBuZXcga2VuZHJhLkNmbkluZGV4KHNjb3BlLCBga2VuZHJhLWluZGV4LSR7aWR9YCwgY29uc29saWRhdGVkSW5kZXhQcm9wZXJ0aWVzKTtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld0luZGV4LCBbe1xuICAgICAgaWQ6IFwiVzgwXCIsXG4gICAgICByZWFzb246IFwiV2UgY29uc3VsdGVkIHRoZSBLZW5kcmEgVEZDIGFuZCB0aGV5IGNvbmZpcm1lZCB0aGUgZGVmYXVsdCBlbmNyeXB0aW9uIGlzIHN1ZmZpY2llbnQgZm9yIGdlbmVyYWwgdXNlIGNhc2VzXCJcbiAgICB9XSk7XG5cbiAgICByZXR1cm4gbmV3SW5kZXg7XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQWRkTXVsdGlwbGVLZW5kcmFEYXRhU291cmNlcyhzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBrZW5kcmFJbmRleDoga2VuZHJhLkNmbkluZGV4LFxuICBjbGllbnREYXRhU291cmNlUHJvcHM6IFBhcnRpYWw8a2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcz5bXSk6IGtlbmRyYS5DZm5EYXRhU291cmNlW10ge1xuXG4gIGNvbnN0IHJldHVybkRhdGFTb3VyY2VzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVtdID0gW107XG4gIGNsaWVudERhdGFTb3VyY2VQcm9wcy5mb3JFYWNoKChwcm9wcywgaW5kZXgpID0+IHtcbiAgICByZXR1cm5EYXRhU291cmNlcy5wdXNoKEFkZEtlbmRyYURhdGFTb3VyY2Uoc2NvcGUsIGAke2lkfSR7aW5kZXh9YCwga2VuZHJhSW5kZXgsIHByb3BzKSk7XG4gIH0pO1xuICByZXR1cm4gcmV0dXJuRGF0YVNvdXJjZXM7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFkZEtlbmRyYURhdGFTb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZywgaW5kZXg6IGtlbmRyYS5DZm5JbmRleCxcbiAgY2xpZW50RGF0YVNvdXJjZVByb3BzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzIHwgYW55KToga2VuZHJhLkNmbkRhdGFTb3VyY2Uge1xuXG4gIGlmICAoY2xpZW50RGF0YVNvdXJjZVByb3BzLnR5cGUgPT09ICdTMycpIHtcbiAgICByZXR1cm4gQ3JlYXRlUzNEYXRhU291cmNlKHNjb3BlLCBpbmRleCwgaWQsIGNsaWVudERhdGFTb3VyY2VQcm9wcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGNsaWVudERhdGFTb3VyY2VQcm9wcy5pbmRleElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgRGF0YVNvdXJjZSBwcm9wIHNwZWNpZmllZCAtIENvbnN0cnVjdCBtdXN0IHNldCB0aGUgaW5kZXhJZCBwcm9wJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcga2VuZHJhLkNmbkRhdGFTb3VyY2Uoc2NvcGUsIGBrZW5kcmEtZGF0YS1zb3VyY2UtJHtpZH1gLCB7XG4gICAgICAuLi5jbGllbnREYXRhU291cmNlUHJvcHMsXG4gICAgICBpbmRleElkOiBpbmRleC5hdHRySWRcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBDcmVhdGVTM0RhdGFTb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCxcbiAgdGFyZ2V0SW5kZXg6IGtlbmRyYS5DZm5JbmRleCxcbiAgaWQ6IHN0cmluZyxcbiAgY2xpZW50UHJvcHM6IFBhcnRpYWw8a2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcz4pOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZSB7XG5cbiAgLy8gV2UgZ28gdGhyb3VnaCBzb21lIGhvb3BzIGhlcmUgdG8gZXh0cmFjdCB0aGUgdmFyaW91cyBpbnB1dHMsIGJlY2F1c2Ugd2UgbmVlZCB0byBuYXJyb3dcbiAgLy8gdGhlIHR5cGUgdG8gcmVtb3ZlIHRoZSB1bmlvbiB3aXRoIElSZXNvbHZhYmxlXG4gIGNvbnN0IGRhdGFTb3VyY2VDb25maWcgPSBjbGllbnRQcm9wcy5kYXRhU291cmNlQ29uZmlndXJhdGlvbiBhcyBrZW5kcmEuQ2ZuRGF0YVNvdXJjZS5EYXRhU291cmNlQ29uZmlndXJhdGlvblByb3BlcnR5O1xuICBpZiAoIWRhdGFTb3VyY2VDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIC0gYW4gUzMgS2VuZHJhIERhdGFTb3VyY2UgcmVxdWlyZXMgYW4gRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24gcHJvcCcpO1xuICB9XG5cbiAgY29uc3QgczNEYXRhU291cmNlQ29uZmlnID0gZGF0YVNvdXJjZUNvbmZpZy5zM0NvbmZpZ3VyYXRpb24gYXMga2VuZHJhLkNmbkRhdGFTb3VyY2UuUzNEYXRhU291cmNlQ29uZmlndXJhdGlvblByb3BlcnR5O1xuXG4gIGlmICghczNEYXRhU291cmNlQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciAtIGFuIFMzIEtlbmRyYSBEYXRhU291cmNlIHJlcXVpcmVzIGFuIERhdGFTb3VyY2VDb25maWd1cmF0aW9uLlMzQ29uZmlndXJhdGlvbiBwcm9wJyk7XG4gIH1cblxuICAvLyBObyBCdWNrZXQgbmFtZSBpcyBhbiBlcnJvclxuICBpZiAoIXMzRGF0YVNvdXJjZUNvbmZpZy5idWNrZXROYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciAtIGFuIFMzIEtlbmRyYSBEYXRhU291cmNlIHJlcXVpcmVzIHRoZSBEYXRhU291cmNlQ29uZmlndXJhdGlvbi5TM0NvbmZpZ3VyYXRpb24uYnVja2V0TmFtZSBwcm9wJyk7XG4gIH1cblxuICAvLyBJZiB0aGVyZSdzIG5vIHJvbGUsIG1ha2UgYSByb2xlIGFuZCBwdXQgaXQgaW50byBkZWZhdWx0UHJvcHNcbiAgLy8gUHV0IGJ1Y2tldCBuYW1lIGluIGRlZmF1bHQgcHJvcHNcbiAgbGV0IGRlZmF1bHRQcm9wczoga2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcyA9IHtcbiAgICBpbmRleElkOiB0YXJnZXRJbmRleC5yZWYsXG4gICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbEtlbmRyYUluZGV4TmFtZSgnJywgWydzMy1kYXRhc291cmNlJywgaWRdKSxcbiAgICB0eXBlOiAnUzMnXG4gIH07XG5cbiAgLy8gUmV0dXJuIGNvbnNvbGlkYXRlZCBkZWZhdWx0IGFuZCB1c2VyIHByb3BzXG4gIGlmICghY2xpZW50UHJvcHMucm9sZUFybikge1xuICAgIGNvbnN0IHMzQ3Jhd2xQb2xpY3kgPSBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiczM6R2V0T2JqZWN0XCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6czM6Ojoke3MzRGF0YVNvdXJjZUNvbmZpZy5idWNrZXROYW1lfS8qYFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJzMzpMaXN0QnVja2V0XCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6czM6Ojoke3MzRGF0YVNvdXJjZUNvbmZpZy5idWNrZXROYW1lfWBcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPV1xuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcImtlbmRyYTpCYXRjaFB1dERvY3VtZW50XCIsXG4gICAgICAgICAgICBcImtlbmRyYTpCYXRjaERlbGV0ZURvY3VtZW50XCJcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgdGFyZ2V0SW5kZXguYXR0ckFyblxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBjb25zdCBkYXRhU291cmNlUm9sZTogaWFtLlJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIGBkYXRhLXNvdXJjZS1yb2xlLSR7aWR9YCwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2tlbmRyYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBkZXNjcmlwdGlvbjogJ1BvbGljeSBmb3IgS2VuZHJhIFMzIERhdGEgU291cmNlJyxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIHMzQ3Jhd2xQb2xpY3ksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGRlZmF1bHRQcm9wcyA9IG92ZXJyaWRlUHJvcHMoZGVmYXVsdFByb3BzLCB7IHJvbGVBcm46IGRhdGFTb3VyY2VSb2xlLnJvbGVBcm4gfSk7XG4gICAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKGRhdGFTb3VyY2VSb2xlLCBbXCJJQU1fTk9fSU5MSU5FX1BPTElDWV9DSEVDS1wiXSk7XG4gIH1cblxuICBjb25zdCBjb25zb2xpZGF0ZWRQcm9wczoga2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdFByb3BzLCBjbGllbnRQcm9wcyk7XG5cbiAgcmV0dXJuIG5ldyBrZW5kcmEuQ2ZuRGF0YVNvdXJjZShzY29wZSwgYGRhdGEtc291cmNlLSR7aWR9YCwgY29uc29saWRhdGVkUHJvcHMpO1xuXG59XG5cbmZ1bmN0aW9uIENyZWF0ZUtlbmRyYUluZGV4TG9nZ2luZ1JvbGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGFsbG93S2VuZHJhVG9Mb2dQb2xpY3kgPSBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImNsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YVwiXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgICAgXCJjbG91ZHdhdGNoOm5hbWVzcGFjZVwiOiBcIkFXUy9LZW5kcmFcIlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOmxvZ3M6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9rZW5kcmEvKmBdLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJsb2dzOkNyZWF0ZUxvZ0dyb3VwXCJcbiAgICAgICAgXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgfSksXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3Mva2VuZHJhLypgXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwibG9nczpEZXNjcmliZUxvZ0dyb3Vwc1wiXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOiR7QXdzLlBBUlRJVElPTn06bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDovYXdzL2tlbmRyYS8qOmxvZy1zdHJlYW06KmBdLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJyxcbiAgICAgICAgICAnbG9nczpQdXRMb2dFdmVudHMnLFxuICAgICAgICAgICdsb2dzOkRlc2NyaWJlTG9nU3RyZWFtJyxcbiAgICAgICAgXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSk7XG5cbiAgY29uc3QgaW5kZXhSb2xlOiBpYW0uUm9sZSA9IG5ldyBpYW0uUm9sZShzY29wZSwgYGtlbmRyYS1pbmRleC1yb2xlLSR7aWR9YCwge1xuICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdrZW5kcmEuYW1hem9uYXdzLmNvbScpLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxsb3cgS2VuZHJhIGluZGV4IHRvIHdyaXRlIENsb3VkV2F0Y2ggTG9ncycsXG4gICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgIEFsbG93TG9nZ2luZzogYWxsb3dLZW5kcmFUb0xvZ1BvbGljeSxcbiAgICB9LFxuICB9KTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhpbmRleFJvbGUsIFt7XG4gICAgaWQ6IFwiVzExXCIsXG4gICAgcmVhc29uOiBcIlB1dE1ldHJpY0RhdGEgZG9lcyBub3QgYWxsb3cgcmVzb3VyY2Ugc3BlY2lmaWNhdGlvbiwgXCIgK1xuICAgICAgXCJzY29wZSBpcyBuYXJyb3dlZCBieSB0aGUgbmFtZXNwYWNlIGNvbmRpdGlvbi4gXCIgK1xuICAgICAgXCJodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hbWF6b25jbG91ZHdhdGNoLmh0bWxcIlxuICB9XSk7XG4gIGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcyhpbmRleFJvbGUsIFtcIklBTV9OT19JTkxJTkVfUE9MSUNZX0NIRUNLXCJdKTtcblxuICByZXR1cm4gaW5kZXhSb2xlLnJvbGVBcm47XG59XG5cbi8vIEBzdW1tYXJ5IENvbmZpcm0gZWFjaCBlbnRyeSBpcyBhIGNvcnJlY3QgdmFsdWUsIHVwcGVyY2FzZSBlYWNoIGVudHJ5XG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplS2VuZHJhUGVybWlzc2lvbnMocmF3UGVybWlzc2lvbnM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICBjb25zdCB2YWxpZFBlcm1pc3Npb25zID0gW1wiUkVBRFwiLCBcIlNVQk1JVEZFRURCQUNLXCIsIFwiV1JJVEVcIl07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmF3UGVybWlzc2lvbnMubWFwPHN0cmluZz4oKHMpID0+IHtcbiAgICBjb25zdCB1cHBlckNhc2VWYWx1ZSA9IHMudG9VcHBlckNhc2UoKTtcbiAgICBpZiAoIXZhbGlkUGVybWlzc2lvbnMuaW5jbHVkZXModXBwZXJDYXNlVmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW5kZXhQZXJtaXNzaW9uIHZhbHVlIC0gdmFsaWQgdmFsdWVzIGFyZSBcIlJFQURcIiwgXCJTVUJNSVRGRUVEQkFDS1wiIGFuZCBcIldSSVRFXCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIHVwcGVyQ2FzZVZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtlbmRyYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQTZCSCw0Q0F3QkM7QUFLRCxvRUFZQztBQUtELGtEQWVDO0FBaUpELGdFQVdDO0FBcFBEOzs7R0FHRztBQUVILGlEQUFpRDtBQUNqRCwyQ0FBMkM7QUFDM0MsbUNBQTBJO0FBQzFJLDZDQUFrQztBQUlsQyx1REFBNEQ7QUFZNUQ7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtJQUN6Rix1Q0FBdUM7SUFDdkMsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQiwwRUFBMEU7UUFDMUUsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDaEMsQ0FBQztTQUFNLENBQUM7UUFFTixJQUFJLFlBQVksR0FBVyxFQUFFLENBQUM7UUFFOUIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDckMsWUFBWSxHQUFHLDRCQUE0QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsTUFBTSxzQkFBc0IsR0FBRyxJQUFBLHlDQUF1QixFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV6RSxNQUFNLDJCQUEyQixHQUFHLElBQUEsd0JBQWdCLEVBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckcsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUMvRixJQUFBLDJCQUFtQixFQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixFQUFFLEVBQUUsS0FBSztnQkFDVCxN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SSxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztRQUMzRyxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBrZW5kcmEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtlbmRyYSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMsIGFkZENmblN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMsIGdlbmVyYXRlUGh5c2ljYWxLZW5kcmFJbmRleE5hbWUsIG92ZXJyaWRlUHJvcHMgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgQXdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERlZmF1bHRLZW5kcmFJbmRleFByb3BzIH0gZnJvbSAnLi9rZW5kcmEtZGVmYXVsdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkS2VuZHJhSW5kZXhQcm9wcyB7XG4gIHJlYWRvbmx5IGtlbmRyYUluZGV4UHJvcHM/OiBrZW5kcmEuQ2ZuSW5kZXhQcm9wcyB8IGFueTtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIEtlbmRyYSBJbmRleCBvYmplY3QsIFByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGtlbmRyYUluZGV4UHJvcHMgd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0luZGV4T2JqPzoga2VuZHJhLkNmbkluZGV4O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEtlbmRyYUluZGV4KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWlsZEtlbmRyYUluZGV4UHJvcHMpOiBrZW5kcmEuQ2ZuSW5kZXgge1xuICAvLyBDb25kaXRpb25hbCBsYW1iZGEgZnVuY3Rpb24gY3JlYXRpb25cbiAgaWYgKHByb3BzLmV4aXN0aW5nSW5kZXhPYmopIHtcbiAgICAvLyBUaGUgY2xpZW50IHByb3ZpZGVkIGFuIEluZGV4LCBzbyB3ZSdsbCBkbyBub3RoaW5nIGFuZCByZXR1cm4gaXQgdG8gdGhlbVxuICAgIHJldHVybiBwcm9wcy5leGlzdGluZ0luZGV4T2JqO1xuICB9IGVsc2Uge1xuXG4gICAgbGV0IGluZGV4Um9sZUFybjogc3RyaW5nID0gXCJcIjtcblxuICAgIC8vIElmIHRoZSBjbGllbnQgcHJvdmlkZWQgYSByb2xlLCB0aGVuIGRvbid0IGJvdGhlciBjcmVhdGluZyBhIG5ldyBvbmUgdGhhdCB3ZSBkb24ndCBuZWVkXG4gICAgaWYgKCFwcm9wcy5rZW5kcmFJbmRleFByb3BzPy5yb2xlQXJuKSB7XG4gICAgICBpbmRleFJvbGVBcm4gPSBDcmVhdGVLZW5kcmFJbmRleExvZ2dpbmdSb2xlKHNjb3BlLCBpZCk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRJbmRleFByb3BlcnRpZXMgPSBEZWZhdWx0S2VuZHJhSW5kZXhQcm9wcyhpZCwgaW5kZXhSb2xlQXJuKTtcblxuICAgIGNvbnN0IGNvbnNvbGlkYXRlZEluZGV4UHJvcGVydGllcyA9IGNvbnNvbGlkYXRlUHJvcHMoZGVmYXVsdEluZGV4UHJvcGVydGllcywgcHJvcHMua2VuZHJhSW5kZXhQcm9wcyk7XG4gICAgY29uc3QgbmV3SW5kZXggPSBuZXcga2VuZHJhLkNmbkluZGV4KHNjb3BlLCBga2VuZHJhLWluZGV4LSR7aWR9YCwgY29uc29saWRhdGVkSW5kZXhQcm9wZXJ0aWVzKTtcbiAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld0luZGV4LCBbe1xuICAgICAgaWQ6IFwiVzgwXCIsXG4gICAgICByZWFzb246IFwiV2UgY29uc3VsdGVkIHRoZSBLZW5kcmEgVEZDIGFuZCB0aGV5IGNvbmZpcm1lZCB0aGUgZGVmYXVsdCBlbmNyeXB0aW9uIGlzIHN1ZmZpY2llbnQgZm9yIGdlbmVyYWwgdXNlIGNhc2VzXCJcbiAgICB9XSk7XG5cbiAgICByZXR1cm4gbmV3SW5kZXg7XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQWRkTXVsdGlwbGVLZW5kcmFEYXRhU291cmNlcyhzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBrZW5kcmFJbmRleDoga2VuZHJhLkNmbkluZGV4LFxuICBjbGllbnREYXRhU291cmNlUHJvcHM6IFBhcnRpYWw8a2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcz5bXSk6IGtlbmRyYS5DZm5EYXRhU291cmNlW10ge1xuXG4gIGNvbnN0IHJldHVybkRhdGFTb3VyY2VzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVtdID0gW107XG4gIGNsaWVudERhdGFTb3VyY2VQcm9wcy5mb3JFYWNoKChwcm9wcywgaW5kZXgpID0+IHtcbiAgICBjb25zdCBhZGRpdGlvbmFsRGF0YVNvdXJjZSA9IEFkZEtlbmRyYURhdGFTb3VyY2Uoc2NvcGUsIGAke2lkfSR7aW5kZXh9YCwga2VuZHJhSW5kZXgsIHByb3BzKTtcbiAgICBhZGRpdGlvbmFsRGF0YVNvdXJjZS5hZGREZXBlbmRlbmN5KGtlbmRyYUluZGV4KTtcbiAgICByZXR1cm5EYXRhU291cmNlcy5wdXNoKGFkZGl0aW9uYWxEYXRhU291cmNlKTtcbiAgfSk7XG4gIHJldHVybiByZXR1cm5EYXRhU291cmNlcztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQWRkS2VuZHJhRGF0YVNvdXJjZShzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLCBpbmRleDoga2VuZHJhLkNmbkluZGV4LFxuICBjbGllbnREYXRhU291cmNlUHJvcHM6IGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHMgfCBhbnkpOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZSB7XG5cbiAgaWYgIChjbGllbnREYXRhU291cmNlUHJvcHMudHlwZSA9PT0gJ1MzJykge1xuICAgIHJldHVybiBDcmVhdGVTM0RhdGFTb3VyY2Uoc2NvcGUsIGluZGV4LCBpZCwgY2xpZW50RGF0YVNvdXJjZVByb3BzKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoY2xpZW50RGF0YVNvdXJjZVByb3BzLmluZGV4SWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBEYXRhU291cmNlIHByb3Agc3BlY2lmaWVkIC0gQ29uc3RydWN0IG11c3Qgc2V0IHRoZSBpbmRleElkIHByb3AnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBrZW5kcmEuQ2ZuRGF0YVNvdXJjZShzY29wZSwgYGtlbmRyYS1kYXRhLXNvdXJjZS0ke2lkfWAsIHtcbiAgICAgIC4uLmNsaWVudERhdGFTb3VyY2VQcm9wcyxcbiAgICAgIGluZGV4SWQ6IGluZGV4LmF0dHJJZFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIENyZWF0ZVMzRGF0YVNvdXJjZShzY29wZTogQ29uc3RydWN0LFxuICB0YXJnZXRJbmRleDoga2VuZHJhLkNmbkluZGV4LFxuICBpZDogc3RyaW5nLFxuICBjbGllbnRQcm9wczogUGFydGlhbDxrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzPik6IGtlbmRyYS5DZm5EYXRhU291cmNlIHtcblxuICAvLyBXZSBnbyB0aHJvdWdoIHNvbWUgaG9vcHMgaGVyZSB0byBleHRyYWN0IHRoZSB2YXJpb3VzIGlucHV0cywgYmVjYXVzZSB3ZSBuZWVkIHRvIG5hcnJvd1xuICAvLyB0aGUgdHlwZSB0byByZW1vdmUgdGhlIHVuaW9uIHdpdGggSVJlc29sdmFibGVcbiAgY29uc3QgZGF0YVNvdXJjZUNvbmZpZyA9IGNsaWVudFByb3BzLmRhdGFTb3VyY2VDb25maWd1cmF0aW9uIGFzIGtlbmRyYS5DZm5EYXRhU291cmNlLkRhdGFTb3VyY2VDb25maWd1cmF0aW9uUHJvcGVydHk7XG4gIGlmICghZGF0YVNvdXJjZUNvbmZpZykge1xuICAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgLSBhbiBTMyBLZW5kcmEgRGF0YVNvdXJjZSByZXF1aXJlcyBhbiBEYXRhU291cmNlQ29uZmlndXJhdGlvbiBwcm9wJyk7XG4gIH1cblxuICBjb25zdCBzM0RhdGFTb3VyY2VDb25maWcgPSBkYXRhU291cmNlQ29uZmlnLnMzQ29uZmlndXJhdGlvbiBhcyBrZW5kcmEuQ2ZuRGF0YVNvdXJjZS5TM0RhdGFTb3VyY2VDb25maWd1cmF0aW9uUHJvcGVydHk7XG5cbiAgaWYgKCFzM0RhdGFTb3VyY2VDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIC0gYW4gUzMgS2VuZHJhIERhdGFTb3VyY2UgcmVxdWlyZXMgYW4gRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24uUzNDb25maWd1cmF0aW9uIHByb3AnKTtcbiAgfVxuXG4gIC8vIE5vIEJ1Y2tldCBuYW1lIGlzIGFuIGVycm9yXG4gIGlmICghczNEYXRhU291cmNlQ29uZmlnLmJ1Y2tldE5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIC0gYW4gUzMgS2VuZHJhIERhdGFTb3VyY2UgcmVxdWlyZXMgdGhlIERhdGFTb3VyY2VDb25maWd1cmF0aW9uLlMzQ29uZmlndXJhdGlvbi5idWNrZXROYW1lIHByb3AnKTtcbiAgfVxuXG4gIC8vIElmIHRoZXJlJ3Mgbm8gcm9sZSwgbWFrZSBhIHJvbGUgYW5kIHB1dCBpdCBpbnRvIGRlZmF1bHRQcm9wc1xuICAvLyBQdXQgYnVja2V0IG5hbWUgaW4gZGVmYXVsdCBwcm9wc1xuICBsZXQgZGVmYXVsdFByb3BzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzID0ge1xuICAgIGluZGV4SWQ6IHRhcmdldEluZGV4LnJlZixcbiAgICBuYW1lOiBnZW5lcmF0ZVBoeXNpY2FsS2VuZHJhSW5kZXhOYW1lKCcnLCBbJ3MzLWRhdGFzb3VyY2UnLCBpZF0pLFxuICAgIHR5cGU6ICdTMydcbiAgfTtcblxuICAvLyBSZXR1cm4gY29uc29saWRhdGVkIGRlZmF1bHQgYW5kIHVzZXIgcHJvcHNcbiAgaWYgKCFjbGllbnRQcm9wcy5yb2xlQXJuKSB7XG4gICAgY29uc3QgczNDcmF3bFBvbGljeSA9IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7czNEYXRhU291cmNlQ29uZmlnLmJ1Y2tldE5hbWV9LypgXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1dcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInMzOkxpc3RCdWNrZXRcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7czNEYXRhU291cmNlQ29uZmlnLmJ1Y2tldE5hbWV9YFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwia2VuZHJhOkJhdGNoUHV0RG9jdW1lbnRcIixcbiAgICAgICAgICAgIFwia2VuZHJhOkJhdGNoRGVsZXRlRG9jdW1lbnRcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICB0YXJnZXRJbmRleC5hdHRyQXJuXG4gICAgICAgICAgXVxuICAgICAgICB9KSxcbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGNvbnN0IGRhdGFTb3VyY2VSb2xlOiBpYW0uUm9sZSA9IG5ldyBpYW0uUm9sZShzY29wZSwgYGRhdGEtc291cmNlLXJvbGUtJHtpZH1gLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgna2VuZHJhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUG9saWN5IGZvciBLZW5kcmEgUzMgRGF0YSBTb3VyY2UnLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgczNDcmF3bFBvbGljeSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGVmYXVsdFByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0UHJvcHMsIHsgcm9sZUFybjogZGF0YVNvdXJjZVJvbGUucm9sZUFybiB9KTtcbiAgICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoZGF0YVNvdXJjZVJvbGUsIFtcIklBTV9OT19JTkxJTkVfUE9MSUNZX0NIRUNLXCJdKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnNvbGlkYXRlZFByb3BzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0UHJvcHMsIGNsaWVudFByb3BzKTtcblxuICByZXR1cm4gbmV3IGtlbmRyYS5DZm5EYXRhU291cmNlKHNjb3BlLCBgZGF0YS1zb3VyY2UtJHtpZH1gLCBjb25zb2xpZGF0ZWRQcm9wcyk7XG5cbn1cblxuZnVuY3Rpb24gQ3JlYXRlS2VuZHJhSW5kZXhMb2dnaW5nUm9sZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgYWxsb3dLZW5kcmFUb0xvZ1BvbGljeSA9IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgIHN0YXRlbWVudHM6IFtcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwiY2xvdWR3YXRjaDpQdXRNZXRyaWNEYXRhXCJcbiAgICAgICAgXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgU3RyaW5nRXF1YWxzOiB7XG4gICAgICAgICAgICBcImNsb3Vkd2F0Y2g6bmFtZXNwYWNlXCI6IFwiQVdTL0tlbmRyYVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDovYXdzL2tlbmRyYS8qYF0sXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImxvZ3M6Q3JlYXRlTG9nR3JvdXBcIlxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICB9KSxcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke0F3cy5QQVJUSVRJT059OmxvZ3M6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9rZW5kcmEvKmBdLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJsb2dzOkRlc2NyaWJlTG9nR3JvdXBzXCJcbiAgICAgICAgXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgfSksXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW2Bhcm46JHtBd3MuUEFSVElUSU9OfTpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3Mva2VuZHJhLyo6bG9nLXN0cmVhbToqYF0sXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAnbG9nczpDcmVhdGVMb2dTdHJlYW0nLFxuICAgICAgICAgICdsb2dzOlB1dExvZ0V2ZW50cycsXG4gICAgICAgICAgJ2xvZ3M6RGVzY3JpYmVMb2dTdHJlYW0nLFxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICB9KSxcbiAgICBdLFxuICB9KTtcblxuICBjb25zdCBpbmRleFJvbGU6IGlhbS5Sb2xlID0gbmV3IGlhbS5Sb2xlKHNjb3BlLCBga2VuZHJhLWluZGV4LXJvbGUtJHtpZH1gLCB7XG4gICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2tlbmRyYS5hbWF6b25hd3MuY29tJyksXG4gICAgZGVzY3JpcHRpb246ICdBbGxvdyBLZW5kcmEgaW5kZXggdG8gd3JpdGUgQ2xvdWRXYXRjaCBMb2dzJyxcbiAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgQWxsb3dMb2dnaW5nOiBhbGxvd0tlbmRyYVRvTG9nUG9saWN5LFxuICAgIH0sXG4gIH0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGluZGV4Um9sZSwgW3tcbiAgICBpZDogXCJXMTFcIixcbiAgICByZWFzb246IFwiUHV0TWV0cmljRGF0YSBkb2VzIG5vdCBhbGxvdyByZXNvdXJjZSBzcGVjaWZpY2F0aW9uLCBcIiArXG4gICAgICBcInNjb3BlIGlzIG5hcnJvd2VkIGJ5IHRoZSBuYW1lc3BhY2UgY29uZGl0aW9uLiBcIiArXG4gICAgICBcImh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X2FtYXpvbmNsb3Vkd2F0Y2guaHRtbFwiXG4gIH1dKTtcbiAgYWRkQ2ZuR3VhcmRTdXBwcmVzc1J1bGVzKGluZGV4Um9sZSwgW1wiSUFNX05PX0lOTElORV9QT0xJQ1lfQ0hFQ0tcIl0pO1xuXG4gIHJldHVybiBpbmRleFJvbGUucm9sZUFybjtcbn1cblxuLy8gQHN1bW1hcnkgQ29uZmlybSBlYWNoIGVudHJ5IGlzIGEgY29ycmVjdCB2YWx1ZSwgdXBwZXJjYXNlIGVhY2ggZW50cnlcbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVLZW5kcmFQZXJtaXNzaW9ucyhyYXdQZXJtaXNzaW9uczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHZhbGlkUGVybWlzc2lvbnMgPSBbXCJSRUFEXCIsIFwiU1VCTUlURkVFREJBQ0tcIiwgXCJXUklURVwiXTtcblxuICBjb25zdCByZXN1bHQgPSByYXdQZXJtaXNzaW9ucy5tYXA8c3RyaW5nPigocykgPT4ge1xuICAgIGNvbnN0IHVwcGVyQ2FzZVZhbHVlID0gcy50b1VwcGVyQ2FzZSgpO1xuICAgIGlmICghdmFsaWRQZXJtaXNzaW9ucy5pbmNsdWRlcyh1cHBlckNhc2VWYWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbmRleFBlcm1pc3Npb24gdmFsdWUgLSB2YWxpZCB2YWx1ZXMgYXJlIFwiUkVBRFwiLCBcIlNVQk1JVEZFRURCQUNLXCIgYW5kIFwiV1JJVEVcImApO1xuICAgIH1cbiAgICByZXR1cm4gdXBwZXJDYXNlVmFsdWU7XG4gIH0pO1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
package/lib/waf-helper.js
CHANGED
|
@@ -27,7 +27,10 @@ function buildWebacl(scope, webaclScope, props) {
|
|
|
27
27
|
}
|
|
28
28
|
else { // Create a new WAF web ACL
|
|
29
29
|
const finalWebaclProps = (0, utils_1.consolidateProps)((0, waf_defaults_1.DefaultWafwebaclProps)(webaclScope), props.webaclProps);
|
|
30
|
-
webAcl = new waf.CfnWebACL(scope, `${scope.node.id}-WebACL`,
|
|
30
|
+
webAcl = new waf.CfnWebACL(scope, `${scope.node.id}-WebACL`, {
|
|
31
|
+
...finalWebaclProps,
|
|
32
|
+
defaultAction: props.webaclProps?.defaultAction ?? finalWebaclProps.defaultAction
|
|
33
|
+
});
|
|
31
34
|
}
|
|
32
35
|
return webAcl;
|
|
33
36
|
}
|
|
@@ -42,4 +45,4 @@ function CheckWafWebAclProps(propsObject) {
|
|
|
42
45
|
throw new Error(errorMessages);
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FmLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndhZi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQTBCSCxrQ0FlQztBQU9ELGtEQVlDO0FBcERELDZDQUE2QztBQUM3QyxpREFBdUQ7QUFDdkQsbUNBQTJDO0FBYTNDOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLEtBQWdCLEVBQUUsV0FBbUIsRUFBRSxLQUF1QjtJQUN4RixJQUFJLE1BQU0sQ0FBQztJQUVYLElBQUksS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsdUJBQXVCO1FBQzFFLE1BQU0sR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDbkMsQ0FBQztTQUFNLENBQUMsQ0FBQywyQkFBMkI7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBdUIsSUFBQSx3QkFBZ0IsRUFBQyxJQUFBLG9DQUFxQixFQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVySCxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUU7WUFDM0QsR0FBRyxnQkFBZ0I7WUFDbkIsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsYUFBYSxJQUFJLGdCQUFnQixDQUFDLGFBQWE7U0FDbEYsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFPRCxTQUFnQixtQkFBbUIsQ0FBQyxXQUFpQztJQUNuRSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQUksV0FBVyxDQUFDLGlCQUFpQixJQUFJLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxhQUFhLElBQUksMEVBQTBFLENBQUM7UUFDNUYsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB3YWYgZnJvbSBcImF3cy1jZGstbGliL2F3cy13YWZ2MlwiO1xuaW1wb3J0IHsgRGVmYXVsdFdhZndlYmFjbFByb3BzIH0gZnJvbSBcIi4vd2FmLWRlZmF1bHRzXCI7XG5pbXBvcnQgeyBjb25zb2xpZGF0ZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRXZWJhY2xQcm9wcyB7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBhIFdBRiB3ZWIgQUNMLCBpZiB0aGlzIGlzIHNldCB0aGVuIHRoZSBhbGwgcHJvcHMgYXJlIGlnbm9yZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nV2ViYWNsT2JqPzogd2FmLkNmbldlYkFDTDtcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgQUNMIHByb3BzIGZvciBXQUYgd2ViIEFDTC5cbiAgICovXG4gIHJlYWRvbmx5IHdlYmFjbFByb3BzPzogd2FmLkNmbldlYkFDTFByb3BzIHwgYW55O1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFdlYmFjbChzY29wZTogQ29uc3RydWN0LCB3ZWJhY2xTY29wZTogc3RyaW5nLCBwcm9wczogQnVpbGRXZWJhY2xQcm9wcyk6IHdhZi5DZm5XZWJBQ0wge1xuICBsZXQgd2ViQWNsO1xuXG4gIGlmIChwcm9wcy5leGlzdGluZ1dlYmFjbE9iaiAmJiAhcHJvcHMud2ViYWNsUHJvcHMpIHsgLy8gRXhpc3RpbmcgV0FGIHdlYiBBQ0xcbiAgICB3ZWJBY2wgPSBwcm9wcy5leGlzdGluZ1dlYmFjbE9iajtcbiAgfSBlbHNlIHsgLy8gQ3JlYXRlIGEgbmV3IFdBRiB3ZWIgQUNMXG4gICAgY29uc3QgZmluYWxXZWJhY2xQcm9wczogd2FmLkNmbldlYkFDTFByb3BzID0gY29uc29saWRhdGVQcm9wcyhEZWZhdWx0V2Fmd2ViYWNsUHJvcHMod2ViYWNsU2NvcGUpLCBwcm9wcy53ZWJhY2xQcm9wcyk7XG5cbiAgICB3ZWJBY2wgPSBuZXcgd2FmLkNmbldlYkFDTChzY29wZSwgYCR7c2NvcGUubm9kZS5pZH0tV2ViQUNMYCwge1xuICAgICAgLi4uZmluYWxXZWJhY2xQcm9wcyxcbiAgICAgIGRlZmF1bHRBY3Rpb246IHByb3BzLndlYmFjbFByb3BzPy5kZWZhdWx0QWN0aW9uID8/IGZpbmFsV2ViYWNsUHJvcHMuZGVmYXVsdEFjdGlvblxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHdlYkFjbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYWZXZWJBY2xQcm9wcyB7XG4gIHJlYWRvbmx5IGV4aXN0aW5nV2ViYWNsT2JqOiB3YWYuQ2ZuV2ViQUNMLFxuICByZWFkb25seSB3ZWJhY2xQcm9wczogd2FmLkNmbldlYkFDTFByb3BzLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tXYWZXZWJBY2xQcm9wcyhwcm9wc09iamVjdDogV2FmV2ViQWNsUHJvcHMgfCBhbnkpIHtcbiAgbGV0IGVycm9yTWVzc2FnZXMgPSAnJztcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAocHJvcHNPYmplY3QuZXhpc3RpbmdXZWJhY2xPYmogJiYgcHJvcHNPYmplY3Qud2ViYWNsUHJvcHMpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nV2ViYWNsT2JqIG9yIHdlYmFjbFByb3BzLCBidXQgbm90IGJvdGguXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59Il19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.87.0",
|
|
4
4
|
"description": "Core CDK Construct for patterns library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.ts",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"@types/jest": "^27.4.0",
|
|
67
67
|
"@types/node": "^10.3.0",
|
|
68
68
|
"constructs": "^10.0.0",
|
|
69
|
-
"aws-cdk-lib": "2.
|
|
69
|
+
"aws-cdk-lib": "2.206.0"
|
|
70
70
|
},
|
|
71
71
|
"jest": {
|
|
72
72
|
"moduleFileExtensions": [
|
|
@@ -89,6 +89,6 @@
|
|
|
89
89
|
],
|
|
90
90
|
"peerDependencies": {
|
|
91
91
|
"constructs": "^10.0.0",
|
|
92
|
-
"aws-cdk-lib": "^2.
|
|
92
|
+
"aws-cdk-lib": "^2.206.0"
|
|
93
93
|
}
|
|
94
94
|
}
|