@aws-cdk/aws-ec2-alpha 2.231.0-alpha.0 → 2.232.1-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 CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.231.0",
11
+ "aws-cdk-lib": "^2.232.1",
12
12
  "constructs": "^10.0.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -1202,6 +1202,19 @@
1202
1202
  }
1203
1203
  }
1204
1204
  },
1205
+ "aws-cdk-lib.aws_devopsagent": {
1206
+ "targets": {
1207
+ "dotnet": {
1208
+ "namespace": "Amazon.CDK.AWS.DevOpsAgent"
1209
+ },
1210
+ "java": {
1211
+ "package": "software.amazon.awscdk.services.devopsagent"
1212
+ },
1213
+ "python": {
1214
+ "module": "aws_cdk.aws_devopsagent"
1215
+ }
1216
+ }
1217
+ },
1205
1218
  "aws-cdk-lib.aws_devopsguru": {
1206
1219
  "targets": {
1207
1220
  "dotnet": {
@@ -5217,6 +5230,22 @@
5217
5230
  }
5218
5231
  }
5219
5232
  },
5233
+ "aws-cdk-lib.interfaces.aws_devopsagent": {
5234
+ "targets": {
5235
+ "dotnet": {
5236
+ "namespace": "Amazon.CDK.Interfaces.DevOpsAgent"
5237
+ },
5238
+ "go": {
5239
+ "packageName": "interfacesawsdevopsagent"
5240
+ },
5241
+ "java": {
5242
+ "package": "software.amazon.awscdk.interfaces.devopsagent"
5243
+ },
5244
+ "python": {
5245
+ "module": "aws_cdk.interfaces.aws_devopsagent"
5246
+ }
5247
+ }
5248
+ },
5220
5249
  "aws-cdk-lib.interfaces.aws_devopsguru": {
5221
5250
  "targets": {
5222
5251
  "dotnet": {
@@ -8412,7 +8441,7 @@
8412
8441
  "stability": "experimental"
8413
8442
  },
8414
8443
  "homepage": "https://github.com/aws/aws-cdk",
8415
- "jsiiVersion": "5.9.13 (build cc3e9a8)",
8444
+ "jsiiVersion": "5.9.14 (build 9fc28bd)",
8416
8445
  "keywords": [
8417
8446
  "aws",
8418
8447
  "cdk",
@@ -17583,6 +17612,6 @@
17583
17612
  "symbolId": "lib/vpc-v2:VpcV2Props"
17584
17613
  }
17585
17614
  },
17586
- "version": "2.231.0-alpha.0",
17615
+ "version": "2.232.1-alpha.0",
17587
17616
  "fingerprint": "**********"
17588
17617
  }
Binary file
@@ -0,0 +1,27 @@
1
+ {
2
+ "lib/ipam.ts": {
3
+ "@cdklabs/no-throw-default-error": {
4
+ "count": 4
5
+ }
6
+ },
7
+ "lib/transit-gateway-vpc-attachment.ts": {
8
+ "@cdklabs/no-throw-default-error": {
9
+ "count": 2
10
+ }
11
+ },
12
+ "lib/util.ts": {
13
+ "@cdklabs/no-throw-default-error": {
14
+ "count": 2
15
+ }
16
+ },
17
+ "lib/vpc-v2-base.ts": {
18
+ "@cdklabs/no-throw-default-error": {
19
+ "count": 8
20
+ }
21
+ },
22
+ "lib/vpc-v2.ts": {
23
+ "@cdklabs/no-throw-default-error": {
24
+ "count": 2
25
+ }
26
+ }
27
+ }
package/lib/ipam.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { Resource } from 'aws-cdk-lib';
1
2
  import { CfnIPAMPoolCidr } from 'aws-cdk-lib/aws-ec2';
2
3
  import { Construct } from 'constructs';
3
- import { Resource } from 'aws-cdk-lib';
4
4
  /**
5
5
  * Represents the address family for IP addresses in an IPAM pool.
6
6
  * IP_V4 - Represents the IPv4 address family.
package/lib/ipam.js CHANGED
@@ -37,8 +37,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.Ipam = exports.IpamScopeType = exports.AwsServiceName = exports.IpamPoolPublicIpSource = exports.AddressFamily = void 0;
38
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
39
39
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
- const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
41
40
  const aws_cdk_lib_1 = require("aws-cdk-lib");
41
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
42
42
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
43
43
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
44
44
  /**
@@ -315,7 +315,7 @@ let Ipam = (() => {
315
315
  Ipam = _classThis = _classDescriptor.value;
316
316
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
317
317
  }
318
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.231.0-alpha.0" };
318
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-ec2-alpha.Ipam", version: "2.232.1-alpha.0" };
319
319
  /** Uniquely identifies this class. */
