@aws-cdk/aws-mediaconnect-alpha 2.263.0-alpha.0 → 2.265.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 +937 -483
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +0 -41
- package/lib/bridge-output.js +4 -4
- package/lib/bridge-source.js +5 -5
- package/lib/bridge.js +8 -8
- package/lib/flow-entitlement.d.ts +10 -1
- package/lib/flow-entitlement.js +2 -3
- package/lib/flow-output.d.ts +30 -19
- package/lib/flow-output.js +18 -21
- package/lib/flow-source-configuration.js +4 -4
- package/lib/flow-source.d.ts +14 -5
- package/lib/flow-source.js +2 -3
- package/lib/flow.d.ts +32 -15
- package/lib/flow.js +22 -19
- package/lib/gateway.js +4 -4
- package/lib/mediaconnect-grants.generated.js +2 -2
- package/lib/router-input.d.ts +22 -9
- package/lib/router-input.js +15 -11
- package/lib/router-network-interface.d.ts +21 -5
- package/lib/router-network-interface.js +10 -14
- package/lib/router-output.d.ts +10 -5
- package/lib/router-output.js +12 -10
- package/lib/shared.js +9 -9
- package/package.json +6 -6
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -236,39 +236,6 @@ const VALIDATORS = { _aws_cdk_aws_mediaconnect_alpha_SourceMonitoringConfig: fun
|
|
|
236
236
|
finally {
|
|
237
237
|
visitedObjects.delete(p);
|
|
238
238
|
}
|
|
239
|
-
}, _aws_cdk_aws_mediaconnect_alpha_RtpOutputConfig: function _aws_cdk_aws_mediaconnect_alpha_RtpOutputConfig(p) {
|
|
240
|
-
if (p == null)
|
|
241
|
-
return;
|
|
242
|
-
visitedObjects.add(p);
|
|
243
|
-
try {
|
|
244
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
245
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
246
|
-
}
|
|
247
|
-
finally {
|
|
248
|
-
visitedObjects.delete(p);
|
|
249
|
-
}
|
|
250
|
-
}, _aws_cdk_aws_mediaconnect_alpha_RtpFecOutputConfig: function _aws_cdk_aws_mediaconnect_alpha_RtpFecOutputConfig(p) {
|
|
251
|
-
if (p == null)
|
|
252
|
-
return;
|
|
253
|
-
visitedObjects.add(p);
|
|
254
|
-
try {
|
|
255
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
256
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
257
|
-
}
|
|
258
|
-
finally {
|
|
259
|
-
visitedObjects.delete(p);
|
|
260
|
-
}
|
|
261
|
-
}, _aws_cdk_aws_mediaconnect_alpha_RistOutputConfig: function _aws_cdk_aws_mediaconnect_alpha_RistOutputConfig(p) {
|
|
262
|
-
if (p == null)
|
|
263
|
-
return;
|
|
264
|
-
visitedObjects.add(p);
|
|
265
|
-
try {
|
|
266
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
267
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
268
|
-
}
|
|
269
|
-
finally {
|
|
270
|
-
visitedObjects.delete(p);
|
|
271
|
-
}
|
|
272
239
|
}, _aws_cdk_aws_mediaconnect_alpha_ZixiPullOutputConfig: function _aws_cdk_aws_mediaconnect_alpha_ZixiPullOutputConfig(p) {
|
|
273
240
|
if (p == null)
|
|
274
241
|
return;
|
|
@@ -276,8 +243,6 @@ const VALIDATORS = { _aws_cdk_aws_mediaconnect_alpha_SourceMonitoringConfig: fun
|
|
|
276
243
|
try {
|
|
277
244
|
if (!visitedObjects.has(p.encryption))
|
|
278
245
|
module.exports._aws_cdk_aws_mediaconnect_alpha_StaticKeyEncryption(p.encryption);
|
|
279
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
280
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
281
246
|
}
|
|
282
247
|
finally {
|
|
283
248
|
visitedObjects.delete(p);
|
|
@@ -289,8 +254,6 @@ const VALIDATORS = { _aws_cdk_aws_mediaconnect_alpha_SourceMonitoringConfig: fun
|
|
|
289
254
|
try {
|
|
290
255
|
if (!visitedObjects.has(p.encryption))
|
|
291
256
|
module.exports._aws_cdk_aws_mediaconnect_alpha_StaticKeyEncryption(p.encryption);
|
|
292
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
293
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
294
257
|
}
|
|
295
258
|
finally {
|
|
296
259
|
visitedObjects.delete(p);
|
|
@@ -302,8 +265,6 @@ const VALIDATORS = { _aws_cdk_aws_mediaconnect_alpha_SourceMonitoringConfig: fun
|
|
|
302
265
|
try {
|
|
303
266
|
if (!visitedObjects.has(p.encryption))
|
|
304
267
|
module.exports._aws_cdk_aws_mediaconnect_alpha_SrtPasswordEncryption(p.encryption);
|
|
305
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
306
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
307
268
|
}
|
|
308
269
|
finally {
|
|
309
270
|
visitedObjects.delete(p);
|
|
@@ -315,8 +276,6 @@ const VALIDATORS = { _aws_cdk_aws_mediaconnect_alpha_SourceMonitoringConfig: fun
|
|
|
315
276
|
try {
|
|
316
277
|
if (!visitedObjects.has(p.encryption))
|
|
317
278
|
module.exports._aws_cdk_aws_mediaconnect_alpha_SrtPasswordEncryption(p.encryption);
|
|
318
|
-
if (!visitedObjects.has(p.vpcInterfaceAttachment))
|
|
319
|
-
module.exports._aws_cdk_aws_mediaconnect_alpha_VpcInterfaceConfig(p.vpcInterfaceAttachment);
|
|
320
279
|
}
|
|
321
280
|
finally {
|
|
322
281
|
visitedObjects.delete(p);
|
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.265.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.265.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.265.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.265.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.265.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.265.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.265.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.265.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=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IResource } from 'aws-cdk-lib';
|
|
2
|
-
import
|
|
2
|
+
import { Resource } from 'aws-cdk-lib';
|
|
3
|
+
import type { IFlowEntitlementRef, FlowEntitlementReference } from 'aws-cdk-lib/aws-mediaconnect';
|
|
3
4
|
import type { Construct } from 'constructs';
|
|
4
5
|
import type { IFlow } from './flow';
|
|
5
6
|
import type { StaticKeyEncryption } from './shared';
|
|
@@ -71,6 +72,13 @@ export interface FlowEntitlementProps {
|
|
|
71
72
|
*/
|
|
72
73
|
readonly entitlementStatus?: EntitlementStatus;
|
|
73
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Shared base for both real and imported flow entitlements.
|
|
77
|
+
*/
|
|
78
|
+
declare abstract class FlowEntitlementBase extends Resource implements IFlowEntitlement {
|
|
79
|
+
abstract readonly entitlementArn: string;
|
|
80
|
+
get flowEntitlementRef(): FlowEntitlementReference;
|
|
81
|
+
}
|
|
74
82
|
/**
|
|
75
83
|
* Resource defines the permission that an AWS account grants to another AWS account to allow access to the content in a specific AWS Elemental MediaConnect flow.
|
|
76
84
|
*/
|
|
@@ -84,3 +92,4 @@ export declare class FlowEntitlement extends FlowEntitlementBase {
|
|
|
84
92
|
readonly entitlementArn: string;
|
|
85
93
|
constructor(scope: Construct, id: string, props: FlowEntitlementProps);
|
|
86
94
|
}
|
|
95
|
+
export {};
|
package/lib/flow-entitlement.js
CHANGED
|
@@ -59,7 +59,6 @@ var EntitlementStatus;
|
|
|
59
59
|
})(EntitlementStatus || (exports.EntitlementStatus = EntitlementStatus = {}));
|
|
60
60
|
/**
|
|
61
61
|
* Shared base for both real and imported flow entitlements.
|
|
62
|
-
* @internal
|
|
63
62
|
*/
|
|
64
63
|
class FlowEntitlementBase extends aws_cdk_lib_1.Resource {
|
|
65
64
|
get flowEntitlementRef() {
|
|
@@ -83,7 +82,7 @@ let FlowEntitlement = (() => {
|
|
|
83
82
|
FlowEntitlement = _classThis = _classDescriptor.value;
|
|
84
83
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
85
84
|
}
|
|
86
|
-
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.265.0-alpha.0" };
|
|
87
86
|
/** Uniquely identifies this class. */
|
|
88
87
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.FlowEntitlement';
|
|
89
88
|
/**
|
|
@@ -149,4 +148,4 @@ let FlowEntitlement = (() => {
|
|
|
149
148
|
return FlowEntitlement = _classThis;
|
|
150
149
|
})();
|
|
151
150
|
exports.FlowEntitlement = FlowEntitlement;
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1lbnRpdGxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZsb3ctZW50aXRsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUFrRTtBQUVsRSw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUkxRSxxQ0FBcUQ7QUFjckQ7O0dBRUc7QUFDSCxJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0I7O09BRUc7SUFDSCx3Q0FBaUIsQ0FBQTtJQUNqQjs7T0FFRztJQUNILDBDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFUVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQVM1QjtBQXFERDs7O0dBR0c7QUFDSCxNQUFlLG1CQUFvQixTQUFRLHNCQUFRO0lBR2pELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0tBQ2hEO0NBQ0Y7QUFFRDs7R0FFRztJQUVVLGVBQWU7NEJBRDNCLG9DQUFrQjs7OztzQkFDa0IsbUJBQW1COytCQUEzQixTQUFRLFdBQW1COzs7O1lBQXhELDZLQWdFQzs7Ozs7UUEvREMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxpREFBaUQsQ0FBQztRQUV6Rzs7V0FFRztRQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxrQkFBMEI7WUFDM0YsTUFBTSxNQUFPLFNBQVEsbUJBQW1CO2dCQUN0QixjQUFjLEdBQUcsa0JBQWtCLENBQUM7YUFDckQ7WUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVlLGNBQWMsQ0FBUztRQUV2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1lBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLEVBQUUsbUJBQW1CLElBQUksa0JBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQzlILENBQUMsQ0FBQzs7Ozs7O21EQXBCTSxlQUFlOzs7O1lBc0J4Qiw2Q0FBNkM7WUFDN0MsSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUM1SCxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQzFDLE1BQU0sSUFBSSw2QkFBZSxDQUFDLElBQUEsc0JBQUcsRUFBQSwyQkFBMkIsRUFBRSxrRUFBa0UsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN4SyxDQUFDO2dCQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxJQUFJLDZCQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLDJCQUEyQixFQUFFLG1HQUFtRyxLQUFLLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbk0sQ0FBQztZQUNILENBQUM7WUFFRCwwQ0FBMEM7WUFDMUMsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDM0csTUFBTSxJQUFJLDZCQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLGtDQUFrQyxFQUFFLHFFQUFxRSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFLLENBQUM7WUFFRCx3R0FBd0c7WUFDeEcsSUFBSSxLQUFLLENBQUMsZ0NBQWdDLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsQ0FBQztnQkFDeEgsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLGdDQUFnQyxDQUFDO2dCQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxJQUFJLDZCQUFlLENBQ3ZCLElBQUEsc0JBQUcsRUFBQSwwQ0FBMEMsRUFDN0MsOEVBQThFLEdBQUcsRUFBRSxFQUNuRixJQUFJLENBQ0wsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLHFDQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3hELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTztnQkFDM0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7Z0JBQ3hFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7Z0JBQzFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFBLGtDQUF5QixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDakgsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUM7U0FDbkQ7O1lBL0RVLHVEQUFlOzs7OztBQUFmLDBDQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBSZXNvdXJjZSwgTGF6eSwgTmFtZXMsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDZm5GbG93RW50aXRsZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB0eXBlIHsgSUZsb3dFbnRpdGxlbWVudFJlZiwgRmxvd0VudGl0bGVtZW50UmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElGbG93IH0gZnJvbSAnLi9mbG93JztcbmltcG9ydCB0eXBlIHsgU3RhdGljS2V5RW5jcnlwdGlvbiB9IGZyb20gJy4vc2hhcmVkJztcbmltcG9ydCB7IHJlbmRlclN0YXRpY0tleUVuY3J5cHRpb24gfSBmcm9tICcuL3NoYXJlZCc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBGbG93RW50aXRsZW1lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmxvd0VudGl0bGVtZW50IGV4dGVuZHMgSVJlc291cmNlLCBJRmxvd0VudGl0bGVtZW50UmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgZW50aXRsZW1lbnQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGVudGl0bGVtZW50QXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZW50aXRsZW1lbnQgc3RhdHVzXG4gKi9cbmV4cG9ydCBlbnVtIEVudGl0bGVtZW50U3RhdHVzIHtcbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgZW5hYmxlZFxuICAgKi9cbiAgRU5BQkxFRD0nRU5BQkxFRCcsXG4gIC8qKlxuICAgKiBPcHRpb24gZm9yIGRpc2FibGVkXG4gICAqL1xuICBESVNBQkxFRD0nRElTQUJMRUQnLFxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBGbG93IGVudGl0bGVtZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0VudGl0bGVtZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGVudGl0bGVtZW50LiBUaGlzIHZhbHVlIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgY3VycmVudCBmbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBmbG93RW50aXRsZW1lbnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiB0aGUgZW50aXRsZW1lbnQgZGF0YSB0cmFuc2ZlciBmZWUgdGhhdCB5b3Ugd2FudCB0aGUgc3Vic2NyaWJlciB0byBiZSByZXNwb25zaWJsZSBmb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIE1lZGlhQ29ubmVjdCBzZXJ2aWNlIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBlbnRpdGxlbWVudC4gVGhpcyBkZXNjcmlwdGlvbiBhcHBlYXJzIG9ubHkgb24gdGhlIE1lZGlhQ29ubmVjdCBjb25zb2xlXG4gICAqIGFuZCBpcyBub3QgdmlzaWJsZSBvdXRzaWRlIG9mIHRoZSBjdXJyZW50IEFXUyBhY2NvdW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgZW5jcnlwdGluZyB0aGUgZW50aXRsZW1lbnQuXG4gICAqIE9ubHkgc3RhdGljIGtleSBlbmNyeXB0aW9uIGlzIHN1cHBvcnRlZCBmb3IgZW50aXRsZW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVuY3J5cHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb24/OiBTdGF0aWNLZXlFbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZmxvdyB0byBzZXQgdGhlIGVudGl0bGVtZW50IGZyb20uXG4gICAqL1xuICByZWFkb25seSBmbG93OiBJRmxvdztcblxuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IElEcyB0aGF0IHlvdSB3YW50IHRvIHNoYXJlIHlvdXIgY29udGVudCB3aXRoLiBUaGUgcmVjZWl2aW5nIGFjY291bnRzIChzdWJzY3JpYmVycylcbiAgICogd2lsbCBiZSBhbGxvd2VkIHRvIGNyZWF0ZSB0aGVpciBvd24gZmxvd3MgdXNpbmcgeW91ciBjb250ZW50IGFzIHRoZSBzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBzdWJzY3JpYmVyczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIGluZGljYXRpb24gb2Ygd2hldGhlciB0aGUgbmV3IGVudGl0bGVtZW50IHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkIGFzIHNvb24gYXMgaXQgaXMgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQ7IHdoZW4gb21pdHRlZCwgTWVkaWFDb25uZWN0IGVuYWJsZXMgdGhlIGVudGl0bGVtZW50IChFTkFCTEVEKSBhdCBkZXBsb3kgdGltZVxuICAgKi9cbiAgcmVhZG9ubHkgZW50aXRsZW1lbnRTdGF0dXM/OiBFbnRpdGxlbWVudFN0YXR1cztcbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCBmbG93IGVudGl0bGVtZW50cy5cbiAqIEBpbnRlcm5hbFxuICovXG5hYnN0cmFjdCBjbGFzcyBGbG93RW50aXRsZW1lbnRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRmxvd0VudGl0bGVtZW50IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGVudGl0bGVtZW50QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmbG93RW50aXRsZW1lbnRSZWYoKTogRmxvd0VudGl0bGVtZW50UmVmZXJlbmNlIHtcbiAgICByZXR1cm4geyBlbnRpdGxlbWVudEFybjogdGhpcy5lbnRpdGxlbWVudEFybiB9O1xuICB9XG59XG5cbi8qKlxuICogUmVzb3VyY2UgZGVmaW5lcyB0aGUgcGVybWlzc2lvbiB0aGF0IGFuIEFXUyBhY2NvdW50IGdyYW50cyB0byBhbm90aGVyIEFXUyBhY2NvdW50IHRvIGFsbG93IGFjY2VzcyB0byB0aGUgY29udGVudCBpbiBhIHNwZWNpZmljIEFXUyBFbGVtZW50YWwgTWVkaWFDb25uZWN0IGZsb3cuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBGbG93RW50aXRsZW1lbnQgZXh0ZW5kcyBGbG93RW50aXRsZW1lbnRCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkZsb3dFbnRpdGxlbWVudCc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBGbG93RW50aXRsZW1lbnQgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCAoaW1wb3J0ZWQpIEZsb3dFbnRpdGxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUZsb3dFbnRpdGxlbWVudEFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBmbG93RW50aXRsZW1lbnRBcm46IHN0cmluZyk6IElGbG93RW50aXRsZW1lbnQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEZsb3dFbnRpdGxlbWVudEJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGVudGl0bGVtZW50QXJuID0gZmxvd0VudGl0bGVtZW50QXJuO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXRsZW1lbnRBcm46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRmxvd0VudGl0bGVtZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LmZsb3dFbnRpdGxlbWVudE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgZmxvdyBlbnRpdGxlbWVudCBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5mbG93RW50aXRsZW1lbnROYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuZmxvd0VudGl0bGVtZW50TmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBGbG93RW50aXRsZW1lbnROYW1lTGVuZ3RoYCwgYEZsb3cgZW50aXRsZW1lbnQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuZmxvd0VudGl0bGVtZW50TmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV8tXSskLy50ZXN0KHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEZsb3dFbnRpdGxlbWVudE5hbWVGb3JtYXRgLCBgRmxvdyBlbnRpdGxlbWVudCBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMsIGdvdCAnJHtwcm9wcy5mbG93RW50aXRsZW1lbnROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBkZXNjcmlwdGlvbiBsZW5ndGggaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gIT0gbnVsbCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSAmJiBwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBGbG93RW50aXRsZW1lbnREZXNjcmlwdGlvbkxlbmd0aGAsIGBGbG93IGVudGl0bGVtZW50IGRlc2NyaXB0aW9uIG11c3Qgbm90IGV4Y2VlZCAxMDI0IGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmRlc2NyaXB0aW9uLmxlbmd0aH1gLCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBkYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCByYW5nZSDigJQgc2VydmljZSByZWplY3RzIHZhbHVlcyBvdXRzaWRlIDAtMTAwIGF0IGRlcGxveSB0aW1lXG4gICAgaWYgKHByb3BzLmRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50ICE9PSB1bmRlZmluZWQgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCkpIHtcbiAgICAgIGNvbnN0IHBjdCA9IHByb3BzLmRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50O1xuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHBjdCkgfHwgcGN0IDwgMCB8fCBwY3QgPiAxMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgRmxvd0VudGl0bGVtZW50U3Vic2NyaWJlckZlZVBlcmNlbnRSYW5nZWAsXG4gICAgICAgICAgYGRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDEwMCwgZ290ICR7cGN0fWAsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkZsb3dFbnRpdGxlbWVudCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGZsb3dBcm46IHByb3BzLmZsb3cuZmxvd0FybixcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHN1YnNjcmliZXJzOiBwcm9wcy5zdWJzY3JpYmVycyxcbiAgICAgIGRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50OiBwcm9wcy5kYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCxcbiAgICAgIGVudGl0bGVtZW50U3RhdHVzOiBwcm9wcy5lbnRpdGxlbWVudFN0YXR1cyxcbiAgICAgIGVuY3J5cHRpb246IHByb3BzLmVuY3J5cHRpb24gPyByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uKHRoaXMsIHByb3BzLmVuY3J5cHRpb24sIHByb3BzLmZsb3cuZmxvd0FybikgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmVudGl0bGVtZW50QXJuID0gcmVzb3VyY2UuYXR0ckVudGl0bGVtZW50QXJuO1xuICB9XG59XG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1lbnRpdGxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZsb3ctZW50aXRsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsNkNBQTRFO0FBQzVFLG1FQUFrRTtBQUVsRSw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUkxRSxxQ0FBcUQ7QUFjckQ7O0dBRUc7QUFDSCxJQUFZLGlCQVNYO0FBVEQsV0FBWSxpQkFBaUI7SUFDM0I7O09BRUc7SUFDSCx3Q0FBaUIsQ0FBQTtJQUNqQjs7T0FFRztJQUNILDBDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFUVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQVM1QjtBQXFERDs7R0FFRztBQUNILE1BQWUsbUJBQW9CLFNBQVEsc0JBQVE7SUFHakQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7S0FDaEQ7Q0FDRjtBQUVEOztHQUVHO0lBRVUsZUFBZTs0QkFEM0Isb0NBQWtCOzs7O3NCQUNrQixtQkFBbUI7K0JBQTNCLFNBQVEsV0FBbUI7Ozs7WUFBeEQsNktBZ0VDOzs7OztRQS9EQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLGlEQUFpRCxDQUFDO1FBRXpHOztXQUVHO1FBQ0ksTUFBTSxDQUFDLHNCQUFzQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGtCQUEwQjtZQUMzRixNQUFNLE1BQU8sU0FBUSxtQkFBbUI7Z0JBQ3RCLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUNyRDtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRWUsY0FBYyxDQUFTO1FBRXZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7WUFDbkUsS0FBSyxDQUFDLEtBQUss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QUFVLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzthQUNqSCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztTQUNuRDs7WUEvRFUsdURBQWU7Ozs7O0FBQWYsMENBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlLCBMYXp5LCBOYW1lcywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkZsb3dFbnRpdGxlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1tZWRpYWNvbm5lY3QnO1xuaW1wb3J0IHR5cGUgeyBJRmxvd0VudGl0bGVtZW50UmVmLCBGbG93RW50aXRsZW1lbnRSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSUZsb3cgfSBmcm9tICcuL2Zsb3cnO1xuaW1wb3J0IHR5cGUgeyBTdGF0aWNLZXlFbmNyeXB0aW9uIH0gZnJvbSAnLi9zaGFyZWQnO1xuaW1wb3J0IHsgcmVuZGVyU3RhdGljS2V5RW5jcnlwdGlvbiB9IGZyb20gJy4vc2hhcmVkJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZsb3dFbnRpdGxlbWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGbG93RW50aXRsZW1lbnQgZXh0ZW5kcyBJUmVzb3VyY2UsIElGbG93RW50aXRsZW1lbnRSZWYge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBlbnRpdGxlbWVudC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW50aXRsZW1lbnRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBlbnRpdGxlbWVudCBzdGF0dXNcbiAqL1xuZXhwb3J0IGVudW0gRW50aXRsZW1lbnRTdGF0dXMge1xuICAvKipcbiAgICogT3B0aW9uIGZvciBlbmFibGVkXG4gICAqL1xuICBFTkFCTEVEPSdFTkFCTEVEJyxcbiAgLyoqXG4gICAqIE9wdGlvbiBmb3IgZGlzYWJsZWRcbiAgICovXG4gIERJU0FCTEVEPSdESVNBQkxFRCcsXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEZsb3cgZW50aXRsZW1lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93RW50aXRsZW1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZW50aXRsZW1lbnQuIFRoaXMgdmFsdWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBjdXJyZW50IGZsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IGF1dG9nZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGZsb3dFbnRpdGxlbWVudE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJjZW50YWdlIG9mIHRoZSBlbnRpdGxlbWVudCBkYXRhIHRyYW5zZmVyIGZlZSB0aGF0IHlvdSB3YW50IHRoZSBzdWJzY3JpYmVyIHRvIGJlIHJlc3BvbnNpYmxlIGZvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgTWVkaWFDb25uZWN0IHNlcnZpY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVRyYW5zZmVyU3Vic2NyaWJlckZlZVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGVudGl0bGVtZW50LiBUaGlzIGRlc2NyaXB0aW9uIGFwcGVhcnMgb25seSBvbiB0aGUgTWVkaWFDb25uZWN0IGNvbnNvbGVcbiAgICogYW5kIGlzIG5vdCB2aXNpYmxlIG91dHNpZGUgb2YgdGhlIGN1cnJlbnQgQVdTIGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBlbmNyeXB0aW5nIHRoZSBlbnRpdGxlbWVudC5cbiAgICogT25seSBzdGF0aWMga2V5IGVuY3J5cHRpb24gaXMgc3VwcG9ydGVkIGZvciBlbnRpdGxlbWVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZW5jcnlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbj86IFN0YXRpY0tleUVuY3J5cHRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBmbG93IHRvIHNldCB0aGUgZW50aXRsZW1lbnQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGZsb3c6IElGbG93O1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSURzIHRoYXQgeW91IHdhbnQgdG8gc2hhcmUgeW91ciBjb250ZW50IHdpdGguIFRoZSByZWNlaXZpbmcgYWNjb3VudHMgKHN1YnNjcmliZXJzKVxuICAgKiB3aWxsIGJlIGFsbG93ZWQgdG8gY3JlYXRlIHRoZWlyIG93biBmbG93cyB1c2luZyB5b3VyIGNvbnRlbnQgYXMgdGhlIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmliZXJzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIHRoZSBuZXcgZW50aXRsZW1lbnQgc2hvdWxkIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQgYXMgc29vbiBhcyBpdCBpcyBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZDsgd2hlbiBvbWl0dGVkLCBNZWRpYUNvbm5lY3QgZW5hYmxlcyB0aGUgZW50aXRsZW1lbnQgKEVOQUJMRUQpIGF0IGRlcGxveSB0aW1lXG4gICAqL1xuICByZWFkb25seSBlbnRpdGxlbWVudFN0YXR1cz86IEVudGl0bGVtZW50U3RhdHVzO1xufVxuXG4vKipcbiAqIFNoYXJlZCBiYXNlIGZvciBib3RoIHJlYWwgYW5kIGltcG9ydGVkIGZsb3cgZW50aXRsZW1lbnRzLlxuICovXG5hYnN0cmFjdCBjbGFzcyBGbG93RW50aXRsZW1lbnRCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRmxvd0VudGl0bGVtZW50IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGVudGl0bGVtZW50QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBmbG93RW50aXRsZW1lbnRSZWYoKTogRmxvd0VudGl0bGVtZW50UmVmZXJlbmNlIHtcbiAgICByZXR1cm4geyBlbnRpdGxlbWVudEFybjogdGhpcy5lbnRpdGxlbWVudEFybiB9O1xuICB9XG59XG5cbi8qKlxuICogUmVzb3VyY2UgZGVmaW5lcyB0aGUgcGVybWlzc2lvbiB0aGF0IGFuIEFXUyBhY2NvdW50IGdyYW50cyB0byBhbm90aGVyIEFXUyBhY2NvdW50IHRvIGFsbG93IGFjY2VzcyB0byB0aGUgY29udGVudCBpbiBhIHNwZWNpZmljIEFXUyBFbGVtZW50YWwgTWVkaWFDb25uZWN0IGZsb3cuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBGbG93RW50aXRsZW1lbnQgZXh0ZW5kcyBGbG93RW50aXRsZW1lbnRCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLkZsb3dFbnRpdGxlbWVudCc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBGbG93RW50aXRsZW1lbnQgY29uc3RydWN0IHRoYXQgcmVwcmVzZW50cyBhbiBleHRlcm5hbCAoaW1wb3J0ZWQpIEZsb3dFbnRpdGxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUZsb3dFbnRpdGxlbWVudEFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBmbG93RW50aXRsZW1lbnRBcm46IHN0cmluZyk6IElGbG93RW50aXRsZW1lbnQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEZsb3dFbnRpdGxlbWVudEJhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IGVudGl0bGVtZW50QXJuID0gZmxvd0VudGl0bGVtZW50QXJuO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXRsZW1lbnRBcm46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRmxvd0VudGl0bGVtZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LmZsb3dFbnRpdGxlbWVudE5hbWUgPz8gTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDY0IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgZmxvdyBlbnRpdGxlbWVudCBuYW1lIGlmIHByb3ZpZGVkXG4gICAgaWYgKHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUgIT0gbnVsbCAmJiBwcm9wcy5mbG93RW50aXRsZW1lbnROYW1lICE9PSAnJyAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuZmxvd0VudGl0bGVtZW50TmFtZS5sZW5ndGggPiA2NCkge1xuICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBGbG93RW50aXRsZW1lbnROYW1lTGVuZ3RoYCwgYEZsb3cgZW50aXRsZW1lbnQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgNjQgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuZmxvd0VudGl0bGVtZW50TmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOV8tXSskLy50ZXN0KHByb3BzLmZsb3dFbnRpdGxlbWVudE5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEZsb3dFbnRpdGxlbWVudE5hbWVGb3JtYXRgLCBgRmxvdyBlbnRpdGxlbWVudCBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBoeXBoZW5zLCBhbmQgdW5kZXJzY29yZXMsIGdvdCAnJHtwcm9wcy5mbG93RW50aXRsZW1lbnROYW1lfSdgLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBkZXNjcmlwdGlvbiBsZW5ndGggaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gIT0gbnVsbCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSAmJiBwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBGbG93RW50aXRsZW1lbnREZXNjcmlwdGlvbkxlbmd0aGAsIGBGbG93IGVudGl0bGVtZW50IGRlc2NyaXB0aW9uIG11c3Qgbm90IGV4Y2VlZCAxMDI0IGNoYXJhY3RlcnMsIGdvdCAke3Byb3BzLmRlc2NyaXB0aW9uLmxlbmd0aH1gLCB0aGlzKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBkYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCByYW5nZSDigJQgc2VydmljZSByZWplY3RzIHZhbHVlcyBvdXRzaWRlIDAtMTAwIGF0IGRlcGxveSB0aW1lXG4gICAgaWYgKHByb3BzLmRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50ICE9PSB1bmRlZmluZWQgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCkpIHtcbiAgICAgIGNvbnN0IHBjdCA9IHByb3BzLmRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50O1xuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHBjdCkgfHwgcGN0IDwgMCB8fCBwY3QgPiAxMDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgRmxvd0VudGl0bGVtZW50U3Vic2NyaWJlckZlZVBlcmNlbnRSYW5nZWAsXG4gICAgICAgICAgYGRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50IG11c3QgYmUgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDEwMCwgZ290ICR7cGN0fWAsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbkZsb3dFbnRpdGxlbWVudCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGZsb3dBcm46IHByb3BzLmZsb3cuZmxvd0FybixcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHN1YnNjcmliZXJzOiBwcm9wcy5zdWJzY3JpYmVycyxcbiAgICAgIGRhdGFUcmFuc2ZlclN1YnNjcmliZXJGZWVQZXJjZW50OiBwcm9wcy5kYXRhVHJhbnNmZXJTdWJzY3JpYmVyRmVlUGVyY2VudCxcbiAgICAgIGVudGl0bGVtZW50U3RhdHVzOiBwcm9wcy5lbnRpdGxlbWVudFN0YXR1cyxcbiAgICAgIGVuY3J5cHRpb246IHByb3BzLmVuY3J5cHRpb24gPyByZW5kZXJTdGF0aWNLZXlFbmNyeXB0aW9uKHRoaXMsIHByb3BzLmVuY3J5cHRpb24sIHByb3BzLmZsb3cuZmxvd0FybikgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLmVudGl0bGVtZW50QXJuID0gcmVzb3VyY2UuYXR0ckVudGl0bGVtZW50QXJuO1xuICB9XG59XG4iXX0=
|