@aws-cdk/aws-ec2-alpha 2.194.0-alpha.0 → 2.196.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.
@@ -103,6 +103,8 @@ export interface AttachVpcOptions extends BaseTransitGatewayVpcAttachmentProps {
103
103
  * @resource AWS::EC2::TransitGatewayAttachment
104
104
  */
105
105
  export declare class TransitGatewayVpcAttachment extends TransitGatewayAttachmentBase implements ITransitGatewayVpcAttachment {
106
+ /** Uniquely identifies this class. */
107
+ static readonly PROPERTY_INJECTION_ID: string;
106
108
  readonly transitGatewayAttachmentId: string;
107
109
  private readonly subnets;
108
110
  /**
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var _a;
3
9
  Object.defineProperty(exports, "__esModule", { value: true });
4
10
  exports.TransitGatewayVpcAttachment = void 0;
@@ -11,12 +17,13 @@ const transit_gateway_attachment_1 = require("./transit-gateway-attachment");
11
17
  const util_1 = require("./util");
12
18
  const aws_cdk_lib_1 = require("aws-cdk-lib");
13
19
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
20
+ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
14
21
  /**
15
22
  * Creates a Transit Gateway VPC Attachment.
16
23
  *
17
24
  * @resource AWS::EC2::TransitGatewayAttachment
18
25
  */
19
- class TransitGatewayVpcAttachment extends transit_gateway_attachment_1.TransitGatewayAttachmentBase {
26
+ let TransitGatewayVpcAttachment = class TransitGatewayVpcAttachment extends transit_gateway_attachment_1.TransitGatewayAttachmentBase {
20
27
  constructor(scope, id, props) {
21
28
  super(scope, id);
22
29
  this.subnets = [];
@@ -89,8 +96,13 @@ class TransitGatewayVpcAttachment extends transit_gateway_attachment_1.TransitGa
89
96
  }
90
97
  this._resource.subnetIds = this.subnets.map(subnet => subnet.subnetId);
91
98
  }
92
- }
99
+ };
93
100
  exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment;
94
101
  _a = JSII_RTTI_SYMBOL_1;
95
- TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.194.0-alpha.0" };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLGlEQUFpRjtBQUVqRix1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLDZFQUF1RztBQUN2RyxpQ0FBMEM7QUFFMUMsNkNBQTBDO0FBQzFDLDhFQUE4RTtBQTZHOUU7Ozs7R0FJRztBQUNILE1BQWEsMkJBQTRCLFNBQVEseURBQTRCO0lBUzNFLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVJGLFlBQU8sR0FBYyxFQUFFLENBQUM7Ozs7OzsrQ0FGOUIsMkJBQTJCOzs7O1FBV3BDLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUkscUNBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN6RCxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDekQsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0I7WUFDdkQsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSztZQUN0QixPQUFPLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDcEMsb0JBQW9CLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7Z0JBQ3hGLFVBQVUsRUFBRSxJQUFBLHVCQUFnQixFQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7Z0JBQ3BF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QWtCLE1BQU0sQ0FBQyxRQUFRLHFDQUFxQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO1lBQzVILENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3hFOztBQTlFSCxrRUErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXkgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheSc7XG5pbXBvcnQgeyBDZm5UcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsIElTdWJuZXQsIElWcGMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24gfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQsIFRyYW5zaXRHYXRld2F5QXR0YWNobWVudEJhc2UgfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1hdHRhY2htZW50JztcbmltcG9ydCB7IGdldEZlYXR1cmVTdGF0dXMgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlJztcbmltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGFwcGxpYW5jZSBtb2RlIHN1cHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBhcHBsaWFuY2VNb2RlU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgZG5zU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIElQdjYgc3VwcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlcyB5b3UgdG8gcmVmZXJlbmNlIGEgc2VjdXJpdHkgZ3JvdXAgYWNyb3NzIFZQQ3MgYXR0YWNoZWQgdG8gYSB0cmFuc2l0IGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgc3VibmV0cyBmcm9tIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmludGVyZmFjZSBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIHN1Ym5ldHMgdG8gcGxhY2UgdGhlIGF0dGFjaG1lbnQgaW4uXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNwZWNpZnkgbW9yZSBzdWJuZXRzIGZvciBiZXR0ZXIgYXZhaWxhYmlsaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBBIFZQQyBhdHRhY2htZW50KHMpIHdpbGwgZ2V0IGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGF0dGFjaG1lbnQgb3B0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3B0aW9ucyBhcmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNBdHRhY2htZW50T3B0aW9ucz86IElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSB0aGlzIGF0dGFjaG1lbnQgZ2V0cyBhc3NpZ25lZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gQXR0YWNobWVudCB2aWEgdGhlIGF0dGFjaFZwYygpIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hWcGNPcHRpb25zIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFByb3BzIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHJvdXRlIHRhYmxlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgVlBDIGF0dGFjaG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYXNzb2NpYXRpb25zIHdpbGwgYmUgY3JlYXRlZCB1bmxlc3MgaXQgaXMgZm9yIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCBhdXRvbWF0aWMgYXNzb2NpYXRpb24gaXMgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc29jaWF0aW9uUm91dGVUYWJsZT86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcHRpb25hbCByb3V0ZSB0YWJsZXMgdG8gcHJvcGFnYXRlIHJvdXRlcyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcm9wYWdhdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHVubGVzcyBpdCBpcyBmb3IgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGFnYXRpb25Sb3V0ZVRhYmxlcz86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlBdHRhY2htZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRCYXNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCB7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHN1Ym5ldHM6IElTdWJuZXRbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHJlcHJlc2VudGluZyB0aGUgVHJhbnNpdCBHYXRld2F5IEF0dGFjaG1lbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNvdXJjZTogQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLl9yZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnQodGhpcywgaWQsIHtcbiAgICAgIHN1Ym5ldElkczogcHJvcHMuc3VibmV0cy5tYXAoKHN1Ym5ldCkgPT4gc3VibmV0LnN1Ym5ldElkKSxcbiAgICAgIHRyYW5zaXRHYXRld2F5SWQ6IHByb3BzLnRyYW5zaXRHYXRld2F5LnRyYW5zaXRHYXRld2F5SWQsXG4gICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkLFxuICAgICAgb3B0aW9uczogcHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnMgPyB7XG4gICAgICAgIEFwcGxpYW5jZU1vZGVTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5hcHBsaWFuY2VNb2RlU3VwcG9ydCksXG4gICAgICAgIERuc1N1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnM/LmRuc1N1cHBvcnQpLFxuICAgICAgICBJcHY2U3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uaXB2NlN1cHBvcnQpLFxuICAgICAgICBTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHRoaXMuX3Jlc291cmNlO1xuXG4gICAgdGhpcy50cmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRJZCA9IHRoaXMuX3Jlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnN1Ym5ldHMgPSBwcm9wcy5zdWJuZXRzO1xuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5kbnNTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5kbnNTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlEbnNTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnRG5zU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0ICYmICFwcm9wcy50cmFuc2l0R2F0ZXdheS5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nVjIoJ0Bhd3MtY2RrL2F3cy1lYzI6dHJhbnNpdEdhdGV3YXlTZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0TWlzbWF0Y2gnLCAnXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIGZvciB0aGUgVlBDIEF0dGFjaG1lbnQgYnV0IGRpc2FibGVkIG9uIHRoZSBUcmFuc2l0R2F0ZXdheS4gVGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yayB1bmxlc3MgXFwnU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydFxcJyBpcyBlbmFibGVkIG9uIGJvdGguJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCBpZCArICdBc3NvY2lhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24pIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbih0aGlzLCBpZCArICdQcm9wYWdhdGlvbicsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiB0aGlzLFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IHByb3BzLnRyYW5zaXRHYXRld2F5LmRlZmF1bHRSb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1Ym5ldCBvZiBzdWJuZXRzKSB7XG4gICAgICBpZiAodGhpcy5zdWJuZXRzLnNvbWUoZXhpc3RpbmcgPT4gZXhpc3Rpbmcuc3VibmV0SWQgPT09IHN1Ym5ldC5zdWJuZXRJZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdWJuZXQgd2l0aCBJRCAke3N1Ym5ldC5zdWJuZXRJZH0gaXMgYWxyZWFkeSBhZGRlZCB0byB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnB1c2goc3VibmV0KTtcbiAgICB9XG4gICAgdGhpcy5fcmVzb3VyY2Uuc3VibmV0SWRzID0gdGhpcy5zdWJuZXRzLm1hcChzdWJuZXQgPT4gc3VibmV0LnN1Ym5ldElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWRkaXRpb25hbCBzdWJuZXRzIHRvIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnN1Ym5ldHMuZmluZEluZGV4KGV4aXN0aW5nID0+IGV4aXN0aW5nLnN1Ym5ldElkID09PSBzdWJuZXQuc3VibmV0SWQpO1xuICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFN1Ym5ldCB3aXRoIElEICR7c3VibmV0LnN1Ym5ldElkfSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgQXR0YWNobWVudCAke3RoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWR9LmApO1xuICAgICAgfVxuICAgICAgdGhpcy5zdWJuZXRzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuX3Jlc291cmNlLnN1Ym5ldElkcyA9IHRoaXMuc3VibmV0cy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCk7XG4gIH1cbn1cbiJdfQ==
102
+ TransitGatewayVpcAttachment[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGatewayVpcAttachment", version: "2.196.0-alpha.0" };
103
+ /** Uniquely identifies this class. */
104
+ TransitGatewayVpcAttachment.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGatewayVpcAttachment';
105
+ exports.TransitGatewayVpcAttachment = TransitGatewayVpcAttachment = __decorate([
106
+ prop_injectable_1.propertyInjectable
107
+ ], TransitGatewayVpcAttachment);
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLGlEQUFpRjtBQUVqRix1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLDZFQUF1RztBQUN2RyxpQ0FBMEM7QUFFMUMsNkNBQTBDO0FBQzFDLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUE2RzFFOzs7O0dBSUc7QUFFSSxJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUE0QixTQUFRLHlEQUE0QjtJQVczRSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVDO1FBQy9FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFSRixZQUFPLEdBQWMsRUFBRSxDQUFDOzs7Ozs7K0NBSjlCLDJCQUEyQjs7OztRQWFwQyxtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFDQUEyQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDekQsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBQ3pELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsZ0JBQWdCO1lBQ3ZELEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDdEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLG9CQUFvQixFQUFFLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO2dCQUN4RixVQUFVLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxL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RSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixNQUFNLENBQUMsUUFBUSxxQ0FBcUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLENBQUMsQ0FBQztZQUM1SCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4RTs7QUFoRlUsa0VBQTJCOzs7QUFDdEMsc0NBQXNDO0FBQ2YsaURBQXFCLEdBQVcsb0RBQW9ELEFBQS9ELENBQWdFO3NDQUZqRywyQkFBMkI7SUFEdkMsb0NBQWtCO0dBQ04sMkJBQTJCLENBaUZ2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUcmFuc2l0R2F0ZXdheSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5JztcbmltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgSVN1Ym5ldCwgSVZwYyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5QXR0YWNobWVudCwgVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50QmFzZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgZ2V0RmVhdHVyZVN0YXR1cyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGFwcGxpYW5jZSBtb2RlIHN1cHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBhcHBsaWFuY2VNb2RlU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgZG5zU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIElQdjYgc3VwcG9ydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGlwdjZTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlcyB5b3UgdG8gcmVmZXJlbmNlIGEgc2VjdXJpdHkgZ3JvdXAgYWNyb3NzIFZQQ3MgYXR0YWNoZWQgdG8gYSB0cmFuc2l0IGdhdGV3YXkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBJVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50IHtcbiAgLyoqXG4gICAqIEFkZCBhZGRpdGlvbmFsIHN1Ym5ldHMgdG8gdGhpcyBhdHRhY2htZW50LlxuICAgKi9cbiAgYWRkU3VibmV0cyhzdWJuZXRzOiBJU3VibmV0W10pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgc3VibmV0cyBmcm9tIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIHJlbW92ZVN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQuXG4gKi9cbmludGVyZmFjZSBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIG9uZSBvciBtb3JlIHN1Ym5ldHMgdG8gcGxhY2UgdGhlIGF0dGFjaG1lbnQgaW4uXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIHNwZWNpZnkgbW9yZSBzdWJuZXRzIGZvciBiZXR0ZXIgYXZhaWxhYmlsaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogSVN1Ym5ldFtdO1xuXG4gIC8qKlxuICAgKiBBIFZQQyBhdHRhY2htZW50KHMpIHdpbGwgZ2V0IGFzc2lnbmVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIGF0dGFjaG1lbnQgb3B0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3B0aW9ucyBhcmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNBdHRhY2htZW50T3B0aW9ucz86IElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50TmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBUcmFuc2l0IEdhdGV3YXkgVlBDIEF0dGFjaG1lbnQgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMgZXh0ZW5kcyBCYXNlVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSB0aGlzIGF0dGFjaG1lbnQgZ2V0cyBhc3NpZ25lZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5OiBJVHJhbnNpdEdhdGV3YXk7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY3JlYXRpbmcgYW4gQXR0YWNobWVudCB2aWEgdGhlIGF0dGFjaFZwYygpIG1ldGhvZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRhY2hWcGNPcHRpb25zIGV4dGVuZHMgQmFzZVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFByb3BzIHtcbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHJvdXRlIHRhYmxlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgVlBDIGF0dGFjaG1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gYXNzb2NpYXRpb25zIHdpbGwgYmUgY3JlYXRlZCB1bmxlc3MgaXQgaXMgZm9yIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCBhdXRvbWF0aWMgYXNzb2NpYXRpb24gaXMgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFzc29jaWF0aW9uUm91dGVUYWJsZT86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBvcHRpb25hbCByb3V0ZSB0YWJsZXMgdG8gcHJvcGFnYXRlIHJvdXRlcyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBwcm9wYWdhdGlvbnMgd2lsbCBiZSBjcmVhdGVkIHVubGVzcyBpdCBpcyBmb3IgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGFnYXRpb25Sb3V0ZVRhYmxlcz86IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgVHJhbnNpdCBHYXRld2F5IFZQQyBBdHRhY2htZW50LlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlBdHRhY2htZW50XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUF0dGFjaG1lbnRCYXNlIGltcGxlbWVudHMgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5UcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQnO1xuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJuZXRzOiBJU3VibmV0W10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIEFXUyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSByZXByZXNlbnRpbmcgdGhlIFRyYW5zaXQgR2F0ZXdheSBBdHRhY2htZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb3VyY2U6IENmblRyYW5zaXRHYXRld2F5QXR0YWNobWVudDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5fcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXlBdHRhY2htZW50KHRoaXMsIGlkLCB7XG4gICAgICBzdWJuZXRJZHM6IHByb3BzLnN1Ym5ldHMubWFwKChzdWJuZXQpID0+IHN1Ym5ldC5zdWJuZXRJZCksXG4gICAgICB0cmFuc2l0R2F0ZXdheUlkOiBwcm9wcy50cmFuc2l0R2F0ZXdheS50cmFuc2l0R2F0ZXdheUlkLFxuICAgICAgdnBjSWQ6IHByb3BzLnZwYy52cGNJZCxcbiAgICAgIG9wdGlvbnM6IHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zID8ge1xuICAgICAgICBBcHBsaWFuY2VNb2RlU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uYXBwbGlhbmNlTW9kZVN1cHBvcnQpLFxuICAgICAgICBEbnNTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnZwY0F0dGFjaG1lbnRPcHRpb25zPy5kbnNTdXBwb3J0KSxcbiAgICAgICAgSXB2NlN1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMudnBjQXR0YWNobWVudE9wdGlvbnM/LmlwdjZTdXBwb3J0KSxcbiAgICAgICAgU2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCksXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgIH0pO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLl9yZXNvdXJjZTtcblxuICAgIHRoaXMudHJhbnNpdEdhdGV3YXlBdHRhY2htZW50SWQgPSB0aGlzLl9yZXNvdXJjZS5hdHRySWQ7XG4gICAgdGhpcy5zdWJuZXRzID0gcHJvcHMuc3VibmV0cztcblxuICAgIGlmIChwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uZG5zU3VwcG9ydCAmJiAhcHJvcHMudHJhbnNpdEdhdGV3YXkuZG5zU3VwcG9ydCkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKCdAYXdzLWNkay9hd3MtZWMyOnRyYW5zaXRHYXRld2F5RG5zU3VwcG9ydE1pc21hdGNoJywgJ1xcJ0Ruc1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBmb3IgdGhlIFZQQyBBdHRhY2htZW50IGJ1dCBkaXNhYmxlZCBvbiB0aGUgVHJhbnNpdEdhdGV3YXkuIFRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsgdW5sZXNzIFxcJ0Ruc1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBvbiBib3RoLicpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy52cGNBdHRhY2htZW50T3B0aW9ucz8uc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCAmJiAhcHJvcHMudHJhbnNpdEdhdGV3YXkuc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZ1YyKCdAYXdzLWNkay9hd3MtZWMyOnRyYW5zaXRHYXRld2F5U2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydE1pc21hdGNoJywgJ1xcJ1NlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBmb3IgdGhlIFZQQyBBdHRhY2htZW50IGJ1dCBkaXNhYmxlZCBvbiB0aGUgVHJhbnNpdEdhdGV3YXkuIFRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsgdW5sZXNzIFxcJ1NlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnRcXCcgaXMgZW5hYmxlZCBvbiBib3RoLicpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uKSB7XG4gICAgICBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24odGhpcywgaWQgKyAnQXNzb2NpYXRpb24nLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdGhpcyxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uKSB7XG4gICAgICBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24odGhpcywgaWQgKyAnUHJvcGFnYXRpb24nLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogdGhpcyxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBwcm9wcy50cmFuc2l0R2F0ZXdheS5kZWZhdWx0Um91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYWRkaXRpb25hbCBzdWJuZXRzIHRvIHRoaXMgYXR0YWNobWVudC5cbiAgICovXG4gIGFkZFN1Ym5ldHMoc3VibmV0czogSVN1Ym5ldFtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgICAgaWYgKHRoaXMuc3VibmV0cy5zb21lKGV4aXN0aW5nID0+IGV4aXN0aW5nLnN1Ym5ldElkID09PSBzdWJuZXQuc3VibmV0SWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3VibmV0IHdpdGggSUQgJHtzdWJuZXQuc3VibmV0SWR9IGlzIGFscmVhZHkgYWRkZWQgdG8gdGhlIEF0dGFjaG1lbnQgJHt0aGlzLnRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkfS5gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3VibmV0cy5wdXNoKHN1Ym5ldCk7XG4gICAgfVxuICAgIHRoaXMuX3Jlc291cmNlLnN1Ym5ldElkcyA9IHRoaXMuc3VibmV0cy5tYXAoc3VibmV0ID0+IHN1Ym5ldC5zdWJuZXRJZCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFkZGl0aW9uYWwgc3VibmV0cyB0byB0aGlzIGF0dGFjaG1lbnQuXG4gICAqL1xuICByZW1vdmVTdWJuZXRzKHN1Ym5ldHM6IElTdWJuZXRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3VibmV0IG9mIHN1Ym5ldHMpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdWJuZXRzLmZpbmRJbmRleChleGlzdGluZyA9PiBleGlzdGluZy5zdWJuZXRJZCA9PT0gc3VibmV0LnN1Ym5ldElkKTtcbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdWJuZXQgd2l0aCBJRCAke3N1Ym5ldC5zdWJuZXRJZH0gZG9lcyBub3QgZXhpc3QgaW4gdGhlIEF0dGFjaG1lbnQgJHt0aGlzLnRyYW5zaXRHYXRld2F5QXR0YWNobWVudElkfS5gKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3VibmV0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgICB0aGlzLl9yZXNvdXJjZS5zdWJuZXRJZHMgPSB0aGlzLnN1Ym5ldHMubWFwKHN1Ym5ldCA9PiBzdWJuZXQuc3VibmV0SWQpO1xuICB9XG59XG4iXX0=
@@ -152,6 +152,8 @@ declare abstract class TransitGatewayBase extends cdk.Resource implements ITrans
152
152
  * @resource AWS::EC2::TransitGateway
153
153
  */
154
154
  export declare class TransitGateway extends TransitGatewayBase {
155
+ /** Uniquely identifies this class. */
156
+ static readonly PROPERTY_INJECTION_ID: string;
155
157
  readonly routerType: RouterType;
156
158
  readonly routerTargetId: string;
157
159
  readonly transitGatewayId: string;
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var _a;
3
9
  Object.defineProperty(exports, "__esModule", { value: true });
4
10
  exports.TransitGateway = void 0;
@@ -12,6 +18,7 @@ const transit_gateway_route_table_association_1 = require("./transit-gateway-rou
12
18
  const transit_gateway_route_table_propagation_1 = require("./transit-gateway-route-table-propagation");
13
19
  const util_1 = require("./util");
14
20
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
21
+ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
15
22
  /**
16
23
  * A Transit Gateway.
17
24
  * @internal
@@ -67,7 +74,7 @@ class TransitGatewayBase extends cdk.Resource {
67
74
  *
68
75
  * @resource AWS::EC2::TransitGateway
69
76
  */
70
- class TransitGateway extends TransitGatewayBase {
77
+ let TransitGateway = class TransitGateway extends TransitGatewayBase {
71
78
  constructor(scope, id, props = {}) {
72
79
  super(scope, id);
73
80
  try {
@@ -106,8 +113,13 @@ class TransitGateway extends TransitGatewayBase {
106
113
  this.defaultRouteTableAssociation = props.defaultRouteTableAssociation ?? true;
107
114
  this.defaultRouteTablePropagation = props.defaultRouteTablePropagation ?? true;
108
115
  }
109
- }
116
+ };
110
117
  exports.TransitGateway = TransitGateway;
111
118
  _a = JSII_RTTI_SYMBOL_1;
112
- TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.194.0-alpha.0" };
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlEQUFvRTtBQUNwRSx3Q0FBd0M7QUFFeEMsK0VBQW9HO0FBQ3BHLHFGQUErSDtBQUUvSCx1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLGlDQUF1RTtBQUN2RSw4RUFBOEU7QUFxSTlFOzs7R0FHRztBQUNILE1BQWUsa0JBQW1CLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFXcEQ7Ozs7T0FJRztJQUNJLGFBQWEsQ0FBQyxFQUFVO1FBQzdCLE9BQU8sSUFBSSxzREFBd0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzVDLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztLQUNKO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxFQUFVLEVBQUUsT0FBeUI7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSw0REFBMkIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQzNELGNBQWMsRUFBRSxJQUFJO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLFNBQVM7U0FDaEUsQ0FBQyxDQUFDO1FBRUgsdUlBQXVJO1FBQ3ZJLDBKQUEwSjtRQUMxSixJQUFJLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixLQUFLLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDO1lBQ3RJLElBQUksNkVBQW1DLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkYsMkJBQTJCLEVBQUUsVUFBVTtnQkFDdkMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLHFCQUFxQjthQUN4RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNuQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RFLHVJQUF1STtnQkFDdkksMEpBQTBKO2dCQUMxSixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUsscUJBQXFCLElBQUksSUFBSSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztvQkFDN0YsSUFBSSw2RUFBbUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixLQUFLLEVBQUUsRUFBRTt3QkFDMUUsMkJBQTJCLEVBQUUsVUFBVTt3QkFDdkMsd0JBQXdCLEVBQUUscUJBQXFCO3FCQUNoRCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDO0tBQ25CO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsa0JBQWtCO0lBV3BELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBNkIsRUFBRTtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7K0NBWlIsY0FBYzs7OztRQWF2QixtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBaUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQy9DLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLFNBQVM7WUFDL0MsMkJBQTJCLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxLQUFLLENBQUMsMkJBQTJCLENBQUM7WUFDaEYsa0lBQWtJO1lBQ2xJLHdJQUF3STtZQUN4SSw0QkFBNEIsRUFBRSxrQ0FBMkIsQ0FBQyxPQUFPO1lBQ2pFLDRCQUE0QixFQUFFLGtDQUEyQixDQUFDLE9BQU87WUFDakUsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QjtZQUN4RCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsVUFBVSxFQUFFLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUM5QywrQkFBK0IsRUFBRSxJQUFBLHVCQUFnQixFQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQztTQUN6RixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsb0JBQVUsQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQywrQkFBK0IsR0FBRyxLQUFLLENBQUMsK0JBQStCLElBQUksS0FBSyxDQUFDO1FBRXRGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLHNEQUF3QixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtZQUMvRSxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLElBQUksQ0FBQztRQUMvRSxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixJQUFJLElBQUksQ0FBQztLQUNoRjs7QUEzQ0gsd0NBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuVHJhbnNpdEdhdGV3YXksIFJvdXRlclR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSwgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50LCBBdHRhY2hWcGNPcHRpb25zLCBJVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50IH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktdnBjLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgSVJvdXRlVGFyZ2V0IH0gZnJvbSAnLi9yb3V0ZSc7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLWFzc29jaWF0aW9uJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uIH0gZnJvbSAnLi90cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGUtcHJvcGFnYXRpb24nO1xuaW1wb3J0IHsgZ2V0RmVhdHVyZVN0YXR1cywgVHJhbnNpdEdhdGV3YXlGZWF0dXJlU3RhdHVzIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBUcmFuc2l0IEdhdGV3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zaXRHYXRld2F5IGV4dGVuZHMgY2RrLklSZXNvdXJjZSwgSVJvdXRlVGFyZ2V0IHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIElEIGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgYnkgQVdTIHVwb24gY3JlYXRpb24gb2YgdGhlIFRyYW5zaXQgR2F0ZXdheVxuICAgKiBhbmQgaXMgdXNlZCB0byByZWZlcmVuY2UgaXQgaW4gdmFyaW91cyBjb25maWd1cmF0aW9ucyBhbmQgb3BlcmF0aW9ucy5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogVGhlIEFSTiB1bmlxdWVseSBpZGVudGlmaWVzIHRoZSBUcmFuc2l0IEdhdGV3YXkgYWNyb3NzIEFXUyBhbmQgaXMgY29tbW9ubHlcbiAgICogdXNlZCBmb3IgcGVybWlzc2lvbnMgYW5kIHJlc291cmNlIHRyYWNraW5nLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByb3V0ZSB0YWJsZSBhc3NvY2lhdGVkIHdpdGggdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogVGhpcyByb3V0ZSB0YWJsZSBpcyBjcmVhdGVkIGJ5IHRoZSBDREsgYW5kIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSByb3V0ZXNcbiAgICogZm9yIGF0dGFjaG1lbnRzIHRoYXQgZG8gbm90IGhhdmUgYW4gZXhwbGljaXRseSBkZWZpbmVkIHJvdXRlIHRhYmxlIGFzc29jaWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG5ldyBhdHRhY2htZW50cyBhcmUgYXV0b21hdGljYWxseSBhc3NvY2lhdGVkIHdpdGggdGhlIGRlZmF1bHQgcm91dGUgdGFibGUuXG4gICAqXG4gICAqIElmIHNldCB0byBgdHJ1ZWAsIGFueSBWUEMgb3IgVlBOIGF0dGFjaG1lbnQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZSB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHJvdXRlIHByb3BhZ2F0aW9uIHRvIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGlzIGVuYWJsZWQuXG4gICAqXG4gICAqIFdoZW4gc2V0IHRvIGB0cnVlYCwgcm91dGVzIGZyb20gYXR0YWNobWVudHMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHByb3BhZ2F0ZWRcbiAgICogdG8gdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgdW5sZXNzIHByb3BhZ2F0aW9uIGlzIGV4cGxpY2l0bHkgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBETlMgc3VwcG9ydCBpcyBlbmFibGVkIG9uIHRoZSBUcmFuc2l0IEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBkbnNTdXBwb3J0OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBzZWN1cml0eSBncm91cCByZWZlcmVuY2luZyBzdXBwb3J0IGlzIGVuYWJsZWQgb24gdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgVHJhbnNpdCBHYXRld2F5IHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zaXRHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogUGh5c2ljYWwgbmFtZSBvZiB0aGlzIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBwcml2YXRlIEF1dG9ub21vdXMgU3lzdGVtIE51bWJlciAoQVNOKSBmb3IgdGhlIEFtYXpvbiBzaWRlIG9mIGEgQkdQIHNlc3Npb24uIFRoZSByYW5nZSBpcyA2NDUxMiB0byA2NTUzNCBmb3IgMTYtYml0IEFTTnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkLCA2NDUxMiBpcyBhc3NpZ25lZCBieSBDbG91ZEZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGFtYXpvblNpZGVBc24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGF1dG9tYXRpYyBhY2NlcHRhbmNlIG9mIGNyb3NzLWFjY291bnQgYXR0YWNobWVudCByZXF1ZXN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9BY2NlcHRTaGFyZWRBdHRhY2htZW50cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGF1dG9tYXRpYyBhc3NvY2lhdGlvbiB3aXRoIHRoZSBkZWZhdWx0IGFzc29jaWF0aW9uIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBhdXRvbWF0aWMgcHJvcGFnYXRpb24gb2Ygcm91dGVzIHRvIHRoZSBkZWZhdWx0IHByb3BhZ2F0aW9uIHJvdXRlIHRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHRyYW5zaXQgZ2F0ZXdheS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIEROUyBzdXBwb3J0LlxuICAgKlxuICAgKiBJZiBkbnNTdXBwb3J0IGlzIGVuYWJsZWQgb24gYSBWUEMgQXR0YWNobWVudCwgdGhpcyBhbHNvIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoZSBmZWF0dXJlIHRvIHdvcmsuXG4gICAqIE90aGVyd2lzZSB0aGUgcmVzb3VyY2VzIHdpbGwgc3RpbGwgZGVwbG95IGJ1dCB0aGUgZmVhdHVyZSB3aWxsIG5vdCB3b3JrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVuYWJsZSAodHJ1ZSlcbiAgICovXG4gIHJlYWRvbmx5IGRuc1N1cHBvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzZWN1cml0eSBncm91cCByZWZlcmVuY2luZyBzdXBwb3J0XG4gICAqXG4gICAqIElmIHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQgaXMgZW5hYmxlZCBvbiBhIFZQQyBBdHRhY2htZW50LCB0aGlzIGFsc28gbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgdGhlIGZlYXR1cmUgdG8gd29yay5cbiAgICogT3RoZXJ3aXNlIHRoZSByZXNvdXJjZXMgd2lsbCBzdGlsbCBkZXBsb3kgYnV0IHRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGlzYWJsZSAoZmFsc2UpXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRyYW5zaXQgZ2F0ZXdheSBDSURSIGJsb2Nrcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUNpZHJCbG9ja3M/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBIFRyYW5zaXQgR2F0ZXdheS5cbiAqIEBpbnRlcm5hbFxuICovXG5hYnN0cmFjdCBjbGFzcyBUcmFuc2l0R2F0ZXdheUJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJVHJhbnNpdEdhdGV3YXksIElSb3V0ZVRhcmdldCB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJUeXBlOiBSb3V0ZXJUeXBlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm91dGVyVGFyZ2V0SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5SWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uOiBib29sZWFuO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZG5zU3VwcG9ydDogYm9vbGVhbjtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgcm91dGUgdGFibGUgdG8gdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgVHJhbnNpdCBHYXRld2F5IHJvdXRlIHRhYmxlLlxuICAgKi9cbiAgcHVibGljIGFkZFJvdXRlVGFibGUoaWQ6IHN0cmluZyk6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUge1xuICAgIHJldHVybiBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlKHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheTogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIFZQQyB0byB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBUcmFuc2l0IEdhdGV3YXkgVlBDIGF0dGFjaG1lbnQuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVnBjKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEF0dGFjaFZwY09wdGlvbnMpOiBJVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50IHtcbiAgICBjb25zdCBhdHRhY2htZW50ID0gbmV3IFRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCh0aGlzLCBpZCwge1xuICAgICAgdHJhbnNpdEdhdGV3YXk6IHRoaXMsXG4gICAgICB2cGM6IG9wdGlvbnMudnBjLFxuICAgICAgc3VibmV0czogb3B0aW9ucy5zdWJuZXRzLFxuICAgICAgdnBjQXR0YWNobWVudE9wdGlvbnM6IG9wdGlvbnMudnBjQXR0YWNobWVudE9wdGlvbnMgPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgYGFzc29jaWF0aW9uUm91dGVUYWJsZWAgaXMgcHJvdmlkZWQsIHNraXAgY3JlYXRpbmcgdGhlIEFzc29jaWF0aW9uIG9ubHkgaWYgYGFzc29jaWF0aW9uUm91dGVUYWJsZWAgaXMgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kXG4gICAgLy8gYXV0b21hdGljIGFzc29jaWF0aW9uIChgZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbmApIGlzIGVuYWJsZWQsIGFzIHRoZSBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBdHRhY2htZW50J3MgY29uc3RydWN0b3Igd2lsbCBoYW5kbGUgaXQgaW4gdGhhdCBjYXNlLlxuICAgIGlmIChvcHRpb25zLmFzc29jaWF0aW9uUm91dGVUYWJsZSAmJiAhKHRoaXMuZGVmYXVsdFJvdXRlVGFibGUgPT09IG9wdGlvbnMuYXNzb2NpYXRpb25Sb3V0ZVRhYmxlICYmIHRoaXMuZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbikpIHtcbiAgICAgIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvbih0aGlzLCBgJHtpZH0tQXNzb2NpYXRpb24tJHt0aGlzLm5vZGUuYWRkcn1gLCB7XG4gICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogYXR0YWNobWVudCxcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBvcHRpb25zLmFzc29jaWF0aW9uUm91dGVUYWJsZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnByb3BhZ2F0aW9uUm91dGVUYWJsZXMpIHtcbiAgICAgIG9wdGlvbnMucHJvcGFnYXRpb25Sb3V0ZVRhYmxlcy5mb3JFYWNoKChwcm9wYWdhdGlvblJvdXRlVGFibGUsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIElmIGBwcm9wYWdhdGlvblJvdXRlVGFibGVgIGlzIHByb3ZpZGVkLCBza2lwIGNyZWF0aW5nIHRoZSBQcm9wYWdhdGlvbiBvbmx5IGlmIGBwcm9wYWdhdGlvblJvdXRlVGFibGVgIGlzIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZFxuICAgICAgICAvLyBhdXRvbWF0aWMgcHJvcGFnYXRpb24gKGBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uYCkgaXMgZW5hYmxlZCwgYXMgdGhlIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUF0dGFjaG1lbnQncyBjb25zdHJ1Y3RvciB3aWxsIGhhbmRsZSBpdCBpbiB0aGF0IGNhc2UuXG4gICAgICAgIGlmICghKHRoaXMuZGVmYXVsdFJvdXRlVGFibGUgPT09IHByb3BhZ2F0aW9uUm91dGVUYWJsZSAmJiB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24pKSB7XG4gICAgICAgICAgbmV3IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZVByb3BhZ2F0aW9uKHRoaXMsIGAke2lkfS1Qcm9wYWdhdGlvbi0ke2luZGV4fWAsIHtcbiAgICAgICAgICAgIHRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudDogYXR0YWNobWVudCxcbiAgICAgICAgICAgIHRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTogcHJvcGFnYXRpb25Sb3V0ZVRhYmxlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXR0YWNobWVudDtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBUcmFuc2l0IEdhdGV3YXkuXG4gKlxuICogQHJlc291cmNlIEFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVxuICovXG5leHBvcnQgY2xhc3MgVHJhbnNpdEdhdGV3YXkgZXh0ZW5kcyBUcmFuc2l0R2F0ZXdheUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyVHlwZTogUm91dGVyVHlwZTtcbiAgcHVibGljIHJlYWRvbmx5IHJvdXRlclRhcmdldElkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2l0R2F0ZXdheUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGU6IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGU7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbjogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGRuc1N1cHBvcnQ6IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUcmFuc2l0R2F0ZXdheVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuVHJhbnNpdEdhdGV3YXkodGhpcywgaWQsIHtcbiAgICAgIGFtYXpvblNpZGVBc246IHByb3BzLmFtYXpvblNpZGVBc24gPz8gdW5kZWZpbmVkLFxuICAgICAgYXV0b0FjY2VwdFNoYXJlZEF0dGFjaG1lbnRzOiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLmF1dG9BY2NlcHRTaGFyZWRBdHRhY2htZW50cyksXG4gICAgICAvLyBEZWZhdWx0IEFzc29jaWF0aW9uL1Byb3BhZ2F0aW9uIHdpbGwgYWx3YXlzIGJlIGZhbHNlIHdoZW4gY3JlYXRpbmcgdGhlIEwxIHRvIHByZXZlbnQgRUMyIGZyb20gY3JlYXRpbmcgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUuXG4gICAgICAvLyBJbnN0ZWFkLCBDREsgd2lsbCBjcmVhdGUgYSBjdXN0b20gZGVmYXVsdCByb3V0ZSB0YWJsZSBhbmQgdXNlIHRoZSBwcm9wZXJ0aWVzIHRvIG1pbWljIHRoZSBhdXRvbWF0aWMgYXNzb2NhdGlvbi9wcm9wYWdhdGlvbiBiZWhhdmlvdXIuXG4gICAgICBkZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uOiBUcmFuc2l0R2F0ZXdheUZlYXR1cmVTdGF0dXMuRElTQUJMRSxcbiAgICAgIGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb246IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cy5ESVNBQkxFLFxuICAgICAgdHJhbnNpdEdhdGV3YXlDaWRyQmxvY2tzOiBwcm9wcy50cmFuc2l0R2F0ZXdheUNpZHJCbG9ja3MsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBkbnNTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLmRuc1N1cHBvcnQpLFxuICAgICAgc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogZ2V0RmVhdHVyZVN0YXR1cyhwcm9wcy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0KSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSByZXNvdXJjZTtcbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5SWQgPSByZXNvdXJjZS5hdHRySWQ7XG4gICAgdGhpcy5yb3V0ZXJUYXJnZXRJZCA9IHJlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnJvdXRlclR5cGUgPSBSb3V0ZXJUeXBlLlRSQU5TSVRfR0FURVdBWTtcbiAgICB0aGlzLnRyYW5zaXRHYXRld2F5QXJuID0gcmVzb3VyY2UuYXR0clRyYW5zaXRHYXRld2F5QXJuO1xuICAgIHRoaXMuZG5zU3VwcG9ydCA9IHByb3BzLmRuc1N1cHBvcnQgPz8gdHJ1ZTtcbiAgICB0aGlzLnNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQgPSBwcm9wcy5zZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0ID8/IGZhbHNlO1xuXG4gICAgdGhpcy5kZWZhdWx0Um91dGVUYWJsZSA9IG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUodGhpcywgJ0RlZmF1bHRSb3V0ZVRhYmxlJywge1xuICAgICAgdHJhbnNpdEdhdGV3YXk6IHRoaXMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24gPSBwcm9wcy5kZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uID8/IHRydWU7XG4gICAgdGhpcy5kZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uID0gcHJvcHMuZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbiA/PyB0cnVlO1xuICB9XG59XG4iXX0=
119
+ TransitGateway[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.TransitGateway", version: "2.196.0-alpha.0" };
120
+ /** Uniquely identifies this class. */
121
+ TransitGateway.PROPERTY_INJECTION_ID = '@aws-cdk.aws-ec2-alpha.TransitGateway';
122
+ exports.TransitGateway = TransitGateway = __decorate([
123
+ prop_injectable_1.propertyInjectable
124
+ ], TransitGateway);
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNpdC1nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHJhbnNpdC1nYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLGlEQUFvRTtBQUNwRSx3Q0FBd0M7QUFFeEMsK0VBQW9HO0FBQ3BHLHFGQUErSDtBQUUvSCx1R0FBZ0c7QUFDaEcsdUdBQWdHO0FBQ2hHLGlDQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBcUkxRTs7O0dBR0c7QUFDSCxNQUFlLGtCQUFtQixTQUFRLEdBQUcsQ0FBQyxRQUFRO0lBV3BEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsRUFBVTtRQUM3QixPQUFPLElBQUksc0RBQXdCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUM1QyxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7S0FDSjtJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsRUFBVSxFQUFFLE9BQXlCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksNERBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUMzRCxjQUFjLEVBQUUsSUFBSTtZQUNwQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDaEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxTQUFTO1NBQ2hFLENBQUMsQ0FBQztRQUVILHVJQUF1STtRQUN2SSwwSkFBMEo7UUFDMUosSUFBSSxPQUFPLENBQUMscUJBQXFCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxPQUFPLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztZQUN0SSxJQUFJLDZFQUFtQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ25GLDJCQUEyQixFQUFFLFVBQVU7Z0JBQ3ZDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7YUFDeEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDbkMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN0RSx1SUFBdUk7Z0JBQ3ZJLDBKQUEwSjtnQkFDMUosSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixLQUFLLHFCQUFxQixJQUFJLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUM7b0JBQzdGLElBQUksNkVBQW1DLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsS0FBSyxFQUFFLEVBQUU7d0JBQzFFLDJCQUEyQixFQUFFLFVBQVU7d0JBQ3ZDLHdCQUF3QixFQUFFLHFCQUFxQjtxQkFDaEQsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztLQUNuQjtDQUNGO0FBRUQ7Ozs7R0FJRztBQUVJLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxrQkFBa0I7SUFhcEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUE2QixFQUFFO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0FkUixjQUFjOzs7O1FBZXZCLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFpQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDL0MsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLElBQUksU0FBUztZQUMvQywyQkFBMkIsRUFBRSxJQUFBLHVCQUFnQixFQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQztZQUNoRixrSUFBa0k7WUFDbEksd0lBQXdJO1lBQ3hJLDRCQUE0QixFQUFFLGtDQUEyQixDQUFDLE9BQU87WUFDakUsNEJBQTRCLEVBQUUsa0NBQTJCLENBQUMsT0FBTztZQUNqRSx3QkFBd0IsRUFBRSxLQUFLLENBQUMsd0JBQXdCO1lBQ3hELFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixVQUFVLEVBQUUsSUFBQSx1QkFBZ0IsRUFBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQzlDLCtCQUErQixFQUFFLElBQUEsdUJBQWdCLEVBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDO1NBQ3pGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxvQkFBVSxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLCtCQUErQixHQUFHLEtBQUssQ0FBQywrQkFBK0IsSUFBSSxLQUFLLENBQUM7UUFFdEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksc0RBQXdCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQy9FLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUMsNEJBQTRCLElBQUksSUFBSSxDQUFDO1FBQy9FLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUMsNEJBQTRCLElBQUksSUFBSSxDQUFDO0tBQ2hGOztBQTdDVSx3Q0FBYzs7O0FBQ3pCLHNDQUFzQztBQUNmLG9DQUFxQixHQUFXLHVDQUF1QyxBQUFsRCxDQUFtRDt5QkFGcEYsY0FBYztJQUQxQixvQ0FBa0I7R0FDTixjQUFjLENBOEMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblRyYW5zaXRHYXRld2F5LCBSb3V0ZXJUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUsIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlJztcbmltcG9ydCB7IFRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCwgQXR0YWNoVnBjT3B0aW9ucywgSVRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudCB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXZwYy1hdHRhY2htZW50JztcbmltcG9ydCB7IElSb3V0ZVRhcmdldCB9IGZyb20gJy4vcm91dGUnO1xuaW1wb3J0IHsgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb24gfSBmcm9tICcuL3RyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVQcm9wYWdhdGlvbiB9IGZyb20gJy4vdHJhbnNpdC1nYXRld2F5LXJvdXRlLXRhYmxlLXByb3BhZ2F0aW9uJztcbmltcG9ydCB7IGdldEZlYXR1cmVTdGF0dXMsIFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIFRyYW5zaXQgR2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNpdEdhdGV3YXkgZXh0ZW5kcyBjZGsuSVJlc291cmNlLCBJUm91dGVUYXJnZXQge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBUcmFuc2l0IEdhdGV3YXkuXG4gICAqXG4gICAqIFRoaXMgSUQgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCBieSBBV1MgdXBvbiBjcmVhdGlvbiBvZiB0aGUgVHJhbnNpdCBHYXRld2F5XG4gICAqIGFuZCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBpdCBpbiB2YXJpb3VzIGNvbmZpZ3VyYXRpb25zIGFuZCBvcGVyYXRpb25zLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2l0R2F0ZXdheUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBUaGUgQVJOIHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIFRyYW5zaXQgR2F0ZXdheSBhY3Jvc3MgQVdTIGFuZCBpcyBjb21tb25seVxuICAgKiB1c2VkIGZvciBwZXJtaXNzaW9ucyBhbmQgcmVzb3VyY2UgdHJhY2tpbmcuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBUaGlzIHJvdXRlIHRhYmxlIGlzIGNyZWF0ZWQgYnkgdGhlIENESyBhbmQgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHJvdXRlc1xuICAgKiBmb3IgYXR0YWNobWVudHMgdGhhdCBkbyBub3QgaGF2ZSBhbiBleHBsaWNpdGx5IGRlZmluZWQgcm91dGUgdGFibGUgYXNzb2NpYXRpb24uXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgbmV3IGF0dGFjaG1lbnRzIGFyZSBhdXRvbWF0aWNhbGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZS5cbiAgICpcbiAgICogSWYgc2V0IHRvIGB0cnVlYCwgYW55IFZQQyBvciBWUE4gYXR0YWNobWVudCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYXNzb2NpYXRlZCB3aXRoXG4gICAqIHRoZSBkZWZhdWx0IHJvdXRlIHRhYmxlIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgcm91dGUgcHJvcGFnYXRpb24gdG8gdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogV2hlbiBzZXQgdG8gYHRydWVgLCByb3V0ZXMgZnJvbSBhdHRhY2htZW50cyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcHJvcGFnYXRlZFxuICAgKiB0byB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZSB1bmxlc3MgcHJvcGFnYXRpb24gaXMgZXhwbGljaXRseSBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IEROUyBzdXBwb3J0IGlzIGVuYWJsZWQgb24gdGhlIFRyYW5zaXQgR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGRuc1N1cHBvcnQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHNlY3VyaXR5IGdyb3VwIHJlZmVyZW5jaW5nIHN1cHBvcnQgaXMgZW5hYmxlZCBvbiB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYSBUcmFuc2l0IEdhdGV3YXkgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdEdhdGV3YXlQcm9wcyB7XG4gIC8qKlxuICAgKiBQaHlzaWNhbCBuYW1lIG9mIHRoaXMgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHByaXZhdGUgQXV0b25vbW91cyBTeXN0ZW0gTnVtYmVyIChBU04pIGZvciB0aGUgQW1hem9uIHNpZGUgb2YgYSBCR1Agc2Vzc2lvbi4gVGhlIHJhbmdlIGlzIDY0NTEyIHRvIDY1NTM0IGZvciAxNi1iaXQgQVNOcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQsIDY0NTEyIGlzIGFzc2lnbmVkIGJ5IENsb3VkRm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYW1hem9uU2lkZUFzbj86IG51bWJlcjtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgYXV0b21hdGljIGFjY2VwdGFuY2Ugb2YgY3Jvc3MtYWNjb3VudCBhdHRhY2htZW50IHJlcXVlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRpc2FibGUgKGZhbHNlKVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0FjY2VwdFNoYXJlZEF0dGFjaG1lbnRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgYXV0b21hdGljIGFzc29jaWF0aW9uIHdpdGggdGhlIGRlZmF1bHQgYXNzb2NpYXRpb24gcm91dGUgdGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZW5hYmxlICh0cnVlKVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiBvZiByb3V0ZXMgdG8gdGhlIGRlZmF1bHQgcHJvcGFnYXRpb24gcm91dGUgdGFibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZW5hYmxlICh0cnVlKVxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgdHJhbnNpdCBnYXRld2F5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRW5hYmxlIG9yIGRpc2FibGUgRE5TIHN1cHBvcnQuXG4gICAqXG4gICAqIElmIGRuc1N1cHBvcnQgaXMgZW5hYmxlZCBvbiBhIFZQQyBBdHRhY2htZW50LCB0aGlzIGFsc28gbmVlZHMgdG8gYmUgZW5hYmxlZCBmb3IgdGhlIGZlYXR1cmUgdG8gd29yay5cbiAgICogT3RoZXJ3aXNlIHRoZSByZXNvdXJjZXMgd2lsbCBzdGlsbCBkZXBsb3kgYnV0IHRoZSBmZWF0dXJlIHdpbGwgbm90IHdvcmsuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZW5hYmxlICh0cnVlKVxuICAgKi9cbiAgcmVhZG9ubHkgZG5zU3VwcG9ydD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlY3VyaXR5IGdyb3VwIHJlZmVyZW5jaW5nIHN1cHBvcnRcbiAgICpcbiAgICogSWYgc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCBpcyBlbmFibGVkIG9uIGEgVlBDIEF0dGFjaG1lbnQsIHRoaXMgYWxzbyBuZWVkcyB0byBiZSBlbmFibGVkIGZvciB0aGUgZmVhdHVyZSB0byB3b3JrLlxuICAgKiBPdGhlcndpc2UgdGhlIHJlc291cmNlcyB3aWxsIHN0aWxsIGRlcGxveSBidXQgdGhlIGZlYXR1cmUgd2lsbCBub3Qgd29yay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkaXNhYmxlIChmYWxzZSlcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdHJhbnNpdCBnYXRld2F5IENJRFIgYmxvY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5Q2lkckJsb2Nrcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEEgVHJhbnNpdCBHYXRld2F5LlxuICogQGludGVybmFsXG4gKi9cbmFic3RyYWN0IGNsYXNzIFRyYW5zaXRHYXRld2F5QmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElUcmFuc2l0R2F0ZXdheSwgSVJvdXRlVGFyZ2V0IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJvdXRlclR5cGU6IFJvdXRlclR5cGU7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJUYXJnZXRJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdHJhbnNpdEdhdGV3YXlBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlOiBJVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbjogYm9vbGVhbjtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb246IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkbnNTdXBwb3J0OiBib29sZWFuO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyByb3V0ZSB0YWJsZSB0byB0aGUgVHJhbnNpdCBHYXRld2F5LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBUcmFuc2l0IEdhdGV3YXkgcm91dGUgdGFibGUuXG4gICAqL1xuICBwdWJsaWMgYWRkUm91dGVUYWJsZShpZDogc3RyaW5nKTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGUodGhpcywgaWQsIHtcbiAgICAgIHRyYW5zaXRHYXRld2F5OiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgVlBDIHRvIHRoZSBUcmFuc2l0IEdhdGV3YXkuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIFRyYW5zaXQgR2F0ZXdheSBWUEMgYXR0YWNobWVudC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hWcGMoaWQ6IHN0cmluZywgb3B0aW9uczogQXR0YWNoVnBjT3B0aW9ucyk6IElUcmFuc2l0R2F0ZXdheVZwY0F0dGFjaG1lbnQge1xuICAgIGNvbnN0IGF0dGFjaG1lbnQgPSBuZXcgVHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50KHRoaXMsIGlkLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheTogdGhpcyxcbiAgICAgIHZwYzogb3B0aW9ucy52cGMsXG4gICAgICBzdWJuZXRzOiBvcHRpb25zLnN1Ym5ldHMsXG4gICAgICB2cGNBdHRhY2htZW50T3B0aW9uczogb3B0aW9ucy52cGNBdHRhY2htZW50T3B0aW9ucyA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICAvLyBJZiBgYXNzb2NpYXRpb25Sb3V0ZVRhYmxlYCBpcyBwcm92aWRlZCwgc2tpcCBjcmVhdGluZyB0aGUgQXNzb2NpYXRpb24gb25seSBpZiBgYXNzb2NpYXRpb25Sb3V0ZVRhYmxlYCBpcyB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZSBhbmRcbiAgICAvLyBhdXRvbWF0aWMgYXNzb2NpYXRpb24gKGBkZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uYCkgaXMgZW5hYmxlZCwgYXMgdGhlIFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUF0dGFjaG1lbnQncyBjb25zdHJ1Y3RvciB3aWxsIGhhbmRsZSBpdCBpbiB0aGF0IGNhc2UuXG4gICAgaWYgKG9wdGlvbnMuYXNzb2NpYXRpb25Sb3V0ZVRhYmxlICYmICEodGhpcy5kZWZhdWx0Um91dGVUYWJsZSA9PT0gb3B0aW9ucy5hc3NvY2lhdGlvblJvdXRlVGFibGUgJiYgdGhpcy5kZWZhdWx0Um91dGVUYWJsZUFzc29jaWF0aW9uKSkge1xuICAgICAgbmV3IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZUFzc29jaWF0aW9uKHRoaXMsIGAke2lkfS1Bc3NvY2lhdGlvbi0ke3RoaXMubm9kZS5hZGRyfWAsIHtcbiAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiBhdHRhY2htZW50LFxuICAgICAgICB0cmFuc2l0R2F0ZXdheVJvdXRlVGFibGU6IG9wdGlvbnMuYXNzb2NpYXRpb25Sb3V0ZVRhYmxlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMucHJvcGFnYXRpb25Sb3V0ZVRhYmxlcykge1xuICAgICAgb3B0aW9ucy5wcm9wYWdhdGlvblJvdXRlVGFibGVzLmZvckVhY2goKHByb3BhZ2F0aW9uUm91dGVUYWJsZSwgaW5kZXgpID0+IHtcbiAgICAgICAgLy8gSWYgYHByb3BhZ2F0aW9uUm91dGVUYWJsZWAgaXMgcHJvdmlkZWQsIHNraXAgY3JlYXRpbmcgdGhlIFByb3BhZ2F0aW9uIG9ubHkgaWYgYHByb3BhZ2F0aW9uUm91dGVUYWJsZWAgaXMgdGhlIGRlZmF1bHQgcm91dGUgdGFibGUgYW5kXG4gICAgICAgIC8vIGF1dG9tYXRpYyBwcm9wYWdhdGlvbiAoYGRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb25gKSBpcyBlbmFibGVkLCBhcyB0aGUgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlQXR0YWNobWVudCdzIGNvbnN0cnVjdG9yIHdpbGwgaGFuZGxlIGl0IGluIHRoYXQgY2FzZS5cbiAgICAgICAgaWYgKCEodGhpcy5kZWZhdWx0Um91dGVUYWJsZSA9PT0gcHJvcGFnYXRpb25Sb3V0ZVRhYmxlICYmIHRoaXMuZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbikpIHtcbiAgICAgICAgICBuZXcgVHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb24odGhpcywgYCR7aWR9LVByb3BhZ2F0aW9uLSR7aW5kZXh9YCwge1xuICAgICAgICAgICAgdHJhbnNpdEdhdGV3YXlWcGNBdHRhY2htZW50OiBhdHRhY2htZW50LFxuICAgICAgICAgICAgdHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlOiBwcm9wYWdhdGlvblJvdXRlVGFibGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBhdHRhY2htZW50O1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIFRyYW5zaXQgR2F0ZXdheS5cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBUcmFuc2l0R2F0ZXdheSBleHRlbmRzIFRyYW5zaXRHYXRld2F5QmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWVjMi1hbHBoYS5UcmFuc2l0R2F0ZXdheSc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJUeXBlOiBSb3V0ZXJUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyVGFyZ2V0SWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5SWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zaXRHYXRld2F5QXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZTogSVRyYW5zaXRHYXRld2F5Um91dGVUYWJsZTtcbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZG5zU3VwcG9ydDogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRyYW5zaXRHYXRld2F5UHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5UcmFuc2l0R2F0ZXdheSh0aGlzLCBpZCwge1xuICAgICAgYW1hem9uU2lkZUFzbjogcHJvcHMuYW1hem9uU2lkZUFzbiA/PyB1bmRlZmluZWQsXG4gICAgICBhdXRvQWNjZXB0U2hhcmVkQXR0YWNobWVudHM6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMuYXV0b0FjY2VwdFNoYXJlZEF0dGFjaG1lbnRzKSxcbiAgICAgIC8vIERlZmF1bHQgQXNzb2NpYXRpb24vUHJvcGFnYXRpb24gd2lsbCBhbHdheXMgYmUgZmFsc2Ugd2hlbiBjcmVhdGluZyB0aGUgTDEgdG8gcHJldmVudCBFQzIgZnJvbSBjcmVhdGluZyB0aGUgZGVmYXVsdCByb3V0ZSB0YWJsZS5cbiAgICAgIC8vIEluc3RlYWQsIENESyB3aWxsIGNyZWF0ZSBhIGN1c3RvbSBkZWZhdWx0IHJvdXRlIHRhYmxlIGFuZCB1c2UgdGhlIHByb3BlcnRpZXMgdG8gbWltaWMgdGhlIGF1dG9tYXRpYyBhc3NvY2F0aW9uL3Byb3BhZ2F0aW9uIGJlaGF2aW91ci5cbiAgICAgIGRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb246IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cy5ESVNBQkxFLFxuICAgICAgZGVmYXVsdFJvdXRlVGFibGVQcm9wYWdhdGlvbjogVHJhbnNpdEdhdGV3YXlGZWF0dXJlU3RhdHVzLkRJU0FCTEUsXG4gICAgICB0cmFuc2l0R2F0ZXdheUNpZHJCbG9ja3M6IHByb3BzLnRyYW5zaXRHYXRld2F5Q2lkckJsb2NrcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGRuc1N1cHBvcnQ6IGdldEZlYXR1cmVTdGF0dXMocHJvcHMuZG5zU3VwcG9ydCksXG4gICAgICBzZWN1cml0eUdyb3VwUmVmZXJlbmNpbmdTdXBwb3J0OiBnZXRGZWF0dXJlU3RhdHVzKHByb3BzLnNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmRlZmF1bHRDaGlsZCA9IHJlc291cmNlO1xuICAgIHRoaXMudHJhbnNpdEdhdGV3YXlJZCA9IHJlc291cmNlLmF0dHJJZDtcbiAgICB0aGlzLnJvdXRlclRhcmdldElkID0gcmVzb3VyY2UuYXR0cklkO1xuICAgIHRoaXMucm91dGVyVHlwZSA9IFJvdXRlclR5cGUuVFJBTlNJVF9HQVRFV0FZO1xuICAgIHRoaXMudHJhbnNpdEdhdGV3YXlBcm4gPSByZXNvdXJjZS5hdHRyVHJhbnNpdEdhdGV3YXlBcm47XG4gICAgdGhpcy5kbnNTdXBwb3J0ID0gcHJvcHMuZG5zU3VwcG9ydCA/PyB0cnVlO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cFJlZmVyZW5jaW5nU3VwcG9ydCA9IHByb3BzLnNlY3VyaXR5R3JvdXBSZWZlcmVuY2luZ1N1cHBvcnQgPz8gZmFsc2U7XG5cbiAgICB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlID0gbmV3IFRyYW5zaXRHYXRld2F5Um91dGVUYWJsZSh0aGlzLCAnRGVmYXVsdFJvdXRlVGFibGUnLCB7XG4gICAgICB0cmFuc2l0R2F0ZXdheTogdGhpcyxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVmYXVsdFJvdXRlVGFibGVBc3NvY2lhdGlvbiA9IHByb3BzLmRlZmF1bHRSb3V0ZVRhYmxlQXNzb2NpYXRpb24gPz8gdHJ1ZTtcbiAgICB0aGlzLmRlZmF1bHRSb3V0ZVRhYmxlUHJvcGFnYXRpb24gPSBwcm9wcy5kZWZhdWx0Um91dGVUYWJsZVByb3BhZ2F0aW9uID8/IHRydWU7XG4gIH1cbn1cbiJdfQ==
package/lib/util.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- import { ISubnet } from 'aws-cdk-lib/aws-ec2';
1
+ import { ISubnet, SubnetType } from 'aws-cdk-lib/aws-ec2';
2
+ /**
3
+ * The default names for every subnet type
4
+ */
5
+ export declare function defaultSubnetName(type: SubnetType): "Public" | "Private" | "Isolated" | undefined;
2
6
  /**
3
7
  * Return a subnet name from its construct ID
4
8
  *
package/lib/util.js CHANGED
@@ -2,11 +2,27 @@
2
2
  /* eslint no-bitwise: ["error", { "allow": ["~", "|", "<<", "&"] }] */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.CidrBlockIpv6 = exports.CidrBlock = exports.NetworkUtils = exports.TransitGatewayFeatureStatus = void 0;
5
+ exports.defaultSubnetName = defaultSubnetName;
5
6
  exports.subnetGroupNameFromConstructId = subnetGroupNameFromConstructId;
6
7
  exports.subnetId = subnetId;
7
8
  exports.getFeatureStatus = getFeatureStatus;
8
9
  exports.allRouteTableIds = allRouteTableIds;
9
10
  exports.flatten = flatten;
11
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
12
+ /**
13
+ * The default names for every subnet type
14
+ */
15
+ function defaultSubnetName(type) {
16
+ switch (type) {
17
+ case aws_ec2_1.SubnetType.PUBLIC: return 'Public';
18
+ case aws_ec2_1.SubnetType.PRIVATE_WITH_NAT:
19
+ case aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS:
20
+ return 'Private';
21
+ case aws_ec2_1.SubnetType.PRIVATE_ISOLATED:
22
+ return 'Isolated';
23
+ }
24
+ return undefined;
25
+ }
10
26
  /**
11
27
  * Return a subnet name from its construct ID
12
28
  *
@@ -361,4 +377,4 @@ class CidrBlockIpv6 {
361
377
  }
362
378
  }
363
379
  exports.CidrBlockIpv6 = CidrBlockIpv6;
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNFQUFzRTs7O0FBU3RFLHdFQUVDO0FBS0QsNEJBRUM7QUFpQkQsNENBTUM7QUFLRCw0Q0FRQztBQUVELDBCQUVDO0FBdEREOzs7O0dBSUc7QUFDSCxTQUFnQiw4QkFBOEIsQ0FBQyxNQUFlO0lBQzVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixRQUFRLENBQUMsSUFBWSxFQUFFLENBQVM7SUFDOUMsT0FBTyxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDakMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsSUFBWSwyQkFVWDtBQVZELFdBQVksMkJBQTJCO0lBQ3JDOztPQUVHO0lBQ0gsZ0RBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxrREFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBVlcsMkJBQTJCLDJDQUEzQiwyQkFBMkIsUUFVdEM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxNQUFnQjtJQUMvQyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQztJQUMzRixDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQUMsT0FBa0I7SUFDakQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUM5QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksTUFBTSxDQUFD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QUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFOUMsb0JBQW9CO1FBQ3BCLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUM7S0FDN0M7SUFFRDs7T0FFRztJQUNLLFlBQVksQ0FBQyxXQUFtQjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsK0JBQStCO1lBQy9CLFVBQVUsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0tBQ25CO0NBQ0Y7QUE1SEQsc0NBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLWJpdHdpc2U6IFtcImVycm9yXCIsIHsgXCJhbGxvd1wiOiBbXCJ+XCIsIFwifFwiLCBcIjw8XCIsIFwiJlwiXSB9XSAqL1xuXG5pbXBvcnQgeyBJU3VibmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5cbi8qKlxuICogUmV0dXJuIGEgc3VibmV0IG5hbWUgZnJvbSBpdHMgY29uc3RydWN0IElEXG4gKlxuICogQWxsIHN1Ym5ldCBuYW1lcyBsb29rIGxpa2UgTkFNRSA8PiBcIlN1Ym5ldFwiIDw+IElOREVYXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJuZXRHcm91cE5hbWVGcm9tQ29uc3RydWN0SWQoc3VibmV0OiBJU3VibmV0KSB7XG4gIHJldHVybiBzdWJuZXQubm9kZS5pZC5yZXBsYWNlKC9TdWJuZXRcXGQrJC8sICcnKTtcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSBzdWJuZXQgY29uc3RydWN0IElEIGZyb20gYSBuYW1lIGFuZCBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1Ym5ldElkKG5hbWU6IHN0cmluZywgaTogbnVtYmVyKSB7XG4gIHJldHVybiBgJHtuYW1lfVN1Ym5ldCR7aSArIDF9YDtcbn1cblxuLyoqXG4gKiBUaGUgc3RhdHVzIG9mIGEgVHJhbnNpdCBHYXRld2F5IGZlYXR1cmUuXG4gKi9cbmV4cG9ydCBlbnVtIFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cyB7XG4gIC8qKlxuICAgKiBUaGUgZmVhdHVyZSBpcyBlbmFibGVkLlxuICAgKi9cbiAgRU5BQkxFID0gJ2VuYWJsZScsXG5cbiAgLyoqXG4gICAqIFRoZSBmZWF0dXJlIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgRElTQUJMRSA9ICdkaXNhYmxlJyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZlYXR1cmVTdGF0dXMoc3RhdHVzPzogYm9vbGVhbik6IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cyB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YXR1cyA/IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cy5FTkFCTEUgOiBUcmFuc2l0R2F0ZXdheUZlYXR1cmVTdGF0dXMuRElTQUJMRTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybiB0aGUgdW5pb24gb2YgdGFibGUgSURzIGZyb20gYWxsIHNlbGVjdGVkIHN1Ym5ldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbFJvdXRlVGFibGVJZHMoc3VibmV0czogSVN1Ym5ldFtdKTogc3RyaW5nW10ge1xuICBjb25zdCByZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgIGlmIChzdWJuZXQucm91dGVUYWJsZSAmJiBzdWJuZXQucm91dGVUYWJsZS5yb3V0ZVRhYmxlSWQpIHtcbiAgICAgIHJldC5hZGQoc3VibmV0LnJvdXRlVGFibGUucm91dGVUYWJsZUlkKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEFycmF5LmZyb20ocmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW48QT4oeHM6IEFbXVtdKTogQVtdIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIHhzKTtcbn1cblxuLyoqXG4gKiBOZXR3b3JrVXRpbHMgY29udGFpbnMgaGVscGVycyB0byB3b3JrIHdpdGggbmV0d29yayBjb25zdHJ1Y3RzIChzdWJuZXRzL3JhbmdlcylcbiAqL1xuZXhwb3J0IGNsYXNzIE5ldHdvcmtVdGlscyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gSVB2NCBhZGRyZXNzIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIGlwQWRkcmVzcyBUaGUgSVB2NCBhZGRyZXNzIHN0cmluZyB0byBiZSB2YWxpZGF0ZWQuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIElQdjQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKiBWYWxpZGF0ZXMgYW4gSVB2NCBzdHJpbmdcbiAgICpcbiAgICogcmV0dXJucyB0cnVlIG9mIHRoZSBzdHJpbmcgY29udGFpbnMgNCBudW1iZXJzIGJldHdlZW4gMC0yNTUgZGVsaW1pdGVkIGJ5XG4gICAqIGEgYC5gIGNoYXJhY3RlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB2YWxpZElwKGlwQWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb2N0ZXRzID0gaXBBZGRyZXNzLnNwbGl0KCcuJyk7XG4gICAgaWYgKG9jdGV0cy5sZW5ndGggIT09IDQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG9jdGV0cy5tYXAoKG9jdGV0OiBzdHJpbmcpID0+IHBhcnNlSW50KG9jdGV0LCAxMCkpLlxuICAgICAgZXZlcnkoKG9jdGV0OiBudW1iZXIpID0+IG9jdGV0ID49IDAgJiYgb2N0ZXQgPD0gMjU1KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBJUHY0IGFkZHJlc3MgdG8gaXRzIGNvcnJlc3BvbmRpbmcgbnVtZXJpY2FsIHZhbHVlLlxuICAgKlxuICAgKiBVc2VzIHRoZSBmb3JtdWxhOlxuICAgKiAoZmlyc3Qgb2N0ZXQgKiAyNTbCsykgKyAoc2Vjb25kIG9jdGV0ICogMjU2wrIpICsgKHRoaXJkIG9jdGV0ICogMjU2KSArXG4gICAqIChmb3VydGggb2N0ZXQpXG4gICAqXG4gICAqIEBwYXJhbSAgaXBBZGRyZXNzIHRoZSBJUCBhZGRyZXNzIChlLmcuIDE3NC42Ni4xNzMuMTY4KVxuICAgKiBAcmV0dXJucyB0aGUgaW50ZWdlciB2YWx1ZSBvZiB0aGUgSVAgYWRkcmVzcyAoZS5nIDI5MjM2MDU0MTYpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlwVG9OdW0oaXBBZGRyZXNzOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy52YWxpZElwKGlwQWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtpcEFkZHJlc3N9IGlzIG5vdCB2YWxpZGApO1xuICAgIH1cblxuICAgIHJldHVybiBpcEFkZHJlc3NcbiAgICAgIC5zcGxpdCgnLicpXG4gICAgICAucmVkdWNlKFxuICAgICAgICAocDogbnVtYmVyLCBjOiBzdHJpbmcsIGk6IG51bWJlcikgPT4gcCArIHBhcnNlSW50KGMsIDEwKSAqIDI1NiAqKiAoMyAtIGkpLFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBudW1iZXIgYW5kIGNvbnZlcnRzIGl0IHRvIElQdjQgYWRkcmVzcyBzdHJpbmdcbiAgICpcbiAgICogVGFrZXMgYSBudW1iZXIgKGUuZyAyOTIzNjA1NDE2KSBhbmQgY29udmVydHMgaXQgdG8gYW4gSVB2NCBhZGRyZXNzIHN0cmluZ1xuICAgKiBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBJUHY0XG4gICAqXG4gICAqIEBwYXJhbSBpcE51bSBpbnRlZ2VyIHZhbHVlIG9mIHRoZSBJUCBhZGRyZXNzIChlLmcgMjkyMzYwNTQxNilcbiAgICogQHJldHVybnMgSVB2NCBhZGRyZXNzIChlLmcuIDE3NC42Ni4xNzMuMTY4KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudW1Ub0lwKGlwTnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIHRoaXMgYWxsIGJlY2F1c2UgYml0d2lzZSBtYXRoIGlzIHNpZ25lZFxuICAgIGxldCByZW1haW5pbmcgPSBpcE51bTtcbiAgICBjb25zdCBhZGRyZXNzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgaWYgKHJlbWFpbmluZyAhPT0gMCkge1xuICAgICAgICBhZGRyZXNzLnB1c2goTWF0aC5mbG9vcihyZW1haW5pbmcgLyAyNTYgKiogKDMgLSBpKSkpO1xuICAgICAgICByZW1haW5pbmcgPSByZW1haW5pbmcgJSAyNTYgKiogKDMgLSBpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkZHJlc3MucHVzaCgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaXBBZGRyZXNzOiBzdHJpbmcgPSBhZGRyZXNzLmpvaW4oJy4nKTtcbiAgICBpZiAoICF0aGlzLnZhbGlkSXAoaXBBZGRyZXNzKSApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtpcEFkZHJlc3N9IGlzIG5vdCBhIHZhbGlkIElQIEFkZHJlc3NgKTtcbiAgICB9XG4gICAgcmV0dXJuIGlwQWRkcmVzcztcbiAgfVxufVxuXG4vKipcbiAqIEV4cG9ydGVkIGNsYXNzIGZyb20gVlBDIHRvIHN1cHBvcnQgc3VibmV0IGZpbHRlcmluZ1xuICogYW5kIENJRFIgdmFsaWRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQ2lkckJsb2NrIHtcbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIG5ldG1hc2sgZm9yIGEgZ2l2ZW4gQ0lEUiBtYXNrXG4gICAqXG4gICAqIFRoZSBuZXRtYXNrIGlzIGEgMzItYml0IGJpbmFyeSB2YWx1ZSB1c2VkIHRvIHNlcGFyYXRlIHRoZSBuZXR3b3JrIHBvcnRpb24gZnJvbSB0aGUgaG9zdCBwb3J0aW9uIG9mIGFuIElQdjQgYWRkcmVzcy5cbiAgICogSXQgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgQ0lEUiBwcmVmaXggbGVuZ3RoICh0aGUgbnVtYmVyIG9mIGJpdHMgdXNlZCB0byByZXByZXNlbnQgdGhlIG5ldHdvcmsgcG9ydGlvbikuXG4gICAqXG4gICAqIEZvciBleGFtcGxlOlxuICAgKiBDaWRyQmxvY2suY2FsY3VsYXRlTmV0bWFzaygyNCkgcmV0dXJucyAnMjU1LjI1NS4yNTUuMCdcbiAgICpcbiAgICogQHBhcmFtIG1hc2sgVGhlIENJRFIgcHJlZml4IGxlbmd0aCAoYmV0d2VlbiAwIGFuZCAzMikgZm9yIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgbmV0bWFzay5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIG5ldG1hc2sgYnkgcGVyZm9ybWluZyBhIGJpdHdpc2UgTk9UIG9uIHRoZSByZXN1bHQgb2YgKDJeMzIgLSAyXigzMiAtIG1hc2spKVxuICAgKiBAcmV0dXJucyBUaGUgbmV0bWFzayBzdHJpbmcgaW4gSVB2NCBhZGRyZXNzIGZvcm1hdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV0bWFzayhtYXNrOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBOZXR3b3JrVXRpbHMubnVtVG9JcCgyICoqIDMyIC0gMiAqKiAoMzIgLSBtYXNrKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgbnVtYmVyIElQIGFkZHJlc3NlcyBpbiBhIENJRFIgTWFza1xuICAgKlxuICAgKiBGb3IgZXhhbXBsZTpcbiAgICogQ2lkckJsb2NrLmNhbGN1bGF0ZU5ldHNpemUoMTYpIHJldHVybnMgNjU1MzZcbiAgICpcbiAgICogQHBhcmFtIG1hc2sgVGhlIENJRFIgcHJlZml4IGxlbmd0aCAoYmV0d2VlbiAwIGFuZCAzMikgZm9yIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgbmV0d29yayBzaXplLlxuICAgKiBDaWRyQmxvY2suY2FsY3VsYXRlTmV0c2l6ZSgyNCkgcmV0dXJucyAyNTZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV0c2l6ZShtYXNrOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiAyICoqICgzMiAtIG1hc2spO1xuICB9XG5cbiAgLyoqXG4gICAqIElQIGFkZHJlc3MgaW4gdGhlIENJRFIgYmxvY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2lkcjogc3RyaW5nO1xuXG4gIC8qXG4gICAqIFRoZSBDSURSIG1hc2sgZS5nLiBmb3IgQ0lEUiAnMTAuMC4wLjAvMjEnIHJldHVybnMgMjFcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYXNrOiBudW1iZXI7XG5cbiAgLypcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBJUCBhZGRyZXNzZXMgaW4gdGhlIENJRFJcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrU2l6ZTogbnVtYmVyO1xuXG4gIC8qXG4gICAqIFRoZSBuZXR3b3JrIGFkZHJlc3MgcHJvdmlkZWQgaW4gQ0lEUiBjcmVhdGlvbiBvZmZzZXQgYnkgdGhlIE5ldHNpemUgLTFcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya0FkZHJlc3M6IG51bWJlcjtcblxuICAvKlxuICAgKiBQYXJzZXMgZWl0aGVyIENJRFIgbm90YXRpb24gU3RyaW5nIG9yIHR3byBudW1iZXJzIHJlcHJlc2VudGluZyB0aGUgSVBcbiAgICogc3BhY2VcbiAgICpcbiAgICogY2lkciBleHBlY3RzIGEgc3RyaW5nICcxMC4wLjAuMC8xNidcbiAgICogaXBBZGRyZXNzIGV4cGVjdHMgYSBudW1iZXJcbiAgICogbWFzayBleHBlY3RzIGEgbnVtYmVyXG4gICAqXG4gICAqIElmIHRoZSBnaXZlbiBgY2lkcmAgb3IgYGlwQWRkcmVzc2AgaXMgbm90IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLFxuICAgKiB0aGVuIHRoZSBuZXh0IGF2YWlsYWJsZSBibG9jayB3aWxsIGJlIHJldHVybmVkLiBGb3IgZXhhbXBsZSwgaWZcbiAgICogYDEwLjAuMy4xLzI4YCBpcyBnaXZlbiB0aGUgcmV0dXJuZWQgYmxvY2sgd2lsbCByZXByZXNlbnQgYDEwLjAuMy4xNi8yOGAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjaWRyOiBzdHJpbmcpXG4gIGNvbnN0cnVjdG9yKGlwQWRkcmVzczogbnVtYmVyLCBtYXNrOiBudW1iZXIpXG4gIGNvbnN0cnVjdG9yKGlwQWRkcmVzc09yQ2lkcjogc3RyaW5nIHwgbnVtYmVyLCBtYXNrPzogbnVtYmVyKSB7XG4gICAgaWYgKHR5cGVvZiBpcEFkZHJlc3NPckNpZHIgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLm1hc2sgPSBwYXJzZUludChpcEFkZHJlc3NPckNpZHIuc3BsaXQoJy8nKVsxXSwgMTApO1xuICAgICAgdGhpcy5uZXR3b3JrQWRkcmVzcyA9IE5ldHdvcmtVdGlscy5pcFRvTnVtKGlwQWRkcmVzc09yQ2lkci5zcGxpdCgnLycpWzBdKSArXG4gICAgICAgIENpZHJCbG9jay5jYWxjdWxhdGVOZXRzaXplKHRoaXMubWFzaykgLSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIG1hc2sgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHRoaXMubWFzayA9IG1hc2s7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGlzIHNob3VsZCBiZSBpbXBvc3NpYmxlXG4gICAgICAgIHRoaXMubWFzayA9IDE2O1xuICAgICAgfVxuICAgICAgdGhpcy5uZXR3b3JrQWRkcmVzcyA9IGlwQWRkcmVzc09yQ2lkciArIENpZHJCbG9jay5jYWxjdWxhdGVOZXRzaXplKHRoaXMubWFzaykgLSAxO1xuICAgICAgdGhpcy5uZXR3b3JrU2l6ZSA9IDIgKiogKDMyIC0gdGhpcy5tYXNrKTtcbiAgICB9XG4gICAgdGhpcy5uZXR3b3JrU2l6ZSA9IDIgKiogKDMyIC0gdGhpcy5tYXNrKTtcbiAgICB0aGlzLmNpZHIgPSBgJHt0aGlzLm1pbklwKCl9LyR7dGhpcy5tYXNrfWA7XG4gIH1cblxuICAvKlxuICAgKiBUaGUgbWF4aW11bSBJUCBpbiB0aGUgQ0lEUiBCbG9jayBlLmcuICcxMC4wLjguMjU1J1xuICAgKi9cbiAgcHVibGljIG1heElwKCk6IHN0cmluZyB7XG4gICAgLy8gbWluICsgKDJeKDMyLW1hc2spKSAtIDEgW3plcm8gbmVlZHMgdG8gY291bnRdXG4gICAgcmV0dXJuIE5ldHdvcmtVdGlscy5udW1Ub0lwKHRoaXMubWF4QWRkcmVzcygpKTtcbiAgfVxuXG4gIC8qXG4gICAqIENoZWNrcyBpZiB0aGlzIENJRFIgYmxvY2sgZnVsbHkgY29udGFpbnMgdGhlIHByb3ZpZGVkIENJRFIgYmxvY2suXG4gICAqXG4gICAqIEBwYXJhbSBvdGhlciBUaGUgQ0lEUiBibG9jayB0byBjaGVjayBmb3IgY29udGFpbm1lbnQuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhpcyBDSURSIGJsb2NrIGZ1bGx5IGNvbnRhaW5zIHRoZSBwcm92aWRlZCBDSURSIGJsb2NrLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIFRoZSBtaW5pbXVtIElQIGluIHRoZSBDSURSIEJsb2NrIGUuZy4gJzEwLjAuMC4wJ1xuICAgKi9cbiAgcHVibGljIG1pbklwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE5ldHdvcmtVdGlscy5udW1Ub0lwKHRoaXMubWluQWRkcmVzcygpKTtcbiAgfVxuXG4gIC8qXG4gICAqIFJldHVybnMgdGhlIG51bWJlciByZXByZXNlbnRhdGlvbiBmb3IgdGhlIG1pbmltdW0gSVB2NCBhZGRyZXNzXG4gICAqL1xuICBwdWJsaWMgbWluQWRkcmVzcygpOiBudW1iZXIge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMubmV0d29ya0FkZHJlc3MgJSB0aGlzLm5ldHdvcmtTaXplO1xuICAgIHJldHVybiB0aGlzLm5ldHdvcmtBZGRyZXNzIC0gZGl2O1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbWF4aW11bSBJUHY0IGFkZHJlc3NcbiAgICovXG4gIHB1YmxpYyBtYXhBZGRyZXNzKCk6IG51bWJlciB7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gSVAgYWRkcmVzcyBpbiB0aGUgQ0lEUiBibG9jayBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIGFkZHJlc3MgKyAoMl4oMzItbWFzaykpIC0gMS5cbiAgICAgKiBUaGlzIGlzIGJlY2F1c2UgdGhlIG1pbmltdW0gYWRkcmVzcyByZXByZXNlbnRzIHRoZSBuZXR3b3JrIGFkZHJlc3MsIGFuZCB0aGUgbWF4aW11bSBhZGRyZXNzIGlzIHRoZSBicm9hZGNhc3QgYWRkcmVzcy5cbiAgICAgKi9cbiAgICAvLyBtaW4gKyAoMl4oMzItbWFzaykpIC0gMSBbemVybyBuZWVkcyB0byBjb3VudF1cbiAgICByZXR1cm4gdGhpcy5taW5BZGRyZXNzKCkgKyB0aGlzLm5ldHdvcmtTaXplIC0gMTtcbiAgfVxuXG4gIC8qXG4gICAqIFJldHVybnMgdGhlIG5leHQgY29uc2VjdXRpdmUgQ0lEUiBibG9jayBvZiB0aGUgc2FtZSBtYXNrIHNpemUgZm9sbG93aW5nIHRoaXMgQ0lEUiBibG9jay5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoaXMgQ0lEUiBibG9jayBpcyAnMTAuMC4wLjAvMjQnLCB0aGUgbmV4dCBibG9jayB3b3VsZCBiZSAnMTAuMC4xLjAvMjQnLlxuICAgKlxuICAgKiBSZXR1cm5zIHRoZSBuZXh0IENJRFIgQmxvY2sgb2YgdGhlIHNhbWUgbWFzayBzaXplXG4gICAqL1xuICBwdWJsaWMgbmV4dEJsb2NrKCk6IENpZHJCbG9jayB7XG4gICAgcmV0dXJuIG5ldyBDaWRyQmxvY2sodGhpcy5tYXhBZGRyZXNzKCkgKyAxLCB0aGlzLm1hc2spO1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgQ2lkckJsb2NrIGZ1bGx5IGNvbnRhaW5zIHRoZSBwcm92aWRlZCBDaWRyQmxvY2tcbiAgICovXG4gIHB1YmxpYyBjb250YWluc0NpZHIob3RoZXI6IENpZHJCbG9jayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5tYXhBZGRyZXNzKCkgPj0gb3RoZXIubWF4QWRkcmVzcygpKSAmJlxuICAgICAgKHRoaXMubWluQWRkcmVzcygpIDw9IG90aGVyLm1pbkFkZHJlc3MoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHR3byBJUHY0IGFkZHJlc3MgcmFuZ2VzIG92ZXJsYXAuXG4gICAqXG4gICAqIEBwYXJhbSByYW5nZTEgVGhlIGZpcnN0IElQIGFkZHJlc3MgcmFuZ2UgcmVwcmVzZW50ZWQgYXMgYW4gYXJyYXkgW3N0YXJ0LCBlbmRdLlxuICAgKiBAcGFyYW0gcmFuZ2UyIFRoZSBzZWNvbmQgSVAgYWRkcmVzcyByYW5nZSByZXByZXNlbnRlZCBhcyBhbiBhcnJheSBbc3RhcnQsIGVuZF0uXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHR3byBJUCBhZGRyZXNzIHJhbmdlcyBvdmVybGFwLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgbWV0aG9kIGFzc3VtZXMgdGhhdCB0aGUgc3RhcnQgYW5kIGVuZCBhZGRyZXNzZXMgYXJlIHZhbGlkIElQdjQgYWRkcmVzc2VzLlxuICAgKi9cbiAgcHVibGljIHJhbmdlc092ZXJsYXAocmFuZ2UxOiBbc3RyaW5nLCBzdHJpbmddLCByYW5nZTI6IFtzdHJpbmcsIHN0cmluZ10pOiBib29sZWFuIHtcbiAgICBjb25zdCBbc3RhcnQxLCBlbmQxXSA9IHJhbmdlMS5tYXAoaXAgPT4gTmV0d29ya1V0aWxzLmlwVG9OdW0oaXApKTtcbiAgICBjb25zdCBbc3RhcnQyLCBlbmQyXSA9IHJhbmdlMi5tYXAoaXAgPT4gTmV0d29ya1V0aWxzLmlwVG9OdW0oaXApKTtcbiAgICAvLyBDaGVjayBpZiByYW5nZXMgb3ZlcmxhcFxuICAgIHJldHVybiBzdGFydDEgPD0gZW5kMiAmJiBzdGFydDIgPD0gZW5kMTtcbiAgfVxufVxuXG4vKipcbiAqIENsYXNzIHdpdGggaGVscGVyIGZ1bmN0aW9ucyB0byBzdXBwb3J0XG4gKiBTdWJuZXQgSXB2NiBBZGRyZXNzIFZhbGlkYXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIG1ldGhvZHMgZm9yIHdvcmtpbmcgd2l0aCBJUHY2IENJRFIgYmxvY2tzLCBpbmNsdWRpbmcgY2FsY3VsYXRpbmcgdGhlIG1pbmltdW0gYW5kIG1heGltdW1cbiAqIElQIGFkZHJlc3NlcyBpbiBhIENJRFIgYmxvY2ssIGFuZCBjaGVja2luZyBpZiB0d28gQ0lEUiBibG9ja3Mgb3ZlcmxhcC5cbiAqL1xuZXhwb3J0IGNsYXNzIENpZHJCbG9ja0lwdjYge1xuICAvKipcbiAgICogSXB2NiBDSURSIHJhbmdlXG4gICAqL1xuICBwdWJsaWMgY2lkcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENJRFIgcHJlZml4IGxlbmd0aCAobnVtYmVyIG9mIGJpdHMgdXNlZCBmb3IgdGhlIG5ldHdvcmsgcG9ydGlvbiBvZiB0aGUgYWRkcmVzcykuXG4gICAqL1xuICBwdWJsaWMgY2lkclByZWZpeDogbnVtYmVyO1xuICBwcml2YXRlIGlwUGFydHM6IGJpZ2ludFtdO1xuICBwcml2YXRlIG5ldHdvcmtCaXRzOiBudW1iZXI7XG4gIHByaXZhdGUgbmV0d29ya1BhcnQ6IGJpZ2ludFtdO1xuXG4gIGNvbnN0cnVjdG9yKGNpZHI6IHN0cmluZykge1xuICAgIHRoaXMuY2lkciA9IGNpZHI7XG4gICAgY29uc3QgW2lwQWRkcmVzcywgcHJlZml4XSA9IGNpZHIuc3BsaXQoJy8nKTtcbiAgICB0aGlzLmNpZHJQcmVmaXggPSBwYXJzZUludChwcmVmaXgsIDEwKTtcbiAgICB0aGlzLmlwUGFydHMgPSB0aGlzLnBhcnNlQmlnSW50UGFydHMoaXBBZGRyZXNzKTtcbiAgICB0aGlzLm5ldHdvcmtCaXRzID0gdGhpcy5jaWRyUHJlZml4O1xuICAgIHRoaXMubmV0d29ya1BhcnQgPSB0aGlzLmlwUGFydHMuc2xpY2UoMCwgTWF0aC5jZWlsKHRoaXMubmV0d29ya0JpdHMgLyAxNikpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUJpZ0ludFBhcnRzKGlwQWRkcmVzczogc3RyaW5nKTogYmlnaW50W10ge1xuICAgIHJldHVybiBpcEFkZHJlc3Muc3BsaXQoJzonKS5tYXAoKHBhcnQpID0+IEJpZ0ludChgMHgke3BhcnQucGFkU3RhcnQoNCwgJzAnKX1gIHx8ICcwJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIE1pbmltdW0gSVB2NiBhZGRyZXNzIGZvciBhIHByb3ZpZGVkIENJRFJcbiAgICovXG4gIHB1YmxpYyBtaW5JcCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXJ0SVAgPSBbLi4udGhpcy5uZXR3b3JrUGFydF07XG4gICAgZm9yIChsZXQgaSA9IHRoaXMubmV0d29ya1BhcnQubGVuZ3RoOyBpIDwgODsgaSsrKSB7XG4gICAgICBzdGFydElQLnB1c2goQmlnSW50KDApKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0SVAubWFwKHRoaXMuZm9ybWF0SVB2NlBhcnQpLmpvaW4oJzonKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBtYXhpbXVtIElQdjYgYWRkcmVzcyBpbiB0aGUgQ0lEUiBibG9ja1xuICAgKiBAcmV0dXJucyBUaGUgbWF4aW11bSBJUHY2IGFkZHJlc3MgYXMgYSBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBtYXhJcCgpOiBzdHJpbmcge1xuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSBob3cgbWFueSAxNi1iaXQgYmxvY2tzIGFyZSBuZWVkZWQgZm9yIHRoZSBuZXR3b3JrIHBvcnRpb25cbiAgICAgKiBlLmcuIGZvciAvNTYsIG5ldHdvcmtQYXJ0TGVuZ3RoID0gY2VpbCg1Ni8xNikgPSA0IGJsb2Nrc1xuICAgICAqL1xuICAgIGNvbnN0IG5ldHdvcmtQYXJ0TGVuZ3RoID0gTWF0aC5jZWlsKHRoaXMuY2lkclByZWZpeCAvIDE2KTtcbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgcmVtYWluaW5nIGJpdHMgaW4gbGFzdCBuZXR3b3JrIGJsb2NrXG4gICAgICogZS5nLiBmb3IgLzU2LCByZW1haW5pbmdCaXRzID0gNTYgJSAxNiA9IDggYml0c1xuICAgICAqL1xuICAgIGNvbnN0IHJlbWFpbmluZ0JpdHMgPSB0aGlzLmNpZHJQcmVmaXggJSAxNjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgY29weSBvZiBuZXR3b3JrIHBvcnRpb24gb2YgYWRkcmVzc1xuICAgICAqIGUuZy4gWzIwMDEsIGRiOCwgMCwgMF0gZm9yIDIwMDE6ZGI4OjovNTZcbiAgICAgKi9cbiAgICBjb25zdCBlbmRJUCA9IFsuLi50aGlzLm5ldHdvcmtQYXJ0XTtcblxuICAgIC8qKlxuICAgICAqIElmIHRoZXJlIGFyZSByZW1haW5pbmcgYml0cyBpbiBsYXN0IG5ldHdvcmsgYmxvY2ssXG4gICAgICogY3JlYXRlIGFwcHJvcHJpYXRlIGJpdG1hc2sgYW5kIGFwcGx5IHRvIGxhc3QgbmV0d29yayBibG9ja1xuICAgICAqIGUuZy4gZm9yIC81NjogbWFzayA9ICgxIDw8ICgxNi04KSkgLSAxID0gMHgwMEZGXG4gICAgICovXG4gICAgaWYgKHJlbWFpbmluZ0JpdHMgPiAwKSB7XG4gICAgICBjb25zdCBsYXN0TmV0d29ya0luZGV4ID0gbmV0d29ya1BhcnRMZW5ndGggLSAxO1xuICAgICAgY29uc3QgbWFzayA9IChCaWdJbnQoMSkgPDwgQmlnSW50KDE2IC0gcmVtYWluaW5nQml0cykpIC0gQmlnSW50KDEpO1xuICAgICAgLyoqXG4gICAgICAgKiBBcHBseSBiaXRtYXNrIHRvIGxhc3QgbmV0d29yayBibG9jayB1c2luZyBiaXR3aXNlIE9SXG4gICAgICAgKiBlLmcuIGlmIGxhc3ROZXR3b3JrSW5kZXg9MyBhbmQgbWFzaz0weDAwRkY6XG4gICAgICAgKiBuZXR3b3JrUGFydFszXT0weDAwMDAgfCAweDAwRkYgPSAweDAwRkZcbiAgICAgICAqL1xuICAgICAgZW5kSVBbbGFzdE5ldHdvcmtJbmRleF0gPSB0aGlzLm5ldHdvcmtQYXJ0W2xhc3ROZXR3b3JrSW5kZXhdIHwgbWFzaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWxsIHJlbWFpbmluZyBibG9ja3Mgd2l0aCBtYXhpbXVtIHZhbHVlIDB4RkZGRlxuICAgICAqIGUuZy4gWzIwMDEsIGRiOCwgMCwgZmYsIGZmZmYsIGZmZmYsIGZmZmYsIGZmZmZdXG4gICAgICovXG4gICAgZm9yIChsZXQgaSA9IG5ldHdvcmtQYXJ0TGVuZ3RoOyBpIDwgODsgaSsrKSB7XG4gICAgICBlbmRJUC5wdXNoKEJpZ0ludCgnMHhmZmZmJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYmxvY2tzIHRvIGhleCBzdHJpbmdzIGFuZCBqb2luIHdpdGggY29sb25zXG4gICAgICogZS5nLiAyMDAxOmRiODowOmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmZcbiAgICAgKi9cbiAgICByZXR1cm4gZW5kSVAubWFwKHRoaXMuZm9ybWF0SVB2NlBhcnQpLmpvaW4oJzonKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0SVB2NlBhcnQgPSAocGFydDogYmlnaW50KSA9PiBwYXJ0LnRvU3RyaW5nKDE2KS5wYWRTdGFydCg0LCAnMCcpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gcmFuZ2UxIElwdjYgQ0lEUiByYW5nZSB0byBjb21wYXJlXG4gICAqIEBwYXJhbSByYW5nZTIgSXB2NiBDSURSIHJhbmdlIHRvIGNvbXBhcmVcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0d28gcmFuZ2VzIG92ZXJsYXAsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIHJhbmdlc092ZXJsYXAocmFuZ2UxOiBzdHJpbmcsIHJhbmdlMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gQ3JlYXRlIG5ldyBDaWRyQmxvY2tJcHY2IGluc3RhbmNlcyBmb3IgYm90aCByYW5nZXNcbiAgICBjb25zdCBjaWRyMSA9IG5ldyBDaWRyQmxvY2tJcHY2KHJhbmdlMSk7XG4gICAgY29uc3QgY2lkcjIgPSBuZXcgQ2lkckJsb2NrSXB2NihyYW5nZTIpO1xuXG4gICAgLy8gQ29udmVydCBtaW4gYW5kIG1heCBJUHMgdG8gbnVtZXJpYyB2YWx1ZXMgZm9yIGNvbXBhcmlzb25cbiAgICBjb25zdCBzdGFydDEgPSB0aGlzLmlwdjZUb051bWJlcihjaWRyMS5taW5JcCgpKTtcbiAgICBjb25zdCBlbmQxID0gdGhpcy5pcHY2VG9OdW1iZXIoY2lkcjEubWF4SXAoKSk7XG4gICAgY29uc3Qgc3RhcnQyID0gdGhpcy5pcHY2VG9OdW1iZXIoY2lkcjIubWluSXAoKSk7XG4gICAgY29uc3QgZW5kMiA9IHRoaXMuaXB2NlRvTnVtYmVyKGNpZHIyLm1heElwKCkpO1xuXG4gICAgLy8gQ2hlY2sgZm9yIG92ZXJsYXBcbiAgICByZXR1cm4gKHN0YXJ0MSA8PSBlbmQyKSAmJiAoc3RhcnQyIDw9IGVuZDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIENvbnZlcnRzIGdpdmVuIGlwdjYgYWRkcmVzcyByYW5nZSB0byBiaWcgaW50IG51bWJlclxuICAgKi9cbiAgcHJpdmF0ZSBpcHY2VG9OdW1iZXIoaXB2NkFkZHJlc3M6IHN0cmluZyk6IGJpZ2ludCB7XG4gICAgY29uc3QgYmxvY2tzID0gdGhpcy5wYXJzZUJpZ0ludFBhcnRzKGlwdjZBZGRyZXNzKTtcbiAgICBsZXQgaXB2Nk51bWJlciA9IEJpZ0ludCgwKTtcbiAgICBmb3IgKGNvbnN0IGJsb2NrIG9mIGJsb2Nrcykge1xuICAgICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSAqL1xuICAgICAgaXB2Nk51bWJlciA9IChpcHY2TnVtYmVyIDw8IEJpZ0ludCgxNikpICsgYmxvY2s7XG4gICAgfVxuICAgIHJldHVybiBpcHY2TnVtYmVyO1xuICB9XG59XG4iXX0=
380
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNFQUFzRTs7O0FBT3RFLDhDQVVDO0FBT0Qsd0VBRUM7QUFLRCw0QkFFQztBQWlCRCw0Q0FNQztBQUtELDRDQVFDO0FBRUQsMEJBRUM7QUF2RUQsaURBQTBEO0FBRTFEOztHQUVHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsSUFBZ0I7SUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssb0JBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQztRQUN4QyxLQUFLLG9CQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDakMsS0FBSyxvQkFBVSxDQUFDLG1CQUFtQjtZQUNqQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLG9CQUFVLENBQUMsZ0JBQWdCO1lBQzlCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLDhCQUE4QixDQUFDLE1BQWU7SUFDNUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxJQUFZLEVBQUUsQ0FBUztJQUM5QyxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztBQUNqQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLDJCQVVYO0FBVkQsV0FBWSwyQkFBMkI7SUFDckM7O09BRUc7SUFDSCxnREFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILGtEQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFWVywyQkFBMkIsMkNBQTNCLDJCQUEyQixRQVV0QztBQUVELFNBQWdCLGdCQUFnQixDQUFDLE1BQWdCO0lBQy9DLElB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RDtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV4QywyREFBMkQ7UUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU5QyxvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQztLQUM3QztJQUVEOztPQUVHO0lBQ0ssWUFBWSxDQUFDLFdBQW1CO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQiwrQkFBK0I7WUFDL0IsVUFBVSxHQUFHLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNsRCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7S0FDbkI7Q0FDRjtBQTVIRCxzQ0E0SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tYml0d2lzZTogW1wiZXJyb3JcIiwgeyBcImFsbG93XCI6IFtcIn5cIiwgXCJ8XCIsIFwiPDxcIiwgXCImXCJdIH1dICovXG5cbmltcG9ydCB7IElTdWJuZXQsIFN1Ym5ldFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBuYW1lcyBmb3IgZXZlcnkgc3VibmV0IHR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTdWJuZXROYW1lKHR5cGU6IFN1Ym5ldFR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBTdWJuZXRUeXBlLlBVQkxJQzogcmV0dXJuICdQdWJsaWMnO1xuICAgIGNhc2UgU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfTkFUOlxuICAgIGNhc2UgU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTOlxuICAgICAgcmV0dXJuICdQcml2YXRlJztcbiAgICBjYXNlIFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRDpcbiAgICAgIHJldHVybiAnSXNvbGF0ZWQnO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3VibmV0IG5hbWUgZnJvbSBpdHMgY29uc3RydWN0IElEXG4gKlxuICogQWxsIHN1Ym5ldCBuYW1lcyBsb29rIGxpa2UgTkFNRSA8PiBcIlN1Ym5ldFwiIDw+IElOREVYXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJuZXRHcm91cE5hbWVGcm9tQ29uc3RydWN0SWQoc3VibmV0OiBJU3VibmV0KSB7XG4gIHJldHVybiBzdWJuZXQubm9kZS5pZC5yZXBsYWNlKC9TdWJuZXRcXGQrJC8sICcnKTtcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSBzdWJuZXQgY29uc3RydWN0IElEIGZyb20gYSBuYW1lIGFuZCBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1Ym5ldElkKG5hbWU6IHN0cmluZywgaTogbnVtYmVyKSB7XG4gIHJldHVybiBgJHtuYW1lfVN1Ym5ldCR7aSArIDF9YDtcbn1cblxuLyoqXG4gKiBUaGUgc3RhdHVzIG9mIGEgVHJhbnNpdCBHYXRld2F5IGZlYXR1cmUuXG4gKi9cbmV4cG9ydCBlbnVtIFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cyB7XG4gIC8qKlxuICAgKiBUaGUgZmVhdHVyZSBpcyBlbmFibGVkLlxuICAgKi9cbiAgRU5BQkxFID0gJ2VuYWJsZScsXG5cbiAgLyoqXG4gICAqIFRoZSBmZWF0dXJlIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgRElTQUJMRSA9ICdkaXNhYmxlJyxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZlYXR1cmVTdGF0dXMoc3RhdHVzPzogYm9vbGVhbik6IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cyB8IHVuZGVmaW5lZCB7XG4gIGlmIChzdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0YXR1cyA/IFRyYW5zaXRHYXRld2F5RmVhdHVyZVN0YXR1cy5FTkFCTEUgOiBUcmFuc2l0R2F0ZXdheUZlYXR1cmVTdGF0dXMuRElTQUJMRTtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybiB0aGUgdW5pb24gb2YgdGFibGUgSURzIGZyb20gYWxsIHNlbGVjdGVkIHN1Ym5ldHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFsbFJvdXRlVGFibGVJZHMoc3VibmV0czogSVN1Ym5ldFtdKTogc3RyaW5nW10ge1xuICBjb25zdCByZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgZm9yIChjb25zdCBzdWJuZXQgb2Ygc3VibmV0cykge1xuICAgIGlmIChzdWJuZXQucm91dGVUYWJsZSAmJiBzdWJuZXQucm91dGVUYWJsZS5yb3V0ZVRhYmxlSWQpIHtcbiAgICAgIHJldC5hZGQoc3VibmV0LnJvdXRlVGFibGUucm91dGVUYWJsZUlkKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEFycmF5LmZyb20ocmV0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW48QT4oeHM6IEFbXVtdKTogQVtdIHtcbiAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sIHhzKTtcbn1cblxuLyoqXG4gKiBOZXR3b3JrVXRpbHMgY29udGFpbnMgaGVscGVycyB0byB3b3JrIHdpdGggbmV0d29yayBjb25zdHJ1Y3RzIChzdWJuZXRzL3JhbmdlcylcbiAqL1xuZXhwb3J0IGNsYXNzIE5ldHdvcmtVdGlscyB7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gSVB2NCBhZGRyZXNzIHN0cmluZy5cbiAgICpcbiAgICogQHBhcmFtIGlwQWRkcmVzcyBUaGUgSVB2NCBhZGRyZXNzIHN0cmluZyB0byBiZSB2YWxpZGF0ZWQuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIElQdjQgYWRkcmVzcywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKiBWYWxpZGF0ZXMgYW4gSVB2NCBzdHJpbmdcbiAgICpcbiAgICogcmV0dXJucyB0cnVlIG9mIHRoZSBzdHJpbmcgY29udGFpbnMgNCBudW1iZXJzIGJldHdlZW4gMC0yNTUgZGVsaW1pdGVkIGJ5XG4gICAqIGEgYC5gIGNoYXJhY3RlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB2YWxpZElwKGlwQWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb2N0ZXRzID0gaXBBZGRyZXNzLnNwbGl0KCcuJyk7XG4gICAgaWYgKG9jdGV0cy5sZW5ndGggIT09IDQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIG9jdGV0cy5tYXAoKG9jdGV0OiBzdHJpbmcpID0+IHBhcnNlSW50KG9jdGV0LCAxMCkpLlxuICAgICAgZXZlcnkoKG9jdGV0OiBudW1iZXIpID0+IG9jdGV0ID49IDAgJiYgb2N0ZXQgPD0gMjU1KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBJUHY0IGFkZHJlc3MgdG8gaXRzIGNvcnJlc3BvbmRpbmcgbnVtZXJpY2FsIHZhbHVlLlxuICAgKlxuICAgKiBVc2VzIHRoZSBmb3JtdWxhOlxuICAgKiAoZmlyc3Qgb2N0ZXQgKiAyNTbCsykgKyAoc2Vjb25kIG9jdGV0ICogMjU2wrIpICsgKHRoaXJkIG9jdGV0ICogMjU2KSArXG4gICAqIChmb3VydGggb2N0ZXQpXG4gICAqXG4gICAqIEBwYXJhbSAgaXBBZGRyZXNzIHRoZSBJUCBhZGRyZXNzIChlLmcuIDE3NC42Ni4xNzMuMTY4KVxuICAgKiBAcmV0dXJucyB0aGUgaW50ZWdlciB2YWx1ZSBvZiB0aGUgSVAgYWRkcmVzcyAoZS5nIDI5MjM2MDU0MTYpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlwVG9OdW0oaXBBZGRyZXNzOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy52YWxpZElwKGlwQWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtpcEFkZHJlc3N9IGlzIG5vdCB2YWxpZGApO1xuICAgIH1cblxuICAgIHJldHVybiBpcEFkZHJlc3NcbiAgICAgIC5zcGxpdCgnLicpXG4gICAgICAucmVkdWNlKFxuICAgICAgICAocDogbnVtYmVyLCBjOiBzdHJpbmcsIGk6IG51bWJlcikgPT4gcCArIHBhcnNlSW50KGMsIDEwKSAqIDI1NiAqKiAoMyAtIGkpLFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYWtlcyBudW1iZXIgYW5kIGNvbnZlcnRzIGl0IHRvIElQdjQgYWRkcmVzcyBzdHJpbmdcbiAgICpcbiAgICogVGFrZXMgYSBudW1iZXIgKGUuZyAyOTIzNjA1NDE2KSBhbmQgY29udmVydHMgaXQgdG8gYW4gSVB2NCBhZGRyZXNzIHN0cmluZ1xuICAgKiBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBJUHY0XG4gICAqXG4gICAqIEBwYXJhbSBpcE51bSBpbnRlZ2VyIHZhbHVlIG9mIHRoZSBJUCBhZGRyZXNzIChlLmcgMjkyMzYwNTQxNilcbiAgICogQHJldHVybnMgSVB2NCBhZGRyZXNzIChlLmcuIDE3NC42Ni4xNzMuMTY4KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudW1Ub0lwKGlwTnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIC8vIHRoaXMgYWxsIGJlY2F1c2UgYml0d2lzZSBtYXRoIGlzIHNpZ25lZFxuICAgIGxldCByZW1haW5pbmcgPSBpcE51bTtcbiAgICBjb25zdCBhZGRyZXNzID0gbmV3IEFycmF5PG51bWJlcj4oKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgaWYgKHJlbWFpbmluZyAhPT0gMCkge1xuICAgICAgICBhZGRyZXNzLnB1c2goTWF0aC5mbG9vcihyZW1haW5pbmcgLyAyNTYgKiogKDMgLSBpKSkpO1xuICAgICAgICByZW1haW5pbmcgPSByZW1haW5pbmcgJSAyNTYgKiogKDMgLSBpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkZHJlc3MucHVzaCgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaXBBZGRyZXNzOiBzdHJpbmcgPSBhZGRyZXNzLmpvaW4oJy4nKTtcbiAgICBpZiAoICF0aGlzLnZhbGlkSXAoaXBBZGRyZXNzKSApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtpcEFkZHJlc3N9IGlzIG5vdCBhIHZhbGlkIElQIEFkZHJlc3NgKTtcbiAgICB9XG4gICAgcmV0dXJuIGlwQWRkcmVzcztcbiAgfVxufVxuXG4vKipcbiAqIEV4cG9ydGVkIGNsYXNzIGZyb20gVlBDIHRvIHN1cHBvcnQgc3VibmV0IGZpbHRlcmluZ1xuICogYW5kIENJRFIgdmFsaWRhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQ2lkckJsb2NrIHtcbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIG5ldG1hc2sgZm9yIGEgZ2l2ZW4gQ0lEUiBtYXNrXG4gICAqXG4gICAqIFRoZSBuZXRtYXNrIGlzIGEgMzItYml0IGJpbmFyeSB2YWx1ZSB1c2VkIHRvIHNlcGFyYXRlIHRoZSBuZXR3b3JrIHBvcnRpb24gZnJvbSB0aGUgaG9zdCBwb3J0aW9uIG9mIGFuIElQdjQgYWRkcmVzcy5cbiAgICogSXQgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgQ0lEUiBwcmVmaXggbGVuZ3RoICh0aGUgbnVtYmVyIG9mIGJpdHMgdXNlZCB0byByZXByZXNlbnQgdGhlIG5ldHdvcmsgcG9ydGlvbikuXG4gICAqXG4gICAqIEZvciBleGFtcGxlOlxuICAgKiBDaWRyQmxvY2suY2FsY3VsYXRlTmV0bWFzaygyNCkgcmV0dXJucyAnMjU1LjI1NS4yNTUuMCdcbiAgICpcbiAgICogQHBhcmFtIG1hc2sgVGhlIENJRFIgcHJlZml4IGxlbmd0aCAoYmV0d2VlbiAwIGFuZCAzMikgZm9yIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgbmV0bWFzay5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIG5ldG1hc2sgYnkgcGVyZm9ybWluZyBhIGJpdHdpc2UgTk9UIG9uIHRoZSByZXN1bHQgb2YgKDJeMzIgLSAyXigzMiAtIG1hc2spKVxuICAgKiBAcmV0dXJucyBUaGUgbmV0bWFzayBzdHJpbmcgaW4gSVB2NCBhZGRyZXNzIGZvcm1hdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV0bWFzayhtYXNrOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBOZXR3b3JrVXRpbHMubnVtVG9JcCgyICoqIDMyIC0gMiAqKiAoMzIgLSBtYXNrKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgbnVtYmVyIElQIGFkZHJlc3NlcyBpbiBhIENJRFIgTWFza1xuICAgKlxuICAgKiBGb3IgZXhhbXBsZTpcbiAgICogQ2lkckJsb2NrLmNhbGN1bGF0ZU5ldHNpemUoMTYpIHJldHVybnMgNjU1MzZcbiAgICpcbiAgICogQHBhcmFtIG1hc2sgVGhlIENJRFIgcHJlZml4IGxlbmd0aCAoYmV0d2VlbiAwIGFuZCAzMikgZm9yIHdoaWNoIHRvIGNhbGN1bGF0ZSB0aGUgbmV0d29yayBzaXplLlxuICAgKiBDaWRyQmxvY2suY2FsY3VsYXRlTmV0c2l6ZSgyNCkgcmV0dXJucyAyNTZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2FsY3VsYXRlTmV0c2l6ZShtYXNrOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiAyICoqICgzMiAtIG1hc2spO1xuICB9XG5cbiAgLyoqXG4gICAqIElQIGFkZHJlc3MgaW4gdGhlIENJRFIgYmxvY2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2lkcjogc3RyaW5nO1xuXG4gIC8qXG4gICAqIFRoZSBDSURSIG1hc2sgZS5nLiBmb3IgQ0lEUiAnMTAuMC4wLjAvMjEnIHJldHVybnMgMjFcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYXNrOiBudW1iZXI7XG5cbiAgLypcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBJUCBhZGRyZXNzZXMgaW4gdGhlIENJRFJcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrU2l6ZTogbnVtYmVyO1xuXG4gIC8qXG4gICAqIFRoZSBuZXR3b3JrIGFkZHJlc3MgcHJvdmlkZWQgaW4gQ0lEUiBjcmVhdGlvbiBvZmZzZXQgYnkgdGhlIE5ldHNpemUgLTFcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgbmV0d29ya0FkZHJlc3M6IG51bWJlcjtcblxuICAvKlxuICAgKiBQYXJzZXMgZWl0aGVyIENJRFIgbm90YXRpb24gU3RyaW5nIG9yIHR3byBudW1iZXJzIHJlcHJlc2VudGluZyB0aGUgSVBcbiAgICogc3BhY2VcbiAgICpcbiAgICogY2lkciBleHBlY3RzIGEgc3RyaW5nICcxMC4wLjAuMC8xNidcbiAgICogaXBBZGRyZXNzIGV4cGVjdHMgYSBudW1iZXJcbiAgICogbWFzayBleHBlY3RzIGEgbnVtYmVyXG4gICAqXG4gICAqIElmIHRoZSBnaXZlbiBgY2lkcmAgb3IgYGlwQWRkcmVzc2AgaXMgbm90IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrLFxuICAgKiB0aGVuIHRoZSBuZXh0IGF2YWlsYWJsZSBibG9jayB3aWxsIGJlIHJldHVybmVkLiBGb3IgZXhhbXBsZSwgaWZcbiAgICogYDEwLjAuMy4xLzI4YCBpcyBnaXZlbiB0aGUgcmV0dXJuZWQgYmxvY2sgd2lsbCByZXByZXNlbnQgYDEwLjAuMy4xNi8yOGAuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjaWRyOiBzdHJpbmcpXG4gIGNvbnN0cnVjdG9yKGlwQWRkcmVzczogbnVtYmVyLCBtYXNrOiBudW1iZXIpXG4gIGNvbnN0cnVjdG9yKGlwQWRkcmVzc09yQ2lkcjogc3RyaW5nIHwgbnVtYmVyLCBtYXNrPzogbnVtYmVyKSB7XG4gICAgaWYgKHR5cGVvZiBpcEFkZHJlc3NPckNpZHIgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLm1hc2sgPSBwYXJzZUludChpcEFkZHJlc3NPckNpZHIuc3BsaXQoJy8nKVsxXSwgMTApO1xuICAgICAgdGhpcy5uZXR3b3JrQWRkcmVzcyA9IE5ldHdvcmtVdGlscy5pcFRvTnVtKGlwQWRkcmVzc09yQ2lkci5zcGxpdCgnLycpWzBdKSArXG4gICAgICAgIENpZHJCbG9jay5jYWxjdWxhdGVOZXRzaXplKHRoaXMubWFzaykgLSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIG1hc2sgPT09ICdudW1iZXInKSB7XG4gICAgICAgIHRoaXMubWFzayA9IG1hc2s7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB0aGlzIHNob3VsZCBiZSBpbXBvc3NpYmxlXG4gICAgICAgIHRoaXMubWFzayA9IDE2O1xuICAgICAgfVxuICAgICAgdGhpcy5uZXR3b3JrQWRkcmVzcyA9IGlwQWRkcmVzc09yQ2lkciArIENpZHJCbG9jay5jYWxjdWxhdGVOZXRzaXplKHRoaXMubWFzaykgLSAxO1xuICAgICAgdGhpcy5uZXR3b3JrU2l6ZSA9IDIgKiogKDMyIC0gdGhpcy5tYXNrKTtcbiAgICB9XG4gICAgdGhpcy5uZXR3b3JrU2l6ZSA9IDIgKiogKDMyIC0gdGhpcy5tYXNrKTtcbiAgICB0aGlzLmNpZHIgPSBgJHt0aGlzLm1pbklwKCl9LyR7dGhpcy5tYXNrfWA7XG4gIH1cblxuICAvKlxuICAgKiBUaGUgbWF4aW11bSBJUCBpbiB0aGUgQ0lEUiBCbG9jayBlLmcuICcxMC4wLjguMjU1J1xuICAgKi9cbiAgcHVibGljIG1heElwKCk6IHN0cmluZyB7XG4gICAgLy8gbWluICsgKDJeKDMyLW1hc2spKSAtIDEgW3plcm8gbmVlZHMgdG8gY291bnRdXG4gICAgcmV0dXJuIE5ldHdvcmtVdGlscy5udW1Ub0lwKHRoaXMubWF4QWRkcmVzcygpKTtcbiAgfVxuXG4gIC8qXG4gICAqIENoZWNrcyBpZiB0aGlzIENJRFIgYmxvY2sgZnVsbHkgY29udGFpbnMgdGhlIHByb3ZpZGVkIENJRFIgYmxvY2suXG4gICAqXG4gICAqIEBwYXJhbSBvdGhlciBUaGUgQ0lEUiBibG9jayB0byBjaGVjayBmb3IgY29udGFpbm1lbnQuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhpcyBDSURSIGJsb2NrIGZ1bGx5IGNvbnRhaW5zIHRoZSBwcm92aWRlZCBDSURSIGJsb2NrLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIFRoZSBtaW5pbXVtIElQIGluIHRoZSBDSURSIEJsb2NrIGUuZy4gJzEwLjAuMC4wJ1xuICAgKi9cbiAgcHVibGljIG1pbklwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE5ldHdvcmtVdGlscy5udW1Ub0lwKHRoaXMubWluQWRkcmVzcygpKTtcbiAgfVxuXG4gIC8qXG4gICAqIFJldHVybnMgdGhlIG51bWJlciByZXByZXNlbnRhdGlvbiBmb3IgdGhlIG1pbmltdW0gSVB2NCBhZGRyZXNzXG4gICAqL1xuICBwdWJsaWMgbWluQWRkcmVzcygpOiBudW1iZXIge1xuICAgIGNvbnN0IGRpdiA9IHRoaXMubmV0d29ya0FkZHJlc3MgJSB0aGlzLm5ldHdvcmtTaXplO1xuICAgIHJldHVybiB0aGlzLm5ldHdvcmtBZGRyZXNzIC0gZGl2O1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIHJlcHJlc2VudGF0aW9uIGZvciB0aGUgbWF4aW11bSBJUHY0IGFkZHJlc3NcbiAgICovXG4gIHB1YmxpYyBtYXhBZGRyZXNzKCk6IG51bWJlciB7XG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gSVAgYWRkcmVzcyBpbiB0aGUgQ0lEUiBibG9jayBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIGFkZHJlc3MgKyAoMl4oMzItbWFzaykpIC0gMS5cbiAgICAgKiBUaGlzIGlzIGJlY2F1c2UgdGhlIG1pbmltdW0gYWRkcmVzcyByZXByZXNlbnRzIHRoZSBuZXR3b3JrIGFkZHJlc3MsIGFuZCB0aGUgbWF4aW11bSBhZGRyZXNzIGlzIHRoZSBicm9hZGNhc3QgYWRkcmVzcy5cbiAgICAgKi9cbiAgICAvLyBtaW4gKyAoMl4oMzItbWFzaykpIC0gMSBbemVybyBuZWVkcyB0byBjb3VudF1cbiAgICByZXR1cm4gdGhpcy5taW5BZGRyZXNzKCkgKyB0aGlzLm5ldHdvcmtTaXplIC0gMTtcbiAgfVxuXG4gIC8qXG4gICAqIFJldHVybnMgdGhlIG5leHQgY29uc2VjdXRpdmUgQ0lEUiBibG9jayBvZiB0aGUgc2FtZSBtYXNrIHNpemUgZm9sbG93aW5nIHRoaXMgQ0lEUiBibG9jay5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoaXMgQ0lEUiBibG9jayBpcyAnMTAuMC4wLjAvMjQnLCB0aGUgbmV4dCBibG9jayB3b3VsZCBiZSAnMTAuMC4xLjAvMjQnLlxuICAgKlxuICAgKiBSZXR1cm5zIHRoZSBuZXh0IENJRFIgQmxvY2sgb2YgdGhlIHNhbWUgbWFzayBzaXplXG4gICAqL1xuICBwdWJsaWMgbmV4dEJsb2NrKCk6IENpZHJCbG9jayB7XG4gICAgcmV0dXJuIG5ldyBDaWRyQmxvY2sodGhpcy5tYXhBZGRyZXNzKCkgKyAxLCB0aGlzLm1hc2spO1xuICB9XG5cbiAgLypcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgQ2lkckJsb2NrIGZ1bGx5IGNvbnRhaW5zIHRoZSBwcm92aWRlZCBDaWRyQmxvY2tcbiAgICovXG4gIHB1YmxpYyBjb250YWluc0NpZHIob3RoZXI6IENpZHJCbG9jayk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5tYXhBZGRyZXNzKCkgPj0gb3RoZXIubWF4QWRkcmVzcygpKSAmJlxuICAgICAgKHRoaXMubWluQWRkcmVzcygpIDw9IG90aGVyLm1pbkFkZHJlc3MoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHR3byBJUHY0IGFkZHJlc3MgcmFuZ2VzIG92ZXJsYXAuXG4gICAqXG4gICAqIEBwYXJhbSByYW5nZTEgVGhlIGZpcnN0IElQIGFkZHJlc3MgcmFuZ2UgcmVwcmVzZW50ZWQgYXMgYW4gYXJyYXkgW3N0YXJ0LCBlbmRdLlxuICAgKiBAcGFyYW0gcmFuZ2UyIFRoZSBzZWNvbmQgSVAgYWRkcmVzcyByYW5nZSByZXByZXNlbnRlZCBhcyBhbiBhcnJheSBbc3RhcnQsIGVuZF0uXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHR3byBJUCBhZGRyZXNzIHJhbmdlcyBvdmVybGFwLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgbWV0aG9kIGFzc3VtZXMgdGhhdCB0aGUgc3RhcnQgYW5kIGVuZCBhZGRyZXNzZXMgYXJlIHZhbGlkIElQdjQgYWRkcmVzc2VzLlxuICAgKi9cbiAgcHVibGljIHJhbmdlc092ZXJsYXAocmFuZ2UxOiBbc3RyaW5nLCBzdHJpbmddLCByYW5nZTI6IFtzdHJpbmcsIHN0cmluZ10pOiBib29sZWFuIHtcbiAgICBjb25zdCBbc3RhcnQxLCBlbmQxXSA9IHJhbmdlMS5tYXAoaXAgPT4gTmV0d29ya1V0aWxzLmlwVG9OdW0oaXApKTtcbiAgICBjb25zdCBbc3RhcnQyLCBlbmQyXSA9IHJhbmdlMi5tYXAoaXAgPT4gTmV0d29ya1V0aWxzLmlwVG9OdW0oaXApKTtcbiAgICAvLyBDaGVjayBpZiByYW5nZXMgb3ZlcmxhcFxuICAgIHJldHVybiBzdGFydDEgPD0gZW5kMiAmJiBzdGFydDIgPD0gZW5kMTtcbiAgfVxufVxuXG4vKipcbiAqIENsYXNzIHdpdGggaGVscGVyIGZ1bmN0aW9ucyB0byBzdXBwb3J0XG4gKiBTdWJuZXQgSXB2NiBBZGRyZXNzIFZhbGlkYXRpb25cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIG1ldGhvZHMgZm9yIHdvcmtpbmcgd2l0aCBJUHY2IENJRFIgYmxvY2tzLCBpbmNsdWRpbmcgY2FsY3VsYXRpbmcgdGhlIG1pbmltdW0gYW5kIG1heGltdW1cbiAqIElQIGFkZHJlc3NlcyBpbiBhIENJRFIgYmxvY2ssIGFuZCBjaGVja2luZyBpZiB0d28gQ0lEUiBibG9ja3Mgb3ZlcmxhcC5cbiAqL1xuZXhwb3J0IGNsYXNzIENpZHJCbG9ja0lwdjYge1xuICAvKipcbiAgICogSXB2NiBDSURSIHJhbmdlXG4gICAqL1xuICBwdWJsaWMgY2lkcjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIENJRFIgcHJlZml4IGxlbmd0aCAobnVtYmVyIG9mIGJpdHMgdXNlZCBmb3IgdGhlIG5ldHdvcmsgcG9ydGlvbiBvZiB0aGUgYWRkcmVzcykuXG4gICAqL1xuICBwdWJsaWMgY2lkclByZWZpeDogbnVtYmVyO1xuICBwcml2YXRlIGlwUGFydHM6IGJpZ2ludFtdO1xuICBwcml2YXRlIG5ldHdvcmtCaXRzOiBudW1iZXI7XG4gIHByaXZhdGUgbmV0d29ya1BhcnQ6IGJpZ2ludFtdO1xuXG4gIGNvbnN0cnVjdG9yKGNpZHI6IHN0cmluZykge1xuICAgIHRoaXMuY2lkciA9IGNpZHI7XG4gICAgY29uc3QgW2lwQWRkcmVzcywgcHJlZml4XSA9IGNpZHIuc3BsaXQoJy8nKTtcbiAgICB0aGlzLmNpZHJQcmVmaXggPSBwYXJzZUludChwcmVmaXgsIDEwKTtcbiAgICB0aGlzLmlwUGFydHMgPSB0aGlzLnBhcnNlQmlnSW50UGFydHMoaXBBZGRyZXNzKTtcbiAgICB0aGlzLm5ldHdvcmtCaXRzID0gdGhpcy5jaWRyUHJlZml4O1xuICAgIHRoaXMubmV0d29ya1BhcnQgPSB0aGlzLmlwUGFydHMuc2xpY2UoMCwgTWF0aC5jZWlsKHRoaXMubmV0d29ya0JpdHMgLyAxNikpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUJpZ0ludFBhcnRzKGlwQWRkcmVzczogc3RyaW5nKTogYmlnaW50W10ge1xuICAgIHJldHVybiBpcEFkZHJlc3Muc3BsaXQoJzonKS5tYXAoKHBhcnQpID0+IEJpZ0ludChgMHgke3BhcnQucGFkU3RhcnQoNCwgJzAnKX1gIHx8ICcwJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIE1pbmltdW0gSVB2NiBhZGRyZXNzIGZvciBhIHByb3ZpZGVkIENJRFJcbiAgICovXG4gIHB1YmxpYyBtaW5JcCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YXJ0SVAgPSBbLi4udGhpcy5uZXR3b3JrUGFydF07XG4gICAgZm9yIChsZXQgaSA9IHRoaXMubmV0d29ya1BhcnQubGVuZ3RoOyBpIDwgODsgaSsrKSB7XG4gICAgICBzdGFydElQLnB1c2goQmlnSW50KDApKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0SVAubWFwKHRoaXMuZm9ybWF0SVB2NlBhcnQpLmpvaW4oJzonKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBtYXhpbXVtIElQdjYgYWRkcmVzcyBpbiB0aGUgQ0lEUiBibG9ja1xuICAgKiBAcmV0dXJucyBUaGUgbWF4aW11bSBJUHY2IGFkZHJlc3MgYXMgYSBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBtYXhJcCgpOiBzdHJpbmcge1xuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSBob3cgbWFueSAxNi1iaXQgYmxvY2tzIGFyZSBuZWVkZWQgZm9yIHRoZSBuZXR3b3JrIHBvcnRpb25cbiAgICAgKiBlLmcuIGZvciAvNTYsIG5ldHdvcmtQYXJ0TGVuZ3RoID0gY2VpbCg1Ni8xNikgPSA0IGJsb2Nrc1xuICAgICAqL1xuICAgIGNvbnN0IG5ldHdvcmtQYXJ0TGVuZ3RoID0gTWF0aC5jZWlsKHRoaXMuY2lkclByZWZpeCAvIDE2KTtcbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgcmVtYWluaW5nIGJpdHMgaW4gbGFzdCBuZXR3b3JrIGJsb2NrXG4gICAgICogZS5nLiBmb3IgLzU2LCByZW1haW5pbmdCaXRzID0gNTYgJSAxNiA9IDggYml0c1xuICAgICAqL1xuICAgIGNvbnN0IHJlbWFpbmluZ0JpdHMgPSB0aGlzLmNpZHJQcmVmaXggJSAxNjtcbiAgICAvKipcbiAgICAgKiBDcmVhdGUgY29weSBvZiBuZXR3b3JrIHBvcnRpb24gb2YgYWRkcmVzc1xuICAgICAqIGUuZy4gWzIwMDEsIGRiOCwgMCwgMF0gZm9yIDIwMDE6ZGI4OjovNTZcbiAgICAgKi9cbiAgICBjb25zdCBlbmRJUCA9IFsuLi50aGlzLm5ldHdvcmtQYXJ0XTtcblxuICAgIC8qKlxuICAgICAqIElmIHRoZXJlIGFyZSByZW1haW5pbmcgYml0cyBpbiBsYXN0IG5ldHdvcmsgYmxvY2ssXG4gICAgICogY3JlYXRlIGFwcHJvcHJpYXRlIGJpdG1hc2sgYW5kIGFwcGx5IHRvIGxhc3QgbmV0d29yayBibG9ja1xuICAgICAqIGUuZy4gZm9yIC81NjogbWFzayA9ICgxIDw8ICgxNi04KSkgLSAxID0gMHgwMEZGXG4gICAgICovXG4gICAgaWYgKHJlbWFpbmluZ0JpdHMgPiAwKSB7XG4gICAgICBjb25zdCBsYXN0TmV0d29ya0luZGV4ID0gbmV0d29ya1BhcnRMZW5ndGggLSAxO1xuICAgICAgY29uc3QgbWFzayA9IChCaWdJbnQoMSkgPDwgQmlnSW50KDE2IC0gcmVtYWluaW5nQml0cykpIC0gQmlnSW50KDEpO1xuICAgICAgLyoqXG4gICAgICAgKiBBcHBseSBiaXRtYXNrIHRvIGxhc3QgbmV0d29yayBibG9jayB1c2luZyBiaXR3aXNlIE9SXG4gICAgICAgKiBlLmcuIGlmIGxhc3ROZXR3b3JrSW5kZXg9MyBhbmQgbWFzaz0weDAwRkY6XG4gICAgICAgKiBuZXR3b3JrUGFydFszXT0weDAwMDAgfCAweDAwRkYgPSAweDAwRkZcbiAgICAgICAqL1xuICAgICAgZW5kSVBbbGFzdE5ldHdvcmtJbmRleF0gPSB0aGlzLm5ldHdvcmtQYXJ0W2xhc3ROZXR3b3JrSW5kZXhdIHwgbWFzaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWxsIHJlbWFpbmluZyBibG9ja3Mgd2l0aCBtYXhpbXVtIHZhbHVlIDB4RkZGRlxuICAgICAqIGUuZy4gWzIwMDEsIGRiOCwgMCwgZmYsIGZmZmYsIGZmZmYsIGZmZmYsIGZmZmZdXG4gICAgICovXG4gICAgZm9yIChsZXQgaSA9IG5ldHdvcmtQYXJ0TGVuZ3RoOyBpIDwgODsgaSsrKSB7XG4gICAgICBlbmRJUC5wdXNoKEJpZ0ludCgnMHhmZmZmJykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnQgYmxvY2tzIHRvIGhleCBzdHJpbmdzIGFuZCBqb2luIHdpdGggY29sb25zXG4gICAgICogZS5nLiAyMDAxOmRiODowOmZmOmZmZmY6ZmZmZjpmZmZmOmZmZmZcbiAgICAgKi9cbiAgICByZXR1cm4gZW5kSVAubWFwKHRoaXMuZm9ybWF0SVB2NlBhcnQpLmpvaW4oJzonKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0SVB2NlBhcnQgPSAocGFydDogYmlnaW50KSA9PiBwYXJ0LnRvU3RyaW5nKDE2KS5wYWRTdGFydCg0LCAnMCcpO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gcmFuZ2UxIElwdjYgQ0lEUiByYW5nZSB0byBjb21wYXJlXG4gICAqIEBwYXJhbSByYW5nZTIgSXB2NiBDSURSIHJhbmdlIHRvIGNvbXBhcmVcbiAgICogQHJldHVybnMgdHJ1ZSBpZiB0d28gcmFuZ2VzIG92ZXJsYXAsIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgcHVibGljIHJhbmdlc092ZXJsYXAocmFuZ2UxOiBzdHJpbmcsIHJhbmdlMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gQ3JlYXRlIG5ldyBDaWRyQmxvY2tJcHY2IGluc3RhbmNlcyBmb3IgYm90aCByYW5nZXNcbiAgICBjb25zdCBjaWRyMSA9IG5ldyBDaWRyQmxvY2tJcHY2KHJhbmdlMSk7XG4gICAgY29uc3QgY2lkcjIgPSBuZXcgQ2lkckJsb2NrSXB2NihyYW5nZTIpO1xuXG4gICAgLy8gQ29udmVydCBtaW4gYW5kIG1heCBJUHMgdG8gbnVtZXJpYyB2YWx1ZXMgZm9yIGNvbXBhcmlzb25cbiAgICBjb25zdCBzdGFydDEgPSB0aGlzLmlwdjZUb051bWJlcihjaWRyMS5taW5JcCgpKTtcbiAgICBjb25zdCBlbmQxID0gdGhpcy5pcHY2VG9OdW1iZXIoY2lkcjEubWF4SXAoKSk7XG4gICAgY29uc3Qgc3RhcnQyID0gdGhpcy5pcHY2VG9OdW1iZXIoY2lkcjIubWluSXAoKSk7XG4gICAgY29uc3QgZW5kMiA9IHRoaXMuaXB2NlRvTnVtYmVyKGNpZHIyLm1heElwKCkpO1xuXG4gICAgLy8gQ2hlY2sgZm9yIG92ZXJsYXBcbiAgICByZXR1cm4gKHN0YXJ0MSA8PSBlbmQyKSAmJiAoc3RhcnQyIDw9IGVuZDEpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIENvbnZlcnRzIGdpdmVuIGlwdjYgYWRkcmVzcyByYW5nZSB0byBiaWcgaW50IG51bWJlclxuICAgKi9cbiAgcHJpdmF0ZSBpcHY2VG9OdW1iZXIoaXB2NkFkZHJlc3M6IHN0cmluZyk6IGJpZ2ludCB7XG4gICAgY29uc3QgYmxvY2tzID0gdGhpcy5wYXJzZUJpZ0ludFBhcnRzKGlwdjZBZGRyZXNzKTtcbiAgICBsZXQgaXB2Nk51bWJlciA9IEJpZ0ludCgwKTtcbiAgICBmb3IgKGNvbnN0IGJsb2NrIG9mIGJsb2Nrcykge1xuICAgICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSAqL1xuICAgICAgaXB2Nk51bWJlciA9IChpcHY2TnVtYmVyIDw8IEJpZ0ludCgxNikpICsgYmxvY2s7XG4gICAgfVxuICAgIHJldHVybiBpcHY2TnVtYmVyO1xuICB9XG59XG4iXX0=
@@ -486,7 +486,7 @@ class VpcV2Base extends aws_cdk_lib_1.Resource {
486
486
  }
487
487
  exports.VpcV2Base = VpcV2Base;
488
488
  _a = JSII_RTTI_SYMBOL_1;
489
- VpcV2Base[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2Base", version: "2.194.0-alpha.0" };
489
+ VpcV2Base[_a] = { fqn: "@aws-cdk/aws-ec2-alpha.VpcV2Base", version: "2.196.0-alpha.0" };
490
490
  class CompositeDependable {
491
491
  constructor() {
492
492
  this.dependables = new Array();
package/lib/vpc-v2.d.ts CHANGED
@@ -250,6 +250,8 @@ export interface VpcV2Attributes {
250
250
  * @resource AWS::EC2::VPC
251
251
  */
252
252
  export declare class VpcV2 extends VpcV2Base {
253
+ /** Uniquely identifies this class. */
254
+ static readonly PROPERTY_INJECTION_ID: string;
253
255
  /**
254
256
  * Create a VPC from existing attributes
255
257
  */