320
320
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.Ipam';
321
321
  /**
@@ -444,4 +444,4 @@ function createIpamPool(scope, id, scopeOptions, poolOptions, scopeId) {
444
444
  awsService: poolOptions.awsService,
445
445
  });
446
446
  }
447
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlwYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQTBGO0FBRTFGLDZDQUFpRTtBQUNqRSw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBRTFFOzs7OztHQUtHO0FBQ0gsSUFBWSxhQVlYO0FBWkQsV0FBWSxhQUFhO0lBQ3ZCOzs7T0FHRztJQUNILCtCQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFaVyxhQUFhLDZCQUFiLGFBQWEsUUFZeEI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxzQkFVWDtBQVZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gseUNBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBVWpDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QjtBQXlCRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQTRERCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUE4SmhDOzs7Ozs7R0FNRztJQUVHLFFBQVE7NEJBRGIsb0NBQWtCOzs7O3NCQUNJLHNCQUFROzs7d0JBQWhCLFNBQVEsV0FBUTs7Ozt5Q0FnRTVCLElBQUEsa0NBQWMsR0FBRTtZQUNqQiwwTEFBTyxhQUFhLDZEQU9uQjtZQXhFSCw2S0F5RUM7Ozs7UUF4RUMsc0NBQXNDO1FBQy9C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QWMsQ0FDckIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFlBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLE9BQWU7SUFFZixrRUFBa0U7SUFDbEUsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSwwQkFBMEIsR0FBRyxZQUFZLENBQUMsb0JBQW9CO1lBQ2xFLENBQUMsQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLHNDQUFzQyxZQUFZLENBQUMsb0JBQW9CLEtBQUs7Z0JBQ3BJLDhFQUE4RSxDQUFDLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDN0IsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZO1FBQ3RDLGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYTtRQUN4QyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsb0JBQW9CO1FBQ3RELFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMxQixjQUFjLEVBQUUsV0FBVyxDQUFDLGNBQWM7UUFDMUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5JUEFNLCBDZm5JUEFNUG9vbCwgQ2ZuSVBBTVBvb2xDaWRyLCBDZm5JUEFNU2NvcGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTGF6eSwgTmFtZXMsIFJlc291cmNlLCBTdGFjaywgVGFncyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhLCBNZXRob2RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSAnaXB2NCcsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gICAqIE9ubHkgYWxsb3dlZCB1bmRlciBwdWJsaWMgcG9vbC5cbiAgICovXG4gIElQX1Y2ID0gJ2lwdjYnLFxufVxuXG4vKipcbiAqIFRoZSBJUCBhZGRyZXNzIHNvdXJjZSBmb3IgcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIE9ubHkgdXNlZCBmb3IgcHJvdmlzaW9uaW5nIElQIGFkZHJlc3MgQ0lEUnMgdG8gcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHVibGljaXBzb3VyY2VcbiAqL1xuZXhwb3J0IGVudW0gSXBhbVBvb2xQdWJsaWNJcFNvdXJjZSB7XG4gIC8qKlxuICAgKiBCWU9JUCBJcHY2IHRvIGJlIHJlZ2lzdGVyZWQgdW5kZXIgSVBBTVxuICAgKi9cbiAgQllPSVAgPSAnYnlvaXAnLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gJ2FtYXpvbicsXG59XG5cbi8qKlxuICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW5cbiAqL1xuZXhwb3J0IGVudW0gQXdzU2VydmljZU5hbWUge1xuICAvKipcbiAgICogIEFsbG93cyB1c2VycyB0byB1c2Ugc3BhY2UgZm9yIEVsYXN0aWMgSVAgYWRkcmVzc2VzIGFuZCBWUENzXG4gICAqL1xuICBFQzIgPSAnZWMyJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSBhIG5ldyBJcGFtIGluIHRoZSBhY2NvdW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGluZyBSZWdpb25zIGZvciBhbiBJUEFNLlxuICAgKiBPcGVyYXRpbmcgUmVnaW9ucyBhcmUgQVdTIFJlZ2lvbnMgd2hlcmUgdGhlIElQQU0gaXMgYWxsb3dlZCB0byBtYW5hZ2UgSVAgYWRkcmVzcyBDSURSc1xuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBvcGVyYXRpbmcgUmVnaW9ucywgc2VlIFtDcmVhdGUgYW4gSVBBTV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tLy92cGMvbGF0ZXN0L2lwYW0vY3JlYXRlLWlwYW0uaHRtbCkgaW4gdGhlICpBbWF6b24gVlBDIElQQU0gVXNlciBHdWlkZSogLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWwjY2ZuLWVjMi1pcGFtLW9wZXJhdGluZ3JlZ2lvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBTdGFjay5yZWdpb24gaWYgZGVmaW5lZCBpbiB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGluZ1JlZ2lvbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTmFtZSBvZiBJUEFNIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRhZ2dpbmcgcmVzb3VyY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiBubyBuYW1lIHByb3ZpZGVkLCBubyB0YWdzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIElQQU1cbiAgICovXG4gIHJlYWRvbmx5IGlwYW1OYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZmVycyB0byB0d28gcG9zc2libGUgc2NvcGUgdHlwZXMgdW5kZXIgSVBBTVxuICovXG5leHBvcnQgZW51bSBJcGFtU2NvcGVUeXBlIHtcbiAgLyoqXG4gICAqIERlZmF1bHQgc2NvcGVzIGNyZWF0ZWQgYnkgSVBBTVxuICAgKi9cbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcblxuICAvKipcbiAgICogQ3VzdG9tIHNjb3BlIGNyZWF0ZWQgdXNpbmcgbWV0aG9kXG4gICAqL1xuICBDVVNUT00gPSAnY3VzdG9tJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBJUEFNIHBvb2wuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb29sT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIGFkZHJlc3NGYW1pbHkgLSBUaGUgYWRkcmVzcyBmYW1pbHkgb2YgdGhlIHBvb2wgKGlwdjQgb3IgaXB2NikuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzRmFtaWx5OiBBZGRyZXNzRmFtaWx5O1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0lEUnMgcHJvdmlzaW9uZWQgdG8gdGhlIHBvb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUnMgYXJlIHByb3Zpc2lvbmVkXG4gICAqL1xuICByZWFkb25seSBpcHY0UHJvdmlzaW9uZWRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYWxlIChBV1MgUmVnaW9uKSBvZiB0aGUgcG9vbC4gU2hvdWxkIGJlIG9uZSBvZiB0aGUgSVBBTSBvcGVyYXRpbmcgcmVnaW9uLlxuICAgKiAgT25seSByZXNvdXJjZXMgaW4gdGhlIHNhbWUgUmVnaW9uIGFzIHRoZSBsb2NhbGUgb2YgdGhlIHBvb2wgY2FuIGdldCBJUCBhZGRyZXNzIGFsbG9jYXRpb25zIGZyb20gdGhlIHBvb2wuXG4gICAqIFlvdSBjYW4gb25seSBhbGxvY2F0ZSBhIENJRFIgZm9yIGEgVlBDLCBmb3IgZXhhbXBsZSwgZnJvbSBhbiBJUEFNIHBvb2wgdGhhdCBzaGFyZXMgYSBsb2NhbGUgd2l0aCB0aGUgVlBD4oCZcyBSZWdpb24uXG4gICAqIE5vdGUgdGhhdCBvbmNlIHlvdSBjaG9vc2UgYSBMb2NhbGUgZm9yIGEgcG9vbCwgeW91IGNhbm5vdCBtb2RpZnkgaXQuIElmIHlvdSBjaG9vc2UgYW4gQVdTIFJlZ2lvbiBmb3IgbG9jYWxlIHRoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgYXMgYW4gb3BlcmF0aW5nIFJlZ2lvbiBmb3IgdGhlIElQQU0sIHlvdSdsbCBnZXQgYW4gZXJyb3IuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWwjY2ZuLWVjMi1pcGFtcG9vbC1sb2NhbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDdXJyZW50IG9wZXJhdGluZyByZWdpb24gb2YgSVBBTVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gICAqIE9ubHkgdXNlZCBmb3IgSVB2NiBhZGRyZXNzXG4gICAqIE9ubHkgYWxsb3dlZCB2YWx1ZXMgdG8gdGhpcyBhcmUgJ2J5b2lwJyBvciAnYW1hem9uJ1xuICAgKlxuICAgKiBAZGVmYXVsdCBhbWF6b25cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lwU291cmNlPzogSXBhbVBvb2xQdWJsaWNJcFNvdXJjZTtcblxuICAvKipcbiAgICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW4uXG4gICAqXG4gICAqIFwiZWMyXCIsIGZvciBleGFtcGxlLCBhbGxvd3MgdXNlcnMgdG8gdXNlIHNwYWNlIGZvciBFbGFzdGljIElQIGFkZHJlc3NlcyBhbmQgVlBDcy5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWF3c3NlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSByZXF1aXJlZCBpbiBjYXNlIG9mIGFuIElQdjYsIHRocm93cyBhbiBlcnJvciBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhd3NTZXJ2aWNlPzogQXdzU2VydmljZU5hbWU7XG5cbiAgLyoqXG4gICAqIElQQU0gUG9vbCByZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkIGJ5IENESyBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sTmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgTkFNRV9UQUc6IHN0cmluZyA9ICdOYW1lJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBJUEFNIHBvb2wuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5pbnRlcmZhY2UgSXBhbVBvb2xQcm9wcyBleHRlbmRzIFBvb2xPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNjb3BlIGlkIHdoZXJlIHBvb2wgbmVlZHMgdG8gYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIHByb3Zpc2lvbiBDSURScyB0byBhbiBJUEFNIHBvb2wuXG4gKiBVc2VkIHRvIGNyZWF0ZSBhIG5ldyBJcGFtUG9vbENpZHJcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbGNpZHIuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qb29sQ2lkclByb3Zpc2lvbmluZ09wdGlvbnMge1xuICAvKipcbiAgICogSXB2NiBOZXRtYXNrIGxlbmd0aCBmb3IgdGhlIENJRFJcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwb29sIHByb3Zpc2lvbmVkIHdpdGhvdXQgbmV0bWFzayBsZW5ndGgsIG5lZWQgY2lkciByYW5nZSBpbiB0aGlzIGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IG5ldG1hc2tMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElwdjYgQ0lEUiBibG9jayBmb3IgdGhlIElQQU0gcG9vbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBvb2wgcHJvdmlzaW9uZWQgd2l0aG91dCBuZXRtYXNrIGxlbmd0aCwgbmVlZCBuZXRtYXNrIGxlbmd0aCBpbiB0aGlzIGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IGNpZHI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiB1c2VkIHRvIGFkZCBvciBjcmVhdGUgYSBuZXcgSVBBTSBwb29sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1Qb29sIHtcbiAgLyoqXG4gICAqIFBvb2wgSUQgdG8gYmUgcGFzc2VkIHRvIHRoZSBWUEMgY29uc3RydWN0XG4gICAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlwdjRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhc3NvY2lhdGUgYSBJUHY2IGFkZHJlc3Mgd2l0aCBJUEFNIHBvb2xcbiAgICovXG4gIHByb3Zpc2lvbkNpZHIoaWQ6IHN0cmluZywgb3B0aW9uczogSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyk6IENmbklQQU1Qb29sQ2lkcjtcblxufVxuXG4vKipcbiAqIElQQU0gc2NvcGUgaXMgdGhlIGhpZ2hlc3QtbGV2ZWwgY29udGFpbmVyIHdpdGhpbiBJUEFNLiBBbiBJUEFNIGNvbnRhaW5zIHR3byBkZWZhdWx0IHNjb3Blcy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICovXG5pbnRlcmZhY2UgSXBhbVNjb3BlUHJvcHMgZXh0ZW5kcyBJcGFtU2NvcGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElQQU0gaWQgdG8gd2hpY2ggc2NvcGUgbmVlZHMgdG8gYmUgYWRkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcGVyYXRpbmcgcmVnaW9ucyBmb3IgdGhlIElwYW1cbiAgICogUmVxdWlyZWQgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlIGxvY2FsZSBiZWluZyBzZXQgb24gcG9vbFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gaXBhbSBzY29wZSBpZCB0byBhZGQgYSBwb29sIGluIG9yZGVyIHRvIHN1cHBvcnQgZGVmYXVsdCBzY29wZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aHJvd3MgYW4gZXJyb3IgaWYgbm8gc2NvcGUgaWQgaXMgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZUlkPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQmVpbmcgdXNlZCBpbiBJUEFNIGNsYXNzIHRvIGFkZCBwb29scyB0byBkZWZhdWx0IHNjb3BlIGNyZWF0ZWQgYnkgSVBBTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPcHRpb25zIHtcblxuICAvKipcbiAgICogSVBBTSBzY29wZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0YWdnaW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdGFncyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzY29wZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBJUCBBZGRyZXNzIE1hbmFnZXIgKElQQU0pLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBDSURSIE1hc2sgZm9yIFZwY1xuICAgKiBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuZXRtYXNrIGxlbmd0aCBmb3IgSVBBTSBhdHRhY2hlZCB0byBWUEMgc2Vjb25kYXJ5IGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IG5ldG1hc2tMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElwdjQgb3IgYW4gSXB2NiBJUEFNIHBvb2xcbiAgICogT25seSByZXF1aXJlZCB3aGVuIHVzaW5nIEFXUyBJcGFtXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcG9vbCBhdHRhY2hlZCB0byBWUEMgc2Vjb25kYXJ5IGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sPzogSUlwYW1Qb29sO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCB0byBzZXQgU2Vjb25kYXJ5IGNpZHIgYmxvY2sgcmVzb3VyY2UgbmFtZVxuICAgKiBpbiBvcmRlciB0byBnZW5lcmF0ZSB1bmlxdWUgbG9naWNhbCBpZCBmb3IgdGhlIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2lkckJsb2NrTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSXBhbVNjb3BlIENsYXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1TY29wZUJhc2Uge1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgc2NvcGUgb2Ygc3RhY2sgdG8gYmUgcGFzc2VkIGluIG9yZGVyIHRvIGNyZWF0ZVxuICAgKiBhIG5ldyBJUEFNIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgU2NvcGUgaWRzIGNyZWF0ZWQgYnkgdGhlIElQQU0gb3IgYSBuZXcgUmVzb3VyY2UgaWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBwb29sIHRvIGFuIElQQU0gc2NvcGVcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2w7XG5cbn1cblxuLyoqXG4gKiBDcmVhdGVzIG5ldyBJUEFNIFBvb2xcbiAqIFBvb2xzIGVuYWJsZSB5b3UgdG8gb3JnYW5pemUgeW91ciBJUCBhZGRyZXNzZXMgYWNjb3JkaW5nIHRvIHlvdXIgcm91dGluZyBhbmQgc2VjdXJpdHkgbmVlZHNcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1Qb29sXG4gKiBAaW50ZXJuYWxcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJcGFtUG9vbCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtUG9vbCc7XG4gIC8qKlxuICAgKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1Qb29sSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtUG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvb2wgQ0lEUiBmb3IgSVB2NiB0byBiZSBwcm92aXNpb25lZCB3aXRoIFB1YmxpYyBJUCBzb3VyY2Ugc2V0IHRvICdBbWF6b24nXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjQgdG8gYmUgcHJvdmlzaW9uZWQgdXNpbmcgSVBBTVxuICAgKiBSZXF1aXJlZCB0byBjaGVjayBmb3Igc3VibmV0IElQIHJhbmdlIGlzIHdpdGhpbiB0aGUgVlBDIHJhbmdlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUlwdjRDaWRyczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIGlwYW1Qb29sIHJlc291cmNlIGNyZWF0ZWQgaW4gdGhpcyBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVBvb2w6IENmbklQQU1Qb29sO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmlwYW1Qb29sTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmFkZHJlc3NGYW1pbHkgPT09IEFkZHJlc3NGYW1pbHkuSVBfVjYgJiYgIXByb3BzLmF3c1NlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXdzU2VydmljZSBpcyByZXF1aXJlZCB3aGVuIGFkZHJlc3NGYW1pbHkgaXMgc2V0IHRvIGlwdjYnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGFncyB0byB0aGUgSVBBTSBQb29sIGlmIG5hbWUgaXMgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuaXBhbVBvb2xOYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChOQU1FX1RBRywgcHJvcHMuaXBhbVBvb2xOYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pcGFtUG9vbCA9IG5ldyBDZm5JUEFNUG9vbCh0aGlzLCBpZCwge1xuICAgICAgYWRkcmVzc0ZhbWlseTogcHJvcHMuYWRkcmVzc0ZhbWlseSxcbiAgICAgIHByb3Zpc2lvbmVkQ2lkcnM6IHByb3BzLmlwdjRQcm92aXNpb25lZENpZHJzPy5tYXAoY2lkciA9PiAoeyBjaWRyIH0pKSxcbiAgICAgIGxvY2FsZTogcHJvcHMubG9jYWxlLFxuICAgICAgaXBhbVNjb3BlSWQ6IHByb3BzLmlwYW1TY29wZUlkLFxuICAgICAgcHVibGljSXBTb3VyY2U6IHByb3BzLnB1YmxpY0lwU291cmNlLFxuICAgICAgYXdzU2VydmljZTogcHJvcHMuYXdzU2VydmljZSxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1Qb29sSWQgPSB0aGlzLl9pcGFtUG9vbC5hdHRySXBhbVBvb2xJZDtcblxuICAgIC8vIFBvcHVsYXRpbmcgdG8gY2hlY2sgZm9yIHN1Ym5ldCByYW5nZSBhZ2FpbnN0IGFsbCBJUHY0IHJhbmdlcyBhc3NpZ25lZCB0byBWUEMgaW5jbHVkaW5nIElQQU1cbiAgICBwcm9wcy5pcHY0UHJvdmlzaW9uZWRDaWRycz8ubWFwKGNpZHIgPT4gKHRoaXMuaXBhbUlwdjRDaWRycy5wdXNoKGNpZHIpKSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW1Qb29sO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgQ0lEUiBwcm92aXNpb25lZCB0byBhbiBJUEFNIHBvb2wuXG4gICAqIEBwYXJhbSBpZCBOYW1lIG9mIFJlc291cmNlXG4gICAqIEBwYXJhbSBvcHRpb25zIEVpdGhlciBhIENJRFIgb3IgbmV0bWFzayBsZW5ndGggbXVzdCBiZSBwcm92aWRlZFxuICAgKiBAcmV0dXJucyBBV1M6OkVDMjo6SVBBTVBvb2xDaWRyXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgcHJvdmlzaW9uQ2lkcihpZDogc3RyaW5nLCBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zKTogQ2ZuSVBBTVBvb2xDaWRyIHtcbiAgICBjb25zdCBjaWRyID0gbmV3IENmbklQQU1Qb29sQ2lkcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGlwYW1Qb29sSWQ6IHRoaXMuaXBhbVBvb2xJZCxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1DaWRycy5wdXNoKGNpZHIpO1xuICAgIHJldHVybiBjaWRyO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBjdXN0b20gSXBhbSBTY29wZSwgY3VzdG9tIElQQU0gc2NvcGVzIGNhbiBvbmx5IGJlIHByaXZhdGVcbiAqIChjYW4gYmUgdXNlZCBmb3IgYWRkaW5nIGN1c3RvbSBzY29wZXMgdG8gYW4gZXhpc3RpbmcgSVBBTSlcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICogQHJlc291cmNlIEFXUzo6RUMyOjpJUEFNU2NvcGVcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuY2xhc3MgSXBhbVNjb3BlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtU2NvcGUnO1xuICAvKipcbiAgICogU3RvcmVzIHRoZSByZWZlcmVuY2UgdG8gbmV3bHkgY3JlYXRlZCBSZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVNjb3BlOiBDZm5JUEFNU2NvcGU7XG5cbiAgLyoqXG4gICAqIElEIGZvciBSZXNvdXJjZSBJcGFtU2NvcGVcbiAgICogQGF0dHJpYnV0ZSBJcGFtU2NvcGVJZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvcGVydGllcyB0byBjb25maWd1cmUgaXBhbSBzY29wZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHM7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBzdGFjayBzY29wZSB0byBiZSBwYXNzZWQgdGhyb3VnaCBhZGRQb29sIG1ldGhvZCBpbm9yZGVyIHRvIGNyZWF0ZSBhIG5ldyBJcGFtUG9vbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgc2NvcGUgdHlwZSBjYW4gYmUgZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVUeXBlOiBJcGFtU2NvcGVUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtU2NvcGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgdGhpcy5faXBhbVNjb3BlID0gbmV3IENmbklQQU1TY29wZShzY29wZSwgJ0lwYW1TY29wZScsIHtcbiAgICAgIGlwYW1JZDogcHJvcHMuaXBhbUlkLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YodGhpcy5faXBhbVNjb3BlKS5hZGQoTkFNRV9UQUcsIHByb3BzLmlwYW1TY29wZU5hbWUgPz8gJ0N1c3RvbUlwYW1TY29wZScpO1xuICAgIHRoaXMuc2NvcGVJZCA9IHRoaXMuX2lwYW1TY29wZS5hdHRySXBhbVNjb3BlSWQ7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkNVU1RPTTtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIElQQU0gZGVmYXVsdCBzY29wZXMuXG4gKi9cbmNsYXNzIElwYW1TY29wZUJhc2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcmVhZG9ubHkgc2NvcGVJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IElwYW1TY29wZVByb3BzLFxuICAgIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGUsXG4gICkge1xuICAgIHRoaXMuc2NvcGVUeXBlID0gSXBhbVNjb3BlVHlwZS5ERUZBVUxUO1xuICAgIGlmICghcHJvcHMuaXBhbVNjb3BlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaXBhbVNjb3BlSWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY29wZUlkID0gcHJvcHMuaXBhbVNjb3BlSWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgbmV3IElQQU0gd2l0aCBkZWZhdWx0IHB1YmxpYyBhbmQgcHJpdmF0ZSBzY29wZVxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIElwYW0gZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtJztcbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byBkZWZhdWx0IHB1YmxpYyBJUEFNIHNjb3BlIHRocm91Z2ggYWRkIHBvb2wgbWV0aG9kLlxuICAgKiBVc2FnZTogVG8gYWRkIGFuIElwYW0gUG9vbCB0byBhIGRlZmF1bHQgcHVibGljIHNjb3BlXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY1Njb3BlOiBJSXBhbVNjb3BlQmFzZTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYWNjZXNzIHRvIGRlZmF1bHQgcHJpdmF0ZSBJUEFNIHNjb3BlIHRocm91Z2ggYWRkIHBvb2wgbWV0aG9kLlxuICAgKiBVc2FnZTogVG8gYWRkIGFuIElwYW0gUG9vbCB0byBhIGRlZmF1bHQgcHJpdmF0ZSBzY29wZVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAgICogKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGVTY29wZTogSUlwYW1TY29wZUJhc2U7XG5cbiAgLy8gUmVzb3VyY2UgSVBBTVxuICBwcml2YXRlIHJlYWRvbmx5IF9pcGFtOiBDZm5JUEFNO1xuICAvKipcbiAgICogQWNjZXNzIHRvIElwYW0gcmVzb3VyY2UgaWQgdGhhdCBjYW4gYmUgdXNlZCBsYXRlciB0byBhZGQgYSBjdXN0b20gcHJpdmF0ZSBzY29wZSB0byB0aGlzIElQQU1cbiAgICogQGF0dHJpYnV0ZSBJcGFtSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBvcGVyYXRpbmcgcmVnaW9ucyBmb3IgSVBBTVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGluZ1JlZ2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNjb3BlcyBjcmVhdGVkIHVuZGVyIHRoaXMgSVBBTVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlczogSUlwYW1TY29wZUJhc2VbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJUEFNIG5hbWUgdG8gYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKiBAZGVmYXVsdCBubyB0YWcgc3BlY2lmaWVkXG4gICAqIEBhdHRyaWJ1dGUgSXBhbU5hbWVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtTmFtZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElwYW1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgaWYgKHByb3BzPy5pcGFtTmFtZSkge1xuICAgICAgVGFncy5vZih0aGlzKS5hZGQoTkFNRV9UQUcsIHByb3BzLmlwYW1OYW1lKTtcbiAgICB9XG4gICAgaWYgKHByb3BzPy5vcGVyYXRpbmdSZWdpb25zICYmIChwcm9wcy5vcGVyYXRpbmdSZWdpb25zLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9wZXJhdGluZyByZWdpb24nKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMgPSBwcm9wcz8ub3BlcmF0aW5nUmVnaW9ucyA/PyBbU3RhY2sub2YodGhpcykucmVnaW9uXTtcbiAgICB0aGlzLmlwYW1OYW1lID0gcHJvcHM/LmlwYW1OYW1lO1xuXG4gICAgdGhpcy5faXBhbSA9IG5ldyBDZm5JUEFNKHRoaXMsICdJcGFtJywge1xuICAgICAgb3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zID8gdGhpcy5vcGVyYXRpbmdSZWdpb25zLm1hcChyZWdpb24gPT4gKHsgcmVnaW9uTmFtZTogcmVnaW9uIH0pKSA6IFtdLFxuICAgIH0pO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLl9pcGFtO1xuXG4gICAgdGhpcy5pcGFtSWQgPSB0aGlzLl9pcGFtLmF0dHJJcGFtSWQ7XG4gICAgdGhpcy5wdWJsaWNTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsICdEZWZhdWx0UHVibGljU2NvcGUnLCB7XG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLl9pcGFtLmF0dHJJcGFtSWQsXG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5faXBhbS5hdHRyUHVibGljRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG4gICAgdGhpcy5wcml2YXRlU2NvcGUgPSBuZXcgSXBhbVNjb3BlQmFzZSh0aGlzLCAnRGVmYXVsdFByaXZhdGVTY29wZScsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uYXR0cklwYW1JZCxcbiAgICAgIGlwYW1TY29wZUlkOiB0aGlzLl9pcGFtLmF0dHJQcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNjb3Blcy5wdXNoKHRoaXMucHVibGljU2NvcGUsIHRoaXMucHJpdmF0ZVNjb3BlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhZGQgY3VzdG9tIHNjb3BlIHRvIGFuIGV4aXN0aW5nIElQQU1cbiAgICogQ3VzdG9tIHNjb3BlcyBjYW4gb25seSBiZSBwcml2YXRlXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkU2NvcGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogSXBhbVNjb3BlT3B0aW9ucyk6IElJcGFtU2NvcGVCYXNlIHtcbiAgICBjb25zdCBpcGFtU2NvcGUgPSBuZXcgSXBhbVNjb3BlKHNjb3BlLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGlwYW1JZDogdGhpcy5pcGFtSWQsXG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgIH0pO1xuICAgIHRoaXMuc2NvcGVzLnB1c2goaXBhbVNjb3BlKTtcbiAgICByZXR1cm4gaXBhbVNjb3BlO1xuICB9XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gY3JlYXRlIElwYW1Qb29sIHVuZGVyIHNjb3BlXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSXBhbVBvb2woXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHNjb3BlT3B0aW9uczogSXBhbVNjb3BlUHJvcHMsXG4gIHBvb2xPcHRpb25zOiBQb29sT3B0aW9ucyxcbiAgc2NvcGVJZDogc3RyaW5nLFxuKTogSXBhbVBvb2wge1xuICAvLyBPbmx5IGNoZWNrIGxvY2FsZSBpZiBpdCdzIHByb3ZpZGVkIHNpbmNlIGl0J3MgYW4gb3B0aW9uYWwgZmllbGRcbiAgaWYgKHBvb2xPcHRpb25zLmxvY2FsZSkge1xuICAgIGNvbnN0IGlzTG9jYWxlSW5PcGVyYXRpbmdSZWdpb25zID0gc2NvcGVPcHRpb25zLmlwYW1PcGVyYXRpbmdSZWdpb25zXG4gICAgICA/IHNjb3BlT3B0aW9ucy5pcGFtT3BlcmF0aW5nUmVnaW9ucy5tYXAocmVnaW9uID0+ICh7IHJlZ2lvbk5hbWU6IHJlZ2lvbiB9KSlcbiAgICAgICAgLnNvbWUocmVnaW9uID0+IHJlZ2lvbi5yZWdpb25OYW1lID09PSBwb29sT3B0aW9ucy5sb2NhbGUpXG4gICAgICA6IGZhbHNlO1xuXG4gICAgaWYgKCFpc0xvY2FsZUluT3BlcmF0aW5nUmVnaW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcHJvdmlkZWQgbG9jYWxlICcke3Bvb2xPcHRpb25zLmxvY2FsZX0nIGlzIG5vdCBpbiB0aGUgb3BlcmF0aW5nIHJlZ2lvbnMgKCR7c2NvcGVPcHRpb25zLmlwYW1PcGVyYXRpbmdSZWdpb25zfSkuIGAgK1xuICAgICAgICAnSWYgc3BlY2lmaWVkLCBsb2NhbGUgbXVzdCBiZSBjb25maWd1cmVkIGFzIGFuIG9wZXJhdGluZyByZWdpb24gZm9yIHRoZSBJUEFNLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgSXBhbVBvb2woc2NvcGUsIGlkLCB7XG4gICAgaXBhbVBvb2xOYW1lOiBwb29sT3B0aW9ucy5pcGFtUG9vbE5hbWUsXG4gICAgYWRkcmVzc0ZhbWlseTogcG9vbE9wdGlvbnMuYWRkcmVzc0ZhbWlseSxcbiAgICBpcHY0UHJvdmlzaW9uZWRDaWRyczogcG9vbE9wdGlvbnMuaXB2NFByb3Zpc2lvbmVkQ2lkcnMsXG4gICAgaXBhbVNjb3BlSWQ6IHNjb3BlSWQsXG4gICAgbG9jYWxlOiBwb29sT3B0aW9ucy5sb2NhbGUsXG4gICAgcHVibGljSXBTb3VyY2U6IHBvb2xPcHRpb25zLnB1YmxpY0lwU291cmNlLFxuICAgIGF3c1NlcnZpY2U6IHBvb2xPcHRpb25zLmF3c1NlcnZpY2UsXG4gIH0pO1xufVxuIl19
447
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlwYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQWlFO0FBQ2pFLGlEQUEwRjtBQUMxRiw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBRzFFOzs7OztHQUtHO0FBQ0gsSUFBWSxhQVlYO0FBWkQsV0FBWSxhQUFhO0lBQ3ZCOzs7T0FHRztJQUNILCtCQUFjLENBQUE7SUFFZDs7O09BR0c7SUFDSCwrQkFBYyxDQUFBO0FBQ2hCLENBQUMsRUFaVyxhQUFhLDZCQUFiLGFBQWEsUUFZeEI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxzQkFVWDtBQVZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gseUNBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsMkNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBVWpDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLGNBQWMsOEJBQWQsY0FBYyxRQUt6QjtBQXlCRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQTRERCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUE4SmhDOzs7Ozs7R0FNRztJQUVHLFFBQVE7NEJBRGIsb0NBQWtCOzs7O3NCQUNJLHNCQUFROzs7d0JBQWhCLFNBQVEsV0FBUTs7Ozt5Q0FnRTVCLElBQUEsa0NBQWMsR0FBRTtZQUNqQiwwTEFBTyxhQUFhLDZEQU9uQjtZQXhFSCw2S0F5RUM7Ozs7UUF4RUMsc0NBQXNDO1FBQy9C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QWMsQ0FDckIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFlBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLE9BQWU7SUFFZixrRUFBa0U7SUFDbEUsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsTUFBTSwwQkFBMEIsR0FBRyxZQUFZLENBQUMsb0JBQW9CO1lBQ2xFLENBQUMsQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2lCQUN4RSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDM0QsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLFdBQVcsQ0FBQyxNQUFNLHNDQUFzQyxZQUFZLENBQUMsb0JBQW9CLEtBQUs7Z0JBQ3BJLDhFQUE4RSxDQUFDLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7UUFDN0IsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZO1FBQ3RDLGFBQWEsRUFBRSxXQUFXLENBQUMsYUFBYTtRQUN4QyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsb0JBQW9CO1FBQ3RELFdBQVcsRUFBRSxPQUFPO1FBQ3BCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMxQixjQUFjLEVBQUUsV0FBVyxDQUFDLGNBQWM7UUFDMUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFN0YWNrLCBUYWdzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuSVBBTSwgQ2ZuSVBBTVBvb2wsIENmbklQQU1Qb29sQ2lkciwgQ2ZuSVBBTVNjb3BlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYWRkcmVzcyBmYW1pbHkgZm9yIElQIGFkZHJlc3NlcyBpbiBhbiBJUEFNIHBvb2wuXG4gKiBJUF9WNCAtIFJlcHJlc2VudHMgdGhlIElQdjQgYWRkcmVzcyBmYW1pbHkuXG4gKiBJUF9WNiAtIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWFkZHJlc3NmYW1pbHlcbiAqL1xuZXhwb3J0IGVudW0gQWRkcmVzc0ZhbWlseSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBJUHY0IGFkZHJlc3MgZmFtaWx5LlxuICAgKiBBbGxvd2VkIHVuZGVyIHB1YmxpYyBhbmQgcHJpdmF0ZSBwb29sLlxuICAgKi9cbiAgSVBfVjQgPSAnaXB2NCcsXG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIElQdjYgYWRkcmVzcyBmYW1pbHkuXG4gICAqIE9ubHkgYWxsb3dlZCB1bmRlciBwdWJsaWMgcG9vbC5cbiAgICovXG4gIElQX1Y2ID0gJ2lwdjYnLFxufVxuXG4vKipcbiAqIFRoZSBJUCBhZGRyZXNzIHNvdXJjZSBmb3IgcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIE9ubHkgdXNlZCBmb3IgcHJvdmlzaW9uaW5nIElQIGFkZHJlc3MgQ0lEUnMgdG8gcG9vbHMgaW4gdGhlIHB1YmxpYyBzY29wZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sI2Nmbi1lYzItaXBhbXBvb2wtcHVibGljaXBzb3VyY2VcbiAqL1xuZXhwb3J0IGVudW0gSXBhbVBvb2xQdWJsaWNJcFNvdXJjZSB7XG4gIC8qKlxuICAgKiBCWU9JUCBJcHY2IHRvIGJlIHJlZ2lzdGVyZWQgdW5kZXIgSVBBTVxuICAgKi9cbiAgQllPSVAgPSAnYnlvaXAnLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gUHJvdmlkZWQgSXB2NiByYW5nZVxuICAgKi9cbiAgQU1BWk9OID0gJ2FtYXpvbicsXG59XG5cbi8qKlxuICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW5cbiAqL1xuZXhwb3J0IGVudW0gQXdzU2VydmljZU5hbWUge1xuICAvKipcbiAgICogIEFsbG93cyB1c2VycyB0byB1c2Ugc3BhY2UgZm9yIEVsYXN0aWMgSVAgYWRkcmVzc2VzIGFuZCBWUENzXG4gICAqL1xuICBFQzIgPSAnZWMyJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSBhIG5ldyBJcGFtIGluIHRoZSBhY2NvdW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbVByb3BzIHtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGluZyBSZWdpb25zIGZvciBhbiBJUEFNLlxuICAgKiBPcGVyYXRpbmcgUmVnaW9ucyBhcmUgQVdTIFJlZ2lvbnMgd2hlcmUgdGhlIElQQU0gaXMgYWxsb3dlZCB0byBtYW5hZ2UgSVAgYWRkcmVzcyBDSURSc1xuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBvcGVyYXRpbmcgUmVnaW9ucywgc2VlIFtDcmVhdGUgYW4gSVBBTV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tLy92cGMvbGF0ZXN0L2lwYW0vY3JlYXRlLWlwYW0uaHRtbCkgaW4gdGhlICpBbWF6b24gVlBDIElQQU0gVXNlciBHdWlkZSogLlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtLmh0bWwjY2ZuLWVjMi1pcGFtLW9wZXJhdGluZ3JlZ2lvbnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBTdGFjay5yZWdpb24gaWYgZGVmaW5lZCBpbiB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGluZ1JlZ2lvbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTmFtZSBvZiBJUEFNIHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRhZ2dpbmcgcmVzb3VyY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiBubyBuYW1lIHByb3ZpZGVkLCBubyB0YWdzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIElQQU1cbiAgICovXG4gIHJlYWRvbmx5IGlwYW1OYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlZmVycyB0byB0d28gcG9zc2libGUgc2NvcGUgdHlwZXMgdW5kZXIgSVBBTVxuICovXG5leHBvcnQgZW51bSBJcGFtU2NvcGVUeXBlIHtcbiAgLyoqXG4gICAqIERlZmF1bHQgc2NvcGVzIGNyZWF0ZWQgYnkgSVBBTVxuICAgKi9cbiAgREVGQVVMVCA9ICdkZWZhdWx0JyxcblxuICAvKipcbiAgICogQ3VzdG9tIHNjb3BlIGNyZWF0ZWQgdXNpbmcgbWV0aG9kXG4gICAqL1xuICBDVVNUT00gPSAnY3VzdG9tJyxcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBJUEFNIHBvb2wuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb29sT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIGFkZHJlc3NGYW1pbHkgLSBUaGUgYWRkcmVzcyBmYW1pbHkgb2YgdGhlIHBvb2wgKGlwdjQgb3IgaXB2NikuXG4gICAqL1xuICByZWFkb25seSBhZGRyZXNzRmFtaWx5OiBBZGRyZXNzRmFtaWx5O1xuXG4gIC8qKlxuICAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0lEUnMgcHJvdmlzaW9uZWQgdG8gdGhlIHBvb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ0lEUnMgYXJlIHByb3Zpc2lvbmVkXG4gICAqL1xuICByZWFkb25seSBpcHY0UHJvdmlzaW9uZWRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYWxlIChBV1MgUmVnaW9uKSBvZiB0aGUgcG9vbC4gU2hvdWxkIGJlIG9uZSBvZiB0aGUgSVBBTSBvcGVyYXRpbmcgcmVnaW9uLlxuICAgKiAgT25seSByZXNvdXJjZXMgaW4gdGhlIHNhbWUgUmVnaW9uIGFzIHRoZSBsb2NhbGUgb2YgdGhlIHBvb2wgY2FuIGdldCBJUCBhZGRyZXNzIGFsbG9jYXRpb25zIGZyb20gdGhlIHBvb2wuXG4gICAqIFlvdSBjYW4gb25seSBhbGxvY2F0ZSBhIENJRFIgZm9yIGEgVlBDLCBmb3IgZXhhbXBsZSwgZnJvbSBhbiBJUEFNIHBvb2wgdGhhdCBzaGFyZXMgYSBsb2NhbGUgd2l0aCB0aGUgVlBD4oCZcyBSZWdpb24uXG4gICAqIE5vdGUgdGhhdCBvbmNlIHlvdSBjaG9vc2UgYSBMb2NhbGUgZm9yIGEgcG9vbCwgeW91IGNhbm5vdCBtb2RpZnkgaXQuIElmIHlvdSBjaG9vc2UgYW4gQVdTIFJlZ2lvbiBmb3IgbG9jYWxlIHRoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgYXMgYW4gb3BlcmF0aW5nIFJlZ2lvbiBmb3IgdGhlIElQQU0sIHlvdSdsbCBnZXQgYW4gZXJyb3IuXG4gICAqIEBzZWUgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1wb29sLmh0bWwjY2ZuLWVjMi1pcGFtcG9vbC1sb2NhbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDdXJyZW50IG9wZXJhdGluZyByZWdpb24gb2YgSVBBTVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSVAgYWRkcmVzcyBzb3VyY2UgZm9yIHBvb2xzIGluIHRoZSBwdWJsaWMgc2NvcGUuXG4gICAqIE9ubHkgdXNlZCBmb3IgSVB2NiBhZGRyZXNzXG4gICAqIE9ubHkgYWxsb3dlZCB2YWx1ZXMgdG8gdGhpcyBhcmUgJ2J5b2lwJyBvciAnYW1hem9uJ1xuICAgKlxuICAgKiBAZGVmYXVsdCBhbWF6b25cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0lwU291cmNlPzogSXBhbVBvb2xQdWJsaWNJcFNvdXJjZTtcblxuICAvKipcbiAgICogTGltaXRzIHdoaWNoIHNlcnZpY2UgaW4gQVdTIHRoYXQgdGhlIHBvb2wgY2FuIGJlIHVzZWQgaW4uXG4gICAqXG4gICAqIFwiZWMyXCIsIGZvciBleGFtcGxlLCBhbGxvd3MgdXNlcnMgdG8gdXNlIHNwYWNlIGZvciBFbGFzdGljIElQIGFkZHJlc3NlcyBhbmQgVlBDcy5cbiAgICpcbiAgICogQHNlZSBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbCNjZm4tZWMyLWlwYW1wb29sLWF3c3NlcnZpY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSByZXF1aXJlZCBpbiBjYXNlIG9mIGFuIElQdjYsIHRocm93cyBhbiBlcnJvciBpZiBub3QgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhd3NTZXJ2aWNlPzogQXdzU2VydmljZU5hbWU7XG5cbiAgLyoqXG4gICAqIElQQU0gUG9vbCByZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZm9yIHRhZ2dpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhdXRvZ2VuZXJhdGVkIGJ5IENESyBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sTmFtZT86IHN0cmluZztcbn1cblxuY29uc3QgTkFNRV9UQUc6IHN0cmluZyA9ICdOYW1lJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBJUEFNIHBvb2wuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXBvb2wuaHRtbFxuICovXG5pbnRlcmZhY2UgSXBhbVBvb2xQcm9wcyBleHRlbmRzIFBvb2xPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNjb3BlIGlkIHdoZXJlIHBvb2wgbmVlZHMgdG8gYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIHByb3Zpc2lvbiBDSURScyB0byBhbiBJUEFNIHBvb2wuXG4gKiBVc2VkIHRvIGNyZWF0ZSBhIG5ldyBJcGFtUG9vbENpZHJcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbGNpZHIuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qb29sQ2lkclByb3Zpc2lvbmluZ09wdGlvbnMge1xuICAvKipcbiAgICogSXB2NiBOZXRtYXNrIGxlbmd0aCBmb3IgdGhlIENJRFJcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwb29sIHByb3Zpc2lvbmVkIHdpdGhvdXQgbmV0bWFzayBsZW5ndGgsIG5lZWQgY2lkciByYW5nZSBpbiB0aGlzIGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IG5ldG1hc2tMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElwdjYgQ0lEUiBibG9jayBmb3IgdGhlIElQQU0gcG9vbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHBvb2wgcHJvdmlzaW9uZWQgd2l0aG91dCBuZXRtYXNrIGxlbmd0aCwgbmVlZCBuZXRtYXNrIGxlbmd0aCBpbiB0aGlzIGNhc2VcbiAgICovXG4gIHJlYWRvbmx5IGNpZHI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVmaW5pdGlvbiB1c2VkIHRvIGFkZCBvciBjcmVhdGUgYSBuZXcgSVBBTSBwb29sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1Qb29sIHtcbiAgLyoqXG4gICAqIFBvb2wgSUQgdG8gYmUgcGFzc2VkIHRvIHRoZSBWUEMgY29uc3RydWN0XG4gICAqIEBhdHRyaWJ1dGUgSXBhbVBvb2xJZFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVBvb2xJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjYgdG8gYmUgcHJvdmlzaW9uZWQgd2l0aCBQdWJsaWMgSVAgc291cmNlIHNldCB0byAnQW1hem9uJ1xuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXTtcblxuICAvKipcbiAgICogUG9vbCBDSURSIGZvciBJUHY0IHRvIGJlIHByb3Zpc2lvbmVkIHVzaW5nIElQQU1cbiAgICogUmVxdWlyZWQgdG8gY2hlY2sgZm9yIHN1Ym5ldCBJUCByYW5nZSBpcyB3aXRoaW4gdGhlIFZQQyByYW5nZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbUlwdjRDaWRycz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhc3NvY2lhdGUgYSBJUHY2IGFkZHJlc3Mgd2l0aCBJUEFNIHBvb2xcbiAgICovXG4gIHByb3Zpc2lvbkNpZHIoaWQ6IHN0cmluZywgb3B0aW9uczogSXBhbVBvb2xDaWRyUHJvdmlzaW9uaW5nT3B0aW9ucyk6IENmbklQQU1Qb29sQ2lkcjtcblxufVxuXG4vKipcbiAqIElQQU0gc2NvcGUgaXMgdGhlIGhpZ2hlc3QtbGV2ZWwgY29udGFpbmVyIHdpdGhpbiBJUEFNLiBBbiBJUEFNIGNvbnRhaW5zIHR3byBkZWZhdWx0IHNjb3Blcy5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICovXG5pbnRlcmZhY2UgSXBhbVNjb3BlUHJvcHMgZXh0ZW5kcyBJcGFtU2NvcGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIElQQU0gaWQgdG8gd2hpY2ggc2NvcGUgbmVlZHMgdG8gYmUgYWRkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcGVyYXRpbmcgcmVnaW9ucyBmb3IgdGhlIElwYW1cbiAgICogUmVxdWlyZWQgaW4gb3JkZXIgdG8gdmFsaWRhdGUgdGhlIGxvY2FsZSBiZWluZyBzZXQgb24gcG9vbFxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbU9wZXJhdGluZ1JlZ2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gaXBhbSBzY29wZSBpZCB0byBhZGQgYSBwb29sIGluIG9yZGVyIHRvIHN1cHBvcnQgZGVmYXVsdCBzY29wZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aHJvd3MgYW4gZXJyb3IgaWYgbm8gc2NvcGUgaWQgaXMgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1TY29wZUlkPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQmVpbmcgdXNlZCBpbiBJUEFNIGNsYXNzIHRvIGFkZCBwb29scyB0byBkZWZhdWx0IHNjb3BlIGNyZWF0ZWQgYnkgSVBBTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcGFtU2NvcGVPcHRpb25zIHtcblxuICAvKipcbiAgICogSVBBTSBzY29wZSBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIGZvciB0YWdnaW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gdGFncyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzY29wZVxuICAgKi9cbiAgcmVhZG9ubHkgaXBhbVNjb3BlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBJUCBBZGRyZXNzIE1hbmFnZXIgKElQQU0pLlxuICpcbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIHtAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW0uaHRtbH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXBhbU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBDSURSIE1hc2sgZm9yIFZwY1xuICAgKiBPbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgQVdTIElwYW1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuZXRtYXNrIGxlbmd0aCBmb3IgSVBBTSBhdHRhY2hlZCB0byBWUEMgc2Vjb25kYXJ5IGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IG5ldG1hc2tMZW5ndGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIElwdjQgb3IgYW4gSXB2NiBJUEFNIHBvb2xcbiAgICogT25seSByZXF1aXJlZCB3aGVuIHVzaW5nIEFXUyBJcGFtXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcG9vbCBhdHRhY2hlZCB0byBWUEMgc2Vjb25kYXJ5IGFkZHJlc3NcbiAgICovXG4gIHJlYWRvbmx5IGlwYW1Qb29sPzogSUlwYW1Qb29sO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlZCB0byBzZXQgU2Vjb25kYXJ5IGNpZHIgYmxvY2sgcmVzb3VyY2UgbmFtZVxuICAgKiBpbiBvcmRlciB0byBnZW5lcmF0ZSB1bmlxdWUgbG9naWNhbCBpZCBmb3IgdGhlIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2lkckJsb2NrTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgSXBhbVNjb3BlIENsYXNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlwYW1TY29wZUJhc2Uge1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgc2NvcGUgb2Ygc3RhY2sgdG8gYmUgcGFzc2VkIGluIG9yZGVyIHRvIGNyZWF0ZVxuICAgKiBhIG5ldyBJUEFNIHBvb2xcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgU2NvcGUgaWRzIGNyZWF0ZWQgYnkgdGhlIElQQU0gb3IgYSBuZXcgUmVzb3VyY2UgaWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBzY29wZSB0eXBlIGNhbiBiZSBlaXRoZXIgZGVmYXVsdCBvciBjdXN0b21cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGU7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBwb29sIHRvIGFuIElQQU0gc2NvcGVcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2w7XG5cbn1cblxuLyoqXG4gKiBDcmVhdGVzIG5ldyBJUEFNIFBvb2xcbiAqIFBvb2xzIGVuYWJsZSB5b3UgdG8gb3JnYW5pemUgeW91ciBJUCBhZGRyZXNzZXMgYWNjb3JkaW5nIHRvIHlvdXIgcm91dGluZyBhbmQgc2VjdXJpdHkgbmVlZHNcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtcG9vbC5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1Qb29sXG4gKiBAaW50ZXJuYWxcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJcGFtUG9vbCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtUG9vbCc7XG4gIC8qKlxuICAgKiBQb29sIElEIHRvIGJlIHBhc3NlZCB0byB0aGUgVlBDIGNvbnN0cnVjdFxuICAgKiBAYXR0cmlidXRlIElwYW1Qb29sSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtUG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBvb2wgQ0lEUiBmb3IgSVB2NiB0byBiZSBwcm92aXNpb25lZCB3aXRoIFB1YmxpYyBJUCBzb3VyY2Ugc2V0IHRvICdBbWF6b24nXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUNpZHJzOiBDZm5JUEFNUG9vbENpZHJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb29sIENJRFIgZm9yIElQdjQgdG8gYmUgcHJvdmlzaW9uZWQgdXNpbmcgSVBBTVxuICAgKiBSZXF1aXJlZCB0byBjaGVjayBmb3Igc3VibmV0IElQIHJhbmdlIGlzIHdpdGhpbiB0aGUgVlBDIHJhbmdlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaXBhbUlwdjRDaWRyczogc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogUmVmZXJlbmNlIHRvIGlwYW1Qb29sIHJlc291cmNlIGNyZWF0ZWQgaW4gdGhpcyBjbGFzc1xuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVBvb2w6IENmbklQQU1Qb29sO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmlwYW1Qb29sTmFtZSA/PyBMYXp5LnN0cmluZyh7XG4gICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4LCBhbGxvd2VkU3BlY2lhbENoYXJhY3RlcnM6ICdfJyB9KSxcbiAgICAgIH0pLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmFkZHJlc3NGYW1pbHkgPT09IEFkZHJlc3NGYW1pbHkuSVBfVjYgJiYgIXByb3BzLmF3c1NlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXdzU2VydmljZSBpcyByZXF1aXJlZCB3aGVuIGFkZHJlc3NGYW1pbHkgaXMgc2V0IHRvIGlwdjYnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGFncyB0byB0aGUgSVBBTSBQb29sIGlmIG5hbWUgaXMgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMuaXBhbVBvb2xOYW1lKSB7XG4gICAgICBUYWdzLm9mKHRoaXMpLmFkZChOQU1FX1RBRywgcHJvcHMuaXBhbVBvb2xOYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pcGFtUG9vbCA9IG5ldyBDZm5JUEFNUG9vbCh0aGlzLCBpZCwge1xuICAgICAgYWRkcmVzc0ZhbWlseTogcHJvcHMuYWRkcmVzc0ZhbWlseSxcbiAgICAgIHByb3Zpc2lvbmVkQ2lkcnM6IHByb3BzLmlwdjRQcm92aXNpb25lZENpZHJzPy5tYXAoY2lkciA9PiAoeyBjaWRyIH0pKSxcbiAgICAgIGxvY2FsZTogcHJvcHMubG9jYWxlLFxuICAgICAgaXBhbVNjb3BlSWQ6IHByb3BzLmlwYW1TY29wZUlkLFxuICAgICAgcHVibGljSXBTb3VyY2U6IHByb3BzLnB1YmxpY0lwU291cmNlLFxuICAgICAgYXdzU2VydmljZTogcHJvcHMuYXdzU2VydmljZSxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1Qb29sSWQgPSB0aGlzLl9pcGFtUG9vbC5hdHRySXBhbVBvb2xJZDtcblxuICAgIC8vIFBvcHVsYXRpbmcgdG8gY2hlY2sgZm9yIHN1Ym5ldCByYW5nZSBhZ2FpbnN0IGFsbCBJUHY0IHJhbmdlcyBhc3NpZ25lZCB0byBWUEMgaW5jbHVkaW5nIElQQU1cbiAgICBwcm9wcy5pcHY0UHJvdmlzaW9uZWRDaWRycz8ubWFwKGNpZHIgPT4gKHRoaXMuaXBhbUlwdjRDaWRycy5wdXNoKGNpZHIpKSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX2lwYW1Qb29sO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgQ0lEUiBwcm92aXNpb25lZCB0byBhbiBJUEFNIHBvb2wuXG4gICAqIEBwYXJhbSBpZCBOYW1lIG9mIFJlc291cmNlXG4gICAqIEBwYXJhbSBvcHRpb25zIEVpdGhlciBhIENJRFIgb3IgbmV0bWFzayBsZW5ndGggbXVzdCBiZSBwcm92aWRlZFxuICAgKiBAcmV0dXJucyBBV1M6OkVDMjo6SVBBTVBvb2xDaWRyXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgcHJvdmlzaW9uQ2lkcihpZDogc3RyaW5nLCBvcHRpb25zOiBJcGFtUG9vbENpZHJQcm92aXNpb25pbmdPcHRpb25zKTogQ2ZuSVBBTVBvb2xDaWRyIHtcbiAgICBjb25zdCBjaWRyID0gbmV3IENmbklQQU1Qb29sQ2lkcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGlwYW1Qb29sSWQ6IHRoaXMuaXBhbVBvb2xJZCxcbiAgICB9KTtcbiAgICB0aGlzLmlwYW1DaWRycy5wdXNoKGNpZHIpO1xuICAgIHJldHVybiBjaWRyO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBjdXN0b20gSXBhbSBTY29wZSwgY3VzdG9tIElQQU0gc2NvcGVzIGNhbiBvbmx5IGJlIHByaXZhdGVcbiAqIChjYW4gYmUgdXNlZCBmb3IgYWRkaW5nIGN1c3RvbSBzY29wZXMgdG8gYW4gZXhpc3RpbmcgSVBBTSlcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICogQHJlc291cmNlIEFXUzo6RUMyOjpJUEFNU2NvcGVcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuY2xhc3MgSXBhbVNjb3BlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtU2NvcGUnO1xuICAvKipcbiAgICogU3RvcmVzIHRoZSByZWZlcmVuY2UgdG8gbmV3bHkgY3JlYXRlZCBSZXNvdXJjZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfaXBhbVNjb3BlOiBDZm5JUEFNU2NvcGU7XG5cbiAgLyoqXG4gICAqIElEIGZvciBSZXNvdXJjZSBJcGFtU2NvcGVcbiAgICogQGF0dHJpYnV0ZSBJcGFtU2NvcGVJZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUHJvcGVydGllcyB0byBjb25maWd1cmUgaXBhbSBzY29wZVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSXBhbVNjb3BlUHJvcHM7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byBzdGFjayBzY29wZSB0byBiZSBwYXNzZWQgdGhyb3VnaCBhZGRQb29sIG1ldGhvZCBpbm9yZGVyIHRvIGNyZWF0ZSBhIG5ldyBJcGFtUG9vbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgc2NvcGUgdHlwZSBjYW4gYmUgZWl0aGVyIGRlZmF1bHQgb3IgY3VzdG9tXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVUeXBlOiBJcGFtU2NvcGVUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtU2NvcGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgdGhpcy5faXBhbVNjb3BlID0gbmV3IENmbklQQU1TY29wZShzY29wZSwgJ0lwYW1TY29wZScsIHtcbiAgICAgIGlwYW1JZDogcHJvcHMuaXBhbUlkLFxuICAgIH0pO1xuICAgIFRhZ3Mub2YodGhpcy5faXBhbVNjb3BlKS5hZGQoTkFNRV9UQUcsIHByb3BzLmlwYW1TY29wZU5hbWUgPz8gJ0N1c3RvbUlwYW1TY29wZScpO1xuICAgIHRoaXMuc2NvcGVJZCA9IHRoaXMuX2lwYW1TY29wZS5hdHRySXBhbVNjb3BlSWQ7XG4gICAgdGhpcy5zY29wZVR5cGUgPSBJcGFtU2NvcGVUeXBlLkNVU1RPTTtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIElQQU0gZGVmYXVsdCBzY29wZXMuXG4gKi9cbmNsYXNzIElwYW1TY29wZUJhc2UgaW1wbGVtZW50cyBJSXBhbVNjb3BlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgcmVhZG9ubHkgc2NvcGVJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IElwYW1TY29wZVByb3BzLFxuICAgIHJlYWRvbmx5IHNjb3BlVHlwZT86IElwYW1TY29wZVR5cGUsXG4gICkge1xuICAgIHRoaXMuc2NvcGVUeXBlID0gSXBhbVNjb3BlVHlwZS5ERUZBVUxUO1xuICAgIGlmICghcHJvcHMuaXBhbVNjb3BlSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaXBhbVNjb3BlSWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zY29wZUlkID0gcHJvcHMuaXBhbVNjb3BlSWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwb29sIHRvIHRoZSBJUEFNIHNjb3BlLlxuICAgKiBAZXh0ZXJuYWxcbiAgICovXG4gIGFkZFBvb2woaWQ6IHN0cmluZywgb3B0aW9uczogUG9vbE9wdGlvbnMpOiBJSXBhbVBvb2wge1xuICAgIHJldHVybiBjcmVhdGVJcGFtUG9vbCh0aGlzLnNjb3BlLCBpZCwgdGhpcy5wcm9wcywgb3B0aW9ucywgdGhpcy5zY29wZUlkKTtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgbmV3IElQQU0gd2l0aCBkZWZhdWx0IHB1YmxpYyBhbmQgcHJpdmF0ZSBzY29wZVxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWlwYW1zY29wZS5odG1sXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OklQQU1cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIElwYW0gZXh0ZW5kcyBSZXNvdXJjZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5JcGFtJztcbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byBkZWZhdWx0IHB1YmxpYyBJUEFNIHNjb3BlIHRocm91Z2ggYWRkIHBvb2wgbWV0aG9kLlxuICAgKiBVc2FnZTogVG8gYWRkIGFuIElwYW0gUG9vbCB0byBhIGRlZmF1bHQgcHVibGljIHNjb3BlXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pcGFtc2NvcGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHB1YmxpY1Njb3BlOiBJSXBhbVNjb3BlQmFzZTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgYWNjZXNzIHRvIGRlZmF1bHQgcHJpdmF0ZSBJUEFNIHNjb3BlIHRocm91Z2ggYWRkIHBvb2wgbWV0aG9kLlxuICAgKiBVc2FnZTogVG8gYWRkIGFuIElwYW0gUG9vbCB0byBhIGRlZmF1bHQgcHJpdmF0ZSBzY29wZVxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1lYzItaXBhbXNjb3BlLmh0bWxcbiAgICogKi9cbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGVTY29wZTogSUlwYW1TY29wZUJhc2U7XG5cbiAgLy8gUmVzb3VyY2UgSVBBTVxuICBwcml2YXRlIHJlYWRvbmx5IF9pcGFtOiBDZm5JUEFNO1xuICAvKipcbiAgICogQWNjZXNzIHRvIElwYW0gcmVzb3VyY2UgaWQgdGhhdCBjYW4gYmUgdXNlZCBsYXRlciB0byBhZGQgYSBjdXN0b20gcHJpdmF0ZSBzY29wZSB0byB0aGlzIElQQU1cbiAgICogQGF0dHJpYnV0ZSBJcGFtSWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBvcGVyYXRpbmcgcmVnaW9ucyBmb3IgSVBBTVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9wZXJhdGluZ1JlZ2lvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNjb3BlcyBjcmVhdGVkIHVuZGVyIHRoaXMgSVBBTVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3BlczogSUlwYW1TY29wZUJhc2VbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJUEFNIG5hbWUgdG8gYmUgdXNlZCBmb3IgdGFnZ2luZ1xuICAgKiBAZGVmYXVsdCBubyB0YWcgc3BlY2lmaWVkXG4gICAqIEBhdHRyaWJ1dGUgSXBhbU5hbWVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpcGFtTmFtZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElwYW1Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG4gICAgaWYgKHByb3BzPy5pcGFtTmFtZSkge1xuICAgICAgVGFncy5vZih0aGlzKS5hZGQoTkFNRV9UQUcsIHByb3BzLmlwYW1OYW1lKTtcbiAgICB9XG4gICAgaWYgKHByb3BzPy5vcGVyYXRpbmdSZWdpb25zICYmIChwcm9wcy5vcGVyYXRpbmdSZWdpb25zLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYXQgbGVhc3Qgb25lIG9wZXJhdGluZyByZWdpb24nKTtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMgPSBwcm9wcz8ub3BlcmF0aW5nUmVnaW9ucyA/PyBbU3RhY2sub2YodGhpcykucmVnaW9uXTtcbiAgICB0aGlzLmlwYW1OYW1lID0gcHJvcHM/LmlwYW1OYW1lO1xuXG4gICAgdGhpcy5faXBhbSA9IG5ldyBDZm5JUEFNKHRoaXMsICdJcGFtJywge1xuICAgICAgb3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zID8gdGhpcy5vcGVyYXRpbmdSZWdpb25zLm1hcChyZWdpb24gPT4gKHsgcmVnaW9uTmFtZTogcmVnaW9uIH0pKSA6IFtdLFxuICAgIH0pO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLl9pcGFtO1xuXG4gICAgdGhpcy5pcGFtSWQgPSB0aGlzLl9pcGFtLmF0dHJJcGFtSWQ7XG4gICAgdGhpcy5wdWJsaWNTY29wZSA9IG5ldyBJcGFtU2NvcGVCYXNlKHRoaXMsICdEZWZhdWx0UHVibGljU2NvcGUnLCB7XG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgICAgaXBhbUlkOiB0aGlzLl9pcGFtLmF0dHJJcGFtSWQsXG4gICAgICBpcGFtU2NvcGVJZDogdGhpcy5faXBhbS5hdHRyUHVibGljRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG4gICAgdGhpcy5wcml2YXRlU2NvcGUgPSBuZXcgSXBhbVNjb3BlQmFzZSh0aGlzLCAnRGVmYXVsdFByaXZhdGVTY29wZScsIHtcbiAgICAgIGlwYW1PcGVyYXRpbmdSZWdpb25zOiB0aGlzLm9wZXJhdGluZ1JlZ2lvbnMsXG4gICAgICBpcGFtSWQ6IHRoaXMuX2lwYW0uYXR0cklwYW1JZCxcbiAgICAgIGlwYW1TY29wZUlkOiB0aGlzLl9pcGFtLmF0dHJQcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNjb3Blcy5wdXNoKHRoaXMucHVibGljU2NvcGUsIHRoaXMucHJpdmF0ZVNjb3BlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byBhZGQgY3VzdG9tIHNjb3BlIHRvIGFuIGV4aXN0aW5nIElQQU1cbiAgICogQ3VzdG9tIHNjb3BlcyBjYW4gb25seSBiZSBwcml2YXRlXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkU2NvcGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogSXBhbVNjb3BlT3B0aW9ucyk6IElJcGFtU2NvcGVCYXNlIHtcbiAgICBjb25zdCBpcGFtU2NvcGUgPSBuZXcgSXBhbVNjb3BlKHNjb3BlLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGlwYW1JZDogdGhpcy5pcGFtSWQsXG4gICAgICBpcGFtT3BlcmF0aW5nUmVnaW9uczogdGhpcy5vcGVyYXRpbmdSZWdpb25zLFxuICAgIH0pO1xuICAgIHRoaXMuc2NvcGVzLnB1c2goaXBhbVNjb3BlKTtcbiAgICByZXR1cm4gaXBhbVNjb3BlO1xuICB9XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gY3JlYXRlIElwYW1Qb29sIHVuZGVyIHNjb3BlXG4gKiBAaW50ZXJuYWxcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSXBhbVBvb2woXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHNjb3BlT3B0aW9uczogSXBhbVNjb3BlUHJvcHMsXG4gIHBvb2xPcHRpb25zOiBQb29sT3B0aW9ucyxcbiAgc2NvcGVJZDogc3RyaW5nLFxuKTogSXBhbVBvb2wge1xuICAvLyBPbmx5IGNoZWNrIGxvY2FsZSBpZiBpdCdzIHByb3ZpZGVkIHNpbmNlIGl0J3MgYW4gb3B0aW9uYWwgZmllbGRcbiAgaWYgKHBvb2xPcHRpb25zLmxvY2FsZSkge1xuICAgIGNvbnN0IGlzTG9jYWxlSW5PcGVyYXRpbmdSZWdpb25zID0gc2NvcGVPcHRpb25zLmlwYW1PcGVyYXRpbmdSZWdpb25zXG4gICAgICA/IHNjb3BlT3B0aW9ucy5pcGFtT3BlcmF0aW5nUmVnaW9ucy5tYXAocmVnaW9uID0+ICh7IHJlZ2lvbk5hbWU6IHJlZ2lvbiB9KSlcbiAgICAgICAgLnNvbWUocmVnaW9uID0+IHJlZ2lvbi5yZWdpb25OYW1lID09PSBwb29sT3B0aW9ucy5sb2NhbGUpXG4gICAgICA6IGZhbHNlO1xuXG4gICAgaWYgKCFpc0xvY2FsZUluT3BlcmF0aW5nUmVnaW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgcHJvdmlkZWQgbG9jYWxlICcke3Bvb2xPcHRpb25zLmxvY2FsZX0nIGlzIG5vdCBpbiB0aGUgb3BlcmF0aW5nIHJlZ2lvbnMgKCR7c2NvcGVPcHRpb25zLmlwYW1PcGVyYXRpbmdSZWdpb25zfSkuIGAgK1xuICAgICAgICAnSWYgc3BlY2lmaWVkLCBsb2NhbGUgbXVzdCBiZSBjb25maWd1cmVkIGFzIGFuIG9wZXJhdGluZyByZWdpb24gZm9yIHRoZSBJUEFNLicpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgSXBhbVBvb2woc2NvcGUsIGlkLCB7XG4gICAgaXBhbVBvb2xOYW1lOiBwb29sT3B0aW9ucy5pcGFtUG9vbE5hbWUsXG4gICAgYWRkcmVzc0ZhbWlseTogcG9vbE9wdGlvbnMuYWRkcmVzc0ZhbWlseSxcbiAgICBpcHY0UHJvdmlzaW9uZWRDaWRyczogcG9vbE9wdGlvbnMuaXB2NFByb3Zpc2lvbmVkQ2lkcnMsXG4gICAgaXBhbVNjb3BlSWQ6IHNjb3BlSWQsXG4gICAgbG9jYWxlOiBwb29sT3B0aW9ucy5sb2NhbGUsXG4gICAgcHVibGljSXBTb3VyY2U6IHBvb2xPcHRpb25zLnB1YmxpY0lwU291cmNlLFxuICAgIGF3c1NlcnZpY2U6IHBvb2xPcHRpb25zLmF3c1NlcnZpY2UsXG4gIH0pO1xufVxuIl19
package/lib/route.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { CfnEIP, CfnEgressOnlyInternetGateway, CfnInternetGateway, CfnNatGateway, CfnVPCPeeringConnection, CfnRoute, CfnRouteTable, CfnVPNGateway, IRouteTable, IVpcEndpoint, RouterType } from 'aws-cdk-lib/aws-ec2';
2
- import { Construct, IDependable } from 'constructs';
3
2
  import { Duration, IResource, Resource } from 'aws-cdk-lib/core';
4
- import { IVpcV2, VPNGatewayV2Options } from './vpc-v2-base';
3
+ import { Construct, IDependable } from 'constructs';
5
4
  import { ISubnetV2 } from './subnet-v2';
5
+ import { IVpcV2, VPNGatewayV2Options } from './vpc-v2-base';
6
6
  /**
7
7
  * Indicates whether the NAT gateway supports public or private connectivity.
8
8
  * The default is public connectivity.