@fjall/components-infrastructure 0.73.14 → 0.73.15

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.
@@ -8,7 +8,6 @@ const cfnOutput_1 = require("../../resources/aws/utilities/cfnOutput");
8
8
  class IpamPoolId extends constructs_1.Construct {
9
9
  constructor(scope, id, props) {
10
10
  super(scope, id);
11
- // Retrieves the IpamPoolId
12
11
  const ipamPoolId = new awsCustomResource_1.AwsCustomResource(this, "CustomResource", {
13
12
  functionName: "ipamPoolId",
14
13
  onCreate: {
@@ -19,6 +18,10 @@ class IpamPoolId extends constructs_1.Construct {
19
18
  {
20
19
  Name: "locale",
21
20
  Values: [props.region]
21
+ },
22
+ {
23
+ Name: "tag:fjall:operations:pool",
24
+ Values: [`${props.accountId}-${props.region}`]
22
25
  }
23
26
  ]
24
27
  },
@@ -37,4 +40,4 @@ class IpamPoolId extends constructs_1.Construct {
37
40
  }
38
41
  }
39
42
  exports.IpamPoolId = IpamPoolId;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2xJZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9jb25maWcvYXdzL2lwYW1Qb29sSWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLHVGQUFvRjtBQUNwRixnRUFBZ0U7QUFDaEUsdUVBQW9FO0FBUXBFLE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiwyQkFBMkI7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDL0QsWUFBWSxFQUFFLFlBQVk7WUFDMUIsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSwwQkFBMEI7Z0JBQ2xDLFVBQVUsRUFBRTtvQkFDVixPQUFPLEVBQUU7d0JBQ1A7NEJBQ0UsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQzt5QkFDdkI7cUJBQ0Y7aUJBQ0Y7Z0JBQ0Qsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUM7YUFDeEU7WUFDRCxZQUFZLEVBQUUsMkJBQTJCO1NBQzFDLENBQUMsQ0FBQztRQUVILG1EQUFtRDtRQUNuRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFcEQsd0RBQXdEO1FBQ3hELElBQUkscUJBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQzVCLEdBQUcsRUFBRSxhQUFhLEtBQUssQ0FBQyxTQUFTLEdBQUcsWUFBWSxFQUFFO1lBQ2xELEtBQUssRUFBRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUM7WUFDNUQsVUFBVSxFQUFFLGFBQWEsS0FBSyxDQUFDLFNBQVMsR0FBRyxZQUFZLEVBQUU7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBakNELGdDQWlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBd3NDdXN0b21SZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL3V0aWxpdGllcy9hd3NDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgY3VzdG9tUmVzb3VyY2VzIGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBDZm5PdXRwdXQgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvY2ZuT3V0cHV0XCI7XG5cbmludGVyZmFjZSBJcGFtUG9vbElkUHJvcHMge1xuICByZWdpb246IHN0cmluZztcbiAgb3duZXJJZDogc3RyaW5nO1xuICBhY2NvdW50SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIElwYW1Qb29sSWQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXBhbVBvb2xJZFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIFJldHJpZXZlcyB0aGUgSXBhbVBvb2xJZFxuICAgIGNvbnN0IGlwYW1Qb29sSWQgPSBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBmdW5jdGlvbk5hbWU6IFwiaXBhbVBvb2xJZFwiLFxuICAgICAgb25DcmVhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJlYzJcIixcbiAgICAgICAgYWN0aW9uOiBcIkRlc2NyaWJlSXBhbVBvb2xzQ29tbWFuZFwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgRmlsdGVyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBOYW1lOiBcImxvY2FsZVwiLFxuICAgICAgICAgICAgICBWYWx1ZXM6IFtwcm9wcy5yZWdpb25dXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGN1c3RvbVJlc291cmNlcy5QaHlzaWNhbFJlc291cmNlSWQub2YoXCJpcGFtUG9vbElkXCIpXG4gICAgICB9LFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6RGVzY3JpYmVJcGFtUG9vbHNcIlxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHJlZ2lvbi1zcGVjaWZpYyBzdWZmaXggZm9yIHVuaXF1ZSBleHBvcnRzXG4gICAgY29uc3QgcmVnaW9uU3VmZml4ID0gcHJvcHMucmVnaW9uLnJlcGxhY2UoLy0vZywgXCJcIik7XG5cbiAgICAvLyBTdG9yZXMgdGhlIElwYW1Qb29sSWQgaW4gQ2ZuT3V0cHV0IHdpdGggcmVnaW9uIHN1ZmZpeFxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYE91dHB1dGAsIHtcbiAgICAgIGtleTogYElwYW1Qb29sSWQke3Byb3BzLmFjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLFxuICAgICAgdmFsdWU6IGlwYW1Qb29sSWQuZ2V0UmVzcG9uc2VGaWVsZChcIklwYW1Qb29scy4wLklwYW1Qb29sSWRcIiksXG4gICAgICBleHBvcnROYW1lOiBgSXBhbVBvb2xJZCR7cHJvcHMuYWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWBcbiAgICB9KTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2xJZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9jb25maWcvYXdzL2lwYW1Qb29sSWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLHVGQUFvRjtBQUNwRixnRUFBZ0U7QUFDaEUsdUVBQW9FO0FBUXBFLE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUFpQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUMvRCxZQUFZLEVBQUUsWUFBWTtZQUMxQixRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLDBCQUEwQjtnQkFDbEMsVUFBVSxFQUFFO29CQUNWLE9BQU8sRUFBRTt3QkFDUDs0QkFDRSxJQUFJLEVBQUUsUUFBUTs0QkFDZCxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO3lCQUN2Qjt3QkFDRDs0QkFDRSxJQUFJLEVBQUUsMkJBQTJCOzRCQUNqQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO3lCQUMvQztxQkFDRjtpQkFDRjtnQkFDRCxrQkFBa0IsRUFBRSxlQUFlLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4RTtZQUNELFlBQVksRUFBRSwyQkFBMkI7U0FDMUMsQ0FBQyxDQUFDO1FBRUgsbURBQW1EO1FBQ25ELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVwRCx3REFBd0Q7UUFDeEQsSUFBSSxxQkFBUyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDNUIsR0FBRyxFQUFFLGFBQWEsS0FBSyxDQUFDLFNBQVMsR0FBRyxZQUFZLEVBQUU7WUFDbEQsS0FBSyxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQztZQUM1RCxVQUFVLEVBQUUsYUFBYSxLQUFLLENBQUMsU0FBUyxHQUFHLFlBQVksRUFBRTtTQUMxRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwQ0QsZ0NBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2F3c0N1c3RvbVJlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBjdXN0b21SZXNvdXJjZXMgZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IENmbk91dHB1dCB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL3V0aWxpdGllcy9jZm5PdXRwdXRcIjtcblxuaW50ZXJmYWNlIElwYW1Qb29sSWRQcm9wcyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBvd25lcklkOiBzdHJpbmc7XG4gIGFjY291bnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSXBhbVBvb2xJZCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbElkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaXBhbVBvb2xJZCA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCBcIkN1c3RvbVJlc291cmNlXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogXCJpcGFtUG9vbElkXCIsXG4gICAgICBvbkNyZWF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcImVjMlwiLFxuICAgICAgICBhY3Rpb246IFwiRGVzY3JpYmVJcGFtUG9vbHNDb21tYW5kXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBGaWx0ZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE5hbWU6IFwibG9jYWxlXCIsXG4gICAgICAgICAgICAgIFZhbHVlczogW3Byb3BzLnJlZ2lvbl1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIE5hbWU6IFwidGFnOmZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgICAgICAgICBWYWx1ZXM6IFtgJHtwcm9wcy5hY2NvdW50SWR9LSR7cHJvcHMucmVnaW9ufWBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IGN1c3RvbVJlc291cmNlcy5QaHlzaWNhbFJlc291cmNlSWQub2YoXCJpcGFtUG9vbElkXCIpXG4gICAgICB9LFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6RGVzY3JpYmVJcGFtUG9vbHNcIlxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHJlZ2lvbi1zcGVjaWZpYyBzdWZmaXggZm9yIHVuaXF1ZSBleHBvcnRzXG4gICAgY29uc3QgcmVnaW9uU3VmZml4ID0gcHJvcHMucmVnaW9uLnJlcGxhY2UoLy0vZywgXCJcIik7XG5cbiAgICAvLyBTdG9yZXMgdGhlIElwYW1Qb29sSWQgaW4gQ2ZuT3V0cHV0IHdpdGggcmVnaW9uIHN1ZmZpeFxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYE91dHB1dGAsIHtcbiAgICAgIGtleTogYElwYW1Qb29sSWQke3Byb3BzLmFjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLFxuICAgICAgdmFsdWU6IGlwYW1Qb29sSWQuZ2V0UmVzcG9uc2VGaWVsZChcIklwYW1Qb29scy4wLklwYW1Qb29sSWRcIiksXG4gICAgICBleHBvcnROYW1lOiBgSXBhbVBvb2xJZCR7cHJvcHMuYWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWBcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -445,11 +445,14 @@ class StandardTagsAspect {
445
445
  const tagMap = new Map();
446
446
  // Add IPAM pool tag for VPCs with IPAM configuration
447
447
  if (resource.cfnResourceType === "AWS::EC2::VPC") {
448
- const properties = resource.cfnProperties || {};
449
- if (properties.Ipv4IpamPoolId) {
448
+ const vpc = resource;
449
+ const ipamPoolId = vpc.ipv4IpamPoolId;
450
+ if (ipamPoolId) {
450
451
  const stack = aws_cdk_lib_1.Stack.of(resource);
451
- const accountId = stack.account;
452
- const region = stack.region;
452
+ const accountId = stack.node.tryGetContext("accountId") ||
453
+ stack.account ||
454
+ process.env.CDK_DEFAULT_ACCOUNT;
455
+ const region = stack.region || process.env.CDK_DEFAULT_REGION;
453
456
  if (accountId && region) {
454
457
  tagMap.set("fjall:operations:pool", `${accountId}-${region}`);
455
458
  }
@@ -467,4 +470,4 @@ class StandardTagsAspect {
467
470
  }
468
471
  }
469
472
  exports.StandardTagsAspect = StandardTagsAspect;
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEQ7QUFHMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksWUFBdUM7UUFGbEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRzNELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQXFCO1FBQzlDLDZGQUE2RjtRQUM3RixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsTUFBTTtZQUNOLGtDQUFrQztZQUVsQyxjQUFjO1lBQ2QsMEJBQTBCO1lBQzFCLGtDQUFrQztZQUNsQyw2QkFBNkI7WUFDN0Isb0NBQW9DO1lBQ3BDLHVDQUF1QztZQUN2QyxrQ0FBa0M7WUFDbEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZ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LElBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDaEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxTQUFTLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDaEUsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsc0JBQXNCO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDekQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFSCxtQ0FBbUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELEdBQUcsRUFBRSxHQUFHO1lBQ1IsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQXJnQkQsZ0RBcWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBc3BlY3QsIENmblJlc291cmNlLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogQXNwZWN0IHRvIGVuZm9yY2UgYSBzdGFuZGFyZCBzZXQgb2YgdGFncyBvbiBldmVyeSB0YWctY2FwYWJsZSByZXNvdXJjZSBpbiBhIGNvbnN0cnVjdCB0cmVlLlxuICpcbiAqIFVwZGF0ZWQgZm9yIENESyB2Mi4yMDYuMCsgY29tcGF0aWJpbGl0eTpcbiAqIC0gQXZvaWRzIHVzaW5nIGFueSB0YWdnaW5nIEFQSXMgZHVyaW5nIGFzcGVjdCB2aXNpdGF0aW9uIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHNcbiAqIC0gVXNlcyBhIHN5bnRoZXNpcy10aW1lIGFwcHJvYWNoIHRvIG1vZGlmeSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZXNcbiAqIC0gTWFpbnRhaW5zIHRoZSBzYW1lIGNsZWFuIEFQSSBhbmQgYXV0b21hdGljIHRhZ2dpbmcgYmVuZWZpdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVGFnc0FzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVpcmVkVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWdnZWRSZXNvdXJjZXMgPSBuZXcgV2Vha1NldDxJQ29uc3RydWN0PigpO1xuXG4gIGNvbnN0cnVjdG9yKHJlcXVpcmVkVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHRoaXMucmVxdWlyZWRUYWdzID0gcmVxdWlyZWRUYWdzO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIC8vIFNraXAgaWYgYWxyZWFkeSBwcm9jZXNzZWRcbiAgICBpZiAodGhpcy50YWdnZWRSZXNvdXJjZXMuaGFzKG5vZGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBMMSAoQ0ZOKSByZXNvdXJjZXMgb25seVxuICAgIGlmIChDZm5SZXNvdXJjZS5pc0NmblJlc291cmNlKG5vZGUpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDZm5SZXNvdXJjZShub2RlIGFzIENmblJlc291cmNlKTtcbiAgICAgIHRoaXMudGFnZ2VkUmVzb3VyY2VzLmFkZChub2RlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NDZm5SZXNvdXJjZShyZXNvdXJjZTogQ2ZuUmVzb3VyY2UpOiB2b2lkIHtcbiAgICAvLyBTa2lwIFNlY3JldFJvdGF0aW9uIHJlc291cmNlcyBhcyB0aGV5IGNyZWF0ZSBuZXN0ZWQgc3RhY2tzIHdpdGggZGlmZmVyZW50IHRhZyByZXF1aXJlbWVudHNcbiAgICBpZiAocmVzb3VyY2Uubm9kZS5wYXRoLmluY2x1ZGVzKFwiU2VjcmV0Um90YXRpb25cIikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDb21wcmVoZW5zaXZlIGxpc3Qgb2YgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZXMgdGhhdCBkb24ndCBzdXBwb3J0IHRhZ3NcbiAgICAvLyBUaGlzIGxpc3QgaXMgYmFzZWQgb24gQVdTIENsb3VkRm9ybWF0aW9uIGRvY3VtZW50YXRpb24gYW5kIGtub3duIGxpbWl0YXRpb25zXG4gICAgY29uc3QgdW5zdXBwb3J0ZWRUeXBlcyA9IFtcbiAgICAgIC8vIEFDTVxuICAgICAgXCJBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6QWNjb3VudFwiLFxuXG4gICAgICAvLyBBUEkgR2F0ZXdheVxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OkFjY291bnRcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpCYXNlUGF0aE1hcHBpbmdcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpEZXBsb3ltZW50XCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheTo6RG9jdW1lbnRhdGlvblBhcnRcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpEb2N1bWVudGF0aW9uVmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OkdhdGV3YXlSZXNwb25zZVwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6Ok1ldGhvZFwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6Ok1vZGVsXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheTo6UmVxdWVzdFZhbGlkYXRvclwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OlJlc291cmNlXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpBcGlNYXBwaW5nXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpBdXRob3JpemVyXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpEZXBsb3ltZW50XCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpJbnRlZ3JhdGlvblwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXlWMjo6SW50ZWdyYXRpb25SZXNwb25zZVwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXlWMjo6TW9kZWxcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5VjI6OlJvdXRlXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpSb3V0ZVJlc3BvbnNlXCIsXG5cbiAgICAgIC8vIEFwcFN5bmNcbiAgICAgIFwiQVdTOjpBcHBTeW5jOjpEYXRhU291cmNlXCIsXG4gICAgICBcIkFXUzo6QXBwU3luYzo6RnVuY3Rpb25Db25maWd1cmF0aW9uXCIsXG4gICAgICBcIkFXUzo6QXBwU3luYzo6UmVzb2x2ZXJcIixcblxuICAgICAgLy8gQXRoZW5hXG4gICAgICBcIkFXUzo6QXRoZW5hOjpQcmVwYXJlZFN0YXRlbWVudFwiLFxuXG4gICAgICAvLyBDbG91ZEZvcm1hdGlvblxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpDdXN0b21SZXNvdXJjZVwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNYWNyb1wiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNb2R1bGVEZWZhdWx0VmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNb2R1bGVWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlB1YmxpY1R5cGVWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlB1Ymxpc2hlclwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpSZXNvdXJjZURlZmF1bHRWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlVmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpUeXBlQWN0aXZhdGlvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpXYWl0Q29uZGl0aW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb25IYW5kbGVcIixcblxuICAgICAgLy8gQ2xvdWRXYXRjaFxuICAgICAgXCJBV1M6OkNsb3VkV2F0Y2g6OkFsYXJtXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRXYXRjaDo6QW5vbWFseURldGVjdG9yXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRXYXRjaDo6Q29tcG9zaXRlQWxhcm1cIixcbiAgICAgIFwiQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmRcIixcbiAgICAgIFwiQVdTOjpDbG91ZFdhdGNoOjpJbnNpZ2h0UnVsZVwiLFxuICAgICAgXCJBV1M6OkNsb3VkV2F0Y2g6Ok1ldHJpY1N0cmVhbVwiLFxuXG4gICAgICAvLyBDb2RlQnVpbGRcbiAgICAgIFwiQVdTOjpDb2RlQnVpbGQ6OlJlcG9ydEdyb3VwXCIsXG4gICAgICBcIkFXUzo6Q29kZUJ1aWxkOjpTb3VyY2VDcmVkZW50aWFsXCIsXG5cbiAgICAgIC8vIENvZGVEZXBsb3lcbiAgICAgIFwiQVdTOjpDb2RlRGVwbG95OjpEZXBsb3ltZW50Q29uZmlnXCIsXG5cbiAgICAgIC8vIENvZGVQaXBlbGluZVxuICAgICAgXCJBV1M6OkNvZGVQaXBlbGluZTo6Q3VzdG9tQWN0aW9uVHlwZVwiLFxuICAgICAgXCJBV1M6OkNvZGVQaXBlbGluZTo6V2ViaG9va1wiLFxuXG4gICAgICAvLyBDb2duaXRvXG4gICAgICBcIkFXUzo6Q29nbml0bzo6SWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpDb2duaXRvOjpVc2VyUG9vbENsaWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sRG9tYWluXCIsXG4gICAgICBcIkFXUzo6Q29nbml0bzo6VXNlclBvb2xHcm91cFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sSWRlbnRpdHlQcm92aWRlclwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sUmVzb3VyY2VTZXJ2ZXJcIixcbiAgICAgIFwiQVdTOjpDb2duaXRvOjpVc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVUlDdXN0b21pemF0aW9uQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclRvR3JvdXBBdHRhY2htZW50XCIsXG5cbiAgICAgIC8vIENvbmZpZ1xuICAgICAgXCJBV1M6OkNvbmZpZzo6QWdncmVnYXRpb25BdXRob3JpemF0aW9uXCIsXG4gICAgICBcIkFXUzo6Q29uZmlnOjpDb25maWd1cmF0aW9uQWdncmVnYXRvclwiLFxuICAgICAgXCJBV1M6OkNvbmZpZzo6Q29uZm9ybWFuY2VQYWNrXCIsXG4gICAgICBcIkFXUzo6Q29uZmlnOjpPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tcIixcbiAgICAgIFwiQVdTOjpDb25maWc6OlJlbWVkaWF0aW9uQ29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OkNvbmZpZzo6U3RvcmVkUXVlcnlcIixcblxuICAgICAgLy8gRHluYW1vREJcbiAgICAgIFwiQVdTOjpEeW5hbW9EQjo6R2xvYmFsVGFibGVcIixcblxuICAgICAgLy8gRUMyXG4gICAgICBcIkFXUzo6RUMyOjpDYXBhY2l0eVJlc2VydmF0aW9uRmxlZXRcIixcbiAgICAgIFwiQVdTOjpFQzI6OkNhcnJpZXJHYXRld2F5XCIsXG4gICAgICBcIkFXUzo6RUMyOjpESENQT3B0aW9uc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6RUMyRmxlZXRcIixcbiAgICAgIFwiQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcIixcbiAgICAgIFwiQVdTOjpFQzI6OkVJUEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RUMyOjpFbmNsYXZlQ2VydGlmaWNhdGVJYW1Sb2xlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OkZsb3dMb2dcIixcbiAgICAgIFwiQVdTOjpFQzI6OkdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6Okluc3RhbmNlQ29ubmVjdEVuZHBvaW50XCIsXG4gICAgICBcIkFXUzo6RUMyOjpLZXlQYWlyXCIsXG4gICAgICBcIkFXUzo6RUMyOjpMYXVuY2hUZW1wbGF0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6TmV0d29ya0luc2lnaHRzQWNjZXNzU2NvcGVcIixcbiAgICAgIFwiQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FjY2Vzc1Njb3BlQW5hbHlzaXNcIixcbiAgICAgIFwiQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FuYWx5c2lzXCIsXG4gICAgICBcIkFXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNQYXRoXCIsXG4gICAgICBcIkFXUzo6RUMyOjpOZXR3b3JrSW50ZXJmYWNlQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6TmV0d29ya0ludGVyZmFjZVBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlBsYWNlbWVudEdyb3VwXCIsXG4gICAgICBcIkFXUzo6RUMyOjpSb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cEVncmVzc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcbiAgICAgIFwiQVdTOjpFQzI6OlN1Ym5ldENpZHJCbG9ja1wiLFxuICAgICAgXCJBV1M6OkVDMjo6U3VibmV0TmV0d29ya0FjbEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RUMyOjpTdWJuZXRSb3V0ZVRhYmxlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5QXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlDb25uZWN0XCIsXG4gICAgICBcIkFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheU11bHRpY2FzdERvbWFpblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3REb21haW5Bc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3RHcm91cE1lbWJlclwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3RHcm91cFNvdXJjZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlQZWVyaW5nQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlXCIsXG4gICAgICBcIkFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NHcm91cFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NJbnN0YW5jZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6RUMyOjpWb2x1bWVBdHRhY2htZW50XCIsXG4gICAgICBcIkFXUzo6RUMyOjpWUENDaWRyQmxvY2tcIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQQ0RIQ1BPcHRpb25zQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQQ0VuZHBvaW50Q29ubmVjdGlvbk5vdGlmaWNhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRTZXJ2aWNlXCIsXG4gICAgICBcIkFXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2VQZXJtaXNzaW9uc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBDR2F0ZXdheUF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQTkNvbm5lY3Rpb25Sb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBOR2F0ZXdheVJvdXRlUHJvcGFnYXRpb25cIixcblxuICAgICAgLy8gRUNSXG4gICAgICBcIkFXUzo6RUNSOjpQdWJsaWNSZXBvc2l0b3J5XCIsXG4gICAgICBcIkFXUzo6RUNSOjpQdWxsVGhyb3VnaENhY2hlUnVsZVwiLFxuICAgICAgXCJBV1M6OkVDUjo6UmVnaXN0cnlQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpFQ1I6OlJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXG4gICAgICAvLyBFQ1NcbiAgICAgIFwiQVdTOjpFQ1M6OkFjY291bnRTZXR0aW5nXCIsXG4gICAgICBcIkFXUzo6RUNTOjpDYXBhY2l0eVByb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6RUNTOjpDbHVzdGVyQ2FwYWNpdHlQcm92aWRlckFzc29jaWF0aW9uc1wiLFxuICAgICAgXCJBV1M6OkVDUzo6UHJpbWFyeVRhc2tTZXRcIixcbiAgICAgIFwiQVdTOjpFQ1M6OlRhc2tTZXRcIixcblxuICAgICAgLy8gRUZTXG4gICAgICBcIkFXUzo6RUZTOjpBY2Nlc3NQb2ludFwiLFxuICAgICAgXCJBV1M6OkVGUzo6TW91bnRUYXJnZXRcIixcblxuICAgICAgLy8gRUtTXG4gICAgICBcIkFXUzo6RUtTOjpBZGRvblwiLFxuICAgICAgXCJBV1M6OkVLUzo6RmFyZ2F0ZVByb2ZpbGVcIixcbiAgICAgIFwiQVdTOjpFS1M6OklkZW50aXR5UHJvdmlkZXJDb25maWdcIixcblxuICAgICAgLy8gRWxhc3RpQ2FjaGVcbiAgICAgIFwiQVdTOjpFbGFzdGlDYWNoZTo6UGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpFbGFzdGlDYWNoZTo6U2VjdXJpdHlHcm91cFwiLFxuICAgICAgXCJBV1M6OkVsYXN0aUNhY2hlOjpTZWN1cml0eUdyb3VwSW5ncmVzc1wiLFxuICAgICAgXCJBV1M6OkVsYXN0aUNhY2hlOjpTdWJuZXRHcm91cFwiLFxuXG4gICAgICAvLyBFbGFzdGljQmVhbnN0YWxrXG4gICAgICBcIkFXUzo6RWxhc3RpY0JlYW5zdGFsazo6QXBwbGljYXRpb25WZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6RWxhc3RpY0JlYW5zdGFsazo6Q29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cbiAgICAgIC8vIEVsYXN0aWNMb2FkQmFsYW5jaW5nVjJcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lclwiLFxuICAgICAgXCJBV1M6OkVsYXN0aWNMb2FkQmFsYW5jaW5nVjI6Okxpc3RlbmVyQ2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lclJ1bGVcIixcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpUYXJnZXRHcm91cEF0dGFjaG1lbnRcIixcblxuICAgICAgLy8gRXZlbnRCcmlkZ2UgKEV2ZW50cylcbiAgICAgIFwiQVdTOjpFdmVudHM6OkFwaURlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpBcmNoaXZlXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpDb25uZWN0aW9uXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OkV2ZW50czo6RXZlbnRCdXNQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcblxuICAgICAgLy8gRlN4XG4gICAgICBcIkFXUzo6RlN4OjpEYXRhUmVwb3NpdG9yeUFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RlN4OjpTbmFwc2hvdFwiLFxuICAgICAgXCJBV1M6OkZTeDo6U3RvcmFnZVZpcnR1YWxNYWNoaW5lXCIsXG4gICAgICBcIkFXUzo6RlN4OjpWb2x1bWVcIixcblxuICAgICAgLy8gR2FtZUxpZnRcbiAgICAgIFwiQVdTOjpHYW1lTGlmdDo6R2FtZVNlcnZlckdyb3VwXCIsXG4gICAgICBcIkFXUzo6R2FtZUxpZnQ6OkxvY2F0aW9uXCIsXG5cbiAgICAgIC8vIEdsdWVcbiAgICAgIFwiQVdTOjpHbHVlOjpDb25uZWN0aW9uXCIsXG4gICAgICBcIkFXUzo6R2x1ZTo6RGF0YWJhc2VcIixcbiAgICAgIFwiQVdTOjpHbHVlOjpEYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5nc1wiLFxuICAgICAgXCJBV1M6OkdsdWU6OlBhcnRpdGlvblwiLFxuICAgICAgXCJBV1M6OkdsdWU6OlNjaGVtYVZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpHbHVlOjpTY2hlbWFWZXJzaW9uTWV0YWRhdGFcIixcbiAgICAgIFwiQVdTOjpHbHVlOjpTZWN1cml0eUNvbmZpZ3VyYXRpb25cIixcbiAgICAgIFwiQVdTOjpHbHVlOjpUYWJsZVwiLFxuICAgICAgXCJBV1M6OkdsdWU6OlVzZXJEZWZpbmVkRnVuY3Rpb25cIixcblxuICAgICAgLy8gR3VhcmREdXR5XG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpEZXRlY3RvclwiLFxuICAgICAgXCJBV1M6Okd1YXJkRHV0eTo6RmlsdGVyXCIsXG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpJUFNldFwiLFxuICAgICAgXCJBV1M6Okd1YXJkRHV0eTo6TWFzdGVyXCIsXG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpNZW1iZXJcIixcbiAgICAgIFwiQVdTOjpHdWFyZER1dHk6OlRocmVhdEludGVsU2V0XCIsXG5cbiAgICAgIC8vIElBTVxuICAgICAgXCJBV1M6OklBTTo6QWNjZXNzS2V5XCIsXG4gICAgICBcIkFXUzo6SUFNOjpHcm91cFwiLFxuICAgICAgXCJBV1M6OklBTTo6R3JvdXBQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06Okluc3RhbmNlUHJvZmlsZVwiLFxuICAgICAgXCJBV1M6OklBTTo6TWFuYWdlZFBvbGljeVwiLFxuICAgICAgXCJBV1M6OklBTTo6T0lEQ1Byb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6SUFNOjpQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06OlJvbGVcIixcbiAgICAgIFwiQVdTOjpJQU06OlJvbGVQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06OlNBTUxQcm92aWRlclwiLFxuICAgICAgXCJBV1M6OklBTTo6U2VydmVyQ2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpJQU06OlNlcnZpY2VMaW5rZWRSb2xlXCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyXCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyUG9saWN5XCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyVG9Hcm91cEFkZGl0aW9uXCIsXG4gICAgICBcIkFXUzo6SUFNOjpWaXJ0dWFsTUZBRGV2aWNlXCIsXG5cbiAgICAgIC8vIElvVFxuICAgICAgXCJBV1M6OklvVDo6QWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OklvVDo6QXV0aG9yaXplclwiLFxuICAgICAgXCJBV1M6OklvVDo6Q2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OkN1c3RvbU1ldHJpY1wiLFxuICAgICAgXCJBV1M6OklvVDo6RGltZW5zaW9uXCIsXG4gICAgICBcIkFXUzo6SW9UOjpEb21haW5Db25maWd1cmF0aW9uXCIsXG4gICAgICBcIkFXUzo6SW9UOjpGbGVldE1ldHJpY1wiLFxuICAgICAgXCJBV1M6OklvVDo6Sm9iVGVtcGxhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OkxvZ2dpbmdcIixcbiAgICAgIFwiQVdTOjpJb1Q6Ok1pdGlnYXRpb25BY3Rpb25cIixcbiAgICAgIFwiQVdTOjpJb1Q6OlBvbGljeVwiLFxuICAgICAgXCJBV1M6OklvVDo6UG9saWN5UHJpbmNpcGFsQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OklvVDo6UHJvdmlzaW9uaW5nVGVtcGxhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlJlc291cmNlU3BlY2lmaWNMb2dnaW5nXCIsXG4gICAgICBcIkFXUzo6SW9UOjpSb2xlQWxpYXNcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlNjaGVkdWxlZEF1ZGl0XCIsXG4gICAgICBcIkFXUzo6SW9UOjpTZWN1cml0eVByb2ZpbGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlRoaW5nXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUaGluZ0dyb3VwXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUaGluZ1ByaW5jaXBhbEF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlRoaW5nVHlwZVwiLFxuICAgICAgXCJBV1M6OklvVDo6VG9waWNSdWxlXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUb3BpY1J1bGVEZXN0aW5hdGlvblwiLFxuXG4gICAgICAvLyBLTVNcbiAgICAgIFwiQVdTOjpLTVM6OkFsaWFzXCIsXG4gICAgICBcIkFXUzo6S01TOjpHcmFudFwiLFxuICAgICAgXCJBV1M6OktNUzo6UmVwbGljYUtleVwiLFxuXG4gICAgICAvLyBMYW1iZGFcbiAgICAgIFwiQVdTOjpMYW1iZGE6OkNvZGVTaWduaW5nQ29uZmlnXCIsXG4gICAgICBcIkFXUzo6TGFtYmRhOjpFdmVudEludm9rZUNvbmZpZ1wiLFxuICAgICAgXCJBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nXCIsXG4gICAgICBcIkFXUzo6TGFtYmRhOjpMYXllclZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OkxheWVyVmVyc2lvblBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlByb3Zpc2lvbmVkQ29uY3VycmVuY3lDb25maWdcIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlVybFwiLFxuICAgICAgXCJBV1M6OkxhbWJkYTo6VmVyc2lvblwiLFxuXG4gICAgICAvLyBMb2dzXG4gICAgICBcIkFXUzo6TG9nczo6QWNjb3VudFBvbGljeVwiLFxuICAgICAgXCJBV1M6OkxvZ3M6OkRlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6TG9nczo6TG9nR3JvdXBcIixcbiAgICAgIFwiQVdTOjpMb2dzOjpMb2dTdHJlYW1cIixcbiAgICAgIFwiQVdTOjpMb2dzOjpNZXRyaWNGaWx0ZXJcIixcbiAgICAgIFwiQVdTOjpMb2dzOjpRdWVyeURlZmluaXRpb25cIixcbiAgICAgIFwiQVdTOjpMb2dzOjpSZXNvdXJjZVBvbGljeVwiLFxuICAgICAgXCJBV1M6OkxvZ3M6OlN1YnNjcmlwdGlvbkZpbHRlclwiLFxuXG4gICAgICAvLyBNYWNpZVxuICAgICAgXCJBV1M6Ok1hY2llOjpBbGxvd0xpc3RcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6Q3VzdG9tRGF0YUlkZW50aWZpZXJcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6RmluZGluZ3NGaWx0ZXJcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6U2Vzc2lvblwiLFxuXG4gICAgICAvLyBOZXB0dW5lXG4gICAgICBcIkFXUzo6TmVwdHVuZTo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpOZXB0dW5lOjpEQlBhcmFtZXRlckdyb3VwXCIsXG4gICAgICBcIkFXUzo6TmVwdHVuZTo6REJTdWJuZXRHcm91cFwiLFxuXG4gICAgICAvLyBPcmdhbml6YXRpb25zXG4gICAgICBcIkFXUzo6T3JnYW5pemF0aW9uczo6QWNjb3VudFwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvblwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvbmFsVW5pdFwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6OlBvbGljeVwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6OlJlc291cmNlUG9saWN5XCIsXG5cbiAgICAgIC8vIFJEU1xuICAgICAgXCJBV1M6OlJEUzo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCUHJveHlFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OlJEUzo6REJQcm94eVRhcmdldEdyb3VwXCIsXG4gICAgICBcIkFXUzo6UkRTOjpEQlNlY3VyaXR5R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCU2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCU3VibmV0R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICBcIkFXUzo6UkRTOjpHbG9iYWxDbHVzdGVyXCIsXG4gICAgICBcIkFXUzo6UkRTOjpPcHRpb25Hcm91cFwiLFxuXG4gICAgICAvLyBSZWRzaGlmdFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzXCIsXG4gICAgICBcIkFXUzo6UmVkc2hpZnQ6OkNsdXN0ZXJTdWJuZXRHcm91cFwiLFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEFjY2Vzc1wiLFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEF1dGhvcml6YXRpb25cIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6RXZlbnRTdWJzY3JpcHRpb25cIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6U2NoZWR1bGVkQWN0aW9uXCIsXG5cbiAgICAgIC8vIFJvdXRlNTNcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpETlNTRUNcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpIZWFsdGhDaGVja1wiLFxuICAgICAgXCJBV1M6OlJvdXRlNTM6Okhvc3RlZFpvbmVcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpLZXlTaWduaW5nS2V5XCIsXG4gICAgICBcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsXG4gICAgICBcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0R3JvdXBcIixcblxuICAgICAgLy8gUm91dGU1M1Jlc29sdmVyXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbERvbWFpbkxpc3RcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OkZpcmV3YWxsUnVsZUdyb3VwXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlckNvbmZpZ1wiLFxuICAgICAgXCJBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJETlNTRUNDb25maWdcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyUXVlcnlMb2dnaW5nQ29uZmlnXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclF1ZXJ5TG9nZ2luZ0NvbmZpZ0Fzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclJ1bGVcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyUnVsZUFzc29jaWF0aW9uXCIsXG5cbiAgICAgIC8vIFMzXG4gICAgICBcIkFXUzo6UzM6OkFjY2Vzc1BvaW50XCIsXG4gICAgICBcIkFXUzo6UzM6OkJ1Y2tldFBvbGljeVwiLFxuICAgICAgXCJBV1M6OlMzOjpNdWx0aVJlZ2lvbkFjY2Vzc1BvaW50XCIsXG4gICAgICBcIkFXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnRQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpTMzo6U3RvcmFnZUxlbnNcIixcblxuICAgICAgLy8gU0RCXG4gICAgICBcIkFXUzo6U0RCOjpEb21haW5cIixcblxuICAgICAgLy8gU2VjcmV0c01hbmFnZXJcbiAgICAgIFwiQVdTOjpTZWNyZXRzTWFuYWdlcjo6UmVzb3VyY2VQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpTZWNyZXRzTWFuYWdlcjo6Um90YXRpb25TY2hlZHVsZVwiLFxuICAgICAgXCJBV1M6OlNlY3JldHNNYW5hZ2VyOjpTZWNyZXRUYXJnZXRBdHRhY2htZW50XCIsXG5cbiAgICAgIC8vIFNlY3VyaXR5SHViXG4gICAgICBcIkFXUzo6U2VjdXJpdHlIdWI6Okh1YlwiLFxuXG4gICAgICAvLyBTZXJ2aWNlQ2F0YWxvZ1xuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpBY2NlcHRlZFBvcnRmb2xpb1NoYXJlXCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OkxhdW5jaE5vdGlmaWNhdGlvbkNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoUm9sZUNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoVGVtcGxhdGVDb25zdHJhaW50XCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1ByaW5jaXBhbEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1Byb2R1Y3RBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpQb3J0Zm9saW9TaGFyZVwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpSZXNvdXJjZVVwZGF0ZUNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpTZXJ2aWNlQWN0aW9uQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U3RhY2tTZXRDb25zdHJhaW50XCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlRhZ09wdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpUYWdPcHRpb25Bc3NvY2lhdGlvblwiLFxuXG4gICAgICAvLyBTRVNcbiAgICAgIFwiQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRcIixcbiAgICAgIFwiQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6U0VTOjpDb250YWN0TGlzdFwiLFxuICAgICAgXCJBV1M6OlNFUzo6RGVkaWNhdGVkSXBQb29sXCIsXG4gICAgICBcIkFXUzo6U0VTOjpFbWFpbElkZW50aXR5XCIsXG4gICAgICBcIkFXUzo6U0VTOjpSZWNlaXB0RmlsdGVyXCIsXG4gICAgICBcIkFXUzo6U0VTOjpSZWNlaXB0UnVsZVwiLFxuICAgICAgXCJBV1M6OlNFUzo6UmVjZWlwdFJ1bGVTZXRcIixcbiAgICAgIFwiQVdTOjpTRVM6OlRlbXBsYXRlXCIsXG4gICAgICBcIkFXUzo6U0VTOjpWZG1BdHRyaWJ1dGVzXCIsXG5cbiAgICAgIC8vIFNOU1xuICAgICAgXCJBV1M6OlNOUzo6U3Vic2NyaXB0aW9uXCIsXG4gICAgICBcIkFXUzo6U05TOjpUb3BpY1BvbGljeVwiLFxuXG4gICAgICAvLyBTUVNcbiAgICAgIFwiQVdTOjpTUVM6OlF1ZXVlUG9saWN5XCIsXG5cbiAgICAgIC8vIFNTTVxuICAgICAgXCJBV1M6OlNTTTo6QXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpTU006OkRvY3VtZW50XCIsXG4gICAgICBcIkFXUzo6U1NNOjpNYWludGVuYW5jZVdpbmRvd1wiLFxuICAgICAgXCJBV1M6OlNTTTo6TWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRcIixcbiAgICAgIFwiQVdTOjpTU006Ok1haW50ZW5hbmNlV2luZG93VGFza1wiLFxuICAgICAgXCJBV1M6OlNTTTo6UGFyYW1ldGVyXCIsXG4gICAgICBcIkFXUzo6U1NNOjpQYXRjaEJhc2VsaW5lXCIsXG4gICAgICBcIkFXUzo6U1NNOjpSZXNvdXJjZURhdGFTeW5jXCIsXG4gICAgICBcIkFXUzo6U1NNOjpSZXNvdXJjZVBvbGljeVwiLFxuXG4gICAgICAvLyBTU09cbiAgICAgIFwiQVdTOjpTU086OkFzc2lnbm1lbnRcIixcbiAgICAgIFwiQVdTOjpTU086Okluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25cIixcbiAgICAgIFwiQVdTOjpTU086OlBlcm1pc3Npb25TZXRcIixcblxuICAgICAgLy8gU3RlcEZ1bmN0aW9uc1xuICAgICAgXCJBV1M6OlN0ZXBGdW5jdGlvbnM6OkFjdGl2aXR5XCIsXG5cbiAgICAgIC8vIFdBRi9XQUZ2MlxuICAgICAgXCJBV1M6OldBRjo6Qnl0ZU1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRjo6UnVsZVwiLFxuICAgICAgXCJBV1M6OldBRjo6U2l6ZUNvbnN0cmFpbnRTZXRcIixcbiAgICAgIFwiQVdTOjpXQUY6OlNxbEluamVjdGlvbk1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGOjpXZWJBQ0xcIixcbiAgICAgIFwiQVdTOjpXQUY6Olhzc01hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OkJ5dGVNYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpHZW9NYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpSYXRlQmFzZWRSdWxlXCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlJlZ2V4UGF0dGVyblNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpSdWxlXCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlNpemVDb25zdHJhaW50U2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlNxbEluamVjdGlvbk1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OldlYkFDTFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpXZWJBQ0xBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpYc3NNYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpMb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpSZWdleFBhdHRlcm5TZXRcIixcbiAgICAgIFwiQVdTOjpXQUZ2Mjo6UnVsZUdyb3VwXCIsXG4gICAgICBcIkFXUzo6V0FGdjI6OldlYkFDTFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpXZWJBQ0xBc3NvY2lhdGlvblwiLFxuXG4gICAgICAvLyBTZXJ2ZXJsZXNzXG4gICAgICBcIkFXUzo6U2VydmVybGVzczo6QXBpXCIsXG4gICAgICBcIkFXUzo6U2VydmVybGVzczo6QXBwbGljYXRpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpGdW5jdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZlcmxlc3M6Okh0dHBBcGlcIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpMYXllclZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpTaW1wbGVUYWJsZVwiLFxuICAgICAgXCJBV1M6OlNlcnZlcmxlc3M6OlN0YXRlTWFjaGluZVwiXG4gICAgXTtcblxuICAgIGlmICh1bnN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKHJlc291cmNlLmNmblJlc291cmNlVHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBZGQgYSBzeW50aGVzaXMgaG9vayB0byBtb2RpZnkgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihyZXNvdXJjZSk7XG4gICAgY29uc3QgbG9naWNhbElkID0gc3RhY2suZ2V0TG9naWNhbElkKHJlc291cmNlKTtcblxuICAgIC8vIFVzZSBhZGRUcmFuc2Zvcm0gdG8gYWRkIHRhZ3MgZHVyaW5nIHN5bnRoZXNpc1xuICAgIHJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoXCJUYWdzXCIsIHRoaXMuYnVpbGRUYWdzQXJyYXkocmVzb3VyY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWdzQXJyYXkocmVzb3VyY2U6IENmblJlc291cmNlKTogYW55W10ge1xuICAgIGNvbnN0IHRhZ01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICAvLyBBZGQgSVBBTSBwb29sIHRhZyBmb3IgVlBDcyB3aXRoIElQQU0gY29uZmlndXJhdGlvblxuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09IFwiQVdTOjpFQzI6OlZQQ1wiKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0aWVzID0gKHJlc291cmNlIGFzIGFueSkuY2ZuUHJvcGVydGllcyB8fCB7fTtcbiAgICAgIGlmIChwcm9wZXJ0aWVzLklwdjRJcGFtUG9vbElkKSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YocmVzb3VyY2UpO1xuICAgICAgICBjb25zdCBhY2NvdW50SWQgPSBzdGFjay5hY2NvdW50O1xuICAgICAgICBjb25zdCByZWdpb24gPSBzdGFjay5yZWdpb247XG4gICAgICAgIGlmIChhY2NvdW50SWQgJiYgcmVnaW9uKSB7XG4gICAgICAgICAgdGFnTWFwLnNldChcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLCBgJHthY2NvdW50SWR9LSR7cmVnaW9ufWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQXBwbHkgc3RhbmRhcmQgdGFnc1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMucmVxdWlyZWRUYWdzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIHRhZ01hcC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfSk7XG5cbiAgICAvLyBDb252ZXJ0IHRvIENsb3VkRm9ybWF0aW9uIGZvcm1hdFxuICAgIHJldHVybiBBcnJheS5mcm9tKHRhZ01hcC5lbnRyaWVzKCkpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xuICAgICAgS2V5OiBrZXksXG4gICAgICBWYWx1ZTogdmFsdWVcbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
473
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBMEQ7QUFJMUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsa0JBQWtCO0lBSTdCLFlBQVksWUFBdUM7UUFGbEMsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRzNELElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsNEJBQTRCO1FBQzVCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPO1FBQ1QsQ0FBQztRQUVELGtDQUFrQztRQUNsQyxJQUFJLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQW1CLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFFBQXFCO1FBQzlDLDZGQUE2RjtRQUM3RixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsTUFBTTtZQUNOLGtDQUFrQztZQUVsQyxjQUFjO1lBQ2QsMEJBQTBCO1lBQzFCLGtDQUFrQztZQUNsQyw2QkFBNkI7WUFDN0Isb0NBQW9DO1lBQ3BDLHVDQUF1QztZQUN2QyxrQ0FBa0M7WUFDbEMseUJBQXlCO1lBQ3pCLHdCQUF3QjtZ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YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDZm5WUEMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogQXNwZWN0IHRvIGVuZm9yY2UgYSBzdGFuZGFyZCBzZXQgb2YgdGFncyBvbiBldmVyeSB0YWctY2FwYWJsZSByZXNvdXJjZSBpbiBhIGNvbnN0cnVjdCB0cmVlLlxuICpcbiAqIFVwZGF0ZWQgZm9yIENESyB2Mi4yMDYuMCsgY29tcGF0aWJpbGl0eTpcbiAqIC0gQXZvaWRzIHVzaW5nIGFueSB0YWdnaW5nIEFQSXMgZHVyaW5nIGFzcGVjdCB2aXNpdGF0aW9uIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHNcbiAqIC0gVXNlcyBhIHN5bnRoZXNpcy10aW1lIGFwcHJvYWNoIHRvIG1vZGlmeSBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZXNcbiAqIC0gTWFpbnRhaW5zIHRoZSBzYW1lIGNsZWFuIEFQSSBhbmQgYXV0b21hdGljIHRhZ2dpbmcgYmVuZWZpdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVGFnc0FzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlcXVpcmVkVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWdnZWRSZXNvdXJjZXMgPSBuZXcgV2Vha1NldDxJQ29uc3RydWN0PigpO1xuXG4gIGNvbnN0cnVjdG9yKHJlcXVpcmVkVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHRoaXMucmVxdWlyZWRUYWdzID0gcmVxdWlyZWRUYWdzO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIC8vIFNraXAgaWYgYWxyZWFkeSBwcm9jZXNzZWRcbiAgICBpZiAodGhpcy50YWdnZWRSZXNvdXJjZXMuaGFzKG5vZGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBMMSAoQ0ZOKSByZXNvdXJjZXMgb25seVxuICAgIGlmIChDZm5SZXNvdXJjZS5pc0NmblJlc291cmNlKG5vZGUpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NDZm5SZXNvdXJjZShub2RlIGFzIENmblJlc291cmNlKTtcbiAgICAgIHRoaXMudGFnZ2VkUmVzb3VyY2VzLmFkZChub2RlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NDZm5SZXNvdXJjZShyZXNvdXJjZTogQ2ZuUmVzb3VyY2UpOiB2b2lkIHtcbiAgICAvLyBTa2lwIFNlY3JldFJvdGF0aW9uIHJlc291cmNlcyBhcyB0aGV5IGNyZWF0ZSBuZXN0ZWQgc3RhY2tzIHdpdGggZGlmZmVyZW50IHRhZyByZXF1aXJlbWVudHNcbiAgICBpZiAocmVzb3VyY2Uubm9kZS5wYXRoLmluY2x1ZGVzKFwiU2VjcmV0Um90YXRpb25cIikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDb21wcmVoZW5zaXZlIGxpc3Qgb2YgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZXMgdGhhdCBkb24ndCBzdXBwb3J0IHRhZ3NcbiAgICAvLyBUaGlzIGxpc3QgaXMgYmFzZWQgb24gQVdTIENsb3VkRm9ybWF0aW9uIGRvY3VtZW50YXRpb24gYW5kIGtub3duIGxpbWl0YXRpb25zXG4gICAgY29uc3QgdW5zdXBwb3J0ZWRUeXBlcyA9IFtcbiAgICAgIC8vIEFDTVxuICAgICAgXCJBV1M6OkNlcnRpZmljYXRlTWFuYWdlcjo6QWNjb3VudFwiLFxuXG4gICAgICAvLyBBUEkgR2F0ZXdheVxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OkFjY291bnRcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpCYXNlUGF0aE1hcHBpbmdcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpEZXBsb3ltZW50XCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheTo6RG9jdW1lbnRhdGlvblBhcnRcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5OjpEb2N1bWVudGF0aW9uVmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OkdhdGV3YXlSZXNwb25zZVwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6Ok1ldGhvZFwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6Ok1vZGVsXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheTo6UmVxdWVzdFZhbGlkYXRvclwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXk6OlJlc291cmNlXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpBcGlNYXBwaW5nXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpBdXRob3JpemVyXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpEZXBsb3ltZW50XCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpJbnRlZ3JhdGlvblwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXlWMjo6SW50ZWdyYXRpb25SZXNwb25zZVwiLFxuICAgICAgXCJBV1M6OkFwaUdhdGV3YXlWMjo6TW9kZWxcIixcbiAgICAgIFwiQVdTOjpBcGlHYXRld2F5VjI6OlJvdXRlXCIsXG4gICAgICBcIkFXUzo6QXBpR2F0ZXdheVYyOjpSb3V0ZVJlc3BvbnNlXCIsXG5cbiAgICAgIC8vIEFwcFN5bmNcbiAgICAgIFwiQVdTOjpBcHBTeW5jOjpEYXRhU291cmNlXCIsXG4gICAgICBcIkFXUzo6QXBwU3luYzo6RnVuY3Rpb25Db25maWd1cmF0aW9uXCIsXG4gICAgICBcIkFXUzo6QXBwU3luYzo6UmVzb2x2ZXJcIixcblxuICAgICAgLy8gQXRoZW5hXG4gICAgICBcIkFXUzo6QXRoZW5hOjpQcmVwYXJlZFN0YXRlbWVudFwiLFxuXG4gICAgICAvLyBDbG91ZEZvcm1hdGlvblxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpDdXN0b21SZXNvdXJjZVwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNYWNyb1wiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNb2R1bGVEZWZhdWx0VmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpNb2R1bGVWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlB1YmxpY1R5cGVWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlB1Ymxpc2hlclwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpSZXNvdXJjZURlZmF1bHRWZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OlJlc291cmNlVmVyc2lvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpUeXBlQWN0aXZhdGlvblwiLFxuICAgICAgXCJBV1M6OkNsb3VkRm9ybWF0aW9uOjpXYWl0Q29uZGl0aW9uXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRGb3JtYXRpb246OldhaXRDb25kaXRpb25IYW5kbGVcIixcblxuICAgICAgLy8gQ2xvdWRXYXRjaFxuICAgICAgXCJBV1M6OkNsb3VkV2F0Y2g6OkFsYXJtXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRXYXRjaDo6QW5vbWFseURldGVjdG9yXCIsXG4gICAgICBcIkFXUzo6Q2xvdWRXYXRjaDo6Q29tcG9zaXRlQWxhcm1cIixcbiAgICAgIFwiQVdTOjpDbG91ZFdhdGNoOjpEYXNoYm9hcmRcIixcbiAgICAgIFwiQVdTOjpDbG91ZFdhdGNoOjpJbnNpZ2h0UnVsZVwiLFxuICAgICAgXCJBV1M6OkNsb3VkV2F0Y2g6Ok1ldHJpY1N0cmVhbVwiLFxuXG4gICAgICAvLyBDb2RlQnVpbGRcbiAgICAgIFwiQVdTOjpDb2RlQnVpbGQ6OlJlcG9ydEdyb3VwXCIsXG4gICAgICBcIkFXUzo6Q29kZUJ1aWxkOjpTb3VyY2VDcmVkZW50aWFsXCIsXG5cbiAgICAgIC8vIENvZGVEZXBsb3lcbiAgICAgIFwiQVdTOjpDb2RlRGVwbG95OjpEZXBsb3ltZW50Q29uZmlnXCIsXG5cbiAgICAgIC8vIENvZGVQaXBlbGluZVxuICAgICAgXCJBV1M6OkNvZGVQaXBlbGluZTo6Q3VzdG9tQWN0aW9uVHlwZVwiLFxuICAgICAgXCJBV1M6OkNvZGVQaXBlbGluZTo6V2ViaG9va1wiLFxuXG4gICAgICAvLyBDb2duaXRvXG4gICAgICBcIkFXUzo6Q29nbml0bzo6SWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpDb2duaXRvOjpVc2VyUG9vbENsaWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sRG9tYWluXCIsXG4gICAgICBcIkFXUzo6Q29nbml0bzo6VXNlclBvb2xHcm91cFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sSWRlbnRpdHlQcm92aWRlclwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sUmVzb3VyY2VTZXJ2ZXJcIixcbiAgICAgIFwiQVdTOjpDb2duaXRvOjpVc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVUlDdXN0b21pemF0aW9uQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclwiLFxuICAgICAgXCJBV1M6OkNvZ25pdG86OlVzZXJQb29sVXNlclRvR3JvdXBBdHRhY2htZW50XCIsXG5cbiAgICAgIC8vIENvbmZpZ1xuICAgICAgXCJBV1M6OkNvbmZpZzo6QWdncmVnYXRpb25BdXRob3JpemF0aW9uXCIsXG4gICAgICBcIkFXUzo6Q29uZmlnOjpDb25maWd1cmF0aW9uQWdncmVnYXRvclwiLFxuICAgICAgXCJBV1M6OkNvbmZpZzo6Q29uZm9ybWFuY2VQYWNrXCIsXG4gICAgICBcIkFXUzo6Q29uZmlnOjpPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tcIixcbiAgICAgIFwiQVdTOjpDb25maWc6OlJlbWVkaWF0aW9uQ29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OkNvbmZpZzo6U3RvcmVkUXVlcnlcIixcblxuICAgICAgLy8gRHluYW1vREJcbiAgICAgIFwiQVdTOjpEeW5hbW9EQjo6R2xvYmFsVGFibGVcIixcblxuICAgICAgLy8gRUMyXG4gICAgICBcIkFXUzo6RUMyOjpDYXBhY2l0eVJlc2VydmF0aW9uRmxlZXRcIixcbiAgICAgIFwiQVdTOjpFQzI6OkNhcnJpZXJHYXRld2F5XCIsXG4gICAgICBcIkFXUzo6RUMyOjpESENQT3B0aW9uc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6RUMyRmxlZXRcIixcbiAgICAgIFwiQVdTOjpFQzI6OkVncmVzc09ubHlJbnRlcm5ldEdhdGV3YXlcIixcbiAgICAgIFwiQVdTOjpFQzI6OkVJUEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RUMyOjpFbmNsYXZlQ2VydGlmaWNhdGVJYW1Sb2xlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OkZsb3dMb2dcIixcbiAgICAgIFwiQVdTOjpFQzI6OkdhdGV3YXlSb3V0ZVRhYmxlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6Okluc3RhbmNlQ29ubmVjdEVuZHBvaW50XCIsXG4gICAgICBcIkFXUzo6RUMyOjpLZXlQYWlyXCIsXG4gICAgICBcIkFXUzo6RUMyOjpMYXVuY2hUZW1wbGF0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6TmV0d29ya0luc2lnaHRzQWNjZXNzU2NvcGVcIixcbiAgICAgIFwiQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FjY2Vzc1Njb3BlQW5hbHlzaXNcIixcbiAgICAgIFwiQVdTOjpFQzI6Ok5ldHdvcmtJbnNpZ2h0c0FuYWx5c2lzXCIsXG4gICAgICBcIkFXUzo6RUMyOjpOZXR3b3JrSW5zaWdodHNQYXRoXCIsXG4gICAgICBcIkFXUzo6RUMyOjpOZXR3b3JrSW50ZXJmYWNlQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6TmV0d29ya0ludGVyZmFjZVBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlBsYWNlbWVudEdyb3VwXCIsXG4gICAgICBcIkFXUzo6RUMyOjpSb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cEVncmVzc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6U2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcbiAgICAgIFwiQVdTOjpFQzI6OlN1Ym5ldENpZHJCbG9ja1wiLFxuICAgICAgXCJBV1M6OkVDMjo6U3VibmV0TmV0d29ya0FjbEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RUMyOjpTdWJuZXRSb3V0ZVRhYmxlQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5QXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlDb25uZWN0XCIsXG4gICAgICBcIkFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheU11bHRpY2FzdERvbWFpblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3REb21haW5Bc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3RHcm91cE1lbWJlclwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlNdWx0aWNhc3RHcm91cFNvdXJjZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlQZWVyaW5nQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlXCIsXG4gICAgICBcIkFXUzo6RUMyOjpUcmFuc2l0R2F0ZXdheVJvdXRlVGFibGVBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VHJhbnNpdEdhdGV3YXlSb3V0ZVRhYmxlUHJvcGFnYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlRyYW5zaXRHYXRld2F5VnBjQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NHcm91cFwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NJbnN0YW5jZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6RUMyOjpWb2x1bWVBdHRhY2htZW50XCIsXG4gICAgICBcIkFXUzo6RUMyOjpWUENDaWRyQmxvY2tcIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQQ0RIQ1BPcHRpb25zQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQQ0VuZHBvaW50Q29ubmVjdGlvbk5vdGlmaWNhdGlvblwiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBDRW5kcG9pbnRTZXJ2aWNlXCIsXG4gICAgICBcIkFXUzo6RUMyOjpWUENFbmRwb2ludFNlcnZpY2VQZXJtaXNzaW9uc1wiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBDR2F0ZXdheUF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpFQzI6OlZQTkNvbm5lY3Rpb25Sb3V0ZVwiLFxuICAgICAgXCJBV1M6OkVDMjo6VlBOR2F0ZXdheVJvdXRlUHJvcGFnYXRpb25cIixcblxuICAgICAgLy8gRUNSXG4gICAgICBcIkFXUzo6RUNSOjpQdWJsaWNSZXBvc2l0b3J5XCIsXG4gICAgICBcIkFXUzo6RUNSOjpQdWxsVGhyb3VnaENhY2hlUnVsZVwiLFxuICAgICAgXCJBV1M6OkVDUjo6UmVnaXN0cnlQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpFQ1I6OlJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXG4gICAgICAvLyBFQ1NcbiAgICAgIFwiQVdTOjpFQ1M6OkFjY291bnRTZXR0aW5nXCIsXG4gICAgICBcIkFXUzo6RUNTOjpDYXBhY2l0eVByb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6RUNTOjpDbHVzdGVyQ2FwYWNpdHlQcm92aWRlckFzc29jaWF0aW9uc1wiLFxuICAgICAgXCJBV1M6OkVDUzo6UHJpbWFyeVRhc2tTZXRcIixcbiAgICAgIFwiQVdTOjpFQ1M6OlRhc2tTZXRcIixcblxuICAgICAgLy8gRUZTXG4gICAgICBcIkFXUzo6RUZTOjpBY2Nlc3NQb2ludFwiLFxuICAgICAgXCJBV1M6OkVGUzo6TW91bnRUYXJnZXRcIixcblxuICAgICAgLy8gRUtTXG4gICAgICBcIkFXUzo6RUtTOjpBZGRvblwiLFxuICAgICAgXCJBV1M6OkVLUzo6RmFyZ2F0ZVByb2ZpbGVcIixcbiAgICAgIFwiQVdTOjpFS1M6OklkZW50aXR5UHJvdmlkZXJDb25maWdcIixcblxuICAgICAgLy8gRWxhc3RpQ2FjaGVcbiAgICAgIFwiQVdTOjpFbGFzdGlDYWNoZTo6UGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpFbGFzdGlDYWNoZTo6U2VjdXJpdHlHcm91cFwiLFxuICAgICAgXCJBV1M6OkVsYXN0aUNhY2hlOjpTZWN1cml0eUdyb3VwSW5ncmVzc1wiLFxuICAgICAgXCJBV1M6OkVsYXN0aUNhY2hlOjpTdWJuZXRHcm91cFwiLFxuXG4gICAgICAvLyBFbGFzdGljQmVhbnN0YWxrXG4gICAgICBcIkFXUzo6RWxhc3RpY0JlYW5zdGFsazo6QXBwbGljYXRpb25WZXJzaW9uXCIsXG4gICAgICBcIkFXUzo6RWxhc3RpY0JlYW5zdGFsazo6Q29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cbiAgICAgIC8vIEVsYXN0aWNMb2FkQmFsYW5jaW5nVjJcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lclwiLFxuICAgICAgXCJBV1M6OkVsYXN0aWNMb2FkQmFsYW5jaW5nVjI6Okxpc3RlbmVyQ2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpMaXN0ZW5lclJ1bGVcIixcbiAgICAgIFwiQVdTOjpFbGFzdGljTG9hZEJhbGFuY2luZ1YyOjpUYXJnZXRHcm91cEF0dGFjaG1lbnRcIixcblxuICAgICAgLy8gRXZlbnRCcmlkZ2UgKEV2ZW50cylcbiAgICAgIFwiQVdTOjpFdmVudHM6OkFwaURlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpBcmNoaXZlXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpDb25uZWN0aW9uXCIsXG4gICAgICBcIkFXUzo6RXZlbnRzOjpFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OkV2ZW50czo6RXZlbnRCdXNQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpFdmVudHM6OlJ1bGVcIixcblxuICAgICAgLy8gRlN4XG4gICAgICBcIkFXUzo6RlN4OjpEYXRhUmVwb3NpdG9yeUFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6RlN4OjpTbmFwc2hvdFwiLFxuICAgICAgXCJBV1M6OkZTeDo6U3RvcmFnZVZpcnR1YWxNYWNoaW5lXCIsXG4gICAgICBcIkFXUzo6RlN4OjpWb2x1bWVcIixcblxuICAgICAgLy8gR2FtZUxpZnRcbiAgICAgIFwiQVdTOjpHYW1lTGlmdDo6R2FtZVNlcnZlckdyb3VwXCIsXG4gICAgICBcIkFXUzo6R2FtZUxpZnQ6OkxvY2F0aW9uXCIsXG5cbiAgICAgIC8vIEdsdWVcbiAgICAgIFwiQVdTOjpHbHVlOjpDb25uZWN0aW9uXCIsXG4gICAgICBcIkFXUzo6R2x1ZTo6RGF0YWJhc2VcIixcbiAgICAgIFwiQVdTOjpHbHVlOjpEYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5nc1wiLFxuICAgICAgXCJBV1M6OkdsdWU6OlBhcnRpdGlvblwiLFxuICAgICAgXCJBV1M6OkdsdWU6OlNjaGVtYVZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpHbHVlOjpTY2hlbWFWZXJzaW9uTWV0YWRhdGFcIixcbiAgICAgIFwiQVdTOjpHbHVlOjpTZWN1cml0eUNvbmZpZ3VyYXRpb25cIixcbiAgICAgIFwiQVdTOjpHbHVlOjpUYWJsZVwiLFxuICAgICAgXCJBV1M6OkdsdWU6OlVzZXJEZWZpbmVkRnVuY3Rpb25cIixcblxuICAgICAgLy8gR3VhcmREdXR5XG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpEZXRlY3RvclwiLFxuICAgICAgXCJBV1M6Okd1YXJkRHV0eTo6RmlsdGVyXCIsXG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpJUFNldFwiLFxuICAgICAgXCJBV1M6Okd1YXJkRHV0eTo6TWFzdGVyXCIsXG4gICAgICBcIkFXUzo6R3VhcmREdXR5OjpNZW1iZXJcIixcbiAgICAgIFwiQVdTOjpHdWFyZER1dHk6OlRocmVhdEludGVsU2V0XCIsXG5cbiAgICAgIC8vIElBTVxuICAgICAgXCJBV1M6OklBTTo6QWNjZXNzS2V5XCIsXG4gICAgICBcIkFXUzo6SUFNOjpHcm91cFwiLFxuICAgICAgXCJBV1M6OklBTTo6R3JvdXBQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06Okluc3RhbmNlUHJvZmlsZVwiLFxuICAgICAgXCJBV1M6OklBTTo6TWFuYWdlZFBvbGljeVwiLFxuICAgICAgXCJBV1M6OklBTTo6T0lEQ1Byb3ZpZGVyXCIsXG4gICAgICBcIkFXUzo6SUFNOjpQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06OlJvbGVcIixcbiAgICAgIFwiQVdTOjpJQU06OlJvbGVQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpJQU06OlNBTUxQcm92aWRlclwiLFxuICAgICAgXCJBV1M6OklBTTo6U2VydmVyQ2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpJQU06OlNlcnZpY2VMaW5rZWRSb2xlXCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyXCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyUG9saWN5XCIsXG4gICAgICBcIkFXUzo6SUFNOjpVc2VyVG9Hcm91cEFkZGl0aW9uXCIsXG4gICAgICBcIkFXUzo6SUFNOjpWaXJ0dWFsTUZBRGV2aWNlXCIsXG5cbiAgICAgIC8vIElvVFxuICAgICAgXCJBV1M6OklvVDo6QWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OklvVDo6QXV0aG9yaXplclwiLFxuICAgICAgXCJBV1M6OklvVDo6Q2VydGlmaWNhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OkN1c3RvbU1ldHJpY1wiLFxuICAgICAgXCJBV1M6OklvVDo6RGltZW5zaW9uXCIsXG4gICAgICBcIkFXUzo6SW9UOjpEb21haW5Db25maWd1cmF0aW9uXCIsXG4gICAgICBcIkFXUzo6SW9UOjpGbGVldE1ldHJpY1wiLFxuICAgICAgXCJBV1M6OklvVDo6Sm9iVGVtcGxhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OkxvZ2dpbmdcIixcbiAgICAgIFwiQVdTOjpJb1Q6Ok1pdGlnYXRpb25BY3Rpb25cIixcbiAgICAgIFwiQVdTOjpJb1Q6OlBvbGljeVwiLFxuICAgICAgXCJBV1M6OklvVDo6UG9saWN5UHJpbmNpcGFsQXR0YWNobWVudFwiLFxuICAgICAgXCJBV1M6OklvVDo6UHJvdmlzaW9uaW5nVGVtcGxhdGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlJlc291cmNlU3BlY2lmaWNMb2dnaW5nXCIsXG4gICAgICBcIkFXUzo6SW9UOjpSb2xlQWxpYXNcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlNjaGVkdWxlZEF1ZGl0XCIsXG4gICAgICBcIkFXUzo6SW9UOjpTZWN1cml0eVByb2ZpbGVcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlRoaW5nXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUaGluZ0dyb3VwXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUaGluZ1ByaW5jaXBhbEF0dGFjaG1lbnRcIixcbiAgICAgIFwiQVdTOjpJb1Q6OlRoaW5nVHlwZVwiLFxuICAgICAgXCJBV1M6OklvVDo6VG9waWNSdWxlXCIsXG4gICAgICBcIkFXUzo6SW9UOjpUb3BpY1J1bGVEZXN0aW5hdGlvblwiLFxuXG4gICAgICAvLyBLTVNcbiAgICAgIFwiQVdTOjpLTVM6OkFsaWFzXCIsXG4gICAgICBcIkFXUzo6S01TOjpHcmFudFwiLFxuICAgICAgXCJBV1M6OktNUzo6UmVwbGljYUtleVwiLFxuXG4gICAgICAvLyBMYW1iZGFcbiAgICAgIFwiQVdTOjpMYW1iZGE6OkNvZGVTaWduaW5nQ29uZmlnXCIsXG4gICAgICBcIkFXUzo6TGFtYmRhOjpFdmVudEludm9rZUNvbmZpZ1wiLFxuICAgICAgXCJBV1M6OkxhbWJkYTo6RXZlbnRTb3VyY2VNYXBwaW5nXCIsXG4gICAgICBcIkFXUzo6TGFtYmRhOjpMYXllclZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OkxheWVyVmVyc2lvblBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlBlcm1pc3Npb25cIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlByb3Zpc2lvbmVkQ29uY3VycmVuY3lDb25maWdcIixcbiAgICAgIFwiQVdTOjpMYW1iZGE6OlVybFwiLFxuICAgICAgXCJBV1M6OkxhbWJkYTo6VmVyc2lvblwiLFxuXG4gICAgICAvLyBMb2dzXG4gICAgICBcIkFXUzo6TG9nczo6QWNjb3VudFBvbGljeVwiLFxuICAgICAgXCJBV1M6OkxvZ3M6OkRlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6TG9nczo6TG9nR3JvdXBcIixcbiAgICAgIFwiQVdTOjpMb2dzOjpMb2dTdHJlYW1cIixcbiAgICAgIFwiQVdTOjpMb2dzOjpNZXRyaWNGaWx0ZXJcIixcbiAgICAgIFwiQVdTOjpMb2dzOjpRdWVyeURlZmluaXRpb25cIixcbiAgICAgIFwiQVdTOjpMb2dzOjpSZXNvdXJjZVBvbGljeVwiLFxuICAgICAgXCJBV1M6OkxvZ3M6OlN1YnNjcmlwdGlvbkZpbHRlclwiLFxuXG4gICAgICAvLyBNYWNpZVxuICAgICAgXCJBV1M6Ok1hY2llOjpBbGxvd0xpc3RcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6Q3VzdG9tRGF0YUlkZW50aWZpZXJcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6RmluZGluZ3NGaWx0ZXJcIixcbiAgICAgIFwiQVdTOjpNYWNpZTo6U2Vzc2lvblwiLFxuXG4gICAgICAvLyBOZXB0dW5lXG4gICAgICBcIkFXUzo6TmVwdHVuZTo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpOZXB0dW5lOjpEQlBhcmFtZXRlckdyb3VwXCIsXG4gICAgICBcIkFXUzo6TmVwdHVuZTo6REJTdWJuZXRHcm91cFwiLFxuXG4gICAgICAvLyBPcmdhbml6YXRpb25zXG4gICAgICBcIkFXUzo6T3JnYW5pemF0aW9uczo6QWNjb3VudFwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvblwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6Ok9yZ2FuaXphdGlvbmFsVW5pdFwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6OlBvbGljeVwiLFxuICAgICAgXCJBV1M6Ok9yZ2FuaXphdGlvbnM6OlJlc291cmNlUG9saWN5XCIsXG5cbiAgICAgIC8vIFJEU1xuICAgICAgXCJBV1M6OlJEUzo6REJDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCUHJveHlFbmRwb2ludFwiLFxuICAgICAgXCJBV1M6OlJEUzo6REJQcm94eVRhcmdldEdyb3VwXCIsXG4gICAgICBcIkFXUzo6UkRTOjpEQlNlY3VyaXR5R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCU2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcbiAgICAgIFwiQVdTOjpSRFM6OkRCU3VibmV0R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSRFM6OkV2ZW50U3Vic2NyaXB0aW9uXCIsXG4gICAgICBcIkFXUzo6UkRTOjpHbG9iYWxDbHVzdGVyXCIsXG4gICAgICBcIkFXUzo6UkRTOjpPcHRpb25Hcm91cFwiLFxuXG4gICAgICAvLyBSZWRzaGlmdFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpDbHVzdGVyUGFyYW1ldGVyR3JvdXBcIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBcIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6Q2x1c3RlclNlY3VyaXR5R3JvdXBJbmdyZXNzXCIsXG4gICAgICBcIkFXUzo6UmVkc2hpZnQ6OkNsdXN0ZXJTdWJuZXRHcm91cFwiLFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEFjY2Vzc1wiLFxuICAgICAgXCJBV1M6OlJlZHNoaWZ0OjpFbmRwb2ludEF1dGhvcml6YXRpb25cIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6RXZlbnRTdWJzY3JpcHRpb25cIixcbiAgICAgIFwiQVdTOjpSZWRzaGlmdDo6U2NoZWR1bGVkQWN0aW9uXCIsXG5cbiAgICAgIC8vIFJvdXRlNTNcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpETlNTRUNcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpIZWFsdGhDaGVja1wiLFxuICAgICAgXCJBV1M6OlJvdXRlNTM6Okhvc3RlZFpvbmVcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzOjpLZXlTaWduaW5nS2V5XCIsXG4gICAgICBcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0XCIsXG4gICAgICBcIkFXUzo6Um91dGU1Mzo6UmVjb3JkU2V0R3JvdXBcIixcblxuICAgICAgLy8gUm91dGU1M1Jlc29sdmVyXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbERvbWFpbkxpc3RcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OkZpcmV3YWxsUnVsZUdyb3VwXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpGaXJld2FsbFJ1bGVHcm91cEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlckNvbmZpZ1wiLFxuICAgICAgXCJBV1M6OlJvdXRlNTNSZXNvbHZlcjo6UmVzb2x2ZXJETlNTRUNDb25maWdcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyUXVlcnlMb2dnaW5nQ29uZmlnXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclF1ZXJ5TG9nZ2luZ0NvbmZpZ0Fzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6Um91dGU1M1Jlc29sdmVyOjpSZXNvbHZlclJ1bGVcIixcbiAgICAgIFwiQVdTOjpSb3V0ZTUzUmVzb2x2ZXI6OlJlc29sdmVyUnVsZUFzc29jaWF0aW9uXCIsXG5cbiAgICAgIC8vIFMzXG4gICAgICBcIkFXUzo6UzM6OkFjY2Vzc1BvaW50XCIsXG4gICAgICBcIkFXUzo6UzM6OkJ1Y2tldFBvbGljeVwiLFxuICAgICAgXCJBV1M6OlMzOjpNdWx0aVJlZ2lvbkFjY2Vzc1BvaW50XCIsXG4gICAgICBcIkFXUzo6UzM6Ok11bHRpUmVnaW9uQWNjZXNzUG9pbnRQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpTMzo6U3RvcmFnZUxlbnNcIixcblxuICAgICAgLy8gU0RCXG4gICAgICBcIkFXUzo6U0RCOjpEb21haW5cIixcblxuICAgICAgLy8gU2VjcmV0c01hbmFnZXJcbiAgICAgIFwiQVdTOjpTZWNyZXRzTWFuYWdlcjo6UmVzb3VyY2VQb2xpY3lcIixcbiAgICAgIFwiQVdTOjpTZWNyZXRzTWFuYWdlcjo6Um90YXRpb25TY2hlZHVsZVwiLFxuICAgICAgXCJBV1M6OlNlY3JldHNNYW5hZ2VyOjpTZWNyZXRUYXJnZXRBdHRhY2htZW50XCIsXG5cbiAgICAgIC8vIFNlY3VyaXR5SHViXG4gICAgICBcIkFXUzo6U2VjdXJpdHlIdWI6Okh1YlwiLFxuXG4gICAgICAvLyBTZXJ2aWNlQ2F0YWxvZ1xuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpBY2NlcHRlZFBvcnRmb2xpb1NoYXJlXCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OkxhdW5jaE5vdGlmaWNhdGlvbkNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoUm9sZUNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6TGF1bmNoVGVtcGxhdGVDb25zdHJhaW50XCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1ByaW5jaXBhbEFzc29jaWF0aW9uXCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlBvcnRmb2xpb1Byb2R1Y3RBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpQb3J0Zm9saW9TaGFyZVwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpSZXNvdXJjZVVwZGF0ZUNvbnN0cmFpbnRcIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U2VydmljZUFjdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpTZXJ2aWNlQWN0aW9uQXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2aWNlQ2F0YWxvZzo6U3RhY2tTZXRDb25zdHJhaW50XCIsXG4gICAgICBcIkFXUzo6U2VydmljZUNhdGFsb2c6OlRhZ09wdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZpY2VDYXRhbG9nOjpUYWdPcHRpb25Bc3NvY2lhdGlvblwiLFxuXG4gICAgICAvLyBTRVNcbiAgICAgIFwiQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRcIixcbiAgICAgIFwiQVdTOjpTRVM6OkNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG4gICAgICBcIkFXUzo6U0VTOjpDb250YWN0TGlzdFwiLFxuICAgICAgXCJBV1M6OlNFUzo6RGVkaWNhdGVkSXBQb29sXCIsXG4gICAgICBcIkFXUzo6U0VTOjpFbWFpbElkZW50aXR5XCIsXG4gICAgICBcIkFXUzo6U0VTOjpSZWNlaXB0RmlsdGVyXCIsXG4gICAgICBcIkFXUzo6U0VTOjpSZWNlaXB0UnVsZVwiLFxuICAgICAgXCJBV1M6OlNFUzo6UmVjZWlwdFJ1bGVTZXRcIixcbiAgICAgIFwiQVdTOjpTRVM6OlRlbXBsYXRlXCIsXG4gICAgICBcIkFXUzo6U0VTOjpWZG1BdHRyaWJ1dGVzXCIsXG5cbiAgICAgIC8vIFNOU1xuICAgICAgXCJBV1M6OlNOUzo6U3Vic2NyaXB0aW9uXCIsXG4gICAgICBcIkFXUzo6U05TOjpUb3BpY1BvbGljeVwiLFxuXG4gICAgICAvLyBTUVNcbiAgICAgIFwiQVdTOjpTUVM6OlF1ZXVlUG9saWN5XCIsXG5cbiAgICAgIC8vIFNTTVxuICAgICAgXCJBV1M6OlNTTTo6QXNzb2NpYXRpb25cIixcbiAgICAgIFwiQVdTOjpTU006OkRvY3VtZW50XCIsXG4gICAgICBcIkFXUzo6U1NNOjpNYWludGVuYW5jZVdpbmRvd1wiLFxuICAgICAgXCJBV1M6OlNTTTo6TWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRcIixcbiAgICAgIFwiQVdTOjpTU006Ok1haW50ZW5hbmNlV2luZG93VGFza1wiLFxuICAgICAgXCJBV1M6OlNTTTo6UGFyYW1ldGVyXCIsXG4gICAgICBcIkFXUzo6U1NNOjpQYXRjaEJhc2VsaW5lXCIsXG4gICAgICBcIkFXUzo6U1NNOjpSZXNvdXJjZURhdGFTeW5jXCIsXG4gICAgICBcIkFXUzo6U1NNOjpSZXNvdXJjZVBvbGljeVwiLFxuXG4gICAgICAvLyBTU09cbiAgICAgIFwiQVdTOjpTU086OkFzc2lnbm1lbnRcIixcbiAgICAgIFwiQVdTOjpTU086Okluc3RhbmNlQWNjZXNzQ29udHJvbEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25cIixcbiAgICAgIFwiQVdTOjpTU086OlBlcm1pc3Npb25TZXRcIixcblxuICAgICAgLy8gU3RlcEZ1bmN0aW9uc1xuICAgICAgXCJBV1M6OlN0ZXBGdW5jdGlvbnM6OkFjdGl2aXR5XCIsXG5cbiAgICAgIC8vIFdBRi9XQUZ2MlxuICAgICAgXCJBV1M6OldBRjo6Qnl0ZU1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRjo6UnVsZVwiLFxuICAgICAgXCJBV1M6OldBRjo6U2l6ZUNvbnN0cmFpbnRTZXRcIixcbiAgICAgIFwiQVdTOjpXQUY6OlNxbEluamVjdGlvbk1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGOjpXZWJBQ0xcIixcbiAgICAgIFwiQVdTOjpXQUY6Olhzc01hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OkJ5dGVNYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpHZW9NYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpSYXRlQmFzZWRSdWxlXCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlJlZ2V4UGF0dGVyblNldFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpSdWxlXCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlNpemVDb25zdHJhaW50U2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OlNxbEluamVjdGlvbk1hdGNoU2V0XCIsXG4gICAgICBcIkFXUzo6V0FGUmVnaW9uYWw6OldlYkFDTFwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpXZWJBQ0xBc3NvY2lhdGlvblwiLFxuICAgICAgXCJBV1M6OldBRlJlZ2lvbmFsOjpYc3NNYXRjaFNldFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpJUFNldFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpMb2dnaW5nQ29uZmlndXJhdGlvblwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpSZWdleFBhdHRlcm5TZXRcIixcbiAgICAgIFwiQVdTOjpXQUZ2Mjo6UnVsZUdyb3VwXCIsXG4gICAgICBcIkFXUzo6V0FGdjI6OldlYkFDTFwiLFxuICAgICAgXCJBV1M6OldBRnYyOjpXZWJBQ0xBc3NvY2lhdGlvblwiLFxuXG4gICAgICAvLyBTZXJ2ZXJsZXNzXG4gICAgICBcIkFXUzo6U2VydmVybGVzczo6QXBpXCIsXG4gICAgICBcIkFXUzo6U2VydmVybGVzczo6QXBwbGljYXRpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpGdW5jdGlvblwiLFxuICAgICAgXCJBV1M6OlNlcnZlcmxlc3M6Okh0dHBBcGlcIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpMYXllclZlcnNpb25cIixcbiAgICAgIFwiQVdTOjpTZXJ2ZXJsZXNzOjpTaW1wbGVUYWJsZVwiLFxuICAgICAgXCJBV1M6OlNlcnZlcmxlc3M6OlN0YXRlTWFjaGluZVwiXG4gICAgXTtcblxuICAgIGlmICh1bnN1cHBvcnRlZFR5cGVzLmluY2x1ZGVzKHJlc291cmNlLmNmblJlc291cmNlVHlwZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBBZGQgYSBzeW50aGVzaXMgaG9vayB0byBtb2RpZnkgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihyZXNvdXJjZSk7XG4gICAgY29uc3QgbG9naWNhbElkID0gc3RhY2suZ2V0TG9naWNhbElkKHJlc291cmNlKTtcblxuICAgIC8vIFVzZSBhZGRUcmFuc2Zvcm0gdG8gYWRkIHRhZ3MgZHVyaW5nIHN5bnRoZXNpc1xuICAgIHJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoXCJUYWdzXCIsIHRoaXMuYnVpbGRUYWdzQXJyYXkocmVzb3VyY2UpKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWdzQXJyYXkocmVzb3VyY2U6IENmblJlc291cmNlKTogYW55W10ge1xuICAgIGNvbnN0IHRhZ01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgICAvLyBBZGQgSVBBTSBwb29sIHRhZyBmb3IgVlBDcyB3aXRoIElQQU0gY29uZmlndXJhdGlvblxuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09IFwiQVdTOjpFQzI6OlZQQ1wiKSB7XG4gICAgICBjb25zdCB2cGMgPSByZXNvdXJjZSBhcyBDZm5WUEM7XG4gICAgICBjb25zdCBpcGFtUG9vbElkID0gdnBjLmlwdjRJcGFtUG9vbElkO1xuXG4gICAgICBpZiAoaXBhbVBvb2xJZCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHJlc291cmNlKTtcbiAgICAgICAgY29uc3QgYWNjb3VudElkID1cbiAgICAgICAgICBzdGFjay5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIikgfHxcbiAgICAgICAgICBzdGFjay5hY2NvdW50IHx8XG4gICAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVDtcbiAgICAgICAgY29uc3QgcmVnaW9uID0gc3RhY2sucmVnaW9uIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcbiAgICAgICAgaWYgKGFjY291bnRJZCAmJiByZWdpb24pIHtcbiAgICAgICAgICB0YWdNYXAuc2V0KFwiZmphbGw6b3BlcmF0aW9uczpwb29sXCIsIGAke2FjY291bnRJZH0tJHtyZWdpb259YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBcHBseSBzdGFuZGFyZCB0YWdzXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5yZXF1aXJlZFRhZ3MpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgdGFnTWFwLnNldChrZXksIHZhbHVlKTtcbiAgICB9KTtcblxuICAgIC8vIENvbnZlcnQgdG8gQ2xvdWRGb3JtYXRpb24gZm9ybWF0XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGFnTWFwLmVudHJpZXMoKSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICBLZXk6IGtleSxcbiAgICAgIFZhbHVlOiB2YWx1ZVxuICAgIH0pKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.73.14",
3
+ "version": "0.73.15",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@aws-sdk/client-organizations": "^3.716.0",
38
- "@fjall/util": "^0.73.14",
38
+ "@fjall/util": "^0.73.15",
39
39
  "@pepperize/cdk-organizations": "^0.7.135",
40
40
  "cdk-time-sleep": "^1.0.0",
41
41
  "constructs": "^10.0.0",
@@ -44,7 +44,7 @@
44
44
  "overrides": {
45
45
  "@smithy/core": "2.5.5"
46
46
  },
47
- "gitHead": "108edabdf40c05a7dfe0bf96ddfe6f70d8c01471",
47
+ "gitHead": "8fb385f95db809983150d91ac12431bab767890b",
48
48
  "peerDependencies": {
49
49
  "aws-cdk": "^2.206.0",
50
50
  "aws-cdk-lib": "^2.206.0",