@aws-cdk/aws-mediaconnect-alpha 2.264.0-alpha.0 → 2.266.0-alpha.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 +3 -3
- package/.jsii.tabl.json.gz +0 -0
- package/lib/bridge-output.js +4 -4
- package/lib/bridge-source.js +5 -5
- package/lib/bridge.js +8 -8
- package/lib/flow-entitlement.js +1 -1
- package/lib/flow-output.js +5 -5
- package/lib/flow-source-configuration.js +4 -4
- package/lib/flow-source.js +1 -1
- package/lib/flow.js +10 -10
- package/lib/gateway.js +4 -4
- package/lib/mediaconnect-grants.generated.js +2 -2
- package/lib/router-input.js +10 -10
- package/lib/router-network-interface.js +5 -5
- package/lib/router-output.js +8 -8
- package/lib/shared.js +9 -9
- package/package.json +6 -6
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.266.0",
|
|
12
12
|
"constructs": "^10.5.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -9388,7 +9388,7 @@
|
|
|
9388
9388
|
"stability": "experimental"
|
|
9389
9389
|
},
|
|
9390
9390
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
9391
|
-
"jsiiVersion": "5.9.
|
|
9391
|
+
"jsiiVersion": "5.9.52 (build c132e73)",
|
|
9392
9392
|
"keywords": [
|
|
9393
9393
|
"aws",
|
|
9394
9394
|
"cdk",
|
|
@@ -28864,6 +28864,6 @@
|
|
|
28864
28864
|
"symbolId": "lib/flow-output:ZixiPushOutputConfig"
|
|
28865
28865
|
}
|
|
28866
28866
|
},
|
|
28867
|
-
"version": "2.
|
|
28867
|
+
"version": "2.266.0-alpha.0",
|
|
28868
28868
|
"fingerprint": "**********"
|
|
28869
28869
|
}
|
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/lib/bridge-output.js
CHANGED
|
@@ -60,7 +60,7 @@ let BridgeOutput = (() => {
|
|
|
60
60
|
BridgeOutput = _classThis = _classDescriptor.value;
|
|
61
61
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
62
62
|
}
|
|
63
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeOutput", version: "2.
|
|
63
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeOutput", version: "2.266.0-alpha.0" };
|
|
64
64
|
/** Uniquely identifies this class. */
|
|
65
65
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.BridgeOutput';
|
|
66
66
|
bridgeArn;
|
|
@@ -93,8 +93,8 @@ let BridgeOutput = (() => {
|
|
|
93
93
|
if (props.bridgeOutputName.length > 64) {
|
|
94
94
|
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputNameLength`, `Bridge output name must be between 1 and 64 characters, got ${props.bridgeOutputName.length}`, this);
|
|
95
95
|
}
|
|
96
|
-
if (!/^[a-zA-Z0-
|
|
97
|
-
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputNameFormat`, `Bridge output name must contain only alphanumeric characters and
|
|
96
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(props.bridgeOutputName)) {
|
|
97
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeOutputNameFormat`, `Bridge output name must contain only alphanumeric characters, hyphens, and underscores, got '${props.bridgeOutputName}'`, this);
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
// BridgeOutput can only be attached to an egress bridge. `Bridge.addOutput()`
|
|
@@ -119,4 +119,4 @@ let BridgeOutput = (() => {
|
|
|
119
119
|
return BridgeOutput = _classThis;
|
|
120
120
|
})();
|
|
121
121
|
exports.BridgeOutput = BridgeOutput;
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyaWRnZS1vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUErRDtBQUUvRCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSxxQ0FBc0M7QUF3Q3RDOztHQUVHO0lBRVUsWUFBWTs0QkFEeEIsb0NBQWtCOzs7O3NCQUNlLHNCQUFROzRCQUFoQixTQUFRLFdBQVE7Ozs7WUFBMUMsNktBd0RDOzs7OztRQXZEQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDhDQUE4QyxDQUFDO1FBRXRGLFNBQVMsQ0FBUztRQUVsQzs7V0FFRztRQUNhLGdCQUFnQixDQUFTO1FBRXpDLGlEQUFpRDtRQUNqRCxJQUFXLGVBQWU7WUFDeEIsT0FBTztnQkFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7YUFDeEMsQ0FBQztTQUNIO1FBRUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtZQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLGtCQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUMxSCxDQUFDLENBQUM7Ozs7OzttREF0Qk0sWUFBWTs7OztZQXdCckIsMENBQTBDO1lBQzFDLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEtBQUssRUFBRSxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDbkgsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUN2QyxNQUFNLElBQUksNkJBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsd0JBQXdCLEVBQUUsK0RBQStELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0osQ0FBQztnQkFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7b0JBQ3JELE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSx3QkFBd0IsRUFBRSxnR0FBZ0csS0FBSyxDQUFDLGdCQUFnQixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzFMLENBQUM7WUFDSCxDQUFDO1lBRUQsOEVBQThFO1lBQzlFLDJFQUEyRTtZQUMzRSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxtQkFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckUsTUFBTSxJQUFJLDZCQUFlLENBQ3ZCLElBQUEsc0JBQUcsRUFBQSx3QkFBd0IsRUFDM0IsK0RBQStELEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxFQUMvRixJQUFJLENBQ0wsQ0FBQztZQUNKLENBQUM7WUFFRCxtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztnQkFDakMsYUFBYSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO2FBQ3BDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDM0M7O1lBdkRVLHVEQUFZOzs7OztBQUFaLG9DQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSwgTGF6eSwgTmFtZXMsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5CcmlkZ2VPdXRwdXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB0eXBlIHsgSUJyaWRnZU91dHB1dFJlZiwgQnJpZGdlT3V0cHV0UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElCcmlkZ2UsIEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2JyaWRnZSc7XG5pbXBvcnQgeyBCcmlkZ2VUeXBlIH0gZnJvbSAnLi9icmlkZ2UnO1xuXG4vKipcbiAqIEludGVyZmFjZSBCcmlkZ2Ugb3V0cHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJyaWRnZU91dHB1dCBleHRlbmRzIElSZXNvdXJjZSwgSUJyaWRnZU91dHB1dFJlZiB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGJyaWRnZSB0aGF0IG93bnMgdGhpcyBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJyaWRnZSBvdXRwdXQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZU91dHB1dE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgYnJpZGdlIG91dHB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZU91dHB1dFByb3BzIHtcbiAgLyoqXG4gICAqIEJyaWRnZSBvdXRwdXQgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VPdXRwdXROYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJyaWRnZSB0aGF0IHlvdSB3YW50IHRvIHVwZGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZTogSUJyaWRnZTtcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgb3V0cHV0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogQWRkcyBvdXRwdXRzIHRvIGFuIGV4aXN0aW5nIGJyaWRnZS5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEJyaWRnZU91dHB1dCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUJyaWRnZU91dHB1dCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW1lZGlhY29ubmVjdC1hbHBoYS5CcmlkZ2VPdXRwdXQnO1xuXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJyaWRnZSBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnJpZGdlT3V0cHV0TmFtZTogc3RyaW5nO1xuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byB0aGlzIEJyaWRnZU91dHB1dCByZXNvdXJjZS4gKi9cbiAgcHVibGljIGdldCBicmlkZ2VPdXRwdXRSZWYoKTogQnJpZGdlT3V0cHV0UmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJpZGdlQXJuOiB0aGlzLmJyaWRnZUFybixcbiAgICAgIGJyaWRnZU91dHB1dE5hbWU6IHRoaXMuYnJpZGdlT3V0cHV0TmFtZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJyaWRnZU91dHB1dFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmJyaWRnZU91dHB1dE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgYnJpZGdlIG91dHB1dCBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmJyaWRnZU91dHB1dE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5icmlkZ2VPdXRwdXROYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJyaWRnZU91dHB1dE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnJpZGdlT3V0cHV0TmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VPdXRwdXROYW1lTGVuZ3RoYCwgYEJyaWRnZSBvdXRwdXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlT3V0cHV0TmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV8tXSskLy50ZXN0KHByb3BzLmJyaWRnZU91dHB1dE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZU91dHB1dE5hbWVGb3JtYXRgLCBgQnJpZGdlIG91dHB1dCBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMsIGdvdCAnJHtwcm9wcy5icmlkZ2VPdXRwdXROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmlkZ2VPdXRwdXQgY2FuIG9ubHkgYmUgYXR0YWNoZWQgdG8gYW4gZWdyZXNzIGJyaWRnZS4gYEJyaWRnZS5hZGRPdXRwdXQoKWBcbiAgICAvLyBlbmZvcmNlcyB0aGUgc2FtZSBjaGVjayDigJQgcmVwbGljYXRlIGhlcmUgc28gZGlyZWN0IGNvbnN0cnVjdGlvbiBpcyBzYWZlLlxuICAgIGlmIChwcm9wcy5icmlkZ2UuYnJpZGdlVHlwZS52YWx1ZSAhPT0gQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLnZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgQnJpZGdlT3V0cHV0RWdyZXNzT25seWAsXG4gICAgICAgIGBCcmlkZ2VPdXRwdXQgY2FuIG9ubHkgYmUgYXR0YWNoZWQgdG8gYW4gZWdyZXNzIGJyaWRnZSwgZ290ICcke3Byb3BzLmJyaWRnZS5icmlkZ2VUeXBlLnZhbHVlfSdgLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIG5ldyBDZm5CcmlkZ2VPdXRwdXQodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBicmlkZ2VBcm46IHByb3BzLmJyaWRnZS5icmlkZ2VBcm4sXG4gICAgICBuZXR3b3JrT3V0cHV0OiBwcm9wcy5vdXRwdXQuX2JpbmQoKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlQXJuID0gcHJvcHMuYnJpZGdlLmJyaWRnZUFybjtcbiAgICB0aGlzLmJyaWRnZU91dHB1dE5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcbiAgfVxufVxuIl19
|
package/lib/bridge-source.js
CHANGED
|
@@ -49,7 +49,7 @@ const bridge_1 = require("./bridge");
|
|
|
49
49
|
class BridgeSourceConfiguration {
|
|
50
50
|
flowConfig;
|
|
51
51
|
networkConfig;
|
|
52
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSourceConfiguration", version: "2.
|
|
52
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSourceConfiguration", version: "2.266.0-alpha.0" };
|
|
53
53
|
/**
|
|
54
54
|
* Create a flow source configuration for a bridge source
|
|
55
55
|
* @param source Flow source configuration
|
|
@@ -131,7 +131,7 @@ let BridgeSource = (() => {
|
|
|
131
131
|
BridgeSource = _classThis = _classDescriptor.value;
|
|
132
132
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
133
133
|
}
|
|
134
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSource", version: "2.
|
|
134
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeSource", version: "2.266.0-alpha.0" };
|
|
135
135
|
/** Uniquely identifies this class. */
|
|
136
136
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.BridgeSource';
|
|
137
137
|
bridgeArn;
|
|
@@ -164,8 +164,8 @@ let BridgeSource = (() => {
|
|
|
164
164
|
if (props.bridgeSourceName.length > 64) {
|
|
165
165
|
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceNameLength`, `Bridge source name must be between 1 and 64 characters, got ${props.bridgeSourceName.length}`, this);
|
|
166
166
|
}
|
|
167
|
-
if (!/^[a-zA-Z0-
|
|
168
|
-
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceNameFormat`, `Bridge source name must contain only alphanumeric characters and
|
|
167
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(props.bridgeSourceName)) {
|
|
168
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeSourceNameFormat`, `Bridge source name must contain only alphanumeric characters, hyphens, and underscores, got '${props.bridgeSourceName}'`, this);
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
// Enhanced CDK Analytics Telemetry
|
|
@@ -214,4 +214,4 @@ let BridgeSource = (() => {
|
|
|
214
214
|
return BridgeSource = _classThis;
|
|
215
215
|
})();
|
|
216
216
|
exports.BridgeSource = BridgeSource;
|
|
217
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyaWRnZS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUErRDtBQUUvRCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSxxQ0FBc0M7QUF5Q3RDOztHQUVHO0FBQ0gsTUFBYSx5QkFBeUI7SUF3QmpCO0lBQ0E7O0lBeEJuQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUF3Qjs7Ozs7Ozs7OztRQUN6QyxPQUFPLElBQUkseUJBQXlCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBMkI7Ozs7Ozs7Ozs7UUFDL0MsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtJQUVEOzs7T0FHRztJQUNILFlBQ21CLFVBQTZCLEVBQzdCLGFBQW1DO1FBRG5DLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjs7Ozs7OzsrQ0F6QjNDLHlCQUF5Qjs7OztLQTBCaEM7SUFFSjs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztLQUNIOztBQXJDSCw4REFzQ0M7QUFFRDs7R0FFRztJQUVVLFlBQVk7NEJBRHhCLG9DQUFrQjs7OztzQkFDZSxzQkFBUTs0QkFBaEIsU0FBUSxXQUFROzs7O1lBQTFDLDZLQW1GQzs7Ozs7UUFsRkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyw4Q0FBOEMsQ0FBQztRQUV0RixTQUFTLENBQVM7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QUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDakUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSTtpQkFDNUQsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUNuRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSTtnQkFDcEQsSUFBSSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDckMsUUFBUSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQ25ELHVCQUF1QixFQUFFO29CQUN2QixpQkFBaUIsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLGlCQUFpQjtpQkFDaEU7YUFDRixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFZCxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNqQyxVQUFVLEVBQUUsU0FBUztnQkFDckIsYUFBYSxFQUFFLFlBQVk7YUFDNUIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMzQzs7WUFsRlUsdURBQVk7Ozs7O0FBQVosb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlLCBMYXp5LCBOYW1lcywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkJyaWRnZVNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJQnJpZGdlU291cmNlUmVmLCBCcmlkZ2VTb3VyY2VSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUJyaWRnZSwgQnJpZGdlRmxvd1NvdXJjZSB9IGZyb20gJy4vYnJpZGdlJztcbmltcG9ydCB7IEJyaWRnZVR5cGUgfSBmcm9tICcuL2JyaWRnZSc7XG5pbXBvcnQgdHlwZSB7IEJyaWRnZU5ldHdvcmtTb3VyY2UgfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIEJyaWRnZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJpZGdlU291cmNlIGV4dGVuZHMgSVJlc291cmNlLCBJQnJpZGdlU291cmNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgYnJpZGdlIHRoYXQgb3ducyB0aGlzIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlU291cmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBicmlkZ2Ugc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlU291cmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJyaWRnZSB0byBhZGQgdGhpcyBzb3VyY2UgdG8uXG4gICAqL1xuICByZWFkb25seSBicmlkZ2U6IElCcmlkZ2U7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIEJyaWRnZSBTb3VyY2UgSW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogQnJpZGdlU291cmNlQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBicmlkZ2Ugc291cmNlIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIEZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggZmxvdyBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmxvdyhzb3VyY2U6IEJyaWRnZUZsb3dTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24oc291cmNlLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIE5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggbmV0d29yayBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV0d29yayhzb3VyY2U6IEJyaWRnZU5ldHdvcmtTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24odW5kZWZpbmVkLCBzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBmbG93Q29uZmlnIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIG5ldHdvcmtDb25maWcgbmV0d29yayBzb3VyY2UgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmxvd0NvbmZpZz86IEJyaWRnZUZsb3dTb3VyY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXR3b3JrQ29uZmlnPzogQnJpZGdlTmV0d29ya1NvdXJjZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgQnJpZGdlU291cmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxvd0NvbmZpZzogdGhpcy5mbG93Q29uZmlnLFxuICAgICAgbmV0d29ya0NvbmZpZzogdGhpcy5uZXR3b3JrQ29uZmlnLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRzIHNvdXJjZXMgdG8gYW4gZXhpc3RpbmcgYnJpZGdlLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgQnJpZGdlU291cmNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQnJpZGdlU291cmNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkJyaWRnZVNvdXJjZSc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoaXMgQnJpZGdlU291cmNlIHJlc291cmNlLiAqL1xuICBwdWJsaWMgZ2V0IGJyaWRnZVNvdXJjZVJlZigpOiBCcmlkZ2VTb3VyY2VSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBicmlkZ2VBcm46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgYnJpZGdlU291cmNlTmFtZTogdGhpcy5icmlkZ2VTb3VyY2VOYW1lLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnJpZGdlU291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LmJyaWRnZVNvdXJjZU5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgYnJpZGdlIHNvdXJjZSBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5icmlkZ2VTb3VyY2VOYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VTb3VyY2VOYW1lTGVuZ3RoYCwgYEJyaWRnZSBzb3VyY2UgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMuYnJpZGdlU291cmNlTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlU291cmNlTmFtZUZvcm1hdGAsIGBCcmlkZ2Ugc291cmNlIG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGh5cGhlbnMsIGdvdCAnJHtwcm9wcy5icmlkZ2VTb3VyY2VOYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIEVncmVzcyBicmlkZ2VzIHNob3VsZCBvbmx5IHVzZSBmbG93IHNvdXJjZXNcbiAgICBjb25zdCBzb3VyY2VDb25maWcgPSBwcm9wcy5zb3VyY2UuX2JpbmQoKTtcbiAgICBpZiAocHJvcHMuYnJpZGdlLmJyaWRnZVR5cGUudmFsdWUgPT09IEJyaWRnZVR5cGUuRUdSRVNTX0JSSURHRS52YWx1ZSAmJiAhc291cmNlQ29uZmlnLmZsb3dDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZVNvdXJjZUVncmVzc0Zsb3dPbmx5YCwgJ0VncmVzcyBicmlkZ2VzIG11c3QgdXNlIGZsb3cgc291cmNlcycsIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIEluZ3Jlc3MgYnJpZGdlcyBzaG91bGQgb25seSB1c2UgbmV0d29yayBzb3VyY2VzXG4gICAgaWYgKHByb3BzLmJyaWRnZS5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLklOR1JFU1NfQlJJREdFLnZhbHVlICYmICFzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlU291cmNlSW5ncmVzc05ldHdvcmtPbmx5YCwgJ0luZ3Jlc3MgYnJpZGdlcyBtdXN0IHVzZSBuZXR3b3JrIHNvdXJjZXMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmJyaWRnZS5pc0ZhaWxvdmVyRW5hYmxlZCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZVNvdXJjZUZhaWxvdmVyUmVxdWlyZWRgLFxuICAgICAgICAnRmFpbG92ZXIgY29uZmlndXJhdGlvbiBuZWVkcyB0byBiZSBjb25maWd1cmVkIGFuZCBlbmFibGVkIHRvIGFkZCBhbiBhZGRpdGlvbmFsIEJyaWRnZSBzb3VyY2UuICcgK1xuICAgICAgICAnSWYgdGhlIEJyaWRnZSBpcyBpbXBvcnRlZCB2aWEgZnJvbUJyaWRnZUF0dHJpYnV0ZXMoKSwgc2V0IGlzRmFpbG92ZXJFbmFibGVkOiB0cnVlJyxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZmxvd0lucHV0ID0gc291cmNlQ29uZmlnLmZsb3dDb25maWcgPyB7XG4gICAgICBmbG93QXJuOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy5mbG93LmZsb3dBcm4sXG4gICAgICBmbG93VnBjSW50ZXJmYWNlQXR0YWNobWVudDogc291cmNlQ29uZmlnLmZsb3dDb25maWcudnBjSW50ZXJmYWNlID8ge1xuICAgICAgICB2cGNJbnRlcmZhY2VOYW1lOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy52cGNJbnRlcmZhY2UubmFtZSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXR3b3JrSW5wdXQgPSBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZyA/IHtcbiAgICAgIG11bHRpY2FzdElwOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5tdWx0aWNhc3RJcCxcbiAgICAgIG5ldHdvcmtOYW1lOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5uZXR3b3JrLm5hbWUsXG4gICAgICBwb3J0OiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLnByb3RvY29sLnZhbHVlLFxuICAgICAgbXVsdGljYXN0U291cmNlU2V0dGluZ3M6IHtcbiAgICAgICAgbXVsdGljYXN0U291cmNlSXA6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLm11bHRpY2FzdFNvdXJjZUlwLFxuICAgICAgfSxcbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgbmV3IENmbkJyaWRnZVNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGJyaWRnZUFybjogcHJvcHMuYnJpZGdlLmJyaWRnZUFybixcbiAgICAgIGZsb3dTb3VyY2U6IGZsb3dJbnB1dCxcbiAgICAgIG5ldHdvcmtTb3VyY2U6IG5ldHdvcmtJbnB1dCxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlQXJuID0gcHJvcHMuYnJpZGdlLmJyaWRnZUFybjtcbiAgICB0aGlzLmJyaWRnZVNvdXJjZU5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcbiAgfVxufVxuIl19
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyaWRnZS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUErRDtBQUUvRCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSxxQ0FBc0M7QUF5Q3RDOztHQUVHO0FBQ0gsTUFBYSx5QkFBeUI7SUF3QmpCO0lBQ0E7O0lBeEJuQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUF3Qjs7Ozs7Ozs7OztRQUN6QyxPQUFPLElBQUkseUJBQXlCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBMkI7Ozs7Ozs7Ozs7UUFDL0MsT0FBTyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN6RDtJQUVEOzs7T0FHRztJQUNILFlBQ21CLFVBQTZCLEVBQzdCLGFBQW1DO1FBRG5DLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjs7Ozs7OzsrQ0F6QjNDLHlCQUF5Qjs7OztLQTBCaEM7SUFFSjs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztLQUNIOztBQXJDSCw4REFzQ0M7QUFFRDs7R0FFRztJQUVVLFlBQVk7NEJBRHhCLG9DQUFrQjs7OztzQkFDZSxzQkFBUTs0QkFBaEIsU0FBUSxXQUFROzs7O1lBQTFDLDZLQW1GQzs7Ozs7UUFsRkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyw4Q0FBOEMsQ0FBQztRQUV0RixTQUFTLENBQVM7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QUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDakUsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSTtpQkFDNUQsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXO2dCQUNuRCxXQUFXLEVBQUUsWUFBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSTtnQkFDcEQsSUFBSSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDckMsUUFBUSxFQUFFLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQ25ELHVCQUF1QixFQUFFO29CQUN2QixpQkFBaUIsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLGlCQUFpQjtpQkFDaEU7YUFDRixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFZCxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUNqQyxVQUFVLEVBQUUsU0FBUztnQkFDckIsYUFBYSxFQUFFLFlBQVk7YUFDNUIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMzQzs7WUFsRlUsdURBQVk7Ozs7O0FBQVosb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlLCBMYXp5LCBOYW1lcywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkJyaWRnZVNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJQnJpZGdlU291cmNlUmVmLCBCcmlkZ2VTb3VyY2VSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUJyaWRnZSwgQnJpZGdlRmxvd1NvdXJjZSB9IGZyb20gJy4vYnJpZGdlJztcbmltcG9ydCB7IEJyaWRnZVR5cGUgfSBmcm9tICcuL2JyaWRnZSc7XG5pbXBvcnQgdHlwZSB7IEJyaWRnZU5ldHdvcmtTb3VyY2UgfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIEJyaWRnZSBzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJpZGdlU291cmNlIGV4dGVuZHMgSVJlc291cmNlLCBJQnJpZGdlU291cmNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgYnJpZGdlIHRoYXQgb3ducyB0aGlzIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlU291cmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBicmlkZ2Ugc291cmNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlU291cmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGJyaWRnZSB0byBhZGQgdGhpcyBzb3VyY2UgdG8uXG4gICAqL1xuICByZWFkb25seSBicmlkZ2U6IElCcmlkZ2U7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIEJyaWRnZSBTb3VyY2UgSW5wdXRcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogQnJpZGdlU291cmNlQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBicmlkZ2Ugc291cmNlIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIEZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggZmxvdyBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZmxvdyhzb3VyY2U6IEJyaWRnZUZsb3dTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24oc291cmNlLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlIHNvdXJjZVxuICAgKiBAcGFyYW0gc291cmNlIE5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgQnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIHdpdGggbmV0d29yayBzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV0d29yayhzb3VyY2U6IEJyaWRnZU5ldHdvcmtTb3VyY2UpOiBCcmlkZ2VTb3VyY2VDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IEJyaWRnZVNvdXJjZUNvbmZpZ3VyYXRpb24odW5kZWZpbmVkLCBzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBmbG93Q29uZmlnIGZsb3cgc291cmNlIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIG5ldHdvcmtDb25maWcgbmV0d29yayBzb3VyY2UgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmxvd0NvbmZpZz86IEJyaWRnZUZsb3dTb3VyY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXR3b3JrQ29uZmlnPzogQnJpZGdlTmV0d29ya1NvdXJjZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYnJpZGdlIHNvdXJjZSBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgQnJpZGdlU291cmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmxvd0NvbmZpZzogdGhpcy5mbG93Q29uZmlnLFxuICAgICAgbmV0d29ya0NvbmZpZzogdGhpcy5uZXR3b3JrQ29uZmlnLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRzIHNvdXJjZXMgdG8gYW4gZXhpc3RpbmcgYnJpZGdlLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgQnJpZGdlU291cmNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQnJpZGdlU291cmNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkJyaWRnZVNvdXJjZSc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VTb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoaXMgQnJpZGdlU291cmNlIHJlc291cmNlLiAqL1xuICBwdWJsaWMgZ2V0IGJyaWRnZVNvdXJjZVJlZigpOiBCcmlkZ2VTb3VyY2VSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICBicmlkZ2VBcm46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgYnJpZGdlU291cmNlTmFtZTogdGhpcy5icmlkZ2VTb3VyY2VOYW1lLFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnJpZGdlU291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LmJyaWRnZVNvdXJjZU5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgYnJpZGdlIHNvdXJjZSBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5icmlkZ2VTb3VyY2VOYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmJyaWRnZVNvdXJjZU5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VTb3VyY2VOYW1lTGVuZ3RoYCwgYEJyaWRnZSBzb3VyY2UgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlU291cmNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV8tXSskLy50ZXN0KHByb3BzLmJyaWRnZVNvdXJjZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZVNvdXJjZU5hbWVGb3JtYXRgLCBgQnJpZGdlIHNvdXJjZSBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMsIGdvdCAnJHtwcm9wcy5icmlkZ2VTb3VyY2VOYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIEVncmVzcyBicmlkZ2VzIHNob3VsZCBvbmx5IHVzZSBmbG93IHNvdXJjZXNcbiAgICBjb25zdCBzb3VyY2VDb25maWcgPSBwcm9wcy5zb3VyY2UuX2JpbmQoKTtcbiAgICBpZiAocHJvcHMuYnJpZGdlLmJyaWRnZVR5cGUudmFsdWUgPT09IEJyaWRnZVR5cGUuRUdSRVNTX0JSSURHRS52YWx1ZSAmJiAhc291cmNlQ29uZmlnLmZsb3dDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZVNvdXJjZUVncmVzc0Zsb3dPbmx5YCwgJ0VncmVzcyBicmlkZ2VzIG11c3QgdXNlIGZsb3cgc291cmNlcycsIHRoaXMpO1xuICAgIH1cblxuICAgIC8vIEluZ3Jlc3MgYnJpZGdlcyBzaG91bGQgb25seSB1c2UgbmV0d29yayBzb3VyY2VzXG4gICAgaWYgKHByb3BzLmJyaWRnZS5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLklOR1JFU1NfQlJJREdFLnZhbHVlICYmICFzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlU291cmNlSW5ncmVzc05ldHdvcmtPbmx5YCwgJ0luZ3Jlc3MgYnJpZGdlcyBtdXN0IHVzZSBuZXR3b3JrIHNvdXJjZXMnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmJyaWRnZS5pc0ZhaWxvdmVyRW5hYmxlZCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZVNvdXJjZUZhaWxvdmVyUmVxdWlyZWRgLFxuICAgICAgICAnRmFpbG92ZXIgY29uZmlndXJhdGlvbiBuZWVkcyB0byBiZSBjb25maWd1cmVkIGFuZCBlbmFibGVkIHRvIGFkZCBhbiBhZGRpdGlvbmFsIEJyaWRnZSBzb3VyY2UuICcgK1xuICAgICAgICAnSWYgdGhlIEJyaWRnZSBpcyBpbXBvcnRlZCB2aWEgZnJvbUJyaWRnZUF0dHJpYnV0ZXMoKSwgc2V0IGlzRmFpbG92ZXJFbmFibGVkOiB0cnVlJyxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZmxvd0lucHV0ID0gc291cmNlQ29uZmlnLmZsb3dDb25maWcgPyB7XG4gICAgICBmbG93QXJuOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy5mbG93LmZsb3dBcm4sXG4gICAgICBmbG93VnBjSW50ZXJmYWNlQXR0YWNobWVudDogc291cmNlQ29uZmlnLmZsb3dDb25maWcudnBjSW50ZXJmYWNlID8ge1xuICAgICAgICB2cGNJbnRlcmZhY2VOYW1lOiBzb3VyY2VDb25maWcuZmxvd0NvbmZpZy52cGNJbnRlcmZhY2UubmFtZSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXR3b3JrSW5wdXQgPSBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZyA/IHtcbiAgICAgIG11bHRpY2FzdElwOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5tdWx0aWNhc3RJcCxcbiAgICAgIG5ldHdvcmtOYW1lOiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5uZXR3b3JrLm5hbWUsXG4gICAgICBwb3J0OiBzb3VyY2VDb25maWcubmV0d29ya0NvbmZpZy5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLnByb3RvY29sLnZhbHVlLFxuICAgICAgbXVsdGljYXN0U291cmNlU2V0dGluZ3M6IHtcbiAgICAgICAgbXVsdGljYXN0U291cmNlSXA6IHNvdXJjZUNvbmZpZy5uZXR3b3JrQ29uZmlnLm11bHRpY2FzdFNvdXJjZUlwLFxuICAgICAgfSxcbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgbmV3IENmbkJyaWRnZVNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGJyaWRnZUFybjogcHJvcHMuYnJpZGdlLmJyaWRnZUFybixcbiAgICAgIGZsb3dTb3VyY2U6IGZsb3dJbnB1dCxcbiAgICAgIG5ldHdvcmtTb3VyY2U6IG5ldHdvcmtJbnB1dCxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlQXJuID0gcHJvcHMuYnJpZGdlLmJyaWRnZUFybjtcbiAgICB0aGlzLmJyaWRnZVNvdXJjZU5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcbiAgfVxufVxuIl19
|
package/lib/bridge.js
CHANGED
|
@@ -50,7 +50,7 @@ const shared_1 = require("./shared");
|
|
|
50
50
|
*/
|
|
51
51
|
class BridgeType {
|
|
52
52
|
value;
|
|
53
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeType", version: "2.
|
|
53
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeType", version: "2.266.0-alpha.0" };
|
|
54
54
|
/**
|
|
55
55
|
* Ingress Bridge
|
|
56
56
|
*/
|
|
@@ -81,7 +81,7 @@ exports.BridgeType = BridgeType;
|
|
|
81
81
|
*/
|
|
82
82
|
class BridgeOutputConfiguration {
|
|
83
83
|
_network;
|
|
84
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeOutputConfiguration", version: "2.
|
|
84
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeOutputConfiguration", version: "2.266.0-alpha.0" };
|
|
85
85
|
/**
|
|
86
86
|
* Create a network output configuration for a bridge.
|
|
87
87
|
*/
|
|
@@ -127,7 +127,7 @@ exports.BridgeOutputConfiguration = BridgeOutputConfiguration;
|
|
|
127
127
|
class BridgeFailoverConfig {
|
|
128
128
|
_state;
|
|
129
129
|
_primarySource;
|
|
130
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeFailoverConfig", version: "2.
|
|
130
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeFailoverConfig", version: "2.266.0-alpha.0" };
|
|
131
131
|
/**
|
|
132
132
|
* Configure switchover-mode failover. The bridge swaps to the backup source when
|
|
133
133
|
* the primary source stops receiving data.
|
|
@@ -175,7 +175,7 @@ class BridgeConfiguration {
|
|
|
175
175
|
_bridgeType;
|
|
176
176
|
_ingressConfig;
|
|
177
177
|
_egressConfig;
|
|
178
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeConfiguration", version: "2.
|
|
178
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.BridgeConfiguration", version: "2.266.0-alpha.0" };
|
|
179
179
|
/**
|
|
180
180
|
* An ingress bridge is a ground-to-cloud bridge. The content originates at your premises and is delivered to the cloud.
|
|
181
181
|
*/
|
|
@@ -388,7 +388,7 @@ let Bridge = (() => {
|
|
|
388
388
|
Bridge = _classThis = _classDescriptor.value;
|
|
389
389
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
390
390
|
}
|
|
391
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Bridge", version: "2.
|
|
391
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.Bridge", version: "2.266.0-alpha.0" };
|
|
392
392
|
/** Uniquely identifies this class. */
|
|
393
393
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.Bridge';
|
|
394
394
|
bridgeArn;
|
|
@@ -414,8 +414,8 @@ let Bridge = (() => {
|
|
|
414
414
|
if (props.bridgeName.length > 64) {
|
|
415
415
|
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeNameLength`, `Bridge name must be between 1 and 64 characters, got ${props.bridgeName.length}`, this);
|
|
416
416
|
}
|
|
417
|
-
if (!/^[a-zA-Z0-
|
|
418
|
-
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeNameFormat`, `Bridge name must contain only alphanumeric characters and
|
|
417
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(props.bridgeName)) {
|
|
418
|
+
throw new aws_cdk_lib_1.ValidationError((0, helpers_internal_1.lit) `BridgeNameFormat`, `Bridge name must contain only alphanumeric characters, hyphens, and underscores, got '${props.bridgeName}'`, this);
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
// Enhanced CDK Analytics Telemetry
|
|
@@ -487,4 +487,4 @@ let Bridge = (() => {
|
|
|
487
487
|
return Bridge = _classThis;
|
|
488
488
|
})();
|
|
489
489
|
exports.Bridge = Bridge;
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUErRztBQUUvRywrREFBMEQ7QUFDMUQsbUVBQXlEO0FBRXpELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRzFFLG1EQUErQztBQUkvQyxxQ0FBK0M7QUFnRC9DOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBbUJlOztJQWxCcEM7O09BRUc7SUFDSSxNQUFNLENBQVUsY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekU7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXZFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBRUQsZ0RBQWdEO0lBQ2hELFlBQW9DLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO0tBQUk7SUFFckQsK0JBQStCO0lBQ3hCLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkI7O0FBeEJILGdDQXlCQztBQWtMRDs7R0FFRztBQUNILE1BQWEseUJBQXlCO0lBV0M7O0lBVnJDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUErQjs7Ozs7Ozs7OztRQUNuRCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pFLE1BQU0sSUFBSSxxQ0FBdUIsQ0FBQyxJQUFBLHNCQUFHLEVBQUEs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Ozs7O0FBQU4sd0JBQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpdHJhdGUsIElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IER1cmF0aW9uLCBSZXNvdXJjZSwgTGF6eSwgTmFtZXMsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IsIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgTWV0cmljLCBVbml0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ2ZuQnJpZGdlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgdHlwZSB7IElCcmlkZ2VSZWYsIEJyaWRnZVJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBJQnJpZGdlT3V0cHV0IH0gZnJvbSAnLi9icmlkZ2Utb3V0cHV0JztcbmltcG9ydCB7IEJyaWRnZU91dHB1dCB9IGZyb20gJy4vYnJpZGdlLW91dHB1dCc7XG5pbXBvcnQgdHlwZSB7IElGbG93IH0gZnJvbSAnLi9mbG93JztcbmltcG9ydCB0eXBlIHsgSUdhdGV3YXkgfSBmcm9tICcuL2dhdGV3YXknO1xuaW1wb3J0IHR5cGUgeyBCcmlkZ2VQcm90b2NvbCwgQnJpZGdlTmV0d29ya1NvdXJjZSwgR2F0ZXdheU5ldHdvcmssIFZwY0ludGVyZmFjZUNvbmZpZyB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7IEZhaWxvdmVyTW9kZSwgU3RhdGUgfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogVGhlIHNvdXJjZSBvZiB0aGUgYnJpZGdlLiBBIGZsb3cgc291cmNlIG9yaWdpbmF0ZXMgaW4gTWVkaWFDb25uZWN0IGFzIGFuIGV4aXN0aW5nIGNsb3VkIGZsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlRmxvd1NvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgY2xvdWQgZmxvdyB1c2VkIGFzIGEgc291cmNlIG9mIHRoaXMgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZmxvdzogSUZsb3c7XG4gIC8qKlxuICAgKiBUaGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBzb3VyY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSW50ZXJmYWNlPzogVnBjSW50ZXJmYWNlQ29uZmlnO1xufVxuXG4vKipcbiAqIEEgbmFtZWQgZmxvdyBzb3VyY2UgZm9yIGFuIGVncmVzcyBicmlkZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlRmxvd0lucHV0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmbG93IHNvdXJjZS4gTXVzdCBiZSB1bmlxdWUgYW1vbmcgc291cmNlcyBvbiB0aGUgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmxvdyBzb3VyY2UgY29uZmlndXJhdGlvbiBkZXNjcmliaW5nIHdoZXJlIHRoZSBicmlkZ2UgY29uc3VtZXMgY29udGVudCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBCcmlkZ2VGbG93U291cmNlO1xufVxuXG4vKipcbiAqIEEgbmFtZWQgbmV0d29yayBzb3VyY2UgZm9yIGFuIGluZ3Jlc3MgYnJpZGdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZU5ldHdvcmtJbnB1dCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV0d29yayBzb3VyY2UuIE11c3QgYmUgdW5pcXVlIGFtb25nIHNvdXJjZXMgb24gdGhlIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb24gZGVzY3JpYmluZyB0aGUgbXVsdGljYXN0IGVuZHBvaW50IHRoZSBicmlkZ2UgbGlzdGVucyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogQnJpZGdlTmV0d29ya1NvdXJjZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9mIGJyaWRnZSB0eXBlXG4gKi9cbmV4cG9ydCBjbGFzcyBCcmlkZ2VUeXBlIHtcbiAgLyoqXG4gICAqIEluZ3Jlc3MgQnJpZGdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOR1JFU1NfQlJJREdFID0gbmV3IEJyaWRnZVR5cGUoJ2luZ3Jlc3NfYnJpZGdlJyk7XG4gIC8qKlxuICAgKiBFZ3Jlc3MgQnJpZGdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVHUkVTU19CUklER0UgPSBuZXcgQnJpZGdlVHlwZSgnZWdyZXNzX2JyaWRnZScpO1xuXG4gIC8qKlxuICAgKiBVc2UgYSBjdXN0b20gYnJpZGdlIHR5cGUgdmFsdWVcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBicmlkZ2UgdHlwZSBzdHJpbmcgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YodmFsdWU6IHN0cmluZyk6IEJyaWRnZVR5cGUge1xuICAgIHJldHVybiBuZXcgQnJpZGdlVHlwZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQHBhcmFtIHZhbHVlIFRoZSBicmlkZ2UgdHlwZSBzdHJpbmcgdmFsdWUgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZykge31cblxuICAvKiogUmV0dXJucyB0aGUgc3RyaW5nIHZhbHVlICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBicmlkZ2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gKi9cbmludGVyZmFjZSBCcmlkZ2VDb25maWd1cmF0aW9uQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBleHBlY3RlZCBiaXRyYXRlIChpbiBicHMpIG9mIHRoZSBicmlkZ2UuXG4gICAqL1xuICByZWFkb25seSBtYXhCaXRyYXRlOiBCaXRyYXRlO1xufVxuXG4vKipcbiAqIEluZ3Jlc3MgYnJpZGdlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbiBleHRlbmRzIEJyaWRnZUNvbmZpZ3VyYXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvdXRwdXRzIG9uIHRoZSBpbmdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heE91dHB1dHM6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBuZXR3b3JrIHNvdXJjZXMgZm9yIHRoZSBpbmdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtTb3VyY2VzOiBCcmlkZ2VOZXR3b3JrSW5wdXRbXTtcbn1cblxuLyoqXG4gKiBFZ3Jlc3MgYnJpZGdlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uIGV4dGVuZHMgQnJpZGdlQ29uZmlndXJhdGlvbkJhc2Uge1xuICAvKipcbiAgICogVGhlIGZsb3cgc291cmNlcyBmb3IgdGhlIGVncmVzcyBicmlkZ2UuXG4gICAqL1xuICByZWFkb25seSBmbG93U291cmNlczogQnJpZGdlRmxvd0lucHV0W107XG4gIC8qKlxuICAgKiBUaGUgbmV0d29yayBvdXRwdXRzIGZvciB0aGUgZWdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtPdXRwdXRzOiBCcmlkZ2VOZXR3b3JrT3V0cHV0W107XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBCcmlkZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJpZGdlIGV4dGVuZHMgSVJlc291cmNlLCBJQnJpZGdlUmVmIHtcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBicmlkZ2UuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGJyaWRnZSAoaW5ncmVzcyBvciBlZ3Jlc3MpLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VUeXBlOiBCcmlkZ2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VTdGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogRmFpbG92ZXIgQ29uZmlndXJhdGlvbiBmb3IgQnJpZGdlXG4gICAqL1xuICByZWFkb25seSBpc0ZhaWxvdmVyRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldHdvcmsgb3V0cHV0IHRvIHRoaXMgYnJpZGdlIChmb3IgZWdyZXNzIGJyaWRnZXMgb25seSkuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBDb25zdHJ1Y3QgaWQgZm9yIHRoZSBuZXcgQnJpZGdlT3V0cHV0XG4gICAqIEBwYXJhbSBuZXR3b3JrT3V0cHV0IFRoZSBuYW1lZCBvdXRwdXQgdG8gYWRkLiBUaGUgYG5hbWVgIGlzIHRoZSBvdXRwdXQncyBpZGVudGl0eSBvbiB0aGUgYnJpZGdlIGFuZCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBvdXRwdXRzLlxuICAgKi9cbiAgYWRkT3V0cHV0KGlkOiBzdHJpbmcsIG5ldHdvcmtPdXRwdXQ6IEJyaWRnZU5ldHdvcmtPdXRwdXQpOiBJQnJpZGdlT3V0cHV0O1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBDbG91ZFdhdGNoIG1ldHJpYyBmb3IgdGhpcyBicmlkZ2UuXG4gICAqXG4gICAqIEJyaWRnZSBtZXRyaWNzIGFyZSBkaW1lbnNpb25lZCBieSBgQnJpZGdlQVJOYC4gU2VlIHRoZSBNZWRpYUNvbm5lY3RcbiAgICogZG9jdW1lbnRhdGlvbiBmb3IgYXZhaWxhYmxlIG1ldHJpYyBuYW1lcyAoZS5nLiBgSW5ncmVzc0JyaWRnZUJpdFJhdGVgLFxuICAgKiBgRWdyZXNzQnJpZGdlQml0UmF0ZWAsIGBJbmdyZXNzQnJpZGdlUGFja2V0TG9zc1BlcmNlbnRgKS5cbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgYml0cmF0ZSBvZiBhIHNwZWNpZmljIGJyaWRnZSBzb3VyY2UuXG4gICAqXG4gICAqIFVzZXMgYEluZ3Jlc3NCcmlkZ2VTb3VyY2VCaXRSYXRlYCBmb3IgaW5ncmVzcyBicmlkZ2VzIGFuZFxuICAgKiBgRWdyZXNzQnJpZGdlU291cmNlQml0UmF0ZWAgZm9yIGVncmVzcyBicmlkZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gYnJpZGdlU291cmNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZVxuICAgKiBAZGVmYXVsdCAtIGF2ZXJhZ2Ugb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNTb3VyY2VCaXRyYXRlKGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBwZXJjZW50YWdlIG9mIHBhY2tldHMgbG9zdCBvbiBhIHNwZWNpZmljIGJyaWRnZSBzb3VyY2UuXG4gICAqXG4gICAqIFVzZXMgYEluZ3Jlc3NCcmlkZ2VTb3VyY2VQYWNrZXRMb3NzUGVyY2VudGAgZm9yIGluZ3Jlc3MgYnJpZGdlcyBhbmRcbiAgICogYEVncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50YCBmb3IgZWdyZXNzIGJyaWRnZXMuXG4gICAqXG4gICAqIEBwYXJhbSBicmlkZ2VTb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2Ugc291cmNlXG4gICAqIEBkZWZhdWx0IC0gYXZlcmFnZSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY1NvdXJjZVBhY2tldExvc3NQZXJjZW50KGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGJyaWRnZSBzd2l0Y2hlcyBiZXR3ZWVuIHNvdXJjZXNcbiAgICogd2hlbiB1c2luZyB0aGUgYEZBSUxPVkVSYCBmYWlsb3ZlciBtb2RlLlxuICAgKlxuICAgKiBVc2VzIGBJbmdyZXNzQnJpZGdlRmFpbG92ZXJTd2l0Y2hlc2AgZm9yIGluZ3Jlc3MgYnJpZGdlcyBhbmRcbiAgICogYEVncmVzc0JyaWRnZUZhaWxvdmVyU3dpdGNoZXNgIGZvciBlZ3Jlc3MgYnJpZGdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNGYWlsb3ZlclN3aXRjaGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIGJyaWRnZSBuZXR3b3JrIG91dHB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmlkZ2VOZXR3b3JrT3V0cHV0UHJvcHMge1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgdGhlIG91dHB1dCB3aWxsIHNlbmQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IGlwQWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHBvcnQgdG8gdXNlIGZvciB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgbmV0d29yayB0aGlzIG91dHB1dCBzZW5kcyBjb250ZW50IG91dCBvZi5cbiAgICpcbiAgICogVXNlIHtAbGluayBHYXRld2F5TmV0d29yay5kZWZpbmV9IHRvIGNyZWF0ZSB0aGUgbmV0d29yayBhbmQgcGFzcyB0aGUgc2FtZVxuICAgKiBpbnN0YW5jZSB0byB0aGUgZ2F0ZXdheSBhbmQgdG8gZWFjaCBvdXRwdXQgdGhhdCB1c2VzIGl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29yazogR2F0ZXdheU5ldHdvcms7XG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdG8gdXNlIGZvciB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w6IEJyaWRnZVByb3RvY29sO1xuICAvKipcbiAgICogVGltZSB0byBsaXZlIChUVEwpIGZvciB0aGUgb3V0cHV0IHBhY2tldHMgaW4gaG9wcyAoMS0yNTUpLlxuICAgKlxuICAgKiBUVEwgcmVwcmVzZW50cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbmV0d29yayBob3BzIGEgcGFja2V0IGNhbiB0cmF2ZXJzZVxuICAgKiBiZWZvcmUgYmVpbmcgZGlzY2FyZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHRsOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBuYW1lZCBuZXR3b3JrIG91dHB1dCBmb3IgYW4gZWdyZXNzIGJyaWRnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmlkZ2VOZXR3b3JrT3V0cHV0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBuZXR3b3JrIG91dHB1dC4gTXVzdCBiZSB1bmlxdWUgYW1vbmcgb3V0cHV0cyBvbiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBVc2VkIGFzIHRoZSBwaHlzaWNhbCBuYW1lIG9mIHRoZSB1bmRlcmx5aW5nIENGTiByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBkZXNjcmliaW5nIHdoZXJlIHRoaXMgb3V0cHV0IHNlbmRzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBicmlkZ2Ugb3V0cHV0LlxuICovXG5leHBvcnQgY2xhc3MgQnJpZGdlT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXR3b3JrIG91dHB1dCBjb25maWd1cmF0aW9uIGZvciBhIGJyaWRnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV0d29yayhwcm9wczogQnJpZGdlTmV0d29ya091dHB1dFByb3BzKTogQnJpZGdlT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMudHRsKSAmJiAocHJvcHMudHRsIDwgMSB8fCBwcm9wcy50dGwgPiAyNTUpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZU91dHB1dFR0bFJhbmdlYCwgYFRUTCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU1IGhvcHMsIGdvdCAke3Byb3BzLnR0bH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBCcmlkZ2VPdXRwdXRDb25maWd1cmF0aW9uKHByb3BzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfbmV0d29yazogQnJpZGdlTmV0d29ya091dHB1dFByb3BzKSB7fVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpOiB7IGlwQWRkcmVzczogc3RyaW5nOyBuZXR3b3JrTmFtZTogc3RyaW5nOyBwb3J0OiBudW1iZXI7IHByb3RvY29sOiBzdHJpbmc7IHR0bDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBpcEFkZHJlc3M6IHRoaXMuX25ldHdvcmsuaXBBZGRyZXNzLFxuICAgICAgbmV0d29ya05hbWU6IHRoaXMuX25ldHdvcmsubmV0d29yay5uYW1lLFxuICAgICAgcG9ydDogdGhpcy5fbmV0d29yay5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHRoaXMuX25ldHdvcmsucHJvdG9jb2wudmFsdWUsXG4gICAgICB0dGw6IHRoaXMuX25ldHdvcmsudHRsLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBicmlkZ2Ugc291cmNlIGZhaWxvdmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZUZhaWxvdmVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGZhaWxvdmVyIGlzIGVuYWJsZWQuIFNldCB0byBgU3RhdGUuRElTQUJMRURgIHRvIGtlZXAgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICogb24gdGhlIGJyaWRnZSB3aXRob3V0IHN3aXRjaGluZyBmYWlsb3ZlciBvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgU3RhdGUuRU5BQkxFRFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU/OiBTdGF0ZTtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgeW91IHdhbnQgdG8gdHJlYXQgYXMgcHJpbWFyeS4gSWYgc2V0LCBNZWRpYUNvbm5lY3QgYWx3YXlzXG4gICAqIHVzZXMgdGhpcyBzb3VyY2Ugd2hlbiBpdCBpcyBhdmFpbGFibGUuIFdoZW4gdW5zZXQsIGJvdGggc291cmNlcyBhcmUgdHJlYXRlZCB3aXRoXG4gICAqIGVxdWFsIHByaW9yaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJvdGggc291cmNlcyBhcmUgZXF1YWwgcHJpb3JpdHlcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnlTb3VyY2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU291cmNlIGZhaWxvdmVyIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlLlxuICpcbiAqIEJyaWRnZXMgb25seSBzdXBwb3J0IGBGQUlMT1ZFUmAgKHN3aXRjaG92ZXIpIG1vZGUg4oCUIHRoZSBgTUVSR0VgIG1vZGUgYXZhaWxhYmxlIG9uXG4gKiBgRmxvdy5zb3VyY2VGYWlsb3ZlckNvbmZpZ2AgaXMgbm90IGFsbG93ZWQgb24gYnJpZGdlcyBieSB0aGUgc2VydmljZS4gVXNlXG4gKiB7QGxpbmsgQnJpZGdlRmFpbG92ZXJDb25maWcuZmFpbG92ZXJ9IHRvIGNvbnN0cnVjdCB0aGUgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEJyaWRnZUZhaWxvdmVyQ29uZmlnIHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBzd2l0Y2hvdmVyLW1vZGUgZmFpbG92ZXIuIFRoZSBicmlkZ2Ugc3dhcHMgdG8gdGhlIGJhY2t1cCBzb3VyY2Ugd2hlblxuICAgKiB0aGUgcHJpbWFyeSBzb3VyY2Ugc3RvcHMgcmVjZWl2aW5nIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZhaWxvdmVyKG9wdGlvbnM6IEJyaWRnZUZhaWxvdmVyT3B0aW9ucyA9IHt9KTogQnJpZGdlRmFpbG92ZXJDb25maWcge1xuICAgIHJldHVybiBuZXcgQnJpZGdlRmFpbG92ZXJDb25maWcob3B0aW9ucy5zdGF0ZSA/PyBTdGF0ZS5FTkFCTEVELCBvcHRpb25zLnByaW1hcnlTb3VyY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZTogU3RhdGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcHJpbWFyeVNvdXJjZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb25maWd1cmF0aW9uIGhhcyBmYWlsb3ZlciBlbmFibGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgX2lzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUgPT09IFN0YXRlLkVOQUJMRUQ7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gaXMgYm91bmQgdG8gYSBCcmlkZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9iaW5kKCk6IENmbkJyaWRnZS5GYWlsb3ZlckNvbmZpZ1Byb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgZmFpbG92ZXJNb2RlOiBGYWlsb3Zlck1vZGUuRkFJTE9WRVIudmFsdWUsXG4gICAgICBzdGF0ZTogdGhpcy5fc3RhdGUsXG4gICAgICBzb3VyY2VQcmlvcml0eTogdGhpcy5fcHJpbWFyeVNvdXJjZSA/IHsgcHJpbWFyeVNvdXJjZTogdGhpcy5fcHJpbWFyeVNvdXJjZSB9IDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBCcmlkZ2UgY29uZmlndXJhdGlvbiB0byBzZXQgaW5ncmVzcyBhbmQgZWdyZXNzIG9wdGlvbnMgb24gdGhlIGJyaWRnZVxuICovXG5leHBvcnQgY2xhc3MgQnJpZGdlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBbiBpbmdyZXNzIGJyaWRnZSBpcyBhIGdyb3VuZC10by1jbG91ZCBicmlkZ2UuIFRoZSBjb250ZW50IG9yaWdpbmF0ZXMgYXQgeW91ciBwcmVtaXNlcyBhbmQgaXMgZGVsaXZlcmVkIHRvIHRoZSBjbG91ZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5ncmVzcyhjb25maWc6IEluZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uKTogQnJpZGdlQ29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFjb25maWcubWF4Qml0cmF0ZS5pc1VucmVzb2x2ZWQoKSkge1xuICAgICAgY29uc3QgYml0cmF0ZUJwcyA9IGNvbmZpZy5tYXhCaXRyYXRlLnRvQnBzKCk7XG4gICAgICBpZiAoYml0cmF0ZUJwcyA8IDEwMDAwMDAgfHwgYml0cmF0ZUJwcyA+IDEwMDAwMDAwMCkge1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZUluZ3Jlc3NCaXRyYXRlUmFuZ2VgLCBgQnJpZGdlIGluZ3Jlc3MgbWF4IGJpdHJhdGUgbXVzdCBiZSBiZXR3ZWVuIDEsMDAwLDAwMCBhbmQgMTAwLDAwMCwwMDAgYnBzLCBnb3QgJHtiaXRyYXRlQnBzfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbmZpZy5uZXR3b3JrU291cmNlcykgJiYgY29uZmlnLm5ldHdvcmtTb3VyY2VzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZU1heE5ldHdvcmtTb3VyY2VzYCxcbiAgICAgICAgYEEgYnJpZGdlIHN1cHBvcnRzIGEgbWF4aW11bSBvZiAyIG5ldHdvcmsgc291cmNlcywgZ290ICR7Y29uZmlnLm5ldHdvcmtTb3VyY2VzLmxlbmd0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEJyaWRnZUNvbmZpZ3VyYXRpb24oQnJpZGdlVHlwZS5JTkdSRVNTX0JSSURHRSwgY29uZmlnLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGVncmVzcyBicmlkZ2UgaXMgYSBjbG91ZC10by1ncm91bmQgYnJpZGdlLiBUaGUgY29udGVudCBjb21lcyBmcm9tIGFuIGV4aXN0aW5nIE1lZGlhQ29ubmVjdCBmbG93IGFuZCBpcyBkZWxpdmVyZWQgdG8geW91ciBwcmVtaXNlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWdyZXNzKGNvbmZpZzogRWdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbik6IEJyaWRnZUNvbmZpZ3VyYXRpb24ge1xuICAgIGlmICghY29uZmlnLm1heEJpdHJhdGUuaXNVbnJlc29sdmVkKCkpIHtcbiAgICAgIGNvbnN0IGJpdHJhdGVCcHMgPSBjb25maWcubWF4Qml0cmF0ZS50b0JwcygpO1xuICAgICAgaWYgKGJpdHJhdGVCcHMgPCAxMDAwMDAwIHx8IGJpdHJhdGVCcHMgPiAxMDAwMDAwMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VFZ3Jlc3NCaXRyYXRlUmFuZ2VgLCBgQnJpZGdlIGVncmVzcyBtYXggYml0cmF0ZSBtdXN0IGJlIGJldHdlZW4gMSwwMDAsMDAwIGFuZCAxMDAsMDAwLDAwMCBicHMsIGdvdCAke2JpdHJhdGVCcHN9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoY29uZmlnLmZsb3dTb3VyY2VzKSAmJiBjb25maWcuZmxvd1NvdXJjZXMubGVuZ3RoID4gMikge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgQnJpZGdlTWF4Rmxvd1NvdXJjZXNgLFxuICAgICAgICBgQSBicmlkZ2Ugc3VwcG9ydHMgYSBtYXhpbXVtIG9mIDIgZmxvdyBzb3VyY2VzLCBnb3QgJHtjb25maWcuZmxvd1NvdXJjZXMubGVuZ3RofWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbmZpZy5uZXR3b3JrT3V0cHV0cykgJiYgY29uZmlnLm5ldHdvcmtPdXRwdXRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZU1heE5ldHdvcmtPdXRwdXRzYCxcbiAgICAgICAgYEEgYnJpZGdlIHN1cHBvcnRzIGEgbWF4aW11bSBvZiAyIG5ldHdvcmsgb3V0cHV0cywgZ290ICR7Y29uZmlnLm5ldHdvcmtPdXRwdXRzLmxlbmd0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEJyaWRnZUNvbmZpZ3VyYXRpb24oQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLCB1bmRlZmluZWQsIGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2JyaWRnZVR5cGU6IEJyaWRnZVR5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaW5ncmVzc0NvbmZpZz86IEluZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VncmVzc0NvbmZpZz86IEVncmVzc0JyaWRnZUNvbmZpZ3VyYXRpb24sXG4gICkge31cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGJyaWRnZSBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgQnJpZGdlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpOiB7IGJyaWRnZVR5cGU6IEJyaWRnZVR5cGU7IGluZ3Jlc3NDb25maWc/OiBJbmdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbjsgZWdyZXNzQ29uZmlnPzogRWdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbiB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJpZGdlVHlwZTogdGhpcy5fYnJpZGdlVHlwZSxcbiAgICAgIGluZ3Jlc3NDb25maWc6IHRoaXMuX2luZ3Jlc3NDb25maWcsXG4gICAgICBlZ3Jlc3NDb25maWc6IHRoaXMuX2VncmVzc0NvbmZpZyxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEJyaWRnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2UuIENhbm5vdCBiZSBtb2RpZmllZCBhZnRlciB0aGUgYnJpZGdlIGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b2dlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBicmlkZ2UgY29uZmlndXJhdGlvbiBzcGVjaWZ5aW5nIGluZ3Jlc3Mgb3IgZWdyZXNzIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlnOiBCcmlkZ2VDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhhdCB0aGUgYnJpZGdlIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBmYWlsb3ZlciBjb25maWd1cmF0aW9uIGZvciB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZhaWxvdmVyIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUZhaWxvdmVyQ29uZmlnPzogQnJpZGdlRmFpbG92ZXJDb25maWc7XG5cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgQnJpZGdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2UuXG4gICAqXG4gICAqIE5vdCBlbmNvZGVkIGluIHRoZSBicmlkZ2UgQVJOLCBzbyBtdXN0IGJlIHByb3ZpZGVkIGV4cGxpY2l0bHkgaWYgdGhlIGltcG9ydGVkXG4gICAqIGJyaWRnZSBuZWVkcyB0byBleHBvc2UgYGJyaWRnZU5hbWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJyaWRnZU5hbWUgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgaW1wb3J0ZWQgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBicmlkZ2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hhdCB0eXBlIG9mIGJyaWRnZSBpcyBpbXBvcnRlZC5cbiAgICpcbiAgICogTm90IGVuY29kZWQgaW4gdGhlIGJyaWRnZSBBUk4sIHNvIG11c3QgYmUgcHJvdmlkZWQgZXhwbGljaXRseSBpZiB0aGUgaW1wb3J0ZWRcbiAgICogYnJpZGdlIGlzIHVzZWQgd2l0aCBgYWRkT3V0cHV0KClgIG9yIG90aGVyIG1ldGhvZHMgdGhhdCBuZWVkIHRoZSBicmlkZ2UgdHlwZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBicmlkZ2VUeXBlIGlzIG5vdCBhdmFpbGFibGUgb24gdGhlIGltcG9ydGVkIGNvbnN0cnVjdFxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlVHlwZT86IEJyaWRnZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZhaWxvdmVyIENvbmZpZ3VyYXRpb24gZm9yIEJyaWRnZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBCcmlkZ2VCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQnJpZGdlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBCcmlkZ2UgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCAoaW1wb3J0ZWQpIEJyaWRnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJyaWRnZUF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IEJyaWRnZUF0dHJpYnV0ZXMpOiBJQnJpZGdlIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBCcmlkZ2VCYXNlIGltcGxlbWVudHMgSUJyaWRnZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnJpZGdlQXJuID0gYXR0cnMuYnJpZGdlQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGJyaWRnZVN0YXRlID0gdW5kZWZpbmVkO1xuXG4gICAgICBwdWJsaWMgZ2V0IGJyaWRnZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGF0dHJzLmJyaWRnZU5hbWUpIHJldHVybiBhdHRycy5icmlkZ2VOYW1lO1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGxpdGBCcmlkZ2VOYW1lTm90UHJvdmlkZWRgLFxuICAgICAgICAgIGAnYnJpZGdlTmFtZScgd2FzIG5vdCBwcm92aWRlZCB3aGVuIGltcG9ydGluZyBCcmlkZ2UgJHt0aGlzLm5vZGUucGF0aH07IHByb3ZpZGUgaXQgaW4gZnJvbUJyaWRnZUF0dHJpYnV0ZXMoKWAsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIGdldCBicmlkZ2VUeXBlKCk6IEJyaWRnZVR5cGUge1xuICAgICAgICBpZiAoYXR0cnMuYnJpZGdlVHlwZSkgcmV0dXJuIGF0dHJzLmJyaWRnZVR5cGU7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgbGl0YEJyaWRnZVR5cGVOb3RQcm92aWRlZGAsXG4gICAgICAgICAgYCdicmlkZ2VUeXBlJyB3YXMgbm90IHByb3ZpZGVkIHdoZW4gaW1wb3J0aW5nIEJyaWRnZSAke3RoaXMubm9kZS5wYXRofTsgcHJvdmlkZSBpdCBpbiBmcm9tQnJpZGdlQXR0cmlidXRlcygpYCxcbiAgICAgICAgICB0aGlzLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBJbXBvcnRlZCBicmlkZ2VzIGRlZmF1bHQgdG8gYGZhbHNlYC4gUGFzcyBgaXNGYWlsb3ZlckVuYWJsZWQ6IHRydWVgIGluIHRoZVxuICAgICAgLy8gYXR0cmlidXRlcyB3aGVuIHRoZSByZWFsIHNlcnZpY2Utc2lkZSBicmlkZ2UgaGFzIGZhaWxvdmVyIGVuYWJsZWQgYW5kIHlvdVxuICAgICAgLy8gbmVlZCB0byBhZGQgYSBCcmlkZ2VTb3VyY2UuXG4gICAgICBwdWJsaWMgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuID0gYXR0cnMuaXNGYWlsb3ZlckVuYWJsZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgQnJpZGdlIGZyb20gaXRzIEFSTi5cbiAgICpcbiAgICogVXNlIGBmcm9tQnJpZGdlQXR0cmlidXRlcygpYCBpbnN0ZWFkIGlmIHlvdSBuZWVkIGFjY2VzcyB0byBgYnJpZGdlTmFtZWAsIGBicmlkZ2VUeXBlYFxuICAgKiAocmVxdWlyZWQgZm9yIGBhZGRPdXRwdXQoKWApLCBvciBgaXNGYWlsb3ZlckVuYWJsZWRgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQnJpZGdlQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGJyaWRnZUFybjogc3RyaW5nKTogSUJyaWRnZSB7XG4gICAgcmV0dXJuIEJyaWRnZS5mcm9tQnJpZGdlQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgYnJpZGdlQXJuIH0pO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnJpZGdlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnJpZGdlVHlwZTogQnJpZGdlVHlwZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGJyaWRnZVN0YXRlPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byB0aGlzIEJyaWRnZSByZXNvdXJjZS4gKi9cbiAgcHVibGljIGdldCBicmlkZ2VSZWYoKTogQnJpZGdlUmVmZXJlbmNlIHtcbiAgICByZXR1cm4geyBicmlkZ2VBcm46IHRoaXMuYnJpZGdlQXJuIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgYnJpZGdlLlxuICAgKi9cbiAgcHVibGljIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZSxcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9NZWRpYUNvbm5lY3QnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIEJyaWRnZUFSTjogdGhpcy5icmlkZ2VBcm4sXG4gICAgICAgIC4uLnByb3BzPy5kaW1lbnNpb25zTWFwLFxuICAgICAgfSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBiaXRyYXRlIG9mIGEgc3BlY2lmaWMgYnJpZGdlIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTb3VyY2VCaXRyYXRlKGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICBjb25zdCBtZXRyaWNOYW1lID0gdGhpcy5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLkVHUkVTU19CUklER0UudmFsdWVcbiAgICAgID8gJ0VncmVzc0JyaWRnZVNvdXJjZUJpdFJhdGUnXG4gICAgICA6ICdJbmdyZXNzQnJpZGdlU291cmNlQml0UmF0ZSc7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZSxcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9NZWRpYUNvbm5lY3QnLFxuICAgICAgc3RhdGlzdGljOiAnYXZnJyxcbiAgICAgIHBlcmlvZDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB1bml0OiBVbml0LkJJVFNfUEVSX1NFQ09ORCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBCcmlkZ2VBUk46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgICBCcmlkZ2VTb3VyY2VOYW1lOiBicmlkZ2VTb3VyY2VOYW1lLFxuICAgICAgICAuLi5wcm9wcz8uZGltZW5zaW9uc01hcCxcbiAgICAgIH0sXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgcGVyY2VudGFnZSBvZiBwYWNrZXRzIGxvc3Qgb24gYSBzcGVjaWZpYyBicmlkZ2Ugc291cmNlLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1NvdXJjZVBhY2tldExvc3NQZXJjZW50KGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICBjb25zdCBtZXRyaWNOYW1lID0gdGhpcy5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLkVHUkVTU19CUklER0UudmFsdWVcbiAgICAgID8gJ0VncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50J1xuICAgICAgOiAnSW5ncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50JztcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgbmFtZXNwYWNlOiAnQVdTL01lZGlhQ29ubmVjdCcsXG4gICAgICBzdGF0aXN0aWM6ICdhdmcnLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuUEVSQ0VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBCcmlkZ2VBUk46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgICBCcmlkZ2VTb3VyY2VOYW1lOiBicmlkZ2VTb3VyY2VOYW1lLFxuICAgICAgICAuLi5wcm9wcz8uZGltZW5zaW9uc01hcCxcbiAgICAgIH0sXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBicmlkZ2Ugc3dpdGNoZXMgYmV0d2VlbiBzb3VyY2VzXG4gICAqIHdoZW4gdXNpbmcgdGhlIGBGQUlMT1ZFUmAgZmFpbG92ZXIgbW9kZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNGYWlsb3ZlclN3aXRjaGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgY29uc3QgbWV0cmljTmFtZSA9IHRoaXMuYnJpZGdlVHlwZS52YWx1ZSA9PT0gQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLnZhbHVlXG4gICAgICA/ICdFZ3Jlc3NCcmlkZ2VGYWlsb3ZlclN3aXRjaGVzJ1xuICAgICAgOiAnSW5ncmVzc0JyaWRnZUZhaWxvdmVyU3dpdGNoZXMnO1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhtZXRyaWNOYW1lLCB7XG4gICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuQ09VTlQsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXR3b3JrIG91dHB1dCB0byB0aGlzIGJyaWRnZSAoZm9yIGVncmVzcyBicmlkZ2VzIG9ubHkpLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgQ29uc3RydWN0IGlkIGZvciB0aGUgbmV3IEJyaWRnZU91dHB1dFxuICAgKiBAcGFyYW0gbmV0d29ya091dHB1dCBUaGUgbmFtZWQgb3V0cHV0IHRvIGFkZC4gVGhlIGBuYW1lYCBpcyB0aGUgb3V0cHV0J3MgaWRlbnRpdHkgb24gdGhlIGJyaWRnZSBhbmQgbXVzdCBiZSB1bmlxdWUgYW1vbmcgb3V0cHV0cy5cbiAgICovXG4gIHB1YmxpYyBhZGRPdXRwdXQoaWQ6IHN0cmluZywgbmV0d29ya091dHB1dDogQnJpZGdlTmV0d29ya091dHB1dCk6IElCcmlkZ2VPdXRwdXQge1xuICAgIGlmICh0aGlzLmJyaWRnZVR5cGUudmFsdWUgIT09IEJyaWRnZVR5cGUuRUdSRVNTX0JSSURHRS52YWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZUVncmVzc09ubHlgLFxuICAgICAgICBgYWRkT3V0cHV0IGNhbiBvbmx5IGJlIGNhbGxlZCBvbiBlZ3Jlc3MgYnJpZGdlcywgZ290ICcke3RoaXMuYnJpZGdlVHlwZS52YWx1ZX0nYCxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBCcmlkZ2VPdXRwdXQodGhpcywgaWQsIHtcbiAgICAgIGJyaWRnZU91dHB1dE5hbWU6IG5ldHdvcmtPdXRwdXQubmFtZSxcbiAgICAgIGJyaWRnZTogdGhpcyxcbiAgICAgIG91dHB1dDogbmV0d29ya091dHB1dC5vdXRwdXQsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgQnJpZGdlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBCcmlkZ2UgZXh0ZW5kcyBCcmlkZ2VCYXNlIGltcGxlbWVudHMgSUJyaWRnZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW1lZGlhY29ubmVjdC1hbHBoYS5CcmlkZ2UnO1xuXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZVR5cGU6IEJyaWRnZVR5cGU7XG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VTdGF0ZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGlzRmFpbG92ZXJFbmFibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCcmlkZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8uYnJpZGdlTmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogNjQgfSkgfSksXG4gICAgfSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBicmlkZ2UgbmFtZSBpZiBwcm92aWRlZFxuICAgIGlmIChwcm9wcy5icmlkZ2VOYW1lICE9IG51bGwgJiYgcHJvcHMuYnJpZGdlTmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5icmlkZ2VOYW1lKSkge1xuICAgICAgaWYgKHByb3BzLmJyaWRnZU5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlTmFtZUxlbmd0aGAsIGBCcmlkZ2UgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMuYnJpZGdlTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlTmFtZUZvcm1hdGAsIGBCcmlkZ2UgbmFtZSBtdXN0IGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgaHlwaGVucywgZ290ICcke3Byb3BzLmJyaWRnZU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pc0ZhaWxvdmVyRW5hYmxlZCA9IHByb3BzLnNvdXJjZUZhaWxvdmVyQ29uZmlnPy5faXNFbmFibGVkID8/IGZhbHNlO1xuXG4gICAgY29uc3QgY29uZmlnID0gcHJvcHMuY29uZmlnO1xuICAgIGNvbnN0IGNvbmZpZ0JpbmQgPSBjb25maWcuX2JpbmQoKTtcbiAgICBjb25zdCBpbmdyZXNzID0gY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnID8ge1xuICAgICAgaW5ncmVzc0dhdGV3YXlCcmlkZ2U6IHtcbiAgICAgICAgbWF4Qml0cmF0ZTogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm1heEJpdHJhdGUudG9CcHMoKSxcbiAgICAgICAgbWF4T3V0cHV0czogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm1heE91dHB1dHMsXG4gICAgICB9LFxuICAgICAgc291cmNlczogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm5ldHdvcmtTb3VyY2VzLm1hcChpbnB1dCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmV0d29ya1NvdXJjZToge1xuICAgICAgICAgICAgbmFtZTogaW5wdXQubmFtZSxcbiAgICAgICAgICAgIG11bHRpY2FzdElwOiBpbnB1dC5zb3VyY2UubXVsdGljYXN0SXAsXG4gICAgICAgICAgICBuZXR3b3JrTmFtZTogaW5wdXQuc291cmNlLm5ldHdvcmsubmFtZSxcbiAgICAgICAgICAgIHBvcnQ6IGlucHV0LnNvdXJjZS5wb3J0LFxuICAgICAgICAgICAgcHJvdG9jb2w6IGlucHV0LnNvdXJjZS5wcm90b2NvbC52YWx1ZSxcbiAgICAgICAgICAgIG11bHRpY2FzdFNvdXJjZVNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG11bHRpY2FzdFNvdXJjZUlwOiBpbnB1dC5zb3VyY2UubXVsdGljYXN0U291cmNlSXAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICB9IDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGVncmVzcyA9IGNvbmZpZ0JpbmQuZWdyZXNzQ29uZmlnID8ge1xuICAgICAgZWdyZXNzR2F0ZXdheUJyaWRnZToge1xuICAgICAgICBtYXhCaXRyYXRlOiBjb25maWdCaW5kLmVncmVzc0NvbmZpZy5tYXhCaXRyYXRlLnRvQnBzKCksXG4gICAgICB9LFxuICAgICAgc291cmNlczogY29uZmlnQmluZC5lZ3Jlc3NDb25maWcuZmxvd1NvdXJjZXMubWFwKGlucHV0ID0+IHRoaXMuZm9ybWF0QnJpZGdlRmxvd1NvdXJjZShpbnB1dCkpLFxuICAgICAgb3V0cHV0czogY29uZmlnQmluZC5lZ3Jlc3NDb25maWcubmV0d29ya091dHB1dHMubWFwKG5vID0+ICh7XG4gICAgICAgIG5ldHdvcmtPdXRwdXQ6IHsgbmFtZTogbm8ubmFtZSwgLi4ubm8ub3V0cHV0Ll9iaW5kKCkgfSxcbiAgICAgIH0pKSxcbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYnJpZGdlID0gbmV3IENmbkJyaWRnZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIHBsYWNlbWVudEFybjogcHJvcHMuZ2F0ZXdheS5nYXRld2F5QXJuLFxuICAgICAgaW5ncmVzc0dhdGV3YXlCcmlkZ2U6IGluZ3Jlc3M/LmluZ3Jlc3NHYXRld2F5QnJpZGdlLFxuICAgICAgZWdyZXNzR2F0ZXdheUJyaWRnZTogZWdyZXNzPy5lZ3Jlc3NHYXRld2F5QnJpZGdlLFxuICAgICAgc291cmNlczogaW5ncmVzcz8uc291cmNlcyA/PyBlZ3Jlc3M/LnNvdXJjZXMgPz8gW10sXG4gICAgICBvdXRwdXRzOiBlZ3Jlc3M/Lm91dHB1dHMsXG4gICAgICBzb3VyY2VGYWlsb3ZlckNvbmZpZzogcHJvcHMuc291cmNlRmFpbG92ZXJDb25maWc/Ll9iaW5kKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmJyaWRnZUFybiA9IGJyaWRnZS5hdHRyQnJpZGdlQXJuO1xuICAgIHRoaXMuYnJpZGdlTmFtZSA9IHRoaXMucGh5c2ljYWxOYW1lO1xuICAgIHRoaXMuYnJpZGdlU3RhdGUgPSBicmlkZ2UuYXR0ckJyaWRnZVN0YXRlO1xuICAgIHRoaXMuYnJpZGdlVHlwZSA9IGNvbmZpZ0JpbmQuYnJpZGdlVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYnJpZGdlIGZsb3cgc291cmNlIGludG8gQnJpZGdlU291cmNlUHJvcGVydHkgZm9ybWF0XG4gICAqL1xuICBwcml2YXRlIGZvcm1hdEJyaWRnZUZsb3dTb3VyY2UoaW5wdXQ6IEJyaWRnZUZsb3dJbnB1dCk6IENmbkJyaWRnZS5CcmlkZ2VTb3VyY2VQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsb3dTb3VyY2U6IHtcbiAgICAgICAgZmxvd0FybjogaW5wdXQuc291cmNlLmZsb3cuZmxvd0FybixcbiAgICAgICAgbmFtZTogaW5wdXQubmFtZSxcbiAgICAgICAgZmxvd1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IGlucHV0LnNvdXJjZS52cGNJbnRlcmZhY2UgPyB7XG4gICAgICAgICAgdnBjSW50ZXJmYWNlTmFtZTogaW5wdXQuc291cmNlLnZwY0ludGVyZmFjZS5uYW1lLFxuICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
490
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYnJpZGdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUErRztBQUUvRywrREFBMEQ7QUFDMUQsbUVBQXlEO0FBRXpELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRzFFLG1EQUErQztBQUkvQyxxQ0FBK0M7QUFnRC9DOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBbUJlOztJQWxCcEM7O09BRUc7SUFDSSxNQUFNLENBQVUsY0FBYyxHQUFHLElBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekU7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXZFOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBYTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzlCO0lBRUQsZ0RBQWdEO0lBQ2hELFlBQW9DLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO0tBQUk7SUFFckQsK0JBQStCO0lBQ3hCLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkI7O0FBeEJILGdDQXlCQztBQWtMRDs7R0FFRztBQUNILE1BQWEseUJBQXlCO0lBV0M7O0lBVnJDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUErQjs7Ozs7Ozs7OztRQUNuRCxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pFLE1BQU0sSUFBSSxxQ0FBdUIsQ0FBQyxJQUFBLHNCQUFHLEVBQUEs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Ozs7O0FBQU4sd0JBQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJpdHJhdGUsIElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IER1cmF0aW9uLCBSZXNvdXJjZSwgTGF6eSwgTmFtZXMsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IsIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBNZXRyaWNPcHRpb25zIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgTWV0cmljLCBVbml0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ2ZuQnJpZGdlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgdHlwZSB7IElCcmlkZ2VSZWYsIEJyaWRnZVJlZmVyZW5jZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBJQnJpZGdlT3V0cHV0IH0gZnJvbSAnLi9icmlkZ2Utb3V0cHV0JztcbmltcG9ydCB7IEJyaWRnZU91dHB1dCB9IGZyb20gJy4vYnJpZGdlLW91dHB1dCc7XG5pbXBvcnQgdHlwZSB7IElGbG93IH0gZnJvbSAnLi9mbG93JztcbmltcG9ydCB0eXBlIHsgSUdhdGV3YXkgfSBmcm9tICcuL2dhdGV3YXknO1xuaW1wb3J0IHR5cGUgeyBCcmlkZ2VQcm90b2NvbCwgQnJpZGdlTmV0d29ya1NvdXJjZSwgR2F0ZXdheU5ldHdvcmssIFZwY0ludGVyZmFjZUNvbmZpZyB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7IEZhaWxvdmVyTW9kZSwgU3RhdGUgfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogVGhlIHNvdXJjZSBvZiB0aGUgYnJpZGdlLiBBIGZsb3cgc291cmNlIG9yaWdpbmF0ZXMgaW4gTWVkaWFDb25uZWN0IGFzIGFuIGV4aXN0aW5nIGNsb3VkIGZsb3cuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlRmxvd1NvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgY2xvdWQgZmxvdyB1c2VkIGFzIGEgc291cmNlIG9mIHRoaXMgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZmxvdzogSUZsb3c7XG4gIC8qKlxuICAgKiBUaGUgVlBDIGludGVyZmFjZSBhdHRhY2htZW50IHRvIHVzZSBmb3IgdGhpcyBzb3VyY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gVlBDIGludGVyZmFjZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSW50ZXJmYWNlPzogVnBjSW50ZXJmYWNlQ29uZmlnO1xufVxuXG4vKipcbiAqIEEgbmFtZWQgZmxvdyBzb3VyY2UgZm9yIGFuIGVncmVzcyBicmlkZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZGdlRmxvd0lucHV0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmbG93IHNvdXJjZS4gTXVzdCBiZSB1bmlxdWUgYW1vbmcgc291cmNlcyBvbiB0aGUgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZmxvdyBzb3VyY2UgY29uZmlndXJhdGlvbiBkZXNjcmliaW5nIHdoZXJlIHRoZSBicmlkZ2UgY29uc3VtZXMgY29udGVudCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBCcmlkZ2VGbG93U291cmNlO1xufVxuXG4vKipcbiAqIEEgbmFtZWQgbmV0d29yayBzb3VyY2UgZm9yIGFuIGluZ3Jlc3MgYnJpZGdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZU5ldHdvcmtJbnB1dCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbmV0d29yayBzb3VyY2UuIE11c3QgYmUgdW5pcXVlIGFtb25nIHNvdXJjZXMgb24gdGhlIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgc291cmNlIGNvbmZpZ3VyYXRpb24gZGVzY3JpYmluZyB0aGUgbXVsdGljYXN0IGVuZHBvaW50IHRoZSBicmlkZ2UgbGlzdGVucyB0by5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogQnJpZGdlTmV0d29ya1NvdXJjZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9mIGJyaWRnZSB0eXBlXG4gKi9cbmV4cG9ydCBjbGFzcyBCcmlkZ2VUeXBlIHtcbiAgLyoqXG4gICAqIEluZ3Jlc3MgQnJpZGdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOR1JFU1NfQlJJREdFID0gbmV3IEJyaWRnZVR5cGUoJ2luZ3Jlc3NfYnJpZGdlJyk7XG4gIC8qKlxuICAgKiBFZ3Jlc3MgQnJpZGdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVHUkVTU19CUklER0UgPSBuZXcgQnJpZGdlVHlwZSgnZWdyZXNzX2JyaWRnZScpO1xuXG4gIC8qKlxuICAgKiBVc2UgYSBjdXN0b20gYnJpZGdlIHR5cGUgdmFsdWVcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBicmlkZ2UgdHlwZSBzdHJpbmcgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YodmFsdWU6IHN0cmluZyk6IEJyaWRnZVR5cGUge1xuICAgIHJldHVybiBuZXcgQnJpZGdlVHlwZSh2YWx1ZSk7XG4gIH1cblxuICAvKiogQHBhcmFtIHZhbHVlIFRoZSBicmlkZ2UgdHlwZSBzdHJpbmcgdmFsdWUgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZykge31cblxuICAvKiogUmV0dXJucyB0aGUgc3RyaW5nIHZhbHVlICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBicmlkZ2UgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzXG4gKi9cbmludGVyZmFjZSBCcmlkZ2VDb25maWd1cmF0aW9uQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBleHBlY3RlZCBiaXRyYXRlIChpbiBicHMpIG9mIHRoZSBicmlkZ2UuXG4gICAqL1xuICByZWFkb25seSBtYXhCaXRyYXRlOiBCaXRyYXRlO1xufVxuXG4vKipcbiAqIEluZ3Jlc3MgYnJpZGdlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbiBleHRlbmRzIEJyaWRnZUNvbmZpZ3VyYXRpb25CYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvdXRwdXRzIG9uIHRoZSBpbmdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG1heE91dHB1dHM6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBuZXR3b3JrIHNvdXJjZXMgZm9yIHRoZSBpbmdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtTb3VyY2VzOiBCcmlkZ2VOZXR3b3JrSW5wdXRbXTtcbn1cblxuLyoqXG4gKiBFZ3Jlc3MgYnJpZGdlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uIGV4dGVuZHMgQnJpZGdlQ29uZmlndXJhdGlvbkJhc2Uge1xuICAvKipcbiAgICogVGhlIGZsb3cgc291cmNlcyBmb3IgdGhlIGVncmVzcyBicmlkZ2UuXG4gICAqL1xuICByZWFkb25seSBmbG93U291cmNlczogQnJpZGdlRmxvd0lucHV0W107XG4gIC8qKlxuICAgKiBUaGUgbmV0d29yayBvdXRwdXRzIGZvciB0aGUgZWdyZXNzIGJyaWRnZS5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtPdXRwdXRzOiBCcmlkZ2VOZXR3b3JrT3V0cHV0W107XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBCcmlkZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnJpZGdlIGV4dGVuZHMgSVJlc291cmNlLCBJQnJpZGdlUmVmIHtcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBicmlkZ2UuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGJyaWRnZSAoaW5ncmVzcyBvciBlZ3Jlc3MpLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VUeXBlOiBCcmlkZ2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBicmlkZ2VTdGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogRmFpbG92ZXIgQ29uZmlndXJhdGlvbiBmb3IgQnJpZGdlXG4gICAqL1xuICByZWFkb25seSBpc0ZhaWxvdmVyRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldHdvcmsgb3V0cHV0IHRvIHRoaXMgYnJpZGdlIChmb3IgZWdyZXNzIGJyaWRnZXMgb25seSkuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBDb25zdHJ1Y3QgaWQgZm9yIHRoZSBuZXcgQnJpZGdlT3V0cHV0XG4gICAqIEBwYXJhbSBuZXR3b3JrT3V0cHV0IFRoZSBuYW1lZCBvdXRwdXQgdG8gYWRkLiBUaGUgYG5hbWVgIGlzIHRoZSBvdXRwdXQncyBpZGVudGl0eSBvbiB0aGUgYnJpZGdlIGFuZCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBvdXRwdXRzLlxuICAgKi9cbiAgYWRkT3V0cHV0KGlkOiBzdHJpbmcsIG5ldHdvcmtPdXRwdXQ6IEJyaWRnZU5ldHdvcmtPdXRwdXQpOiBJQnJpZGdlT3V0cHV0O1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBDbG91ZFdhdGNoIG1ldHJpYyBmb3IgdGhpcyBicmlkZ2UuXG4gICAqXG4gICAqIEJyaWRnZSBtZXRyaWNzIGFyZSBkaW1lbnNpb25lZCBieSBgQnJpZGdlQVJOYC4gU2VlIHRoZSBNZWRpYUNvbm5lY3RcbiAgICogZG9jdW1lbnRhdGlvbiBmb3IgYXZhaWxhYmxlIG1ldHJpYyBuYW1lcyAoZS5nLiBgSW5ncmVzc0JyaWRnZUJpdFJhdGVgLFxuICAgKiBgRWdyZXNzQnJpZGdlQml0UmF0ZWAsIGBJbmdyZXNzQnJpZGdlUGFja2V0TG9zc1BlcmNlbnRgKS5cbiAgICovXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgYml0cmF0ZSBvZiBhIHNwZWNpZmljIGJyaWRnZSBzb3VyY2UuXG4gICAqXG4gICAqIFVzZXMgYEluZ3Jlc3NCcmlkZ2VTb3VyY2VCaXRSYXRlYCBmb3IgaW5ncmVzcyBicmlkZ2VzIGFuZFxuICAgKiBgRWdyZXNzQnJpZGdlU291cmNlQml0UmF0ZWAgZm9yIGVncmVzcyBicmlkZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gYnJpZGdlU291cmNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgYnJpZGdlIHNvdXJjZVxuICAgKiBAZGVmYXVsdCAtIGF2ZXJhZ2Ugb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNTb3VyY2VCaXRyYXRlKGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBwZXJjZW50YWdlIG9mIHBhY2tldHMgbG9zdCBvbiBhIHNwZWNpZmljIGJyaWRnZSBzb3VyY2UuXG4gICAqXG4gICAqIFVzZXMgYEluZ3Jlc3NCcmlkZ2VTb3VyY2VQYWNrZXRMb3NzUGVyY2VudGAgZm9yIGluZ3Jlc3MgYnJpZGdlcyBhbmRcbiAgICogYEVncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50YCBmb3IgZWdyZXNzIGJyaWRnZXMuXG4gICAqXG4gICAqIEBwYXJhbSBicmlkZ2VTb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2Ugc291cmNlXG4gICAqIEBkZWZhdWx0IC0gYXZlcmFnZSBvdmVyIDYwIHNlY29uZHNcbiAgICovXG4gIG1ldHJpY1NvdXJjZVBhY2tldExvc3NQZXJjZW50KGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljO1xuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSB0b3RhbCBudW1iZXIgb2YgdGltZXMgdGhlIGJyaWRnZSBzd2l0Y2hlcyBiZXR3ZWVuIHNvdXJjZXNcbiAgICogd2hlbiB1c2luZyB0aGUgYEZBSUxPVkVSYCBmYWlsb3ZlciBtb2RlLlxuICAgKlxuICAgKiBVc2VzIGBJbmdyZXNzQnJpZGdlRmFpbG92ZXJTd2l0Y2hlc2AgZm9yIGluZ3Jlc3MgYnJpZGdlcyBhbmRcbiAgICogYEVncmVzc0JyaWRnZUZhaWxvdmVyU3dpdGNoZXNgIGZvciBlZ3Jlc3MgYnJpZGdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdW0gb3ZlciA2MCBzZWNvbmRzXG4gICAqL1xuICBtZXRyaWNGYWlsb3ZlclN3aXRjaGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIGJyaWRnZSBuZXR3b3JrIG91dHB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmlkZ2VOZXR3b3JrT3V0cHV0UHJvcHMge1xuICAvKipcbiAgICogVGhlIElQIGFkZHJlc3Mgd2hlcmUgdGhlIG91dHB1dCB3aWxsIHNlbmQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IGlwQWRkcmVzczogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHBvcnQgdG8gdXNlIGZvciB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgbmV0d29yayB0aGlzIG91dHB1dCBzZW5kcyBjb250ZW50IG91dCBvZi5cbiAgICpcbiAgICogVXNlIHtAbGluayBHYXRld2F5TmV0d29yay5kZWZpbmV9IHRvIGNyZWF0ZSB0aGUgbmV0d29yayBhbmQgcGFzcyB0aGUgc2FtZVxuICAgKiBpbnN0YW5jZSB0byB0aGUgZ2F0ZXdheSBhbmQgdG8gZWFjaCBvdXRwdXQgdGhhdCB1c2VzIGl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29yazogR2F0ZXdheU5ldHdvcms7XG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdG8gdXNlIGZvciB0aGUgb3V0cHV0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w6IEJyaWRnZVByb3RvY29sO1xuICAvKipcbiAgICogVGltZSB0byBsaXZlIChUVEwpIGZvciB0aGUgb3V0cHV0IHBhY2tldHMgaW4gaG9wcyAoMS0yNTUpLlxuICAgKlxuICAgKiBUVEwgcmVwcmVzZW50cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbmV0d29yayBob3BzIGEgcGFja2V0IGNhbiB0cmF2ZXJzZVxuICAgKiBiZWZvcmUgYmVpbmcgZGlzY2FyZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHRsOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBuYW1lZCBuZXR3b3JrIG91dHB1dCBmb3IgYW4gZWdyZXNzIGJyaWRnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCcmlkZ2VOZXR3b3JrT3V0cHV0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBuZXR3b3JrIG91dHB1dC4gTXVzdCBiZSB1bmlxdWUgYW1vbmcgb3V0cHV0cyBvbiB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBVc2VkIGFzIHRoZSBwaHlzaWNhbCBuYW1lIG9mIHRoZSB1bmRlcmx5aW5nIENGTiByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5ldHdvcmsgY29uZmlndXJhdGlvbiBkZXNjcmliaW5nIHdoZXJlIHRoaXMgb3V0cHV0IHNlbmRzIGNvbnRlbnQuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXQ6IEJyaWRnZU91dHB1dENvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBicmlkZ2Ugb3V0cHV0LlxuICovXG5leHBvcnQgY2xhc3MgQnJpZGdlT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXR3b3JrIG91dHB1dCBjb25maWd1cmF0aW9uIGZvciBhIGJyaWRnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmV0d29yayhwcm9wczogQnJpZGdlTmV0d29ya091dHB1dFByb3BzKTogQnJpZGdlT3V0cHV0Q29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMudHRsKSAmJiAocHJvcHMudHRsIDwgMSB8fCBwcm9wcy50dGwgPiAyNTUpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZU91dHB1dFR0bFJhbmdlYCwgYFRUTCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU1IGhvcHMsIGdvdCAke3Byb3BzLnR0bH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBCcmlkZ2VPdXRwdXRDb25maWd1cmF0aW9uKHByb3BzKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfbmV0d29yazogQnJpZGdlTmV0d29ya091dHB1dFByb3BzKSB7fVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpOiB7IGlwQWRkcmVzczogc3RyaW5nOyBuZXR3b3JrTmFtZTogc3RyaW5nOyBwb3J0OiBudW1iZXI7IHByb3RvY29sOiBzdHJpbmc7IHR0bDogbnVtYmVyIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBpcEFkZHJlc3M6IHRoaXMuX25ldHdvcmsuaXBBZGRyZXNzLFxuICAgICAgbmV0d29ya05hbWU6IHRoaXMuX25ldHdvcmsubmV0d29yay5uYW1lLFxuICAgICAgcG9ydDogdGhpcy5fbmV0d29yay5wb3J0LFxuICAgICAgcHJvdG9jb2w6IHRoaXMuX25ldHdvcmsucHJvdG9jb2wudmFsdWUsXG4gICAgICB0dGw6IHRoaXMuX25ldHdvcmsudHRsLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBicmlkZ2Ugc291cmNlIGZhaWxvdmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZUZhaWxvdmVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIGZhaWxvdmVyIGlzIGVuYWJsZWQuIFNldCB0byBgU3RhdGUuRElTQUJMRURgIHRvIGtlZXAgdGhlIGNvbmZpZ3VyYXRpb25cbiAgICogb24gdGhlIGJyaWRnZSB3aXRob3V0IHN3aXRjaGluZyBmYWlsb3ZlciBvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgU3RhdGUuRU5BQkxFRFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU/OiBTdGF0ZTtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzb3VyY2UgeW91IHdhbnQgdG8gdHJlYXQgYXMgcHJpbWFyeS4gSWYgc2V0LCBNZWRpYUNvbm5lY3QgYWx3YXlzXG4gICAqIHVzZXMgdGhpcyBzb3VyY2Ugd2hlbiBpdCBpcyBhdmFpbGFibGUuIFdoZW4gdW5zZXQsIGJvdGggc291cmNlcyBhcmUgdHJlYXRlZCB3aXRoXG4gICAqIGVxdWFsIHByaW9yaXR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJvdGggc291cmNlcyBhcmUgZXF1YWwgcHJpb3JpdHlcbiAgICovXG4gIHJlYWRvbmx5IHByaW1hcnlTb3VyY2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU291cmNlIGZhaWxvdmVyIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnJpZGdlLlxuICpcbiAqIEJyaWRnZXMgb25seSBzdXBwb3J0IGBGQUlMT1ZFUmAgKHN3aXRjaG92ZXIpIG1vZGUg4oCUIHRoZSBgTUVSR0VgIG1vZGUgYXZhaWxhYmxlIG9uXG4gKiBgRmxvdy5zb3VyY2VGYWlsb3ZlckNvbmZpZ2AgaXMgbm90IGFsbG93ZWQgb24gYnJpZGdlcyBieSB0aGUgc2VydmljZS4gVXNlXG4gKiB7QGxpbmsgQnJpZGdlRmFpbG92ZXJDb25maWcuZmFpbG92ZXJ9IHRvIGNvbnN0cnVjdCB0aGUgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEJyaWRnZUZhaWxvdmVyQ29uZmlnIHtcbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBzd2l0Y2hvdmVyLW1vZGUgZmFpbG92ZXIuIFRoZSBicmlkZ2Ugc3dhcHMgdG8gdGhlIGJhY2t1cCBzb3VyY2Ugd2hlblxuICAgKiB0aGUgcHJpbWFyeSBzb3VyY2Ugc3RvcHMgcmVjZWl2aW5nIGRhdGEuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZhaWxvdmVyKG9wdGlvbnM6IEJyaWRnZUZhaWxvdmVyT3B0aW9ucyA9IHt9KTogQnJpZGdlRmFpbG92ZXJDb25maWcge1xuICAgIHJldHVybiBuZXcgQnJpZGdlRmFpbG92ZXJDb25maWcob3B0aW9ucy5zdGF0ZSA/PyBTdGF0ZS5FTkFCTEVELCBvcHRpb25zLnByaW1hcnlTb3VyY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZTogU3RhdGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcHJpbWFyeVNvdXJjZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBjb25maWd1cmF0aW9uIGhhcyBmYWlsb3ZlciBlbmFibGVkLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgX2lzRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGUgPT09IFN0YXRlLkVOQUJMRUQ7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gaXMgYm91bmQgdG8gYSBCcmlkZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9iaW5kKCk6IENmbkJyaWRnZS5GYWlsb3ZlckNvbmZpZ1Byb3BlcnR5IHtcbiAgICByZXR1cm4ge1xuICAgICAgZmFpbG92ZXJNb2RlOiBGYWlsb3Zlck1vZGUuRkFJTE9WRVIudmFsdWUsXG4gICAgICBzdGF0ZTogdGhpcy5fc3RhdGUsXG4gICAgICBzb3VyY2VQcmlvcml0eTogdGhpcy5fcHJpbWFyeVNvdXJjZSA/IHsgcHJpbWFyeVNvdXJjZTogdGhpcy5fcHJpbWFyeVNvdXJjZSB9IDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBCcmlkZ2UgY29uZmlndXJhdGlvbiB0byBzZXQgaW5ncmVzcyBhbmQgZWdyZXNzIG9wdGlvbnMgb24gdGhlIGJyaWRnZVxuICovXG5leHBvcnQgY2xhc3MgQnJpZGdlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBbiBpbmdyZXNzIGJyaWRnZSBpcyBhIGdyb3VuZC10by1jbG91ZCBicmlkZ2UuIFRoZSBjb250ZW50IG9yaWdpbmF0ZXMgYXQgeW91ciBwcmVtaXNlcyBhbmQgaXMgZGVsaXZlcmVkIHRvIHRoZSBjbG91ZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5ncmVzcyhjb25maWc6IEluZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uKTogQnJpZGdlQ29uZmlndXJhdGlvbiB7XG4gICAgaWYgKCFjb25maWcubWF4Qml0cmF0ZS5pc1VucmVzb2x2ZWQoKSkge1xuICAgICAgY29uc3QgYml0cmF0ZUJwcyA9IGNvbmZpZy5tYXhCaXRyYXRlLnRvQnBzKCk7XG4gICAgICBpZiAoYml0cmF0ZUJwcyA8IDEwMDAwMDAgfHwgYml0cmF0ZUJwcyA+IDEwMDAwMDAwMCkge1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZUluZ3Jlc3NCaXRyYXRlUmFuZ2VgLCBgQnJpZGdlIGluZ3Jlc3MgbWF4IGJpdHJhdGUgbXVzdCBiZSBiZXR3ZWVuIDEsMDAwLDAwMCBhbmQgMTAwLDAwMCwwMDAgYnBzLCBnb3QgJHtiaXRyYXRlQnBzfWApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbmZpZy5uZXR3b3JrU291cmNlcykgJiYgY29uZmlnLm5ldHdvcmtTb3VyY2VzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZU1heE5ldHdvcmtTb3VyY2VzYCxcbiAgICAgICAgYEEgYnJpZGdlIHN1cHBvcnRzIGEgbWF4aW11bSBvZiAyIG5ldHdvcmsgc291cmNlcywgZ290ICR7Y29uZmlnLm5ldHdvcmtTb3VyY2VzLmxlbmd0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEJyaWRnZUNvbmZpZ3VyYXRpb24oQnJpZGdlVHlwZS5JTkdSRVNTX0JSSURHRSwgY29uZmlnLCB1bmRlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGVncmVzcyBicmlkZ2UgaXMgYSBjbG91ZC10by1ncm91bmQgYnJpZGdlLiBUaGUgY29udGVudCBjb21lcyBmcm9tIGFuIGV4aXN0aW5nIE1lZGlhQ29ubmVjdCBmbG93IGFuZCBpcyBkZWxpdmVyZWQgdG8geW91ciBwcmVtaXNlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZWdyZXNzKGNvbmZpZzogRWdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbik6IEJyaWRnZUNvbmZpZ3VyYXRpb24ge1xuICAgIGlmICghY29uZmlnLm1heEJpdHJhdGUuaXNVbnJlc29sdmVkKCkpIHtcbiAgICAgIGNvbnN0IGJpdHJhdGVCcHMgPSBjb25maWcubWF4Qml0cmF0ZS50b0JwcygpO1xuICAgICAgaWYgKGJpdHJhdGVCcHMgPCAxMDAwMDAwIHx8IGJpdHJhdGVCcHMgPiAxMDAwMDAwMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBCcmlkZ2VFZ3Jlc3NCaXRyYXRlUmFuZ2VgLCBgQnJpZGdlIGVncmVzcyBtYXggYml0cmF0ZSBtdXN0IGJlIGJldHdlZW4gMSwwMDAsMDAwIGFuZCAxMDAsMDAwLDAwMCBicHMsIGdvdCAke2JpdHJhdGVCcHN9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQoY29uZmlnLmZsb3dTb3VyY2VzKSAmJiBjb25maWcuZmxvd1NvdXJjZXMubGVuZ3RoID4gMikge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgQnJpZGdlTWF4Rmxvd1NvdXJjZXNgLFxuICAgICAgICBgQSBicmlkZ2Ugc3VwcG9ydHMgYSBtYXhpbXVtIG9mIDIgZmxvdyBzb3VyY2VzLCBnb3QgJHtjb25maWcuZmxvd1NvdXJjZXMubGVuZ3RofWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNvbmZpZy5uZXR3b3JrT3V0cHV0cykgJiYgY29uZmlnLm5ldHdvcmtPdXRwdXRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZU1heE5ldHdvcmtPdXRwdXRzYCxcbiAgICAgICAgYEEgYnJpZGdlIHN1cHBvcnRzIGEgbWF4aW11bSBvZiAyIG5ldHdvcmsgb3V0cHV0cywgZ290ICR7Y29uZmlnLm5ldHdvcmtPdXRwdXRzLmxlbmd0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEJyaWRnZUNvbmZpZ3VyYXRpb24oQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLCB1bmRlZmluZWQsIGNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2JyaWRnZVR5cGU6IEJyaWRnZVR5cGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaW5ncmVzc0NvbmZpZz86IEluZ3Jlc3NCcmlkZ2VDb25maWd1cmF0aW9uLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VncmVzc0NvbmZpZz86IEVncmVzc0JyaWRnZUNvbmZpZ3VyYXRpb24sXG4gICkge31cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGJyaWRnZSBjb25maWd1cmF0aW9uIGlzIGJvdW5kIHRvIGEgQnJpZGdlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpOiB7IGJyaWRnZVR5cGU6IEJyaWRnZVR5cGU7IGluZ3Jlc3NDb25maWc/OiBJbmdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbjsgZWdyZXNzQ29uZmlnPzogRWdyZXNzQnJpZGdlQ29uZmlndXJhdGlvbiB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgYnJpZGdlVHlwZTogdGhpcy5fYnJpZGdlVHlwZSxcbiAgICAgIGluZ3Jlc3NDb25maWc6IHRoaXMuX2luZ3Jlc3NDb25maWcsXG4gICAgICBlZ3Jlc3NDb25maWc6IHRoaXMuX2VncmVzc0NvbmZpZyxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEJyaWRnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2UuIENhbm5vdCBiZSBtb2RpZmllZCBhZnRlciB0aGUgYnJpZGdlIGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYXV0b2dlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBicmlkZ2UgY29uZmlndXJhdGlvbiBzcGVjaWZ5aW5nIGluZ3Jlc3Mgb3IgZWdyZXNzIHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlnOiBCcmlkZ2VDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIGdhdGV3YXkgdGhhdCB0aGUgYnJpZGdlIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAgICovXG4gIHJlYWRvbmx5IGdhdGV3YXk6IElHYXRld2F5O1xuICAvKipcbiAgICogVGhlIHNvdXJjZSBmYWlsb3ZlciBjb25maWd1cmF0aW9uIGZvciB0aGUgYnJpZGdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZhaWxvdmVyIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUZhaWxvdmVyQ29uZmlnPzogQnJpZGdlRmFpbG92ZXJDb25maWc7XG5cbn1cblxuLyoqXG4gKiBBdHRyaWJ1dGVzIGZvciBpbXBvcnRpbmcgYW4gZXhpc3RpbmcgQnJpZGdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyaWRnZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYnJpZGdlLlxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBicmlkZ2UuXG4gICAqXG4gICAqIE5vdCBlbmNvZGVkIGluIHRoZSBicmlkZ2UgQVJOLCBzbyBtdXN0IGJlIHByb3ZpZGVkIGV4cGxpY2l0bHkgaWYgdGhlIGltcG9ydGVkXG4gICAqIGJyaWRnZSBuZWVkcyB0byBleHBvc2UgYGJyaWRnZU5hbWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGJyaWRnZU5hbWUgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgaW1wb3J0ZWQgY29uc3RydWN0XG4gICAqL1xuICByZWFkb25seSBicmlkZ2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hhdCB0eXBlIG9mIGJyaWRnZSBpcyBpbXBvcnRlZC5cbiAgICpcbiAgICogTm90IGVuY29kZWQgaW4gdGhlIGJyaWRnZSBBUk4sIHNvIG11c3QgYmUgcHJvdmlkZWQgZXhwbGljaXRseSBpZiB0aGUgaW1wb3J0ZWRcbiAgICogYnJpZGdlIGlzIHVzZWQgd2l0aCBgYWRkT3V0cHV0KClgIG9yIG90aGVyIG1ldGhvZHMgdGhhdCBuZWVkIHRoZSBicmlkZ2UgdHlwZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBicmlkZ2VUeXBlIGlzIG5vdCBhdmFpbGFibGUgb24gdGhlIGltcG9ydGVkIGNvbnN0cnVjdFxuICAgKi9cbiAgcmVhZG9ubHkgYnJpZGdlVHlwZT86IEJyaWRnZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZhaWxvdmVyIENvbmZpZ3VyYXRpb24gZm9yIEJyaWRnZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBCcmlkZ2VCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQnJpZGdlIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBCcmlkZ2UgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCAoaW1wb3J0ZWQpIEJyaWRnZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJyaWRnZUF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IEJyaWRnZUF0dHJpYnV0ZXMpOiBJQnJpZGdlIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBCcmlkZ2VCYXNlIGltcGxlbWVudHMgSUJyaWRnZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYnJpZGdlQXJuID0gYXR0cnMuYnJpZGdlQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGJyaWRnZVN0YXRlID0gdW5kZWZpbmVkO1xuXG4gICAgICBwdWJsaWMgZ2V0IGJyaWRnZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGF0dHJzLmJyaWRnZU5hbWUpIHJldHVybiBhdHRycy5icmlkZ2VOYW1lO1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGxpdGBCcmlkZ2VOYW1lTm90UHJvdmlkZWRgLFxuICAgICAgICAgIGAnYnJpZGdlTmFtZScgd2FzIG5vdCBwcm92aWRlZCB3aGVuIGltcG9ydGluZyBCcmlkZ2UgJHt0aGlzLm5vZGUucGF0aH07IHByb3ZpZGUgaXQgaW4gZnJvbUJyaWRnZUF0dHJpYnV0ZXMoKWAsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIGdldCBicmlkZ2VUeXBlKCk6IEJyaWRnZVR5cGUge1xuICAgICAgICBpZiAoYXR0cnMuYnJpZGdlVHlwZSkgcmV0dXJuIGF0dHJzLmJyaWRnZVR5cGU7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgbGl0YEJyaWRnZVR5cGVOb3RQcm92aWRlZGAsXG4gICAgICAgICAgYCdicmlkZ2VUeXBlJyB3YXMgbm90IHByb3ZpZGVkIHdoZW4gaW1wb3J0aW5nIEJyaWRnZSAke3RoaXMubm9kZS5wYXRofTsgcHJvdmlkZSBpdCBpbiBmcm9tQnJpZGdlQXR0cmlidXRlcygpYCxcbiAgICAgICAgICB0aGlzLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBJbXBvcnRlZCBicmlkZ2VzIGRlZmF1bHQgdG8gYGZhbHNlYC4gUGFzcyBgaXNGYWlsb3ZlckVuYWJsZWQ6IHRydWVgIGluIHRoZVxuICAgICAgLy8gYXR0cmlidXRlcyB3aGVuIHRoZSByZWFsIHNlcnZpY2Utc2lkZSBicmlkZ2UgaGFzIGZhaWxvdmVyIGVuYWJsZWQgYW5kIHlvdVxuICAgICAgLy8gbmVlZCB0byBhZGQgYSBCcmlkZ2VTb3VyY2UuXG4gICAgICBwdWJsaWMgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuID0gYXR0cnMuaXNGYWlsb3ZlckVuYWJsZWQgPz8gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgQnJpZGdlIGZyb20gaXRzIEFSTi5cbiAgICpcbiAgICogVXNlIGBmcm9tQnJpZGdlQXR0cmlidXRlcygpYCBpbnN0ZWFkIGlmIHlvdSBuZWVkIGFjY2VzcyB0byBgYnJpZGdlTmFtZWAsIGBicmlkZ2VUeXBlYFxuICAgKiAocmVxdWlyZWQgZm9yIGBhZGRPdXRwdXQoKWApLCBvciBgaXNGYWlsb3ZlckVuYWJsZWRgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQnJpZGdlQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGJyaWRnZUFybjogc3RyaW5nKTogSUJyaWRnZSB7XG4gICAgcmV0dXJuIEJyaWRnZS5mcm9tQnJpZGdlQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgYnJpZGdlQXJuIH0pO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGJyaWRnZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnJpZGdlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYnJpZGdlVHlwZTogQnJpZGdlVHlwZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGJyaWRnZVN0YXRlPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaXNGYWlsb3ZlckVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byB0aGlzIEJyaWRnZSByZXNvdXJjZS4gKi9cbiAgcHVibGljIGdldCBicmlkZ2VSZWYoKTogQnJpZGdlUmVmZXJlbmNlIHtcbiAgICByZXR1cm4geyBicmlkZ2VBcm46IHRoaXMuYnJpZGdlQXJuIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQ2xvdWRXYXRjaCBtZXRyaWMgZm9yIHRoaXMgYnJpZGdlLlxuICAgKi9cbiAgcHVibGljIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZSxcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9NZWRpYUNvbm5lY3QnLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBkaW1lbnNpb25zTWFwOiB7XG4gICAgICAgIEJyaWRnZUFSTjogdGhpcy5icmlkZ2VBcm4sXG4gICAgICAgIC4uLnByb3BzPy5kaW1lbnNpb25zTWFwLFxuICAgICAgfSxcbiAgICB9KS5hdHRhY2hUbyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRyaWMgZm9yIHRoZSBiaXRyYXRlIG9mIGEgc3BlY2lmaWMgYnJpZGdlIHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNTb3VyY2VCaXRyYXRlKGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICBjb25zdCBtZXRyaWNOYW1lID0gdGhpcy5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLkVHUkVTU19CUklER0UudmFsdWVcbiAgICAgID8gJ0VncmVzc0JyaWRnZVNvdXJjZUJpdFJhdGUnXG4gICAgICA6ICdJbmdyZXNzQnJpZGdlU291cmNlQml0UmF0ZSc7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgbWV0cmljTmFtZSxcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9NZWRpYUNvbm5lY3QnLFxuICAgICAgc3RhdGlzdGljOiAnYXZnJyxcbiAgICAgIHBlcmlvZDogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICB1bml0OiBVbml0LkJJVFNfUEVSX1NFQ09ORCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBCcmlkZ2VBUk46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgICBCcmlkZ2VTb3VyY2VOYW1lOiBicmlkZ2VTb3VyY2VOYW1lLFxuICAgICAgICAuLi5wcm9wcz8uZGltZW5zaW9uc01hcCxcbiAgICAgIH0sXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgcGVyY2VudGFnZSBvZiBwYWNrZXRzIGxvc3Qgb24gYSBzcGVjaWZpYyBicmlkZ2Ugc291cmNlLlxuICAgKi9cbiAgcHVibGljIG1ldHJpY1NvdXJjZVBhY2tldExvc3NQZXJjZW50KGJyaWRnZVNvdXJjZU5hbWU6IHN0cmluZywgcHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICBjb25zdCBtZXRyaWNOYW1lID0gdGhpcy5icmlkZ2VUeXBlLnZhbHVlID09PSBCcmlkZ2VUeXBlLkVHUkVTU19CUklER0UudmFsdWVcbiAgICAgID8gJ0VncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50J1xuICAgICAgOiAnSW5ncmVzc0JyaWRnZVNvdXJjZVBhY2tldExvc3NQZXJjZW50JztcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBtZXRyaWNOYW1lLFxuICAgICAgbmFtZXNwYWNlOiAnQVdTL01lZGlhQ29ubmVjdCcsXG4gICAgICBzdGF0aXN0aWM6ICdhdmcnLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuUEVSQ0VOVCxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZGltZW5zaW9uc01hcDoge1xuICAgICAgICBCcmlkZ2VBUk46IHRoaXMuYnJpZGdlQXJuLFxuICAgICAgICBCcmlkZ2VTb3VyY2VOYW1lOiBicmlkZ2VTb3VyY2VOYW1lLFxuICAgICAgICAuLi5wcm9wcz8uZGltZW5zaW9uc01hcCxcbiAgICAgIH0sXG4gICAgfSkuYXR0YWNoVG8odGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0cmljIGZvciB0aGUgdG90YWwgbnVtYmVyIG9mIHRpbWVzIHRoZSBicmlkZ2Ugc3dpdGNoZXMgYmV0d2VlbiBzb3VyY2VzXG4gICAqIHdoZW4gdXNpbmcgdGhlIGBGQUlMT1ZFUmAgZmFpbG92ZXIgbW9kZS5cbiAgICovXG4gIHB1YmxpYyBtZXRyaWNGYWlsb3ZlclN3aXRjaGVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgY29uc3QgbWV0cmljTmFtZSA9IHRoaXMuYnJpZGdlVHlwZS52YWx1ZSA9PT0gQnJpZGdlVHlwZS5FR1JFU1NfQlJJREdFLnZhbHVlXG4gICAgICA/ICdFZ3Jlc3NCcmlkZ2VGYWlsb3ZlclN3aXRjaGVzJ1xuICAgICAgOiAnSW5ncmVzc0JyaWRnZUZhaWxvdmVyU3dpdGNoZXMnO1xuICAgIHJldHVybiB0aGlzLm1ldHJpYyhtZXRyaWNOYW1lLCB7XG4gICAgICBzdGF0aXN0aWM6ICdzdW0nLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIHVuaXQ6IFVuaXQuQ09VTlQsXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXR3b3JrIG91dHB1dCB0byB0aGlzIGJyaWRnZSAoZm9yIGVncmVzcyBicmlkZ2VzIG9ubHkpLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgQ29uc3RydWN0IGlkIGZvciB0aGUgbmV3IEJyaWRnZU91dHB1dFxuICAgKiBAcGFyYW0gbmV0d29ya091dHB1dCBUaGUgbmFtZWQgb3V0cHV0IHRvIGFkZC4gVGhlIGBuYW1lYCBpcyB0aGUgb3V0cHV0J3MgaWRlbnRpdHkgb24gdGhlIGJyaWRnZSBhbmQgbXVzdCBiZSB1bmlxdWUgYW1vbmcgb3V0cHV0cy5cbiAgICovXG4gIHB1YmxpYyBhZGRPdXRwdXQoaWQ6IHN0cmluZywgbmV0d29ya091dHB1dDogQnJpZGdlTmV0d29ya091dHB1dCk6IElCcmlkZ2VPdXRwdXQge1xuICAgIGlmICh0aGlzLmJyaWRnZVR5cGUudmFsdWUgIT09IEJyaWRnZVR5cGUuRUdSRVNTX0JSSURHRS52YWx1ZSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEJyaWRnZUVncmVzc09ubHlgLFxuICAgICAgICBgYWRkT3V0cHV0IGNhbiBvbmx5IGJlIGNhbGxlZCBvbiBlZ3Jlc3MgYnJpZGdlcywgZ290ICcke3RoaXMuYnJpZGdlVHlwZS52YWx1ZX0nYCxcbiAgICAgICAgdGhpcyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBCcmlkZ2VPdXRwdXQodGhpcywgaWQsIHtcbiAgICAgIGJyaWRnZU91dHB1dE5hbWU6IG5ldHdvcmtPdXRwdXQubmFtZSxcbiAgICAgIGJyaWRnZTogdGhpcyxcbiAgICAgIG91dHB1dDogbmV0d29ya091dHB1dC5vdXRwdXQsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgQnJpZGdlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBCcmlkZ2UgZXh0ZW5kcyBCcmlkZ2VCYXNlIGltcGxlbWVudHMgSUJyaWRnZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLW1lZGlhY29ubmVjdC1hbHBoYS5CcmlkZ2UnO1xuXG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyaWRnZVR5cGU6IEJyaWRnZVR5cGU7XG4gIHB1YmxpYyByZWFkb25seSBicmlkZ2VTdGF0ZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGlzRmFpbG92ZXJFbmFibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCcmlkZ2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8uYnJpZGdlTmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogNjQgfSkgfSksXG4gICAgfSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBicmlkZ2UgbmFtZSBpZiBwcm92aWRlZFxuICAgIGlmIChwcm9wcy5icmlkZ2VOYW1lICE9IG51bGwgJiYgcHJvcHMuYnJpZGdlTmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5icmlkZ2VOYW1lKSkge1xuICAgICAgaWYgKHByb3BzLmJyaWRnZU5hbWUubGVuZ3RoID4gNjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgQnJpZGdlTmFtZUxlbmd0aGAsIGBCcmlkZ2UgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuYnJpZGdlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV8tXSskLy50ZXN0KHByb3BzLmJyaWRnZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEJyaWRnZU5hbWVGb3JtYXRgLCBgQnJpZGdlIG5hbWUgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGh5cGhlbnMsIGFuZCB1bmRlcnNjb3JlcywgZ290ICcke3Byb3BzLmJyaWRnZU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pc0ZhaWxvdmVyRW5hYmxlZCA9IHByb3BzLnNvdXJjZUZhaWxvdmVyQ29uZmlnPy5faXNFbmFibGVkID8/IGZhbHNlO1xuXG4gICAgY29uc3QgY29uZmlnID0gcHJvcHMuY29uZmlnO1xuICAgIGNvbnN0IGNvbmZpZ0JpbmQgPSBjb25maWcuX2JpbmQoKTtcbiAgICBjb25zdCBpbmdyZXNzID0gY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnID8ge1xuICAgICAgaW5ncmVzc0dhdGV3YXlCcmlkZ2U6IHtcbiAgICAgICAgbWF4Qml0cmF0ZTogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm1heEJpdHJhdGUudG9CcHMoKSxcbiAgICAgICAgbWF4T3V0cHV0czogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm1heE91dHB1dHMsXG4gICAgICB9LFxuICAgICAgc291cmNlczogY29uZmlnQmluZC5pbmdyZXNzQ29uZmlnLm5ldHdvcmtTb3VyY2VzLm1hcChpbnB1dCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmV0d29ya1NvdXJjZToge1xuICAgICAgICAgICAgbmFtZTogaW5wdXQubmFtZSxcbiAgICAgICAgICAgIG11bHRpY2FzdElwOiBpbnB1dC5zb3VyY2UubXVsdGljYXN0SXAsXG4gICAgICAgICAgICBuZXR3b3JrTmFtZTogaW5wdXQuc291cmNlLm5ldHdvcmsubmFtZSxcbiAgICAgICAgICAgIHBvcnQ6IGlucHV0LnNvdXJjZS5wb3J0LFxuICAgICAgICAgICAgcHJvdG9jb2w6IGlucHV0LnNvdXJjZS5wcm90b2NvbC52YWx1ZSxcbiAgICAgICAgICAgIG11bHRpY2FzdFNvdXJjZVNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG11bHRpY2FzdFNvdXJjZUlwOiBpbnB1dC5zb3VyY2UubXVsdGljYXN0U291cmNlSXAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICB9IDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGVncmVzcyA9IGNvbmZpZ0JpbmQuZWdyZXNzQ29uZmlnID8ge1xuICAgICAgZWdyZXNzR2F0ZXdheUJyaWRnZToge1xuICAgICAgICBtYXhCaXRyYXRlOiBjb25maWdCaW5kLmVncmVzc0NvbmZpZy5tYXhCaXRyYXRlLnRvQnBzKCksXG4gICAgICB9LFxuICAgICAgc291cmNlczogY29uZmlnQmluZC5lZ3Jlc3NDb25maWcuZmxvd1NvdXJjZXMubWFwKGlucHV0ID0+IHRoaXMuZm9ybWF0QnJpZGdlRmxvd1NvdXJjZShpbnB1dCkpLFxuICAgICAgb3V0cHV0czogY29uZmlnQmluZC5lZ3Jlc3NDb25maWcubmV0d29ya091dHB1dHMubWFwKG5vID0+ICh7XG4gICAgICAgIG5ldHdvcmtPdXRwdXQ6IHsgbmFtZTogbm8ubmFtZSwgLi4ubm8ub3V0cHV0Ll9iaW5kKCkgfSxcbiAgICAgIH0pKSxcbiAgICB9IDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYnJpZGdlID0gbmV3IENmbkJyaWRnZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIHBsYWNlbWVudEFybjogcHJvcHMuZ2F0ZXdheS5nYXRld2F5QXJuLFxuICAgICAgaW5ncmVzc0dhdGV3YXlCcmlkZ2U6IGluZ3Jlc3M/LmluZ3Jlc3NHYXRld2F5QnJpZGdlLFxuICAgICAgZWdyZXNzR2F0ZXdheUJyaWRnZTogZWdyZXNzPy5lZ3Jlc3NHYXRld2F5QnJpZGdlLFxuICAgICAgc291cmNlczogaW5ncmVzcz8uc291cmNlcyA/PyBlZ3Jlc3M/LnNvdXJjZXMgPz8gW10sXG4gICAgICBvdXRwdXRzOiBlZ3Jlc3M/Lm91dHB1dHMsXG4gICAgICBzb3VyY2VGYWlsb3ZlckNvbmZpZzogcHJvcHMuc291cmNlRmFpbG92ZXJDb25maWc/Ll9iaW5kKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLmJyaWRnZUFybiA9IGJyaWRnZS5hdHRyQnJpZGdlQXJuO1xuICAgIHRoaXMuYnJpZGdlTmFtZSA9IHRoaXMucGh5c2ljYWxOYW1lO1xuICAgIHRoaXMuYnJpZGdlU3RhdGUgPSBicmlkZ2UuYXR0ckJyaWRnZVN0YXRlO1xuICAgIHRoaXMuYnJpZGdlVHlwZSA9IGNvbmZpZ0JpbmQuYnJpZGdlVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtYXQgYnJpZGdlIGZsb3cgc291cmNlIGludG8gQnJpZGdlU291cmNlUHJvcGVydHkgZm9ybWF0XG4gICAqL1xuICBwcml2YXRlIGZvcm1hdEJyaWRnZUZsb3dTb3VyY2UoaW5wdXQ6IEJyaWRnZUZsb3dJbnB1dCk6IENmbkJyaWRnZS5CcmlkZ2VTb3VyY2VQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZsb3dTb3VyY2U6IHtcbiAgICAgICAgZmxvd0FybjogaW5wdXQuc291cmNlLmZsb3cuZmxvd0FybixcbiAgICAgICAgbmFtZTogaW5wdXQubmFtZSxcbiAgICAgICAgZmxvd1ZwY0ludGVyZmFjZUF0dGFjaG1lbnQ6IGlucHV0LnNvdXJjZS52cGNJbnRlcmZhY2UgPyB7XG4gICAgICAgICAgdnBjSW50ZXJmYWNlTmFtZTogaW5wdXQuc291cmNlLnZwY0ludGVyZmFjZS5uYW1lLFxuICAgICAgICB9IDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/lib/flow-entitlement.js
CHANGED
|
@@ -82,7 +82,7 @@ let FlowEntitlement = (() => {
|
|
|
82
82
|
FlowEntitlement = _classThis = _classDescriptor.value;
|
|
83
83
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
84
84
|
}
|
|
85
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowEntitlement", version: "2.
|
|
85
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.FlowEntitlement", version: "2.266.0-alpha.0" };
|
|
86
86
|
/** Uniquely identifies this class. */
|
|
87
87
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.FlowEntitlement';
|
|
88
88
|
/**
|