@aws-solutions-constructs/core 2.72.0 → 2.73.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 +303 -10
- package/index.d.ts +2 -0
- package/index.js +3 -1
- package/lib/apigateway-defaults.js +2 -2
- package/lib/cloudfront-distribution-helper.js +2 -2
- package/lib/kendra-defaults.js +2 -2
- package/lib/kendra-helper.js +2 -2
- package/lib/pipes-defaults.d.ts +15 -0
- package/lib/pipes-defaults.js +33 -0
- package/lib/pipes-helper.d.ts +56 -0
- package/lib/pipes-helper.js +197 -0
- package/lib/step-function-helper.js +2 -4
- package/lib/utils.d.ts +5 -0
- package/lib/utils.js +27 -2
- package/package.json +1 -1
- package/test/pipes-helper.test.d.ts +13 -0
- package/test/pipes-helper.test.js +695 -0
- package/test/test-helper.d.ts +1 -0
- package/test/test-helper.js +8 -3
- package/test/utils.test.js +10 -1
package/lib/kendra-defaults.js
CHANGED
|
@@ -19,10 +19,10 @@ const utils_1 = require("./utils");
|
|
|
19
19
|
*/
|
|
20
20
|
function DefaultKendraIndexProps(id, roleArn) {
|
|
21
21
|
return {
|
|
22
|
-
name: (0, utils_1.
|
|
22
|
+
name: (0, utils_1.generatePhysicalKendraIndexName)("", ["KendraIndex", id]),
|
|
23
23
|
roleArn,
|
|
24
24
|
edition: 'DEVELOPER_EDITION',
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
exports.DefaultKendraIndexProps = DefaultKendraIndexProps;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsia2VuZHJhLWRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBR0gsbUNBQTBEO0FBRTFEOztHQUVHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsRUFBVSxFQUFFLE9BQWdCO0lBQ2xFLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBQSx1Q0FBK0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTztRQUNQLE9BQU8sRUFBRSxtQkFBbUI7S0FDTCxDQUFDO0FBQzVCLENBQUM7QUFORCwwREFNQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCAqIGFzIGtlbmRyYSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta2VuZHJhJztcbmltcG9ydCB7IGdlbmVyYXRlUGh5c2ljYWxLZW5kcmFJbmRleE5hbWUgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEZWZhdWx0S2VuZHJhSW5kZXhQcm9wcyhpZDogc3RyaW5nLCByb2xlQXJuPzogc3RyaW5nKToga2VuZHJhLkNmbkluZGV4UHJvcHMge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IGdlbmVyYXRlUGh5c2ljYWxLZW5kcmFJbmRleE5hbWUoXCJcIiwgW1wiS2VuZHJhSW5kZXhcIiwgaWRdKSxcbiAgICByb2xlQXJuLFxuICAgIGVkaXRpb246ICdERVZFTE9QRVJfRURJVElPTicsXG4gIH0gYXMga2VuZHJhLkNmbkluZGV4UHJvcHM7XG59XG4iXX0=
|
package/lib/kendra-helper.js
CHANGED
|
@@ -96,7 +96,7 @@ function CreateS3DataSource(scope, targetIndex, id, clientProps) {
|
|
|
96
96
|
// Put bucket name in default props
|
|
97
97
|
let defaultProps = {
|
|
98
98
|
indexId: targetIndex.ref,
|
|
99
|
-
name: (0, utils_1.
|
|
99
|
+
name: (0, utils_1.generatePhysicalKendraIndexName)('', ['s3-datasource', id]),
|
|
100
100
|
type: 'S3'
|
|
101
101
|
};
|
|
102
102
|
// Return consolidated default and user props
|
|
@@ -215,4 +215,4 @@ function normalizeKendraPermissions(rawPermissions) {
|
|
|
215
215
|
return result;
|
|
216
216
|
}
|
|
217
217
|
exports.normalizeKendraPermissions = normalizeKendraPermissions;
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtlbmRyYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSDs7O0dBR0c7QUFFSCxpREFBaUQ7QUFDakQsMkNBQTJDO0FBQzNDLG1DQUErSDtBQUMvSCw2Q0FBa0M7QUFJbEMsdURBQTREO0FBWTVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7SUFDekYsdUNBQXVDO0lBQ3ZDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsMEVBQTBFO1FBQzFFLE9BQU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ2hDLENBQUM7U0FBTSxDQUFDO1FBRU4sSUFBSSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTlCLHlGQUF5RjtRQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLFlBQVksR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sc0JBQXNCLEdBQUcsSUFBQSx5Q0FBdUIsRUFBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFekUsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLHdCQUFnQixFQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFDL0YsSUFBQSwyQkFBbUIsRUFBQyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLDJHQUEyRzthQUNwSCxDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8s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O0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQVhELGdFQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBrZW5kcmEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtlbmRyYSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMsIGFkZENmblN1cHByZXNzUnVsZXMsIGNvbnNvbGlkYXRlUHJvcHMsIGdlbmVyYXRlUGh5c2ljYWxOYW1lLCBvdmVycmlkZVByb3BzIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IEF3cyB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEZWZhdWx0S2VuZHJhSW5kZXhQcm9wcyB9IGZyb20gJy4va2VuZHJhLWRlZmF1bHRzJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEtlbmRyYUluZGV4UHJvcHMge1xuICByZWFkb25seSBrZW5kcmFJbmRleFByb3BzPzoga2VuZHJhLkNmbkluZGV4UHJvcHMgfCBhbnk7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBLZW5kcmEgSW5kZXggb2JqZWN0LCBQcm92aWRpbmcgYm90aCB0aGlzIGFuZCBrZW5kcmFJbmRleFByb3BzIHdpbGwgY2F1c2UgYW4gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdJbmRleE9iaj86IGtlbmRyYS5DZm5JbmRleDtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRLZW5kcmFJbmRleChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVpbGRLZW5kcmFJbmRleFByb3BzKToga2VuZHJhLkNmbkluZGV4IHtcbiAgLy8gQ29uZGl0aW9uYWwgbGFtYmRhIGZ1bmN0aW9uIGNyZWF0aW9uXG4gIGlmIChwcm9wcy5leGlzdGluZ0luZGV4T2JqKSB7XG4gICAgLy8gVGhlIGNsaWVudCBwcm92aWRlZCBhbiBJbmRleCwgc28gd2UnbGwgZG8gbm90aGluZyBhbmQgcmV0dXJuIGl0IHRvIHRoZW1cbiAgICByZXR1cm4gcHJvcHMuZXhpc3RpbmdJbmRleE9iajtcbiAgfSBlbHNlIHtcblxuICAgIGxldCBpbmRleFJvbGVBcm46IHN0cmluZyA9IFwiXCI7XG5cbiAgICAvLyBJZiB0aGUgY2xpZW50IHByb3ZpZGVkIGEgcm9sZSwgdGhlbiBkb24ndCBib3RoZXIgY3JlYXRpbmcgYSBuZXcgb25lIHRoYXQgd2UgZG9uJ3QgbmVlZFxuICAgIGlmICghcHJvcHMua2VuZHJhSW5kZXhQcm9wcz8ucm9sZUFybikge1xuICAgICAgaW5kZXhSb2xlQXJuID0gQ3JlYXRlS2VuZHJhSW5kZXhMb2dnaW5nUm9sZShzY29wZSwgaWQpO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0SW5kZXhQcm9wZXJ0aWVzID0gRGVmYXVsdEtlbmRyYUluZGV4UHJvcHMoaWQsIGluZGV4Um9sZUFybik7XG5cbiAgICBjb25zdCBjb25zb2xpZGF0ZWRJbmRleFByb3BlcnRpZXMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRJbmRleFByb3BlcnRpZXMsIHByb3BzLmtlbmRyYUluZGV4UHJvcHMpO1xuICAgIGNvbnN0IG5ld0luZGV4ID0gbmV3IGtlbmRyYS5DZm5JbmRleChzY29wZSwgYGtlbmRyYS1pbmRleC0ke2lkfWAsIGNvbnNvbGlkYXRlZEluZGV4UHJvcGVydGllcyk7XG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhuZXdJbmRleCwgW3tcbiAgICAgIGlkOiBcIlc4MFwiLFxuICAgICAgcmVhc29uOiBcIldlIGNvbnN1bHRlZCB0aGUgS2VuZHJhIFRGQyBhbmQgdGhleSBjb25maXJtZWQgdGhlIGRlZmF1bHQgZW5jcnlwdGlvbiBpcyBzdWZmaWNpZW50IGZvciBnZW5lcmFsIHVzZSBjYXNlc1wiXG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIG5ld0luZGV4O1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFkZE11bHRpcGxlS2VuZHJhRGF0YVNvdXJjZXMoc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAga2VuZHJhSW5kZXg6IGtlbmRyYS5DZm5JbmRleCxcbiAgY2xpZW50RGF0YVNvdXJjZVByb3BzOiBBcnJheTxQYXJ0aWFsPGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHM+Pik6IGtlbmRyYS5DZm5EYXRhU291cmNlW10ge1xuXG4gIGNvbnN0IHJldHVybkRhdGFTb3VyY2VzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVtdID0gW107XG4gIGNsaWVudERhdGFTb3VyY2VQcm9wcy5mb3JFYWNoKChwcm9wcywgaW5kZXgpID0+IHtcbiAgICByZXR1cm5EYXRhU291cmNlcy5wdXNoKEFkZEtlbmRyYURhdGFTb3VyY2Uoc2NvcGUsIGAke2lkfSR7aW5kZXh9YCwga2VuZHJhSW5kZXgsIHByb3BzKSk7XG4gIH0pO1xuICByZXR1cm4gcmV0dXJuRGF0YVNvdXJjZXM7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEFkZEtlbmRyYURhdGFTb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZywgaW5kZXg6IGtlbmRyYS5DZm5JbmRleCxcbiAgY2xpZW50RGF0YVNvdXJjZVByb3BzOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzIHwgYW55KToga2VuZHJhLkNmbkRhdGFTb3VyY2Uge1xuXG4gIGlmICAoY2xpZW50RGF0YVNvdXJjZVByb3BzLnR5cGUgPT09ICdTMycpIHtcbiAgICByZXR1cm4gQ3JlYXRlUzNEYXRhU291cmNlKHNjb3BlLCBpbmRleCwgaWQsIGNsaWVudERhdGFTb3VyY2VQcm9wcyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKGNsaWVudERhdGFTb3VyY2VQcm9wcy5pbmRleElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgRGF0YVNvdXJjZSBwcm9wIHNwZWNpZmllZCAtIENvbnN0cnVjdCBtdXN0IHNldCB0aGUgaW5kZXhJZCBwcm9wJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcga2VuZHJhLkNmbkRhdGFTb3VyY2Uoc2NvcGUsIGBrZW5kcmEtZGF0YS1zb3VyY2UtJHtpZH1gLCB7XG4gICAgICAuLi5jbGllbnREYXRhU291cmNlUHJvcHMsXG4gICAgICBpbmRleElkOiBpbmRleC5hdHRySWRcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBDcmVhdGVTM0RhdGFTb3VyY2Uoc2NvcGU6IENvbnN0cnVjdCxcbiAgdGFyZ2V0SW5kZXg6IGtlbmRyYS5DZm5JbmRleCxcbiAgaWQ6IHN0cmluZyxcbiAgY2xpZW50UHJvcHM6IFBhcnRpYWw8a2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcz4pOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZSB7XG5cbiAgLy8gV2UgZ28gdGhyb3VnaCBzb21lIGhvb3BzIGhlcmUgdG8gZXh0cmFjdCB0aGUgdmFyaW91cyBpbnB1dHMsIGJlY2F1c2Ugd2UgbmVlZCB0byBuYXJyb3dcbiAgLy8gdGhlIHR5cGUgdG8gcmVtb3ZlIHRoZSB1bmlvbiB3aXRoIElSZXNvbHZhYmxlXG4gIGNvbnN0IGRhdGFTb3VyY2VDb25maWcgPSBjbGllbnRQcm9wcy5kYXRhU291cmNlQ29uZmlndXJhdGlvbiBhcyBrZW5kcmEuQ2ZuRGF0YVNvdXJjZS5EYXRhU291cmNlQ29uZmlndXJhdGlvblByb3BlcnR5O1xuICBpZiAoIWRhdGFTb3VyY2VDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Vycm9yIC0gYW4gUzMgS2VuZHJhIERhdGFTb3VyY2UgcmVxdWlyZXMgYW4gRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24gcHJvcCcpO1xuICB9XG5cbiAgY29uc3QgczNEYXRhU291cmNlQ29uZmlnID0gZGF0YVNvdXJjZUNvbmZpZy5zM0NvbmZpZ3VyYXRpb24gYXMga2VuZHJhLkNmbkRhdGFTb3VyY2UuUzNEYXRhU291cmNlQ29uZmlndXJhdGlvblByb3BlcnR5O1xuXG4gIGlmICghczNEYXRhU291cmNlQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciAtIGFuIFMzIEtlbmRyYSBEYXRhU291cmNlIHJlcXVpcmVzIGFuIERhdGFTb3VyY2VDb25maWd1cmF0aW9uLlMzQ29uZmlndXJhdGlvbiBwcm9wJyk7XG4gIH1cblxuICAvLyBObyBCdWNrZXQgbmFtZSBpcyBhbiBlcnJvclxuICBpZiAoIXMzRGF0YVNvdXJjZUNvbmZpZy5idWNrZXROYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciAtIGFuIFMzIEtlbmRyYSBEYXRhU291cmNlIHJlcXVpcmVzIHRoZSBEYXRhU291cmNlQ29uZmlndXJhdGlvbi5TM0NvbmZpZ3VyYXRpb24uYnVja2V0TmFtZSBwcm9wJyk7XG4gIH1cblxuICAvLyBJZiB0aGVyZSdzIG5vIHJvbGUsIG1ha2UgYSByb2xlIGFuZCBwdXQgaXQgaW50byBkZWZhdWx0UHJvcHNcbiAgLy8gUHV0IGJ1Y2tldCBuYW1lIGluIGRlZmF1bHQgcHJvcHNcbiAgbGV0IGRlZmF1bHRQcm9wczoga2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcyA9IHtcbiAgICBpbmRleElkOiB0YXJnZXRJbmRleC5yZWYsXG4gICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbE5hbWUoJycsIFsnczMtZGF0YXNvdXJjZScsIGlkXSwgMTAwMCksXG4gICAgdHlwZTogJ1MzJ1xuICB9O1xuXG4gIC8vIFJldHVybiBjb25zb2xpZGF0ZWQgZGVmYXVsdCBhbmQgdXNlciBwcm9wc1xuICBpZiAoIWNsaWVudFByb3BzLnJvbGVBcm4pIHtcbiAgICBjb25zdCBzM0NyYXdsUG9saWN5ID0gbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInMzOkdldE9iamVjdFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIGBhcm46YXdzOnMzOjo6JHtzM0RhdGFTb3VyY2VDb25maWcuYnVja2V0TmFtZX0vKmBcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPV1xuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiczM6TGlzdEJ1Y2tldFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIGBhcm46YXdzOnMzOjo6JHtzM0RhdGFTb3VyY2VDb25maWcuYnVja2V0TmFtZX1gXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1dcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJrZW5kcmE6QmF0Y2hQdXREb2N1bWVudFwiLFxuICAgICAgICAgICAgXCJrZW5kcmE6QmF0Y2hEZWxldGVEb2N1bWVudFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIHRhcmdldEluZGV4LmF0dHJBcm5cbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YVNvdXJjZVJvbGU6IGlhbS5Sb2xlID0gbmV3IGlhbS5Sb2xlKHNjb3BlLCBgZGF0YS1zb3VyY2Utcm9sZS0ke2lkfWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdrZW5kcmEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdQb2xpY3kgZm9yIEtlbmRyYSBTMyBEYXRhIFNvdXJjZScsXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBzM0NyYXdsUG9saWN5LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkZWZhdWx0UHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRQcm9wcywgeyByb2xlQXJuOiBkYXRhU291cmNlUm9sZS5yb2xlQXJuIH0pO1xuICAgIGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcyhkYXRhU291cmNlUm9sZSwgW1wiSUFNX05PX0lOTElORV9QT0xJQ1lfQ0hFQ0tcIl0pO1xuICB9XG5cbiAgY29uc3QgY29uc29saWRhdGVkUHJvcHM6IGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRQcm9wcywgY2xpZW50UHJvcHMpO1xuXG4gIHJldHVybiBuZXcga2VuZHJhLkNmbkRhdGFTb3VyY2Uoc2NvcGUsIGBkYXRhLXNvdXJjZS0ke2lkfWAsIGNvbnNvbGlkYXRlZFByb3BzKTtcblxufVxuXG5mdW5jdGlvbiBDcmVhdGVLZW5kcmFJbmRleExvZ2dpbmdSb2xlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhbGxvd0tlbmRyYVRvTG9nUG9saWN5ID0gbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgc3RhdGVtZW50czogW1xuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGFcIlxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgIFwiY2xvdWR3YXRjaDpuYW1lc3BhY2VcIjogXCJBV1MvS2VuZHJhXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3Mva2VuZHJhLypgXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwibG9nczpDcmVhdGVMb2dHcm91cFwiXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOiR7QXdzLlBBUlRJVElPTn06bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDovYXdzL2tlbmRyYS8qYF0sXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImxvZ3M6RGVzY3JpYmVMb2dHcm91cHNcIlxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICB9KSxcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke0F3cy5QQVJUSVRJT059OmxvZ3M6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9rZW5kcmEvKjpsb2ctc3RyZWFtOipgXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsXG4gICAgICAgICAgJ2xvZ3M6UHV0TG9nRXZlbnRzJyxcbiAgICAgICAgICAnbG9nczpEZXNjcmliZUxvZ1N0cmVhbScsXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0pO1xuXG4gIGNvbnN0IGluZGV4Um9sZTogaWFtLlJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIGBrZW5kcmEtaW5kZXgtcm9sZS0ke2lkfWAsIHtcbiAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgna2VuZHJhLmFtYXpvbmF3cy5jb20nKSxcbiAgICBkZXNjcmlwdGlvbjogJ0FsbG93IEtlbmRyYSBpbmRleCB0byB3cml0ZSBDbG91ZFdhdGNoIExvZ3MnLFxuICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICBBbGxvd0xvZ2dpbmc6IGFsbG93S2VuZHJhVG9Mb2dQb2xpY3ksXG4gICAgfSxcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoaW5kZXhSb2xlLCBbe1xuICAgIGlkOiBcIlcxMVwiLFxuICAgIHJlYXNvbjogXCJQdXRNZXRyaWNEYXRhIGRvZXMgbm90IGFsbG93IHJlc291cmNlIHNwZWNpZmljYXRpb24sIFwiICtcbiAgICAgIFwic2NvcGUgaXMgbmFycm93ZWQgYnkgdGhlIG5hbWVzcGFjZSBjb25kaXRpb24uIFwiICtcbiAgICAgIFwiaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYW1hem9uY2xvdWR3YXRjaC5odG1sXCJcbiAgfV0pO1xuICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoaW5kZXhSb2xlLCBbXCJJQU1fTk9fSU5MSU5FX1BPTElDWV9DSEVDS1wiXSk7XG5cbiAgcmV0dXJuIGluZGV4Um9sZS5yb2xlQXJuO1xufVxuXG4vLyBAc3VtbWFyeSBDb25maXJtIGVhY2ggZW50cnkgaXMgYSBjb3JyZWN0IHZhbHVlLCB1cHBlcmNhc2UgZWFjaCBlbnRyeVxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUtlbmRyYVBlcm1pc3Npb25zKHJhd1Blcm1pc3Npb25zOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgdmFsaWRQZXJtaXNzaW9ucyA9IFtcIlJFQURcIiwgXCJTVUJNSVRGRUVEQkFDS1wiLCBcIldSSVRFXCJdO1xuXG4gIGNvbnN0IHJlc3VsdCA9IHJhd1Blcm1pc3Npb25zLm1hcDxzdHJpbmc+KChzKSA9PiB7XG4gICAgY29uc3QgdXBwZXJDYXNlVmFsdWUgPSBzLnRvVXBwZXJDYXNlKCk7XG4gICAgaWYgKCF2YWxpZFBlcm1pc3Npb25zLmluY2x1ZGVzKHVwcGVyQ2FzZVZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZGV4UGVybWlzc2lvbiB2YWx1ZSAtIHZhbGlkIHZhbHVlcyBhcmUgXCJSRUFEXCIsIFwiU1VCTUlURkVFREJBQ0tcIiBhbmQgXCJXUklURVwiYCk7XG4gICAgfVxuICAgIHJldHVybiB1cHBlckNhc2VWYWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImtlbmRyYS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFFSDs7O0dBR0c7QUFFSCxpREFBaUQ7QUFDakQsMkNBQTJDO0FBQzNDLG1DQUEwSTtBQUMxSSw2Q0FBa0M7QUFJbEMsdURBQTREO0FBWTVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7SUFDekYsdUNBQXVDO0lBQ3ZDLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0IsMEVBQTBFO1FBQzFFLE9BQU8sS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBQ2hDLENBQUM7U0FBTSxDQUFDO1FBRU4sSUFBSSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTlCLHlGQUF5RjtRQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3JDLFlBQVksR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE1BQU0sc0JBQXNCLEdBQUcsSUFBQSx5Q0FBdUIsRUFBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFekUsTUFBTSwyQkFBMkIsR0FBRyxJQUFBLHdCQUFnQixFQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFDL0YsSUFBQSwyQkFBbUIsRUFBQyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsRUFBRSxFQUFFLEtBQUs7Z0JBQ1QsTUFBTSxFQUFFLDJHQUEyRzthQUNwSCxDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8s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LE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBWEQsZ0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGtlbmRyYSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta2VuZHJhJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcywgYWRkQ2ZuU3VwcHJlc3NSdWxlcywgY29uc29saWRhdGVQcm9wcywgZ2VuZXJhdGVQaHlzaWNhbEtlbmRyYUluZGV4TmFtZSwgb3ZlcnJpZGVQcm9wcyB9IGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGVmYXVsdEtlbmRyYUluZGV4UHJvcHMgfSBmcm9tICcuL2tlbmRyYS1kZWZhdWx0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRLZW5kcmFJbmRleFByb3BzIHtcbiAgcmVhZG9ubHkga2VuZHJhSW5kZXhQcm9wcz86IGtlbmRyYS5DZm5JbmRleFByb3BzIHwgYW55O1xuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgS2VuZHJhIEluZGV4IG9iamVjdCwgUHJvdmlkaW5nIGJvdGggdGhpcyBhbmQga2VuZHJhSW5kZXhQcm9wcyB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nSW5kZXhPYmo/OiBrZW5kcmEuQ2ZuSW5kZXg7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkS2VuZHJhSW5kZXgoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1aWxkS2VuZHJhSW5kZXhQcm9wcyk6IGtlbmRyYS5DZm5JbmRleCB7XG4gIC8vIENvbmRpdGlvbmFsIGxhbWJkYSBmdW5jdGlvbiBjcmVhdGlvblxuICBpZiAocHJvcHMuZXhpc3RpbmdJbmRleE9iaikge1xuICAgIC8vIFRoZSBjbGllbnQgcHJvdmlkZWQgYW4gSW5kZXgsIHNvIHdlJ2xsIGRvIG5vdGhpbmcgYW5kIHJldHVybiBpdCB0byB0aGVtXG4gICAgcmV0dXJuIHByb3BzLmV4aXN0aW5nSW5kZXhPYmo7XG4gIH0gZWxzZSB7XG5cbiAgICBsZXQgaW5kZXhSb2xlQXJuOiBzdHJpbmcgPSBcIlwiO1xuXG4gICAgLy8gSWYgdGhlIGNsaWVudCBwcm92aWRlZCBhIHJvbGUsIHRoZW4gZG9uJ3QgYm90aGVyIGNyZWF0aW5nIGEgbmV3IG9uZSB0aGF0IHdlIGRvbid0IG5lZWRcbiAgICBpZiAoIXByb3BzLmtlbmRyYUluZGV4UHJvcHM/LnJvbGVBcm4pIHtcbiAgICAgIGluZGV4Um9sZUFybiA9IENyZWF0ZUtlbmRyYUluZGV4TG9nZ2luZ1JvbGUoc2NvcGUsIGlkKTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdEluZGV4UHJvcGVydGllcyA9IERlZmF1bHRLZW5kcmFJbmRleFByb3BzKGlkLCBpbmRleFJvbGVBcm4pO1xuXG4gICAgY29uc3QgY29uc29saWRhdGVkSW5kZXhQcm9wZXJ0aWVzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0SW5kZXhQcm9wZXJ0aWVzLCBwcm9wcy5rZW5kcmFJbmRleFByb3BzKTtcbiAgICBjb25zdCBuZXdJbmRleCA9IG5ldyBrZW5kcmEuQ2ZuSW5kZXgoc2NvcGUsIGBrZW5kcmEtaW5kZXgtJHtpZH1gLCBjb25zb2xpZGF0ZWRJbmRleFByb3BlcnRpZXMpO1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMobmV3SW5kZXgsIFt7XG4gICAgICBpZDogXCJXODBcIixcbiAgICAgIHJlYXNvbjogXCJXZSBjb25zdWx0ZWQgdGhlIEtlbmRyYSBURkMgYW5kIHRoZXkgY29uZmlybWVkIHRoZSBkZWZhdWx0IGVuY3J5cHRpb24gaXMgc3VmZmljaWVudCBmb3IgZ2VuZXJhbCB1c2UgY2FzZXNcIlxuICAgIH1dKTtcblxuICAgIHJldHVybiBuZXdJbmRleDtcbiAgfVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBZGRNdWx0aXBsZUtlbmRyYURhdGFTb3VyY2VzKHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIGtlbmRyYUluZGV4OiBrZW5kcmEuQ2ZuSW5kZXgsXG4gIGNsaWVudERhdGFTb3VyY2VQcm9wczogQXJyYXk8UGFydGlhbDxrZW5kcmEuQ2ZuRGF0YVNvdXJjZVByb3BzPj4pOiBrZW5kcmEuQ2ZuRGF0YVNvdXJjZVtdIHtcblxuICBjb25zdCByZXR1cm5EYXRhU291cmNlczoga2VuZHJhLkNmbkRhdGFTb3VyY2VbXSA9IFtdO1xuICBjbGllbnREYXRhU291cmNlUHJvcHMuZm9yRWFjaCgocHJvcHMsIGluZGV4KSA9PiB7XG4gICAgcmV0dXJuRGF0YVNvdXJjZXMucHVzaChBZGRLZW5kcmFEYXRhU291cmNlKHNjb3BlLCBgJHtpZH0ke2luZGV4fWAsIGtlbmRyYUluZGV4LCBwcm9wcykpO1xuICB9KTtcbiAgcmV0dXJuIHJldHVybkRhdGFTb3VyY2VzO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBZGRLZW5kcmFEYXRhU291cmNlKHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsIGluZGV4OiBrZW5kcmEuQ2ZuSW5kZXgsXG4gIGNsaWVudERhdGFTb3VyY2VQcm9wczoga2VuZHJhLkNmbkRhdGFTb3VyY2VQcm9wcyB8IGFueSk6IGtlbmRyYS5DZm5EYXRhU291cmNlIHtcblxuICBpZiAgKGNsaWVudERhdGFTb3VyY2VQcm9wcy50eXBlID09PSAnUzMnKSB7XG4gICAgcmV0dXJuIENyZWF0ZVMzRGF0YVNvdXJjZShzY29wZSwgaW5kZXgsIGlkLCBjbGllbnREYXRhU291cmNlUHJvcHMpO1xuICB9IGVsc2Uge1xuICAgIGlmIChjbGllbnREYXRhU291cmNlUHJvcHMuaW5kZXhJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIERhdGFTb3VyY2UgcHJvcCBzcGVjaWZpZWQgLSBDb25zdHJ1Y3QgbXVzdCBzZXQgdGhlIGluZGV4SWQgcHJvcCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IGtlbmRyYS5DZm5EYXRhU291cmNlKHNjb3BlLCBga2VuZHJhLWRhdGEtc291cmNlLSR7aWR9YCwge1xuICAgICAgLi4uY2xpZW50RGF0YVNvdXJjZVByb3BzLFxuICAgICAgaW5kZXhJZDogaW5kZXguYXR0cklkXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gQ3JlYXRlUzNEYXRhU291cmNlKHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHRhcmdldEluZGV4OiBrZW5kcmEuQ2ZuSW5kZXgsXG4gIGlkOiBzdHJpbmcsXG4gIGNsaWVudFByb3BzOiBQYXJ0aWFsPGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHM+KToga2VuZHJhLkNmbkRhdGFTb3VyY2Uge1xuXG4gIC8vIFdlIGdvIHRocm91Z2ggc29tZSBob29wcyBoZXJlIHRvIGV4dHJhY3QgdGhlIHZhcmlvdXMgaW5wdXRzLCBiZWNhdXNlIHdlIG5lZWQgdG8gbmFycm93XG4gIC8vIHRoZSB0eXBlIHRvIHJlbW92ZSB0aGUgdW5pb24gd2l0aCBJUmVzb2x2YWJsZVxuICBjb25zdCBkYXRhU291cmNlQ29uZmlnID0gY2xpZW50UHJvcHMuZGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24gYXMga2VuZHJhLkNmbkRhdGFTb3VyY2UuRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eTtcbiAgaWYgKCFkYXRhU291cmNlQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciAtIGFuIFMzIEtlbmRyYSBEYXRhU291cmNlIHJlcXVpcmVzIGFuIERhdGFTb3VyY2VDb25maWd1cmF0aW9uIHByb3AnKTtcbiAgfVxuXG4gIGNvbnN0IHMzRGF0YVNvdXJjZUNvbmZpZyA9IGRhdGFTb3VyY2VDb25maWcuczNDb25maWd1cmF0aW9uIGFzIGtlbmRyYS5DZm5EYXRhU291cmNlLlMzRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eTtcblxuICBpZiAoIXMzRGF0YVNvdXJjZUNvbmZpZykge1xuICAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgLSBhbiBTMyBLZW5kcmEgRGF0YVNvdXJjZSByZXF1aXJlcyBhbiBEYXRhU291cmNlQ29uZmlndXJhdGlvbi5TM0NvbmZpZ3VyYXRpb24gcHJvcCcpO1xuICB9XG5cbiAgLy8gTm8gQnVja2V0IG5hbWUgaXMgYW4gZXJyb3JcbiAgaWYgKCFzM0RhdGFTb3VyY2VDb25maWcuYnVja2V0TmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgLSBhbiBTMyBLZW5kcmEgRGF0YVNvdXJjZSByZXF1aXJlcyB0aGUgRGF0YVNvdXJjZUNvbmZpZ3VyYXRpb24uUzNDb25maWd1cmF0aW9uLmJ1Y2tldE5hbWUgcHJvcCcpO1xuICB9XG5cbiAgLy8gSWYgdGhlcmUncyBubyByb2xlLCBtYWtlIGEgcm9sZSBhbmQgcHV0IGl0IGludG8gZGVmYXVsdFByb3BzXG4gIC8vIFB1dCBidWNrZXQgbmFtZSBpbiBkZWZhdWx0IHByb3BzXG4gIGxldCBkZWZhdWx0UHJvcHM6IGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHMgPSB7XG4gICAgaW5kZXhJZDogdGFyZ2V0SW5kZXgucmVmLFxuICAgIG5hbWU6IGdlbmVyYXRlUGh5c2ljYWxLZW5kcmFJbmRleE5hbWUoJycsIFsnczMtZGF0YXNvdXJjZScsIGlkXSksXG4gICAgdHlwZTogJ1MzJ1xuICB9O1xuXG4gIC8vIFJldHVybiBjb25zb2xpZGF0ZWQgZGVmYXVsdCBhbmQgdXNlciBwcm9wc1xuICBpZiAoIWNsaWVudFByb3BzLnJvbGVBcm4pIHtcbiAgICBjb25zdCBzM0NyYXdsUG9saWN5ID0gbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInMzOkdldE9iamVjdFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIGBhcm46YXdzOnMzOjo6JHtzM0RhdGFTb3VyY2VDb25maWcuYnVja2V0TmFtZX0vKmBcbiAgICAgICAgICBdLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPV1xuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiczM6TGlzdEJ1Y2tldFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIGBhcm46YXdzOnMzOjo6JHtzM0RhdGFTb3VyY2VDb25maWcuYnVja2V0TmFtZX1gXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1dcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJrZW5kcmE6QmF0Y2hQdXREb2N1bWVudFwiLFxuICAgICAgICAgICAgXCJrZW5kcmE6QmF0Y2hEZWxldGVEb2N1bWVudFwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIHRhcmdldEluZGV4LmF0dHJBcm5cbiAgICAgICAgICBdXG4gICAgICAgIH0pLFxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YVNvdXJjZVJvbGU6IGlhbS5Sb2xlID0gbmV3IGlhbS5Sb2xlKHNjb3BlLCBgZGF0YS1zb3VyY2Utcm9sZS0ke2lkfWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdrZW5kcmEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdQb2xpY3kgZm9yIEtlbmRyYSBTMyBEYXRhIFNvdXJjZScsXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBzM0NyYXdsUG9saWN5LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkZWZhdWx0UHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRQcm9wcywgeyByb2xlQXJuOiBkYXRhU291cmNlUm9sZS5yb2xlQXJuIH0pO1xuICAgIGFkZENmbkd1YXJkU3VwcHJlc3NSdWxlcyhkYXRhU291cmNlUm9sZSwgW1wiSUFNX05PX0lOTElORV9QT0xJQ1lfQ0hFQ0tcIl0pO1xuICB9XG5cbiAgY29uc3QgY29uc29saWRhdGVkUHJvcHM6IGtlbmRyYS5DZm5EYXRhU291cmNlUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRQcm9wcywgY2xpZW50UHJvcHMpO1xuXG4gIHJldHVybiBuZXcga2VuZHJhLkNmbkRhdGFTb3VyY2Uoc2NvcGUsIGBkYXRhLXNvdXJjZS0ke2lkfWAsIGNvbnNvbGlkYXRlZFByb3BzKTtcblxufVxuXG5mdW5jdGlvbiBDcmVhdGVLZW5kcmFJbmRleExvZ2dpbmdSb2xlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhbGxvd0tlbmRyYVRvTG9nUG9saWN5ID0gbmV3IGlhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgc3RhdGVtZW50czogW1xuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgXCJjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGFcIlxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgIFwiY2xvdWR3YXRjaDpuYW1lc3BhY2VcIjogXCJBV1MvS2VuZHJhXCJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3Mva2VuZHJhLypgXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwibG9nczpDcmVhdGVMb2dHcm91cFwiXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIH0pLFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICByZXNvdXJjZXM6IFtgYXJuOiR7QXdzLlBBUlRJVElPTn06bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDovYXdzL2tlbmRyYS8qYF0sXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBcImxvZ3M6RGVzY3JpYmVMb2dHcm91cHNcIlxuICAgICAgICBdLFxuICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICB9KSxcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgcmVzb3VyY2VzOiBbYGFybjoke0F3cy5QQVJUSVRJT059OmxvZ3M6JHtBd3MuUkVHSU9OfToke0F3cy5BQ0NPVU5UX0lEfTpsb2ctZ3JvdXA6L2F3cy9rZW5kcmEvKjpsb2ctc3RyZWFtOipgXSxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsXG4gICAgICAgICAgJ2xvZ3M6UHV0TG9nRXZlbnRzJyxcbiAgICAgICAgICAnbG9nczpEZXNjcmliZUxvZ1N0cmVhbScsXG4gICAgICAgIF0sXG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0pO1xuXG4gIGNvbnN0IGluZGV4Um9sZTogaWFtLlJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIGBrZW5kcmEtaW5kZXgtcm9sZS0ke2lkfWAsIHtcbiAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgna2VuZHJhLmFtYXpvbmF3cy5jb20nKSxcbiAgICBkZXNjcmlwdGlvbjogJ0FsbG93IEtlbmRyYSBpbmRleCB0byB3cml0ZSBDbG91ZFdhdGNoIExvZ3MnLFxuICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICBBbGxvd0xvZ2dpbmc6IGFsbG93S2VuZHJhVG9Mb2dQb2xpY3ksXG4gICAgfSxcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoaW5kZXhSb2xlLCBbe1xuICAgIGlkOiBcIlcxMVwiLFxuICAgIHJlYXNvbjogXCJQdXRNZXRyaWNEYXRhIGRvZXMgbm90IGFsbG93IHJlc291cmNlIHNwZWNpZmljYXRpb24sIFwiICtcbiAgICAgIFwic2NvcGUgaXMgbmFycm93ZWQgYnkgdGhlIG5hbWVzcGFjZSBjb25kaXRpb24uIFwiICtcbiAgICAgIFwiaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYW1hem9uY2xvdWR3YXRjaC5odG1sXCJcbiAgfV0pO1xuICBhZGRDZm5HdWFyZFN1cHByZXNzUnVsZXMoaW5kZXhSb2xlLCBbXCJJQU1fTk9fSU5MSU5FX1BPTElDWV9DSEVDS1wiXSk7XG5cbiAgcmV0dXJuIGluZGV4Um9sZS5yb2xlQXJuO1xufVxuXG4vLyBAc3VtbWFyeSBDb25maXJtIGVhY2ggZW50cnkgaXMgYSBjb3JyZWN0IHZhbHVlLCB1cHBlcmNhc2UgZWFjaCBlbnRyeVxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUtlbmRyYVBlcm1pc3Npb25zKHJhd1Blcm1pc3Npb25zOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgY29uc3QgdmFsaWRQZXJtaXNzaW9ucyA9IFtcIlJFQURcIiwgXCJTVUJNSVRGRUVEQkFDS1wiLCBcIldSSVRFXCJdO1xuXG4gIGNvbnN0IHJlc3VsdCA9IHJhd1Blcm1pc3Npb25zLm1hcDxzdHJpbmc+KChzKSA9PiB7XG4gICAgY29uc3QgdXBwZXJDYXNlVmFsdWUgPSBzLnRvVXBwZXJDYXNlKCk7XG4gICAgaWYgKCF2YWxpZFBlcm1pc3Npb25zLmluY2x1ZGVzKHVwcGVyQ2FzZVZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluZGV4UGVybWlzc2lvbiB2YWx1ZSAtIHZhbGlkIHZhbHVlcyBhcmUgXCJSRUFEXCIsIFwiU1VCTUlURkVFREJBQ0tcIiBhbmQgXCJXUklURVwiYCk7XG4gICAgfVxuICAgIHJldHVybiB1cHBlckNhc2VWYWx1ZTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
export declare function defaultPipesProps(): any;
|
|
14
|
+
export declare function defaultSqsSourceProps(): any;
|
|
15
|
+
export declare function defaultStateMachineTargetProps(): any;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.defaultStateMachineTargetProps = exports.defaultSqsSourceProps = exports.defaultPipesProps = void 0;
|
|
16
|
+
// import * as pipes from 'aws-cdk-lib/aws-pipes';
|
|
17
|
+
function defaultPipesProps() {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
exports.defaultPipesProps = defaultPipesProps;
|
|
21
|
+
function defaultSqsSourceProps() {
|
|
22
|
+
return {};
|
|
23
|
+
}
|
|
24
|
+
exports.defaultSqsSourceProps = defaultSqsSourceProps;
|
|
25
|
+
function defaultStateMachineTargetProps() {
|
|
26
|
+
return {
|
|
27
|
+
stepFunctionStateMachineParameters: {
|
|
28
|
+
invocationType: 'FIRE_AND_FORGET'
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.defaultStateMachineTargetProps = defaultStateMachineTargetProps;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMtZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlcy1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVILGtEQUFrRDtBQUVsRCxTQUFnQixpQkFBaUI7SUFDL0IsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixxQkFBcUI7SUFDbkMsT0FBTyxFQUNOLENBQUM7QUFDSixDQUFDO0FBSEQsc0RBR0M7QUFFRCxTQUFnQiw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLGtDQUFrQyxFQUFFO1lBQ2xDLGNBQWMsRUFBRSxpQkFBaUI7U0FDbEM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQU5ELHdFQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gaW1wb3J0ICogYXMgcGlwZXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXBpcGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRQaXBlc1Byb3BzKCk6IGFueSB7XG4gIHJldHVybiB7fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTcXNTb3VyY2VQcm9wcygpOiBhbnkge1xuICByZXR1cm4ge1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFN0YXRlTWFjaGluZVRhcmdldFByb3BzKCk6IGFueSB7XG4gIHJldHVybiB7XG4gICAgc3RlcEZ1bmN0aW9uU3RhdGVNYWNoaW5lUGFyYW1ldGVyczoge1xuICAgICAgaW52b2NhdGlvblR5cGU6ICdGSVJFX0FORF9GT1JHRVQnXG4gICAgfVxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import * as pipes from 'aws-cdk-lib/aws-pipes';
|
|
14
|
+
import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
15
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
16
|
+
import * as logs from 'aws-cdk-lib/aws-logs';
|
|
17
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
18
|
+
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
|
|
19
|
+
import * as cdk from 'aws-cdk-lib';
|
|
20
|
+
import { Construct } from 'constructs';
|
|
21
|
+
export declare enum PipesLogLevel {
|
|
22
|
+
OFF = "OFF",
|
|
23
|
+
TRACE = "TRACE",
|
|
24
|
+
INFO = "INFO",
|
|
25
|
+
ERROR = "ERROR"
|
|
26
|
+
}
|
|
27
|
+
export interface CreateSourceResponse {
|
|
28
|
+
readonly sourceParameters: pipes.CfnPipe.PipeSourceParametersProperty;
|
|
29
|
+
readonly sourceArn: string;
|
|
30
|
+
readonly sourcePolicy: iam.PolicyDocument;
|
|
31
|
+
}
|
|
32
|
+
export interface BuildPipesProps {
|
|
33
|
+
readonly source: CreateSourceResponse;
|
|
34
|
+
readonly target: CreateTargetResponse;
|
|
35
|
+
readonly enrichmentFunction?: lambda.Function;
|
|
36
|
+
readonly enrichmentStateMachine?: sfn.StateMachine;
|
|
37
|
+
readonly clientProps?: any | pipes.CfnPipeProps;
|
|
38
|
+
readonly logLevel?: PipesLogLevel;
|
|
39
|
+
readonly pipeLogProps?: logs.LogGroupProps;
|
|
40
|
+
}
|
|
41
|
+
export interface BuildPipesResponse {
|
|
42
|
+
readonly pipe: pipes.CfnPipe;
|
|
43
|
+
readonly pipeRole: iam.Role;
|
|
44
|
+
}
|
|
45
|
+
export declare function BuildPipe(scope: Construct, id: string, props: BuildPipesProps): BuildPipesResponse;
|
|
46
|
+
export declare function CreateSqsSource(queue: sqs.IQueue, clientProps?: pipes.CfnPipe.PipeSourceParametersProperty | cdk.IResolvable): CreateSourceResponse;
|
|
47
|
+
export interface CreateTargetResponse {
|
|
48
|
+
readonly targetParameters: pipes.CfnPipe.PipeTargetParametersProperty;
|
|
49
|
+
readonly targetArn: string;
|
|
50
|
+
readonly targetPolicy: iam.PolicyDocument;
|
|
51
|
+
}
|
|
52
|
+
export declare function CreateStateMachineTarget(stateMachine: sfn.IStateMachine, clientProps?: pipes.CfnPipe.PipeTargetParametersProperty | cdk.IResolvable): CreateTargetResponse;
|
|
53
|
+
export interface PipesProps {
|
|
54
|
+
readonly pipesProps?: pipes.CfnPipeProps;
|
|
55
|
+
}
|
|
56
|
+
export declare function CheckPipesProps(propsObject: PipesProps | any): void;
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
6
|
+
* with the License. A copy of the License is located at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
11
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
12
|
+
* and limitations under the License.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CheckPipesProps = exports.CreateStateMachineTarget = exports.CreateSqsSource = exports.BuildPipe = exports.PipesLogLevel = void 0;
|
|
16
|
+
const pipes = require("aws-cdk-lib/aws-pipes");
|
|
17
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
18
|
+
const defaults = require("..");
|
|
19
|
+
const cdk = require("aws-cdk-lib");
|
|
20
|
+
var PipesLogLevel;
|
|
21
|
+
(function (PipesLogLevel) {
|
|
22
|
+
PipesLogLevel["OFF"] = "OFF";
|
|
23
|
+
PipesLogLevel["TRACE"] = "TRACE";
|
|
24
|
+
PipesLogLevel["INFO"] = "INFO";
|
|
25
|
+
PipesLogLevel["ERROR"] = "ERROR";
|
|
26
|
+
})(PipesLogLevel || (exports.PipesLogLevel = PipesLogLevel = {}));
|
|
27
|
+
function BuildPipe(scope, id, props) {
|
|
28
|
+
CheckBuildPipeProps(props);
|
|
29
|
+
const pipeRole = new iam.Role(scope, `PipeRole--${id}`, {
|
|
30
|
+
assumedBy: new iam.ServicePrincipal('pipes.amazonaws.com'),
|
|
31
|
+
inlinePolicies: {
|
|
32
|
+
sourcePolicy: props.source.sourcePolicy,
|
|
33
|
+
targetPolicy: props.target.targetPolicy,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
// At this point we have the minimum values for CfnPipeProps - let's
|
|
37
|
+
// create it and fold in any additional values as we go along
|
|
38
|
+
let constructProps = {
|
|
39
|
+
roleArn: pipeRole.roleArn,
|
|
40
|
+
source: props.source.sourceArn,
|
|
41
|
+
target: props.target.targetArn,
|
|
42
|
+
sourceParameters: props.source.sourceParameters,
|
|
43
|
+
targetParameters: props.target.targetParameters,
|
|
44
|
+
};
|
|
45
|
+
// Do we have any enrichment functionality?
|
|
46
|
+
if (props.enrichmentFunction) {
|
|
47
|
+
const enrichmentSettings = createLambdaEnrichment(scope, id, props.enrichmentFunction);
|
|
48
|
+
pipeRole.attachInlinePolicy(enrichmentSettings.pipeRolePolicy);
|
|
49
|
+
constructProps = defaults.consolidateProps(constructProps, { enrichment: enrichmentSettings.enrichmentArn });
|
|
50
|
+
}
|
|
51
|
+
else if (props.enrichmentStateMachine) {
|
|
52
|
+
const enrichmentSettings = createStateMachineEnrichment(scope, id, props.enrichmentStateMachine);
|
|
53
|
+
pipeRole.attachInlinePolicy(enrichmentSettings.pipeRolePolicy);
|
|
54
|
+
constructProps = defaults.consolidateProps(constructProps, { enrichment: enrichmentSettings.enrichmentArn });
|
|
55
|
+
}
|
|
56
|
+
// Are we responsible to create the logging mechanism?
|
|
57
|
+
if (!props.clientProps?.logConfiguration) {
|
|
58
|
+
const logLevel = defaults.CheckStringWithDefault(props.logLevel, PipesLogLevel.INFO);
|
|
59
|
+
if (logLevel !== PipesLogLevel.OFF) {
|
|
60
|
+
const defaultLogGroupProps = {
|
|
61
|
+
logGroupName: createPipesLogGroupName(scope, id),
|
|
62
|
+
};
|
|
63
|
+
const consolidatedLogGroupProps = defaults.consolidateProps(defaultLogGroupProps, props.pipeLogProps);
|
|
64
|
+
const newLogGroup = defaults.buildLogGroup(scope, `LogGroup-${id}`, consolidatedLogGroupProps);
|
|
65
|
+
const logConfiguration = {
|
|
66
|
+
cloudwatchLogsLogDestination: {
|
|
67
|
+
logGroupArn: newLogGroup.logGroupArn
|
|
68
|
+
},
|
|
69
|
+
level: logLevel
|
|
70
|
+
};
|
|
71
|
+
constructProps = defaults.consolidateProps(constructProps, {
|
|
72
|
+
logConfiguration,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const consolidateProps = defaults.consolidateProps(defaults.defaultPipesProps(), props.clientProps, constructProps);
|
|
77
|
+
const newPipe = new pipes.CfnPipe(scope, `pipe-${id}`, consolidateProps);
|
|
78
|
+
return {
|
|
79
|
+
pipe: newPipe,
|
|
80
|
+
pipeRole
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
exports.BuildPipe = BuildPipe;
|
|
84
|
+
function createLambdaEnrichment(scope, id, lambdaFunction) {
|
|
85
|
+
return {
|
|
86
|
+
enrichmentArn: lambdaFunction.functionArn,
|
|
87
|
+
pipeRolePolicy: new iam.Policy(scope, `enrichmentpolicy${id}`, {
|
|
88
|
+
statements: [
|
|
89
|
+
new iam.PolicyStatement({
|
|
90
|
+
resources: [lambdaFunction.functionArn],
|
|
91
|
+
actions: ['lambda:InvokeFunction'],
|
|
92
|
+
effect: iam.Effect.ALLOW,
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
})
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function createStateMachineEnrichment(scope, id, stateMachine) {
|
|
99
|
+
return {
|
|
100
|
+
enrichmentArn: stateMachine.stateMachineArn,
|
|
101
|
+
pipeRolePolicy: new iam.Policy(scope, `enrichmentpolicy${id}`, {
|
|
102
|
+
statements: [
|
|
103
|
+
new iam.PolicyStatement({
|
|
104
|
+
resources: [stateMachine.stateMachineArn],
|
|
105
|
+
actions: ['states:StartSyncExecution'],
|
|
106
|
+
effect: iam.Effect.ALLOW,
|
|
107
|
+
})
|
|
108
|
+
]
|
|
109
|
+
})
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
function createPipesLogGroupName(scope, id) {
|
|
113
|
+
const logGroupPrefix = '/aws/vendedlogs/pipes/constructs/';
|
|
114
|
+
const nameParts = [
|
|
115
|
+
cdk.Stack.of(scope).stackName,
|
|
116
|
+
id,
|
|
117
|
+
'PipesLog'
|
|
118
|
+
];
|
|
119
|
+
return defaults.generatePhysicalLogGroupName(logGroupPrefix, nameParts);
|
|
120
|
+
}
|
|
121
|
+
// ==========================
|
|
122
|
+
// Source and Target code - as new sources and targets are required, implement them
|
|
123
|
+
// here and test the new functions.
|
|
124
|
+
function CreateSqsSource(queue, clientProps) {
|
|
125
|
+
const sourceParameters = defaults.consolidateProps(defaults.defaultSqsSourceProps(), clientProps);
|
|
126
|
+
return {
|
|
127
|
+
sourceParameters,
|
|
128
|
+
sourceArn: queue.queueArn,
|
|
129
|
+
sourcePolicy: new iam.PolicyDocument({
|
|
130
|
+
statements: [
|
|
131
|
+
new iam.PolicyStatement({
|
|
132
|
+
resources: [queue.queueArn],
|
|
133
|
+
actions: [
|
|
134
|
+
"sqs:ReceiveMessage",
|
|
135
|
+
"sqs:DeleteMessage",
|
|
136
|
+
"sqs:GetQueueAttributes",
|
|
137
|
+
],
|
|
138
|
+
effect: iam.Effect.ALLOW,
|
|
139
|
+
})
|
|
140
|
+
]
|
|
141
|
+
})
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
exports.CreateSqsSource = CreateSqsSource;
|
|
145
|
+
function CreateStateMachineTarget(stateMachine, clientProps) {
|
|
146
|
+
const targetParameters = defaults.consolidateProps(defaults.defaultStateMachineTargetProps(), clientProps);
|
|
147
|
+
return {
|
|
148
|
+
targetParameters,
|
|
149
|
+
targetArn: stateMachine.stateMachineArn,
|
|
150
|
+
targetPolicy: new iam.PolicyDocument({
|
|
151
|
+
statements: [
|
|
152
|
+
new iam.PolicyStatement({
|
|
153
|
+
resources: [stateMachine.stateMachineArn],
|
|
154
|
+
actions: ['states:StartExecution'],
|
|
155
|
+
effect: iam.Effect.ALLOW,
|
|
156
|
+
}),
|
|
157
|
+
],
|
|
158
|
+
})
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
exports.CreateStateMachineTarget = CreateStateMachineTarget;
|
|
162
|
+
// This is called by BuildPipe to validate arguments sent to BuildPipe
|
|
163
|
+
function CheckBuildPipeProps(props) {
|
|
164
|
+
if (props.enrichmentFunction && props.enrichmentStateMachine) {
|
|
165
|
+
throw new Error("ERROR - Only one of enrichmentFunction or enrichmentStateMachine can be provided");
|
|
166
|
+
}
|
|
167
|
+
if (props.clientProps && (props.clientProps.source || props.clientProps.target || props.clientProps.roleArn || props.clientProps.enrichment)) {
|
|
168
|
+
throw new Error("ERROR - BuildPipeProps cannot specify source, target, roleArn, or enrichment");
|
|
169
|
+
}
|
|
170
|
+
if (props.logLevel && props.clientProps?.logConfiguration) {
|
|
171
|
+
throw new Error('ERROR - BuildPipeProps cannot specify logLevel and logConfiguration');
|
|
172
|
+
}
|
|
173
|
+
if (props.pipeLogProps && props.clientProps?.logConfiguration) {
|
|
174
|
+
throw new Error('ERROR - BuildPipeProps cannot specify pipeLogProps and logConfiguration');
|
|
175
|
+
}
|
|
176
|
+
if (props.pipeLogProps && (props.logLevel === PipesLogLevel.OFF)) {
|
|
177
|
+
throw new Error('ERROR - BuildPipeProps cannot specify pipeLogProps and log level OFF');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// This is called by constructs to validate inputs to the construct
|
|
181
|
+
function CheckPipesProps(propsObject) {
|
|
182
|
+
let errorMessages = '';
|
|
183
|
+
let errorFound = false;
|
|
184
|
+
if (propsObject.pipesProps?.source) {
|
|
185
|
+
errorMessages += 'Do not set source in pipesProps. It is set by the construct.\n';
|
|
186
|
+
errorFound = true;
|
|
187
|
+
}
|
|
188
|
+
if (propsObject.pipesProps?.target) {
|
|
189
|
+
errorMessages += 'Do not set target in pipesProps. It is set by the construct.\n';
|
|
190
|
+
errorFound = true;
|
|
191
|
+
}
|
|
192
|
+
if (errorFound) {
|
|
193
|
+
throw new Error(errorMessages);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.CheckPipesProps = CheckPipesProps;
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGlwZXMtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBRUgsK0NBQStDO0FBRS9DLDJDQUEyQztBQUkzQywrQkFBK0I7QUFDL0IsbUNBQW1DO0FBR25DLElBQVksYUFLWDtBQUxELFdBQVksYUFBYTtJQUN2Qiw0QkFBVyxDQUFBO0lBQ1gsZ0NBQWUsQ0FBQTtJQUNmLDhCQUFhLENBQUE7SUFDYixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxhQUFhLDZCQUFiLGFBQWEsUUFLeEI7QUF1QkQsU0FBZ0IsU0FBUyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO0lBQzVFLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRTtRQUN0RCxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLENBQUM7UUFDMUQsY0FBYyxFQUFFO1lBQ2QsWUFBWSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN2QyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZO1NBQ3hDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsb0VBQW9FO0lBQ3BFLDZEQUE2RDtJQUM3RCxJQUFJLGNBQWMsR0FBdUI7UUFDdkMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO1FBQ3pCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7UUFDOUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztRQUM5QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtRQUMvQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtLQUNo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Q25DLGFBQWEsSUFBSSxnRUFBZ0UsQ0FBQztRQUNsRixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQWpCRCwwQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBwaXBlcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtcGlwZXMnO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zcXMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBzZm4gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4uXCI7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBlbnVtIFBpcGVzTG9nTGV2ZWwge1xuICBPRkYgPSBcIk9GRlwiLFxuICBUUkFDRSA9IFwiVFJBQ0VcIixcbiAgSU5GTyA9IFwiSU5GT1wiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTb3VyY2VSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHNvdXJjZVBhcmFtZXRlcnM6IHBpcGVzLkNmblBpcGUuUGlwZVNvdXJjZVBhcmFtZXRlcnNQcm9wZXJ0eSxcbiAgcmVhZG9ubHkgc291cmNlQXJuOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHNvdXJjZVBvbGljeTogaWFtLlBvbGljeURvY3VtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRQaXBlc1Byb3BzIHtcbiAgcmVhZG9ubHkgc291cmNlOiBDcmVhdGVTb3VyY2VSZXNwb25zZSxcbiAgcmVhZG9ubHkgdGFyZ2V0OiBDcmVhdGVUYXJnZXRSZXNwb25zZSxcbiAgcmVhZG9ubHkgZW5yaWNobWVudEZ1bmN0aW9uPzogbGFtYmRhLkZ1bmN0aW9uLFxuICByZWFkb25seSBlbnJpY2htZW50U3RhdGVNYWNoaW5lPzogc2ZuLlN0YXRlTWFjaGluZSxcbiAgcmVhZG9ubHkgY2xpZW50UHJvcHM/OiBhbnkgfCBwaXBlcy5DZm5QaXBlUHJvcHNcbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBQaXBlc0xvZ0xldmVsLFxuICByZWFkb25seSBwaXBlTG9nUHJvcHM/OiBsb2dzLkxvZ0dyb3VwUHJvcHNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFBpcGVzUmVzcG9uc2Uge1xuICByZWFkb25seSBwaXBlOiBwaXBlcy5DZm5QaXBlLFxuICByZWFkb25seSBwaXBlUm9sZTogaWFtLlJvbGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1aWxkUGlwZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVpbGRQaXBlc1Byb3BzKTogQnVpbGRQaXBlc1Jlc3BvbnNlIHtcbiAgQ2hlY2tCdWlsZFBpcGVQcm9wcyhwcm9wcyk7XG5cbiAgY29uc3QgcGlwZVJvbGUgPSBuZXcgaWFtLlJvbGUoc2NvcGUsIGBQaXBlUm9sZS0tJHtpZH1gLCB7XG4gICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ3BpcGVzLmFtYXpvbmF3cy5jb20nKSxcbiAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgc291cmNlUG9saWN5OiBwcm9wcy5zb3VyY2Uuc291cmNlUG9saWN5LFxuICAgICAgdGFyZ2V0UG9saWN5OiBwcm9wcy50YXJnZXQudGFyZ2V0UG9saWN5LFxuICAgIH0sXG4gIH0pO1xuXG4gIC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSB0aGUgbWluaW11bSB2YWx1ZXMgZm9yIENmblBpcGVQcm9wcyAtIGxldCdzXG4gIC8vIGNyZWF0ZSBpdCBhbmQgZm9sZCBpbiBhbnkgYWRkaXRpb25hbCB2YWx1ZXMgYXMgd2UgZ28gYWxvbmdcbiAgbGV0IGNvbnN0cnVjdFByb3BzOiBwaXBlcy5DZm5QaXBlUHJvcHMgPSB7XG4gICAgcm9sZUFybjogcGlwZVJvbGUucm9sZUFybixcbiAgICBzb3VyY2U6IHByb3BzLnNvdXJjZS5zb3VyY2VBcm4sXG4gICAgdGFyZ2V0OiBwcm9wcy50YXJnZXQudGFyZ2V0QXJuLFxuICAgIHNvdXJjZVBhcmFtZXRlcnM6IHByb3BzLnNvdXJjZS5zb3VyY2VQYXJhbWV0ZXJzLFxuICAgIHRhcmdldFBhcmFtZXRlcnM6IHByb3BzLnRhcmdldC50YXJnZXRQYXJhbWV0ZXJzLFxuICB9O1xuXG4gIC8vIERvIHdlIGhhdmUgYW55IGVucmljaG1lbnQgZnVuY3Rpb25hbGl0eT9cbiAgaWYgKHByb3BzLmVucmljaG1lbnRGdW5jdGlvbikge1xuICAgIGNvbnN0IGVucmljaG1lbnRTZXR0aW5ncyA9IGNyZWF0ZUxhbWJkYUVucmljaG1lbnQoc2NvcGUsIGlkLCBwcm9wcy5lbnJpY2htZW50RnVuY3Rpb24pO1xuICAgIHBpcGVSb2xlLmF0dGFjaElubGluZVBvbGljeShlbnJpY2htZW50U2V0dGluZ3MucGlwZVJvbGVQb2xpY3kpO1xuICAgIGNvbnN0cnVjdFByb3BzID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhjb25zdHJ1Y3RQcm9wcywgeyBlbnJpY2htZW50OiBlbnJpY2htZW50U2V0dGluZ3MuZW5yaWNobWVudEFybiB9KTtcbiAgfSBlbHNlIGlmIChwcm9wcy5lbnJpY2htZW50U3RhdGVNYWNoaW5lKSB7XG4gICAgY29uc3QgZW5yaWNobWVudFNldHRpbmdzID0gY3JlYXRlU3RhdGVNYWNoaW5lRW5yaWNobWVudChzY29wZSwgaWQsIHByb3BzLmVucmljaG1lbnRTdGF0ZU1hY2hpbmUpO1xuICAgIHBpcGVSb2xlLmF0dGFjaElubGluZVBvbGljeShlbnJpY2htZW50U2V0dGluZ3MucGlwZVJvbGVQb2xpY3kpO1xuICAgIGNvbnN0cnVjdFByb3BzID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhjb25zdHJ1Y3RQcm9wcywgeyBlbnJpY2htZW50OiBlbnJpY2htZW50U2V0dGluZ3MuZW5yaWNobWVudEFybiB9KTtcbiAgfVxuXG4gIC8vIEFyZSB3ZSByZXNwb25zaWJsZSB0byBjcmVhdGUgdGhlIGxvZ2dpbmcgbWVjaGFuaXNtP1xuICBpZiAoIXByb3BzLmNsaWVudFByb3BzPy5sb2dDb25maWd1cmF0aW9uKSB7XG5cbiAgICBjb25zdCBsb2dMZXZlbCA9IGRlZmF1bHRzLkNoZWNrU3RyaW5nV2l0aERlZmF1bHQocHJvcHMubG9nTGV2ZWwsIFBpcGVzTG9nTGV2ZWwuSU5GTyk7XG4gICAgaWYgKGxvZ0xldmVsICE9PSBQaXBlc0xvZ0xldmVsLk9GRikge1xuXG4gICAgICBjb25zdCBkZWZhdWx0TG9nR3JvdXBQcm9wcyA9IHtcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBjcmVhdGVQaXBlc0xvZ0dyb3VwTmFtZShzY29wZSwgaWQpLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRMb2dHcm91cFByb3BzLCBwcm9wcy5waXBlTG9nUHJvcHMpO1xuICAgICAgY29uc3QgbmV3TG9nR3JvdXAgPSBkZWZhdWx0cy5idWlsZExvZ0dyb3VwKHNjb3BlLCBgTG9nR3JvdXAtJHtpZH1gLCBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzKTtcbiAgICAgIGNvbnN0IGxvZ0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgICAgIGNsb3Vkd2F0Y2hMb2dzTG9nRGVzdGluYXRpb246IHtcbiAgICAgICAgICBsb2dHcm91cEFybjogbmV3TG9nR3JvdXAubG9nR3JvdXBBcm5cbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IGxvZ0xldmVsXG4gICAgICB9O1xuXG4gICAgICBjb25zdHJ1Y3RQcm9wcyA9IGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoY29uc3RydWN0UHJvcHMsIHtcbiAgICAgICAgbG9nQ29uZmlndXJhdGlvbixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbnNvbGlkYXRlUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRzLmRlZmF1bHRQaXBlc1Byb3BzKCksIHByb3BzLmNsaWVudFByb3BzLCBjb25zdHJ1Y3RQcm9wcyk7XG5cbiAgY29uc3QgbmV3UGlwZSA9IG5ldyBwaXBlcy5DZm5QaXBlKHNjb3BlLCBgcGlwZS0ke2lkfWAsIGNvbnNvbGlkYXRlUHJvcHMpO1xuXG4gIHJldHVybiB7XG4gICAgcGlwZTogbmV3UGlwZSxcbiAgICBwaXBlUm9sZVxuICB9O1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlRW5yaWNobWVudFJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgZW5yaWNobWVudEFybjogc3RyaW5nLFxuICByZWFkb25seSBwaXBlUm9sZVBvbGljeTogaWFtLlBvbGljeVxufVxuXG5mdW5jdGlvbiBjcmVhdGVMYW1iZGFFbnJpY2htZW50KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb24pOiBDcmVhdGVFbnJpY2htZW50UmVzcG9uc2Uge1xuICByZXR1cm4ge1xuICAgIGVucmljaG1lbnRBcm46IGxhbWJkYUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgIHBpcGVSb2xlUG9saWN5OiBuZXcgaWFtLlBvbGljeShzY29wZSwgYGVucmljaG1lbnRwb2xpY3kke2lkfWAsIHtcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogW2xhbWJkYUZ1bmN0aW9uLmZ1bmN0aW9uQXJuXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgfSlcbiAgICAgIF1cbiAgICB9KVxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTdGF0ZU1hY2hpbmVFbnJpY2htZW50KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHN0YXRlTWFjaGluZTogc2ZuLlN0YXRlTWFjaGluZSk6IENyZWF0ZUVucmljaG1lbnRSZXNwb25zZSB7XG4gIHJldHVybiB7XG4gICAgZW5yaWNobWVudEFybjogc3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZUFybixcbiAgICBwaXBlUm9sZVBvbGljeTogbmV3IGlhbS5Qb2xpY3koc2NvcGUsIGBlbnJpY2htZW50cG9saWN5JHtpZH1gLCB7XG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICByZXNvdXJjZXM6IFtzdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3N0YXRlczpTdGFydFN5bmNFeGVjdXRpb24nXSxcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIH0pXG4gICAgICBdXG4gICAgfSlcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlUGlwZXNMb2dHcm91cE5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGxvZ0dyb3VwUHJlZml4ID0gJy9hd3MvdmVuZGVkbG9ncy9waXBlcy9jb25zdHJ1Y3RzLyc7XG4gIGNvbnN0IG5hbWVQYXJ0czogc3RyaW5nW10gPSBbXG4gICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5zdGFja05hbWUsXG4gICAgaWQsXG4gICAgJ1BpcGVzTG9nJ1xuICBdO1xuICByZXR1cm4gZGVmYXVsdHMuZ2VuZXJhdGVQaHlzaWNhbExvZ0dyb3VwTmFtZShsb2dHcm91cFByZWZpeCwgbmFtZVBhcnRzKTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNvdXJjZSBhbmQgVGFyZ2V0IGNvZGUgLSBhcyBuZXcgc291cmNlcyBhbmQgdGFyZ2V0cyBhcmUgcmVxdWlyZWQsIGltcGxlbWVudCB0aGVtXG4vLyBoZXJlIGFuZCB0ZXN0IHRoZSBuZXcgZnVuY3Rpb25zLlxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU3FzU291cmNlKHF1ZXVlOiBzcXMuSVF1ZXVlLCBjbGllbnRQcm9wcz86IHBpcGVzLkNmblBpcGUuUGlwZVNvdXJjZVBhcmFtZXRlcnNQcm9wZXJ0eSB8IGNkay5JUmVzb2x2YWJsZSk6IENyZWF0ZVNvdXJjZVJlc3BvbnNlIHtcbiAgY29uc3Qgc291cmNlUGFyYW1ldGVyczogcGlwZXMuQ2ZuUGlwZS5QaXBlU291cmNlUGFyYW1ldGVyc1Byb3BlcnR5ID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cy5kZWZhdWx0U3FzU291cmNlUHJvcHMoKSwgY2xpZW50UHJvcHMpO1xuICByZXR1cm4ge1xuICAgIHNvdXJjZVBhcmFtZXRlcnMsXG4gICAgc291cmNlQXJuOiBxdWV1ZS5xdWV1ZUFybixcbiAgICBzb3VyY2VQb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbcXVldWUucXVldWVBcm4hXSxcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcInNxczpSZWNlaXZlTWVzc2FnZVwiLFxuICAgICAgICAgICAgXCJzcXM6RGVsZXRlTWVzc2FnZVwiLFxuICAgICAgICAgICAgXCJzcXM6R2V0UXVldWVBdHRyaWJ1dGVzXCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgIH0pXG4gICAgICBdXG4gICAgfSlcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVUYXJnZXRSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHRhcmdldFBhcmFtZXRlcnM6IHBpcGVzLkNmblBpcGUuUGlwZVRhcmdldFBhcmFtZXRlcnNQcm9wZXJ0eSxcbiAgcmVhZG9ubHkgdGFyZ2V0QXJuOiBzdHJpbmcsXG4gIHJlYWRvbmx5IHRhcmdldFBvbGljeTogaWFtLlBvbGljeURvY3VtZW50XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVTdGF0ZU1hY2hpbmVUYXJnZXQoc3RhdGVNYWNoaW5lOiBzZm4uSVN0YXRlTWFjaGluZSxcbiAgY2xpZW50UHJvcHM/OiBwaXBlcy5DZm5QaXBlLlBpcGVUYXJnZXRQYXJhbWV0ZXJzUHJvcGVydHkgfCBjZGsuSVJlc29sdmFibGUpOiBDcmVhdGVUYXJnZXRSZXNwb25zZSB7XG5cbiAgY29uc3QgdGFyZ2V0UGFyYW1ldGVyczogcGlwZXMuQ2ZuUGlwZS5QaXBlVGFyZ2V0UGFyYW1ldGVyc1Byb3BlcnR5ID1cbiAgICBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRzLmRlZmF1bHRTdGF0ZU1hY2hpbmVUYXJnZXRQcm9wcygpLCBjbGllbnRQcm9wcyk7XG4gIHJldHVybiB7XG4gICAgdGFyZ2V0UGFyYW1ldGVycyxcbiAgICB0YXJnZXRBcm46IHN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgdGFyZ2V0UG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogW3N0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmVBcm5dLFxuICAgICAgICAgIGFjdGlvbnM6IFsnc3RhdGVzOlN0YXJ0RXhlY3V0aW9uJ10sXG4gICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSlcbiAgfTtcbn1cblxuLy8gVGhpcyBpcyBjYWxsZWQgYnkgQnVpbGRQaXBlIHRvIHZhbGlkYXRlIGFyZ3VtZW50cyBzZW50IHRvIEJ1aWxkUGlwZVxuZnVuY3Rpb24gQ2hlY2tCdWlsZFBpcGVQcm9wcyhwcm9wczogQnVpbGRQaXBlc1Byb3BzKSB7XG4gIGlmIChwcm9wcy5lbnJpY2htZW50RnVuY3Rpb24gJiYgcHJvcHMuZW5yaWNobWVudFN0YXRlTWFjaGluZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkVSUk9SIC0gT25seSBvbmUgb2YgZW5yaWNobWVudEZ1bmN0aW9uIG9yIGVucmljaG1lbnRTdGF0ZU1hY2hpbmUgY2FuIGJlIHByb3ZpZGVkXCIpO1xuICB9XG5cbiAgaWYgKHByb3BzLmNsaWVudFByb3BzICYmIChwcm9wcy5jbGllbnRQcm9wcy5zb3VyY2UgfHwgcHJvcHMuY2xpZW50UHJvcHMudGFyZ2V0IHx8IHByb3BzLmNsaWVudFByb3BzLnJvbGVBcm4gfHwgcHJvcHMuY2xpZW50UHJvcHMuZW5yaWNobWVudCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFUlJPUiAtIEJ1aWxkUGlwZVByb3BzIGNhbm5vdCBzcGVjaWZ5IHNvdXJjZSwgdGFyZ2V0LCByb2xlQXJuLCBvciBlbnJpY2htZW50XCIpO1xuICB9XG5cbiAgaWYgKHByb3BzLmxvZ0xldmVsICYmIHByb3BzLmNsaWVudFByb3BzPy5sb2dDb25maWd1cmF0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFUlJPUiAtIEJ1aWxkUGlwZVByb3BzIGNhbm5vdCBzcGVjaWZ5IGxvZ0xldmVsIGFuZCBsb2dDb25maWd1cmF0aW9uJyk7XG4gIH1cbiAgaWYgKHByb3BzLnBpcGVMb2dQcm9wcyAmJiBwcm9wcy5jbGllbnRQcm9wcz8ubG9nQ29uZmlndXJhdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignRVJST1IgLSBCdWlsZFBpcGVQcm9wcyBjYW5ub3Qgc3BlY2lmeSBwaXBlTG9nUHJvcHMgYW5kIGxvZ0NvbmZpZ3VyYXRpb24nKTtcbiAgfVxuICBpZiAocHJvcHMucGlwZUxvZ1Byb3BzICYmIChwcm9wcy5sb2dMZXZlbCA9PT0gUGlwZXNMb2dMZXZlbC5PRkYpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFUlJPUiAtIEJ1aWxkUGlwZVByb3BzIGNhbm5vdCBzcGVjaWZ5IHBpcGVMb2dQcm9wcyBhbmQgbG9nIGxldmVsIE9GRicpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZXNQcm9wcyB7XG4gIHJlYWRvbmx5IHBpcGVzUHJvcHM/OiBwaXBlcy5DZm5QaXBlUHJvcHNcbn1cblxuLy8gVGhpcyBpcyBjYWxsZWQgYnkgY29uc3RydWN0cyB0byB2YWxpZGF0ZSBpbnB1dHMgdG8gdGhlIGNvbnN0cnVjdFxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrUGlwZXNQcm9wcyhwcm9wc09iamVjdDogUGlwZXNQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wc09iamVjdC5waXBlc1Byb3BzPy5zb3VyY2UpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdEbyBub3Qgc2V0IHNvdXJjZSBpbiBwaXBlc1Byb3BzLiBJdCBpcyBzZXQgYnkgdGhlIGNvbnN0cnVjdC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKHByb3BzT2JqZWN0LnBpcGVzUHJvcHM/LnRhcmdldCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0RvIG5vdCBzZXQgdGFyZ2V0IGluIHBpcGVzUHJvcHMuIEl0IGlzIHNldCBieSB0aGUgY29uc3RydWN0Llxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
|
@@ -50,16 +50,14 @@ function buildStateMachine(scope, id, props) {
|
|
|
50
50
|
if (!consolidatedLogGroupProps) {
|
|
51
51
|
consolidatedLogGroupProps = {};
|
|
52
52
|
}
|
|
53
|
-
const maxLogGroupNameLength = 255;
|
|
54
53
|
if (!consolidatedLogGroupProps?.logGroupName) {
|
|
55
54
|
const logGroupPrefix = '/aws/vendedlogs/states/constructs/';
|
|
56
|
-
const maxGeneratedNameLength = maxLogGroupNameLength - logGroupPrefix.length;
|
|
57
55
|
const nameParts = [
|
|
58
56
|
cdk.Stack.of(scope).stackName, // Name of the stack
|
|
59
57
|
id ?? scope.node.id, // Use the ID from client if provided, otherwise use the construct ID
|
|
60
58
|
'StateMachineLog' // Literal string for log group name portion
|
|
61
59
|
];
|
|
62
|
-
const logGroupName = (0, utils_1.
|
|
60
|
+
const logGroupName = (0, utils_1.generatePhysicalLogGroupName)(logGroupPrefix, nameParts);
|
|
63
61
|
consolidatedLogGroupProps = (0, utils_1.overrideProps)(consolidatedLogGroupProps, { logGroupName });
|
|
64
62
|
}
|
|
65
63
|
// Create new Cloudwatch log group for Step function State Machine
|
|
@@ -145,4 +143,4 @@ function CheckStateMachineProps(propsObject) {
|
|
|
145
143
|
}
|
|
146
144
|
}
|
|
147
145
|
exports.CheckStateMachineProps = CheckStateMachineProps;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGVwLWZ1bmN0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQVNILG1DQUFtQztBQUNuQyx1REFBdUQ7QUFDdkQscURBQXFEO0FBQ3JELG1DQUFtRjtBQUVuRix5REFBeUQ7QUFDekQsK0VBQThEO0FBSTlEOzs7OztHQUtHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBY3ZDOzs7Ozs7R0FNRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsRUFBc0IsRUFBRSxLQUE0QjtJQUV0RyxJQUFJLFFBQXdCLENBQUM7SUFDN0IsSUFBSSw2QkFBNkIsQ0FBQztJQUVsQywrQ0FBK0M7SUFDL0MsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlDLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNyRCw2QkFBNkIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixzQkFBc0I7UUFDdEIsOEVBQThFO1FBQzlFLHVGQUF1RjtRQUN2Riw2RUFBNkU7UUFDN0UsSUFBSSx5QkFBeUIsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXBELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQy9CLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7UUFDbEMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFlBQVksRUFBRSxDQUFDO1lBQzdDLE1BQU0sY0FBYyxHQUFHLG9DQUFvQyxDQUFDO1lBQzVELE1BQU0sc0JBQXNCLEdBQUcscUJBQXFCLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztZ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SUFFdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsS0FBSyxLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN6RixhQUFhLElBQUksa0ZBQWtGLENBQUM7UUFDcEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUM7QUFaRCx3REFZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgc21EZWZhdWx0cyBmcm9tICcuL3N0ZXAtZnVuY3Rpb24tZGVmYXVsdHMnO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IG92ZXJyaWRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMsIGdlbmVyYXRlUGh5c2ljYWxOYW1lIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IGJ1aWxkTG9nR3JvdXAgfSBmcm9tICcuL2Nsb3Vkd2F0Y2gtbG9nLWdyb3VwLWhlbHBlcic7XG4vLyBOb3RlOiBUbyBlbnN1cmUgQ0RLdjIgY29tcGF0aWJpbGl0eSwga2VlcCB0aGUgaW1wb3J0IHN0YXRlbWVudCBmb3IgQ29uc3RydWN0IHNlcGFyYXRlXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLypcbiAqIHRoZSBpZCBwYXJhbWV0ZXIgd2FzIGFkZGVkIHRvIGJ1aWxkU3RhdGVNYWNoaW5lKCkgbG9uZyBhZnRlciB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sXG4gKiB0aGlzIHZhbHVlIGNhbiBiZSB1c2VkIGZvciB0aGUgbmV3IHBhcmFtZXRlciBhbmQgZW5zdXJlIGJlaGF2aW9yIGlzIHRoZSBzYW1lLlxuICogKGlmIHdlIGp1c3QgcmVxdWlyZSBhbiBpZCwgdGhlIHN0YXRlIG1hY2hpbmUgbmFtZSB3aWxsIGJlIGNoYW5nZWQgYW5kIGl0IHdpbGwgYmUgYVxuICogZGVzdHJ1Y3RpdmUgY2hhbmdlKVxuICovXG5leHBvcnQgY29uc3QgaWRQbGFjZWhvbGRlciA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFN0YXRlTWFjaW5lUHJvcHMge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wczogc2ZuLlN0YXRlTWFjaGluZVByb3BzLFxuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzLFxuICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbixcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtc1ByZWZpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2Uge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmU6IHNmbi5TdGF0ZU1hY2hpbmUsXG4gIHJlYWRvbmx5IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cCxcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtcz86IGNsb3Vkd2F0Y2guQWxhcm1bXVxufVxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIEJ1aWxkcyBhbmQgcmV0dXJucyBhIFN0YXRlTWFjaGluZS5cbiAqIEBwYXJhbSBzY29wZSAtIHRoZSBjb25zdHJ1Y3QgdG8gd2hpY2ggdGhlIFN0YXRlTWFjaGluZSBzaG91bGQgYmUgYXR0YWNoZWQgdG8uXG4gKiBAcGFyYW0gc3RhdGVNYWNoaW5lUHJvcHMgLSB1c2VyLXNwZWNpZmllZCBwcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN0YXRlTWFjaGluZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm9wczogQnVpbGRTdGF0ZU1hY2luZVByb3BzKTogQnVpbGRTdGF0ZU1hY2hpbmVSZXNwb25zZSB7XG5cbiAgbGV0IGxvZ0dyb3VwOiBsb2dzLklMb2dHcm91cDtcbiAgbGV0IGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzO1xuXG4gIC8vIElmIHRoZXkgc2VudCBhIGxvZ0dyb3VwIGluIHN0YXRlTWFjaGluZVByb3BzXG4gIGlmIChwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcy5sb2dzPy5kZXN0aW5hdGlvbikge1xuICAgIGxvZ0dyb3VwID0gcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMubG9ncz8uZGVzdGluYXRpb247XG4gICAgY29uc29saWRhdGVkU3RhdGVNYWNoaW5lUHJvcHMgPSBwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcztcbiAgfSBlbHNlIHtcbiAgICAvLyBUaHJlZSBwb3NzaWJpbGl0aWVzXG4gICAgLy8gMSkgbG9nR3JvdXBQcm9wcyBub3QgcHJvdmlkZWQgLSBjcmVhdGUgbG9nR3JvdXBQcm9wcyB3aXRoIGp1c3QgbG9nR3JvdXBOYW1lXG4gICAgLy8gMikgbG9nR3JvdXBQcm9wcyBwcm92aWRlZCB3aXRoIG5vIGxvZ0dyb3VwTmFtZSAtIG92ZXJyaWRlIGxvZ0dyb3VwUHJvcHMubG9nR3JvdXBOYW1lXG4gICAgLy8gMykgbG9nR3JvdXBQcm9wcyBwcm92aWRlZCB3aXRoIGxvZ0dyb3VwTmFtZSAtIHBhc3MgdW5hbHRlcmVkIGxvZ0dyb3VwUHJvcHNcbiAgICBsZXQgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcyA9IHByb3BzLmxvZ0dyb3VwUHJvcHM7XG5cbiAgICBpZiAoIWNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMpIHtcbiAgICAgIGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSB7fTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhMb2dHcm91cE5hbWVMZW5ndGggPSAyNTU7XG4gICAgaWYgKCFjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzPy5sb2dHcm91cE5hbWUpIHtcbiAgICAgIGNvbnN0IGxvZ0dyb3VwUHJlZml4ID0gJy9hd3MvdmVuZGVkbG9ncy9zdGF0ZXMvY29uc3RydWN0cy8nO1xuICAgICAgY29uc3QgbWF4R2VuZXJhdGVkTmFtZUxlbmd0aCA9IG1heExvZ0dyb3VwTmFtZUxlbmd0aCAtIGxvZ0dyb3VwUHJlZml4Lmxlbmd0aDtcbiAgICAgIGNvbnN0IG5hbWVQYXJ0czogc3RyaW5nW10gPSBbXG4gICAgICAgIGNkay5TdGFjay5vZihzY29wZSkuc3RhY2tOYW1lLCAvLyBOYW1lIG9mIHRoZSBzdGFja1xuICAgICAgICBpZCA/PyBzY29wZS5ub2RlLmlkLCAgICAgICAgICAgLy8gVXNlIHRoZSBJRCBmcm9tIGNsaWVudCBpZiBwcm92aWRlZCwgb3RoZXJ3aXNlIHVzZSB0aGUgY29uc3RydWN0IElEXG4gICAgICAgICdTdGF0ZU1hY2hpbmVMb2cnICAgICAgICAgICAgICAvLyBMaXRlcmFsIHN0cmluZyBmb3IgbG9nIGdyb3VwIG5hbWUgcG9ydGlvblxuICAgICAgXTtcblxuICAgICAgY29uc3QgbG9nR3JvdXBOYW1lID0gZ2VuZXJhdGVQaHlzaWNhbE5hbWUobG9nR3JvdXBQcmVmaXgsIG5hbWVQYXJ0cywgbWF4R2VuZXJhdGVkTmFtZUxlbmd0aCk7XG4gICAgICBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzID0gb3ZlcnJpZGVQcm9wcyhjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzLCB7IGxvZ0dyb3VwTmFtZSB9KTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgbmV3IENsb3Vkd2F0Y2ggbG9nIGdyb3VwIGZvciBTdGVwIGZ1bmN0aW9uIFN0YXRlIE1hY2hpbmVcbiAgICBsb2dHcm91cCA9IGJ1aWxkTG9nR3JvdXAoc2NvcGUsIGBTdGF0ZU1hY2hpbmVMb2dHcm91cCR7KGlkID8/ICcnKX1gLCBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzKTtcblxuICAgIC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0cyB3aXRoIHRoZSB1c2VyIHByb3ZpZGVkIHByb3BzXG4gICAgY29uc29saWRhdGVkU3RhdGVNYWNoaW5lUHJvcHMgPSBvdmVycmlkZVByb3BzKHNtRGVmYXVsdHMuRGVmYXVsdFN0YXRlTWFjaGluZVByb3BzKGxvZ0dyb3VwKSwgcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMpO1xuICB9XG5cbiAgLy8gT3ZlcnJpZGUgdGhlIENsb3Vkd2F0Y2ggcGVybWlzc2lvbnMgdG8gbWFrZSBpdCBtb3JlIGZpbmUgZ3JhaW5lZFxuICBjb25zdCBuZXdTdGF0ZU1hY2hpbmUgPSBuZXcgc2ZuLlN0YXRlTWFjaGluZShzY29wZSwgYFN0YXRlTWFjaGluZSR7KGlkID8/ICcnKX1gLCBjb25zb2xpZGF0ZWRTdGF0ZU1hY2hpbmVQcm9wcyk7XG5cbiAgLy8gSWYgdGhlIGNsaWVudCBkaWQgbm90IHBhc3MgYSByb2xlIHdlIGdvdCB0aGUgZGVmYXVsdCByb2xlIGFuZCB3aWxsIHRyaW0gdGhlIHByaXZpbGVnZXNcbiAgaWYgKCFwcm9wcy5zdGF0ZU1hY2hpbmVQcm9wcy5yb2xlKSB7XG4gICAgY29uc3Qgcm9sZSA9IG5ld1N0YXRlTWFjaGluZS5ub2RlLmZpbmRDaGlsZCgnUm9sZScpIGFzIGlhbS5Sb2xlO1xuICAgIGNvbnN0IGNmbkRlZmF1bHRQb2xpY3kgPSByb2xlLm5vZGUuZmluZENoaWxkKCdEZWZhdWx0UG9saWN5Jykubm9kZS5kZWZhdWx0Q2hpbGQgYXMgYW55O1xuICAgIC8vIE92ZXJyaWRlIENmbiBOYWcgd2FybmluZyBXMTI6IElBTSBwb2xpY3kgc2hvdWxkIG5vdCBhbGxvdyAqIHJlc291cmNlXG4gICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhjZm5EZWZhdWx0UG9saWN5LCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzEyJyxcbiAgICAgICAgcmVhc29uOiBgVGhlc2UgYXJlIENESyBkZWZhdWx0cy4gVGhlICdMb2dEZWxpdmVyeScgYWN0aW9ucyBkbyBub3Qgc3VwcG9ydCByZXNvdXJjZS1sZXZlbCBhdXRob3JpemF0aW9ucy4gQW55IGxvZ2dpbmcgaXMgZG9uZSBieSBTdGF0ZSBNYWNoaW5lIGNvZGVgXG4gICAgICB9XG4gICAgXSk7XG4gIH1cbiAgY29uc3QgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtczogYm9vbGVhbiA9IChwcm9wcy5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zID09PSB1bmRlZmluZWQgfHwgcHJvcHMuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyk7XG4gIGNvbnN0IGNsb3VkV2F0Y2hBbGFybXMgPSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zID8gYnVpbGRTdGVwRnVuY3Rpb25DV0FsYXJtcyhzY29wZSwgcHJvcHMuY2xvdWRXYXRjaEFsYXJtc1ByZWZpeCwgbmV3U3RhdGVNYWNoaW5lKSA6IHVuZGVmaW5lZDtcblxuICByZXR1cm4ge1xuICAgIHN0YXRlTWFjaGluZTogbmV3U3RhdGVNYWNoaW5lLFxuICAgIGxvZ0dyb3VwLFxuICAgIGNsb3VkV2F0Y2hBbGFybXNcbiAgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdGVwRnVuY3Rpb25DV0FsYXJtcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBzbTogc2ZuLlN0YXRlTWFjaGluZSk6IGNsb3Vkd2F0Y2guQWxhcm1bXSB7XG4gIC8vIFNldHVwIENXIEFsYXJtcyBmb3IgU3RhdGUgTWFjaGluZVxuICBjb25zdCBhbGFybXM6IGNsb3Vkd2F0Y2guQWxhcm1bXSA9IG5ldyBBcnJheSgpO1xuICBjb25zdCBwcmVmaXggPSBpZCA/PyBcIlwiO1xuXG4gIC8vIFN1bSBvZiBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBpcyA+PSAxIGZvciA1IG1pbnV0ZXMsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgYCR7cHJlZml4fUV4ZWN1dGlvbkZhaWxlZEFsYXJtYCwge1xuICAgIG1ldHJpYzogc20ubWV0cmljRmFpbGVkKHtcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQWxhcm0gZm9yIHRoZSBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBleGNlZWRlZCB0aGUgdGhyZXNob2xkIG9mIDEuICdcbiAgfSkpO1xuXG4gIC8vIFN1bSBvZiBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGZhaWxlZCBtYXhpbXVtIGlzID49IDEgZm9yIDUgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsIGAke3ByZWZpeH1FeGVjdXRpb25UaHJvdHRsZWRBbGFybWAsIHtcbiAgICBtZXRyaWM6IHNtLm1ldHJpY1Rocm90dGxlZCh7XG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0FsYXJtIGZvciB0aGUgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCB0aHJvdHRsZWQgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBvZiAxLiAnXG4gIH0pKTtcblxuICAvLyBOdW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGFib3J0ZWQgbWF4aW11bSBpcyA+PSAxIGZvciA1IG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCBgJHtwcmVmaXh9RXhlY3V0aW9uQWJvcnRlZEFsYXJtYCwge1xuICAgIG1ldHJpYzogc20ubWV0cmljQWJvcnRlZCh7XG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBbGFybSBmb3IgdGhlIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgYWJvcnRlZCBleGNlZWRlZCB0aGUgdGhyZXNob2xkIG9mIDEuICdcbiAgfSkpO1xuXG4gIHJldHVybiBhbGFybXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVNYWNoaW5lUHJvcHMge1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVQcm9wczogc2ZuLlN0YXRlTWFjaGluZVByb3BzO1xuICByZWFkb25seSBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2xvdWRXYXRjaEFsYXJtc1ByZWZpeD86IHN0cmluZ1xuICByZWFkb25seSBsb2dHcm91cFByb3BzPzogbG9ncy5Mb2dHcm91cFByb3BzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tTdGF0ZU1hY2hpbmVQcm9wcyhwcm9wc09iamVjdDogU3RhdGVNYWNoaW5lUHJvcHMgfCBhbnkpIHtcbiAgbGV0IGVycm9yTWVzc2FnZXMgPSAnJztcbiAgbGV0IGVycm9yRm91bmQgPSBmYWxzZTtcblxuICBpZiAoKHByb3BzT2JqZWN0LmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMgPT09IGZhbHNlKSAmJiBwcm9wc09iamVjdC5jbG91ZFdhdGNoQWxhcm1zUHJlZml4KSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAnRXJyb3IgLSBjbG91ZFdhdGNoQWxhcm1zUHJlZml4IGlzIGludmFsaWQgd2hlbiBjcmVhdGVDbG91ZFdhdGNoQWxhcm1zIGlzIGZhbHNlXFxuJztcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iXX0=
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1mdW5jdGlvbi1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGVwLWZ1bmN0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQVNILG1DQUFtQztBQUNuQyx1REFBdUQ7QUFDdkQscURBQXFEO0FBQ3JELG1DQUEyRjtBQUUzRix5REFBeUQ7QUFDekQsK0VBQThEO0FBSTlEOzs7OztHQUtHO0FBQ1UsUUFBQSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBY3ZDOzs7Ozs7R0FNRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsRUFBc0IsRUFBRSxLQUE0QjtJQUV0RyxJQUFJLFFBQXdCLENBQUM7SUFDN0IsSUFBSSw2QkFBNkIsQ0FBQztJQUVsQywrQ0FBK0M7SUFDL0MsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlDLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNyRCw2QkFBNkIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFDMUQsQ0FBQztTQUFNLENBQUM7UUFDTixzQkFBc0I7UUFDdEIsOEVBQThFO1FBQzlFLHVGQUF1RjtRQUN2Riw2RUFBNkU7UUFDN0UsSUFBSSx5QkFBeUIsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXBELElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQy9CLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLFlBQVksRUFBRSxDQUFDO1lBQzdDLE1BQU0sY0FBYyxHQUFHLG9DQUFvQyxDQUFDO1lBQzVELE1BQU0sU0FBUyxHQUFhO2dCQUMxQixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsb0JBQW9C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a0YsQ0FBQztRQUNwRyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQVpELHdEQVlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG4vLyBJbXBvcnRzXG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBzbURlZmF1bHRzIGZyb20gJy4vc3RlcC1mdW5jdGlvbi1kZWZhdWx0cyc7XG5pbXBvcnQgKiBhcyBzZm4gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcywgYWRkQ2ZuU3VwcHJlc3NSdWxlcywgZ2VuZXJhdGVQaHlzaWNhbExvZ0dyb3VwTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBidWlsZExvZ0dyb3VwIH0gZnJvbSAnLi9jbG91ZHdhdGNoLWxvZy1ncm91cC1oZWxwZXInO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qXG4gKiB0aGUgaWQgcGFyYW1ldGVyIHdhcyBhZGRlZCB0byBidWlsZFN0YXRlTWFjaGluZSgpIGxvbmcgYWZ0ZXIgdGhlIG9yaWdpbmFsIGltcGxlbWVudGF0aW9uLFxuICogdGhpcyB2YWx1ZSBjYW4gYmUgdXNlZCBmb3IgdGhlIG5ldyBwYXJhbWV0ZXIgYW5kIGVuc3VyZSBiZWhhdmlvciBpcyB0aGUgc2FtZS5cbiAqIChpZiB3ZSBqdXN0IHJlcXVpcmUgYW4gaWQsIHRoZSBzdGF0ZSBtYWNoaW5lIG5hbWUgd2lsbCBiZSBjaGFuZ2VkIGFuZCBpdCB3aWxsIGJlIGFcbiAqIGRlc3RydWN0aXZlIGNoYW5nZSlcbiAqL1xuZXhwb3J0IGNvbnN0IGlkUGxhY2Vob2xkZXIgPSB1bmRlZmluZWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRTdGF0ZU1hY2luZVByb3BzIHtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lUHJvcHM6IHNmbi5TdGF0ZU1hY2hpbmVQcm9wcyxcbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcyxcbiAgcmVhZG9ubHkgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcz86IGJvb2xlYW4sXG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hBbGFybXNQcmVmaXg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFN0YXRlTWFjaGluZVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lOiBzZm4uU3RhdGVNYWNoaW5lLFxuICByZWFkb25seSBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXAsXG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hBbGFybXM/OiBjbG91ZHdhdGNoLkFsYXJtW11cbn1cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqXG4gKiBCdWlsZHMgYW5kIHJldHVybnMgYSBTdGF0ZU1hY2hpbmUuXG4gKiBAcGFyYW0gc2NvcGUgLSB0aGUgY29uc3RydWN0IHRvIHdoaWNoIHRoZSBTdGF0ZU1hY2hpbmUgc2hvdWxkIGJlIGF0dGFjaGVkIHRvLlxuICogQHBhcmFtIHN0YXRlTWFjaGluZVByb3BzIC0gdXNlci1zcGVjaWZpZWQgcHJvcGVydGllcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdGF0ZU1hY2hpbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgcHJvcHM6IEJ1aWxkU3RhdGVNYWNpbmVQcm9wcyk6IEJ1aWxkU3RhdGVNYWNoaW5lUmVzcG9uc2Uge1xuXG4gIGxldCBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXA7XG4gIGxldCBjb25zb2xpZGF0ZWRTdGF0ZU1hY2hpbmVQcm9wcztcblxuICAvLyBJZiB0aGV5IHNlbnQgYSBsb2dHcm91cCBpbiBzdGF0ZU1hY2hpbmVQcm9wc1xuICBpZiAocHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMubG9ncz8uZGVzdGluYXRpb24pIHtcbiAgICBsb2dHcm91cCA9IHByb3BzLnN0YXRlTWFjaGluZVByb3BzLmxvZ3M/LmRlc3RpbmF0aW9uO1xuICAgIGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzID0gcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHM7XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhyZWUgcG9zc2liaWxpdGllc1xuICAgIC8vIDEpIGxvZ0dyb3VwUHJvcHMgbm90IHByb3ZpZGVkIC0gY3JlYXRlIGxvZ0dyb3VwUHJvcHMgd2l0aCBqdXN0IGxvZ0dyb3VwTmFtZVxuICAgIC8vIDIpIGxvZ0dyb3VwUHJvcHMgcHJvdmlkZWQgd2l0aCBubyBsb2dHcm91cE5hbWUgLSBvdmVycmlkZSBsb2dHcm91cFByb3BzLmxvZ0dyb3VwTmFtZVxuICAgIC8vIDMpIGxvZ0dyb3VwUHJvcHMgcHJvdmlkZWQgd2l0aCBsb2dHcm91cE5hbWUgLSBwYXNzIHVuYWx0ZXJlZCBsb2dHcm91cFByb3BzXG4gICAgbGV0IGNvbnNvbGlkYXRlZExvZ0dyb3VwUHJvcHMgPSBwcm9wcy5sb2dHcm91cFByb3BzO1xuXG4gICAgaWYgKCFjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzKSB7XG4gICAgICBjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzID0ge307XG4gICAgfVxuXG4gICAgaWYgKCFjb25zb2xpZGF0ZWRMb2dHcm91cFByb3BzPy5sb2dHcm91cE5hbWUpIHtcbiAgICAgIGNvbnN0IGxvZ0dyb3VwUHJlZml4ID0gJy9hd3MvdmVuZGVkbG9ncy9zdGF0ZXMvY29uc3RydWN0cy8nO1xuICAgICAgY29uc3QgbmFtZVBhcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKS5zdGFja05hbWUsIC8vIE5hbWUgb2YgdGhlIHN0YWNrXG4gICAgICAgIGlkID8/IHNjb3BlLm5vZGUuaWQsICAgICAgICAgICAvLyBVc2UgdGhlIElEIGZyb20gY2xpZW50IGlmIHByb3ZpZGVkLCBvdGhlcndpc2UgdXNlIHRoZSBjb25zdHJ1Y3QgSURcbiAgICAgICAgJ1N0YXRlTWFjaGluZUxvZycgICAgICAgICAgICAgIC8vIExpdGVyYWwgc3RyaW5nIGZvciBsb2cgZ3JvdXAgbmFtZSBwb3J0aW9uXG4gICAgICBdO1xuXG4gICAgICBjb25zdCBsb2dHcm91cE5hbWUgPSBnZW5lcmF0ZVBoeXNpY2FsTG9nR3JvdXBOYW1lKGxvZ0dyb3VwUHJlZml4LCBuYW1lUGFydHMpO1xuICAgICAgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcyA9IG92ZXJyaWRlUHJvcHMoY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcywgeyBsb2dHcm91cE5hbWUgfSk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIG5ldyBDbG91ZHdhdGNoIGxvZyBncm91cCBmb3IgU3RlcCBmdW5jdGlvbiBTdGF0ZSBNYWNoaW5lXG4gICAgbG9nR3JvdXAgPSBidWlsZExvZ0dyb3VwKHNjb3BlLCBgU3RhdGVNYWNoaW5lTG9nR3JvdXAkeyhpZCA/PyAnJyl9YCwgY29uc29saWRhdGVkTG9nR3JvdXBQcm9wcyk7XG5cbiAgICAvLyBPdmVycmlkZSB0aGUgZGVmYXVsdHMgd2l0aCB0aGUgdXNlciBwcm92aWRlZCBwcm9wc1xuICAgIGNvbnNvbGlkYXRlZFN0YXRlTWFjaGluZVByb3BzID0gb3ZlcnJpZGVQcm9wcyhzbURlZmF1bHRzLkRlZmF1bHRTdGF0ZU1hY2hpbmVQcm9wcyhsb2dHcm91cCksIHByb3BzLnN0YXRlTWFjaGluZVByb3BzKTtcbiAgfVxuXG4gIC8vIE92ZXJyaWRlIHRoZSBDbG91ZHdhdGNoIHBlcm1pc3Npb25zIHRvIG1ha2UgaXQgbW9yZSBmaW5lIGdyYWluZWRcbiAgY29uc3QgbmV3U3RhdGVNYWNoaW5lID0gbmV3IHNmbi5TdGF0ZU1hY2hpbmUoc2NvcGUsIGBTdGF0ZU1hY2hpbmUkeyhpZCA/PyAnJyl9YCwgY29uc29saWRhdGVkU3RhdGVNYWNoaW5lUHJvcHMpO1xuXG4gIC8vIElmIHRoZSBjbGllbnQgZGlkIG5vdCBwYXNzIGEgcm9sZSB3ZSBnb3QgdGhlIGRlZmF1bHQgcm9sZSBhbmQgd2lsbCB0cmltIHRoZSBwcml2aWxlZ2VzXG4gIGlmICghcHJvcHMuc3RhdGVNYWNoaW5lUHJvcHMucm9sZSkge1xuICAgIGNvbnN0IHJvbGUgPSBuZXdTdGF0ZU1hY2hpbmUubm9kZS5maW5kQ2hpbGQoJ1JvbGUnKSBhcyBpYW0uUm9sZTtcbiAgICBjb25zdCBjZm5EZWZhdWx0UG9saWN5ID0gcm9sZS5ub2RlLmZpbmRDaGlsZCgnRGVmYXVsdFBvbGljeScpLm5vZGUuZGVmYXVsdENoaWxkIGFzIGFueTtcbiAgICAvLyBPdmVycmlkZSBDZm4gTmFnIHdhcm5pbmcgVzEyOiBJQU0gcG9saWN5IHNob3VsZCBub3QgYWxsb3cgKiByZXNvdXJjZVxuICAgIGFkZENmblN1cHByZXNzUnVsZXMoY2ZuRGVmYXVsdFBvbGljeSwgW1xuICAgICAge1xuICAgICAgICBpZDogJ1cxMicsXG4gICAgICAgIHJlYXNvbjogYFRoZXNlIGFyZSBDREsgZGVmYXVsdHMuIFRoZSAnTG9nRGVsaXZlcnknIGFjdGlvbnMgZG8gbm90IHN1cHBvcnQgcmVzb3VyY2UtbGV2ZWwgYXV0aG9yaXphdGlvbnMuIEFueSBsb2dnaW5nIGlzIGRvbmUgYnkgU3RhdGUgTWFjaGluZSBjb2RlYFxuICAgICAgfVxuICAgIF0pO1xuICB9XG4gIGNvbnN0IGNyZWF0ZUNsb3VkV2F0Y2hBbGFybXM6IGJvb2xlYW4gPSAocHJvcHMuY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLmNyZWF0ZUNsb3VkV2F0Y2hBbGFybXMpO1xuICBjb25zdCBjbG91ZFdhdGNoQWxhcm1zID0gY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyA/IGJ1aWxkU3RlcEZ1bmN0aW9uQ1dBbGFybXMoc2NvcGUsIHByb3BzLmNsb3VkV2F0Y2hBbGFybXNQcmVmaXgsIG5ld1N0YXRlTWFjaGluZSkgOiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHtcbiAgICBzdGF0ZU1hY2hpbmU6IG5ld1N0YXRlTWFjaGluZSxcbiAgICBsb2dHcm91cCxcbiAgICBjbG91ZFdhdGNoQWxhcm1zXG4gIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU3RlcEZ1bmN0aW9uQ1dBbGFybXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgc206IHNmbi5TdGF0ZU1hY2hpbmUpOiBjbG91ZHdhdGNoLkFsYXJtW10ge1xuICAvLyBTZXR1cCBDVyBBbGFybXMgZm9yIFN0YXRlIE1hY2hpbmVcbiAgY29uc3QgYWxhcm1zOiBjbG91ZHdhdGNoLkFsYXJtW10gPSBuZXcgQXJyYXkoKTtcbiAgY29uc3QgcHJlZml4ID0gaWQgPz8gXCJcIjtcblxuICAvLyBTdW0gb2YgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCBmYWlsZWQgaXMgPj0gMSBmb3IgNSBtaW51dGVzLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsIGAke3ByZWZpeH1FeGVjdXRpb25GYWlsZWRBbGFybWAsIHtcbiAgICBtZXRyaWM6IHNtLm1ldHJpY0ZhaWxlZCh7XG4gICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0FsYXJtIGZvciB0aGUgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCBmYWlsZWQgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBvZiAxLiAnXG4gIH0pKTtcblxuICAvLyBTdW0gb2YgbnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCBmYWlsZWQgbWF4aW11bSBpcyA+PSAxIGZvciA1IG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCBgJHtwcmVmaXh9RXhlY3V0aW9uVGhyb3R0bGVkQWxhcm1gLCB7XG4gICAgbWV0cmljOiBzbS5tZXRyaWNUaHJvdHRsZWQoe1xuICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBbGFybSBmb3IgdGhlIG51bWJlciBvZiBleGVjdXRpb25zIHRoYXQgdGhyb3R0bGVkIGV4Y2VlZGVkIHRoZSB0aHJlc2hvbGQgb2YgMS4gJ1xuICB9KSk7XG5cbiAgLy8gTnVtYmVyIG9mIGV4ZWN1dGlvbnMgdGhhdCBhYm9ydGVkIG1heGltdW0gaXMgPj0gMSBmb3IgNSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgYCR7cHJlZml4fUV4ZWN1dGlvbkFib3J0ZWRBbGFybWAsIHtcbiAgICBtZXRyaWM6IHNtLm1ldHJpY0Fib3J0ZWQoe1xuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQWxhcm0gZm9yIHRoZSBudW1iZXIgb2YgZXhlY3V0aW9ucyB0aGF0IGFib3J0ZWQgZXhjZWVkZWQgdGhlIHRocmVzaG9sZCBvZiAxLiAnXG4gIH0pKTtcblxuICByZXR1cm4gYWxhcm1zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlTWFjaGluZVByb3BzIHtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lUHJvcHM6IHNmbi5TdGF0ZU1hY2hpbmVQcm9wcztcbiAgcmVhZG9ubHkgY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hBbGFybXNQcmVmaXg/OiBzdHJpbmdcbiAgcmVhZG9ubHkgbG9nR3JvdXBQcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrU3RhdGVNYWNoaW5lUHJvcHMocHJvcHNPYmplY3Q6IFN0YXRlTWFjaGluZVByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKChwcm9wc09iamVjdC5jcmVhdGVDbG91ZFdhdGNoQWxhcm1zID09PSBmYWxzZSkgJiYgcHJvcHNPYmplY3QuY2xvdWRXYXRjaEFsYXJtc1ByZWZpeCkge1xuICAgIGVycm9yTWVzc2FnZXMgKz0gJ0Vycm9yIC0gY2xvdWRXYXRjaEFsYXJtc1ByZWZpeCBpcyBpbnZhbGlkIHdoZW4gY3JlYXRlQ2xvdWRXYXRjaEFsYXJtcyBpcyBmYWxzZVxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
package/lib/utils.d.ts
CHANGED
|
@@ -35,6 +35,10 @@ export declare function printWarning(message: string): void;
|
|
|
35
35
|
* This is based upon this discussion - https://github.com/aws/aws-cdk/issues/1424
|
|
36
36
|
*/
|
|
37
37
|
export declare function generateResourceName(parts: string[], maxLength: number, randomize?: boolean): string;
|
|
38
|
+
export declare function generatePhysicalLogGroupName(prefix: string, parts: string[]): string;
|
|
39
|
+
export declare function generatePhysicalRestApiName(prefix: string, parts: string[]): string;
|
|
40
|
+
export declare function generatePhysicalOacName(prefix: string, parts: string[]): string;
|
|
41
|
+
export declare function generatePhysicalKendraIndexName(prefix: string, parts: string[]): string;
|
|
38
42
|
/**
|
|
39
43
|
* @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
|
|
40
44
|
*
|
|
@@ -109,3 +113,4 @@ export declare function generateName(scope: Construct, resourceId?: string): str
|
|
|
109
113
|
*/
|
|
110
114
|
export declare function CheckListValues(allowedPermissions: string[], submittedValues: string[], valueType: string): void;
|
|
111
115
|
export declare function CheckBooleanWithDefault(value: boolean | undefined, defaultValue: boolean): boolean;
|
|
116
|
+
export declare function CheckStringWithDefault(value: string | undefined, defaultValue: string): string;
|