cdktn 0.23.3 → 0.23.4

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.
Files changed (72) hide show
  1. package/.jsii +437 -220
  2. package/README.md +2 -2
  3. package/lib/annotations.js +1 -1
  4. package/lib/app.js +1 -1
  5. package/lib/aspect.js +1 -1
  6. package/lib/backends/azurerm-backend.js +2 -2
  7. package/lib/backends/cloud-backend.js +4 -4
  8. package/lib/backends/consul-backend.js +2 -2
  9. package/lib/backends/cos-backend.js +2 -2
  10. package/lib/backends/gcs-backend.js +2 -2
  11. package/lib/backends/http-backend.js +2 -2
  12. package/lib/backends/local-backend.js +2 -2
  13. package/lib/backends/oss-backend.js +2 -2
  14. package/lib/backends/pg-backend.js +2 -2
  15. package/lib/backends/remote-backend.js +4 -4
  16. package/lib/backends/s3-backend.d.ts +11 -1
  17. package/lib/backends/s3-backend.js +11 -4
  18. package/lib/backends/swift-backend.js +2 -2
  19. package/lib/complex-computed-list.js +23 -23
  20. package/lib/features.d.ts +9 -0
  21. package/lib/features.js +11 -2
  22. package/lib/functions/function-availability.generated.d.ts +16 -0
  23. package/lib/functions/function-availability.generated.js +21 -0
  24. package/lib/functions/helpers.js +3 -1
  25. package/lib/functions/terraform-functions.generated.d.ts +40 -2
  26. package/lib/functions/terraform-functions.generated.js +57 -5
  27. package/lib/functions/usage-registry.d.ts +6 -0
  28. package/lib/functions/usage-registry.js +34 -0
  29. package/lib/importable-resource.js +1 -1
  30. package/lib/manifest.js +1 -1
  31. package/lib/resource.js +1 -1
  32. package/lib/synthesize/synthesizer.js +5 -1
  33. package/lib/terraform-asset.js +1 -1
  34. package/lib/terraform-backend.js +1 -1
  35. package/lib/terraform-count.js +1 -1
  36. package/lib/terraform-data-resource.js +1 -1
  37. package/lib/terraform-data-source.js +1 -1
  38. package/lib/terraform-element.js +1 -1
  39. package/lib/terraform-functions.js +1 -1
  40. package/lib/terraform-hcl-module.js +1 -1
  41. package/lib/terraform-iterator.js +5 -5
  42. package/lib/terraform-local.js +1 -1
  43. package/lib/terraform-module.js +1 -1
  44. package/lib/terraform-operators.js +1 -1
  45. package/lib/terraform-output.js +1 -1
  46. package/lib/terraform-provider.js +1 -1
  47. package/lib/terraform-provisioner.js +1 -1
  48. package/lib/terraform-remote-state.js +1 -1
  49. package/lib/terraform-resource-targets.js +1 -1
  50. package/lib/terraform-resource.js +1 -1
  51. package/lib/terraform-stack.js +6 -2
  52. package/lib/terraform-variable.js +2 -2
  53. package/lib/testing/index.js +3 -3
  54. package/lib/testing/matchers.js +1 -1
  55. package/lib/tokens/lazy.js +2 -2
  56. package/lib/tokens/resolvable.js +2 -2
  57. package/lib/tokens/string-fragments.js +1 -1
  58. package/lib/tokens/token.js +2 -2
  59. package/lib/tsconfig.tsbuildinfo +1 -1
  60. package/lib/upgrade-id-aspect.js +1 -1
  61. package/lib/validations/index.d.ts +3 -0
  62. package/lib/validations/index.js +4 -1
  63. package/lib/validations/target-versions.d.ts +71 -0
  64. package/lib/validations/target-versions.js +132 -0
  65. package/lib/validations/validate-binary-version.d.ts +10 -0
  66. package/lib/validations/validate-binary-version.js +11 -1
  67. package/lib/validations/validate-function-version-support.d.ts +21 -0
  68. package/lib/validations/validate-function-version-support.js +53 -0
  69. package/lib/validations/validate-terraform-feature-version.d.ts +34 -0
  70. package/lib/validations/validate-terraform-feature-version.js +34 -0
  71. package/package.json +8 -8
  72. package/scripts/pack.mjs +168 -0
@@ -60,5 +60,5 @@ class ImportableResource extends terraform_element_1.TerraformElement {
60
60
  }
61
61
  exports.ImportableResource = ImportableResource;
62
62
  _a = JSII_RTTI_SYMBOL_1;
63
- ImportableResource[_a] = { fqn: "cdktn.ImportableResource", version: "0.23.3" };
63
+ ImportableResource[_a] = { fqn: "cdktn.ImportableResource", version: "0.23.4" };
64
64
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0YWJsZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnRhYmxlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsMkRBQXVEO0FBRXZELHlGQUFvRjtBQVFwRjs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsb0NBQWdCO0lBQ3RELFlBQ0UsS0FBZ0IsRUFDaEIsSUFBWSxFQUNLLE1BQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRzFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsOEZBQThGLENBQy9GLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hHLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsRUFBRSxFQUFFO3dCQUNGLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLElBQUksRUFBRSxRQUFRO3dCQUNkLGdCQUFnQixFQUFFLFdBQVc7cUJBQzlCO29CQUNELEVBQUUsRUFBRTt3QkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxnQkFBZ0IsRUFBRSxRQUFRO3FCQUMzQjtvQkFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUM1QixDQUFDLENBQUM7NEJBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7NEJBQy9CLElBQUksRUFBRSxRQUFROzRCQUNkLGdCQUFnQixFQUFFLFdBQVc7eUJBQzlCO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEcsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxFQUFFLEVBQUUsdUJBQXVCO29CQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDdEU7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCw4QkFBOEIsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQzs7QUEzREgsZ0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSW1wb3J0YWJsZUNvbmZpZyB7XG4gIHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpbXBvcnRJZDogc3RyaW5nO1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIENsYXNzIHVzZWQgdG8gcmVwcmVzZW50IGFuIGltcG9ydGFibGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRhYmxlUmVzb3VyY2UgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElJbXBvcnRhYmxlQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSwgY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oXG4gICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICBcIj49MS41XCIsXG4gICAgICAgIGBJbXBvcnQgYmxvY2tzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBleHBlY3RlZFJlc291cmNlQWRkcmVzcyA9IGAke3RoaXMuY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YDtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgdmFsdWU6IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwicmVmZXJlbmNlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29uZmlnLmltcG9ydElkLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm92aWRlcjogdGhpcy5jb25maWcucHJvdmlkZXJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzID0gYCR7dGhpcy5jb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gO1xuICAgIHJldHVybiB7XG4gICAgICBpbXBvcnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBleHBlY3RlZFJlc291cmNlQWRkcmVzcyxcbiAgICAgICAgICBpZDogdGhpcy5jb25maWcuaW1wb3J0SWQsXG4gICAgICAgICAgcHJvdmlkZXI6IHRoaXMuY29uZmlnLnByb3ZpZGVyID8gdGhpcy5jb25maWcucHJvdmlkZXIuZnFuIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0c0dlbmVyYXRpbmdDb25maWd1cmF0aW9uOiBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/lib/manifest.js CHANGED
@@ -50,7 +50,7 @@ class Manifest {
50
50
  }
51
51
  exports.Manifest = Manifest;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- Manifest[_a] = { fqn: "cdktn.Manifest", version: "0.23.3" };
53
+ Manifest[_a] = { fqn: "cdktn.Manifest", version: "0.23.4" };
54
54
  Manifest.fileName = "manifest.json";
55
55
  Manifest.stacksFolder = "stacks";
56
56
  Manifest.stackMetadataPath = "metadata.json";
package/lib/resource.js CHANGED
@@ -19,5 +19,5 @@ class Resource extends constructs_1.Construct {
19
19
  }
20
20
  exports.Resource = Resource;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- Resource[_a] = { fqn: "cdktn.Resource", version: "0.23.3" };
22
+ Resource[_a] = { fqn: "cdktn.Resource", version: "0.23.4" };
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx1REFBbUQ7QUFhbkQ7OztHQUdHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLHNCQUFTO0lBRzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQU5ILDRCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvdXJjZSBleHRlbmRzIElDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIHN0YWNrIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzb3VyY2VDb25zdHJ1Y3RvciB7XG4gIG5ldyAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBJUmVzb3VyY2U7XG59XG5cbi8qKlxuICogQSBjb25zdHJ1Y3Qgd2hpY2ggcmVwcmVzZW50cyBhIHJlc291cmNlLlxuICogQGRlcHJlY2F0ZWQgLSBQbGVhc2UgdXNlIENvbnN0cnVjdCBmcm9tIHRoZSBjb25zdHJ1Y3RzIHBhY2thZ2UgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc291cmNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YodGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -29,6 +29,10 @@ class StackSynthesizer {
29
29
  synthesize(session) {
30
30
  invokeAspects(this.stack);
31
31
  if (this.stack.hasResourceMove()) {
32
+ // TODO(target-versions): this probes the locally installed binary during
33
+ // synth. Migrate to ValidateFeatureTargetSupport (declared cdktf.json
34
+ // targetVersions) and leave installed-binary verification to the opt-in
35
+ // validateInstalledBinary CLI behavior.
32
36
  this.stack.node.addValidation(new validate_terraform_version_1.ValidateTerraformVersion(">=1.5", `Resource move functionality is only supported for Terraform >=1.5. Please upgrade your Terraform version.`));
33
37
  }
34
38
  if (!session.skipValidation) {
@@ -142,4 +146,4 @@ function addCustomSynthesis(construct, synthesis) {
142
146
  function getCustomSynthesis(construct) {
143
147
  return construct[CUSTOM_SYNTHESIS_SYM];
144
148
  }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF3SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBNU1ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBOEM7QUFHOUMsZ0RBQTBFO0FBQzFFLDJDQUF1RTtBQUN2RSxzQ0FBNkM7QUFFN0MsMEZBQXFGO0FBQ3JGLHNDQUFnRTtBQUVoRSwrQ0FBK0M7QUFDL0MsTUFBYSxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxZQUNZLEtBQXFCLEVBQ3ZCLDZCQUE2QixLQUFLLEVBQ2xDLFlBQVksS0FBSztRQUZmLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBUTtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ3hCLENBQUM7SUFFSixVQUFVLENBQUMsT0FBMEI7UUFDbkMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQzNCLElBQUkscURBQXdCLENBQzFCLE9BQU8sRUFDUCwyR0FBMkcsQ0FDNUcsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBE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LFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsU0FBUyxrQkFBa0IsQ0FDekIsU0FBcUI7SUFFckIsT0FBUSxTQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBzdHJpbmdpZnkgZnJvbSBcInNhZmUtc3RhYmxlLXN0cmluZ2lmeVwiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyBJU3RhY2tTeW50aGVzaXplciwgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLCBBbm5vdGF0aW9ucyB9IGZyb20gXCIuLi9hbm5vdGF0aW9uc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0T3JkZXIsIElDb25zdHJ1Y3QsIE1ldGFkYXRhRW50cnkgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXNwZWN0cywgSUFzcGVjdCB9IGZyb20gXCIuLi9hc3BlY3RcIjtcbmltcG9ydCB7IFN0YWNrQW5ub3RhdGlvbiB9IGZyb20gXCIuLi9tYW5pZmVzdFwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4uL3ZhbGlkYXRpb25zL3ZhbGlkYXRlLXRlcnJhZm9ybS12ZXJzaW9uXCI7XG5pbXBvcnQgeyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvciB9IGZyb20gXCIuLi9lcnJvcnNcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBTdGFja1N5bnRoZXNpemVyIGltcGxlbWVudHMgSVN0YWNrU3ludGhlc2l6ZXIge1xuICAvKipcbiAgICogQHBhcmFtIHN0YWNrIHRoZSBzdGFjayB0byBzeW50aGVzaXplXG4gICAqIEBwYXJhbSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyBpZiBzZXQgdG8gdHJ1ZSwgYHN5bnRoZXNpemUoKWAgd2lsbCBub3QgdGhyb3cgYW4gZXJyb3JcbiAgICogaWYgaXQgZW5jb3VudGVycyBhbiBlcnJvciBBbm5vdGF0aW9uLiBIb3dldmVyLCBpdCB3aWxsIHN0aWxsIGFkZCBhbGwgZXJyb3JzIHRvIHRoZSBtYW5pZmVzdFxuICAgKiBmaWxlLiBUaGUgY2RrdG4tY2xpIHVzZXMgdGhpcyBmbGFnIHRvIHByaW50IHRoZSBlcnJvcnMgaXRzZWxmLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHN0YWNrOiBUZXJyYWZvcm1TdGFjayxcbiAgICBwcml2YXRlIGNvbnRpbnVlT25FcnJvckFubm90YXRpb25zID0gZmFsc2UsXG4gICAgcHJpdmF0ZSBoY2xPdXRwdXQgPSBmYWxzZSxcbiAgKSB7fVxuXG4gIHN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pIHtcbiAgICBpbnZva2VBc3BlY3RzKHRoaXMuc3RhY2spO1xuXG4gICAgaWYgKHRoaXMuc3RhY2suaGFzUmVzb3VyY2VNb3ZlKCkpIHtcbiAgICAgIHRoaXMuc3RhY2subm9kZS5hZGRWYWxpZGF0aW9uKFxuICAgICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICAgIFwiPj0xLjVcIixcbiAgICAgICAgICBgUmVzb3VyY2UgbW92ZSBmdW5jdGlvbmFsaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBUZXJyYWZvcm0gPj0xLjUuIFBsZWFzZSB1cGdyYWRlIHlvdXIgVGVycmFmb3JtIHZlcnNpb24uYCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFzZXNzaW9uLnNraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLnN0YWNrLnJ1bkFsbFZhbGlkYXRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBzZXNzaW9uLm1hbmlmZXN0O1xuICAgIGNvbnN0IHN0YWNrTWFuaWZlc3QgPSBtYW5pZmVzdC5mb3JTdGFjayh0aGlzLnN0YWNrKTtcblxuICAgIGNvbnN0IHdvcmtpbmdEaXJlY3RvcnkgPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Qud29ya2luZ0RpcmVjdG9yeSxcbiAgICApO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh3b3JraW5nRGlyZWN0b3J5KSkgZnMubWtkaXJTeW5jKHdvcmtpbmdEaXJlY3RvcnkpO1xuXG4gICAgLy8gY2FsbCBjdXN0b20gc3ludGhlc2lzIG9uIGNoaWxkIG5vZGVzIChsZWFmcyBmaXJzdClcbiAgICB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKENvbnN0cnVjdE9yZGVyLlBPU1RPUkRFUilcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiBnZXRDdXN0b21TeW50aGVzaXMobm9kZSk/Lm9uU3ludGhlc2l6ZShzZXNzaW9uKSk7XG5cbiAgICAvLyBjb2xsZWN0IEFubm90YXRpb25zIGludG8gTWFuaWZlc3RcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuc3RhY2subm9kZVxuICAgICAgLmZpbmRBbGwoKVxuICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWV0YWRhdGFzOiBub2RlLm5vZGUubWV0YWRhdGEuZmlsdGVyKGlzQW5ub3RhdGlvbk1ldGFkYXRhKSxcbiAgICAgIH0pKVxuICAgICAgLm1hcDxTdGFja0Fubm90YXRpb25bXT4oKHsgbm9kZSwgbWV0YWRhdGFzIH0pID0+XG4gICAgICAgIG1ldGFkYXRhcy5tYXAoKG1ldGFkYXRhKSA9PiAoe1xuICAgICAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUubm9kZS5wYXRoLFxuICAgICAgICAgIGxldmVsOiBtZXRhZGF0YS50eXBlIGFzIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSxcbiAgICAgICAgICBtZXNzYWdlOiBtZXRhZGF0YS5kYXRhLFxuICAgICAgICAgIHN0YWNrdHJhY2U6IG1ldGFkYXRhLnRyYWNlLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAucmVkdWNlKChsaXN0LCBtZXRhZGF0YXMpID0+IFsuLi5saXN0LCAuLi5tZXRhZGF0YXNdLCBbXSk7IC8vIEFycmF5LmZsYXQoKVxuXG4gICAgLy8gaXQgaXMgcmVhZG9ubHkgYnV0IHRoaXMgaXMgdGhlIHBsYWNlIHdoZXJlIHdlIGFyZSBhbGxvd2VkIHRvIHdyaXRlIHRvIGl0XG4gICAgKHN0YWNrTWFuaWZlc3QuYW5ub3RhdGlvbnMgYXMgYW55KSA9IGFubm90YXRpb25zO1xuXG4gICAgLy8gYWJvcnQgaWYgb25lIG9yIG1vcmUgZXJyb3IgYW5ub3RhdGlvbnMgaGF2ZSBiZWVuIGVuY291bnRlcmVkXG4gICAgaWYgKFxuICAgICAgIXRoaXMuY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgJiZcbiAgICAgIGFubm90YXRpb25zLnNvbWUoaXNFcnJvckFubm90YXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvcihcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICAgICAgIC5tYXAoKGEpID0+IGBbJHthLmNvbnN0cnVjdFBhdGh9XSAke2EubWVzc2FnZX1gKVxuICAgICAgICAgIC5qb2luKFwiXFxuXCIpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oY2xPdXRwdXQpIHtcbiAgICAgIGNvbnN0IGhjbCA9IHRoaXMuc3RhY2sudG9IY2xUZXJyYWZvcm0oKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICAgIHBhdGguam9pbihzZXNzaW9uLm91dGRpciwgc3RhY2tNYW5pZmVzdC5zeW50aGVzaXplZFN0YWNrUGF0aCksXG4gICAgICAgIGhjbC5oY2wsXG4gICAgICApO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3RhY2tNZXRhZGF0YVBhdGghKSxcbiAgICAgICAgc3RyaW5naWZ5KGhjbC5tZXRhZGF0YSwgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnZva2UgYXNwZWN0cyBvbiB0aGUgZ2l2ZW4gY29uc3RydWN0IHRyZWUuXG4gKlxuICogb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvQGF3cy1jZGsvY29yZS9saWIvcHJpdmF0ZS9zeW50aGVzaXMudHMjTDk5LUwxMzdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzcGVjdHMocm9vdDogSUNvbnN0cnVjdCkge1xuICBjb25zdCBpbnZva2VkQnlQYXRoOiB7IFtub2RlUGF0aDogc3RyaW5nXTogSUFzcGVjdFtdIH0gPSB7fTtcblxuICBsZXQgbmVzdGVkQXNwZWN0V2FybmluZyA9IGZhbHNlO1xuICByZWN1cnNlKHJvb3QsIFtdKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICBmdW5jdGlvbiByZWN1cnNlKGNvbnN0cnVjdDogSUNvbnN0cnVjdCwgaW5oZXJpdGVkQXNwZWN0czogSUFzcGVjdFtdKSB7XG4gICAgY29uc3Qgbm9kZSA9IGNvbnN0cnVjdC5ub2RlO1xuICAgIGNvbnN0IGFzcGVjdHMgPSBBc3BlY3RzLm9mKGNvbnN0cnVjdCk7XG4gICAgY29uc3QgYWxsQXNwZWN0c0hlcmUgPSBbLi4uKGluaGVyaXRlZEFzcGVjdHMgPz8gW10pLCAuLi5hc3BlY3RzLmFsbF07XG4gICAgY29uc3Qgbm9kZUFzcGVjdHNDb3VudCA9IGFzcGVjdHMuYWxsLmxlbmd0aDtcbiAgICBmb3IgKGNvbnN0IGFzcGVjdCBvZiBhbGxBc3BlY3RzSGVyZSkge1xuICAgICAgbGV0IGludm9rZWQgPSBpbnZva2VkQnlQYXRoW25vZGUucGF0aF07XG4gICAgICBpZiAoIWludm9rZWQpIHtcbiAgICAgICAgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW52b2tlZC5pbmNsdWRlcyhhc3BlY3QpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhc3BlY3QudmlzaXQoY29uc3RydWN0KTtcblxuICAgICAgLy8gaWYgYW4gYXNwZWN0IHdhcyBhZGRlZCB0byB0aGUgbm9kZSB3aGlsZSBpbnZva2luZyBhbm90aGVyIGFzcGVjdCBpdCB3aWxsIG5vdCBiZSBpbnZva2VkLCBlbWl0IGEgd2FybmluZ1xuICAgICAgLy8gdGhlIGBuZXN0ZWRBc3BlY3RXYXJuaW5nYCBmbGFnIGlzIHVzZWQgdG8gcHJldmVudCB0aGUgd2FybmluZyBmcm9tIGJlaW5nIGVtaXR0ZWQgZm9yIGV2ZXJ5IGNoaWxkXG4gICAgICBpZiAoIW5lc3RlZEFzcGVjdFdhcm5pbmcgJiYgbm9kZUFzcGVjdHNDb3VudCAhPT0gYXNwZWN0cy5hbGwubGVuZ3RoKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKGNvbnN0cnVjdCkuYWRkV2FybmluZyhcbiAgICAgICAgICBcIldlIGRldGVjdGVkIGFuIEFzcGVjdCB3YXMgYWRkZWQgdmlhIGFub3RoZXIgQXNwZWN0LCBhbmQgd2lsbCBub3QgYmUgYXBwbGllZFwiLFxuICAgICAgICApO1xuICAgICAgICBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gbWFyayBhcyBpbnZva2VkIGZvciB0aGlzIG5vZGVcbiAgICAgIGludm9rZWQucHVzaChhc3BlY3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIHJlY3Vyc2UoY2hpbGQsIGFsbEFzcGVjdHNIZXJlKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcyA9IFtcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLklORk8sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5XQVJOLFxuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuRVJST1IsXG5dIGFzIHN0cmluZ1tdO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gaXNBbm5vdGF0aW9uTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFkYXRhRW50cnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZXMuaW5jbHVkZXMobWV0YWRhdGEudHlwZSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Vycm9yQW5ub3RhdGlvbihhbm5vdGF0aW9uOiBTdGFja0Fubm90YXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb24ubGV2ZWwgPT09IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUjtcbn1cblxuLy8gb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvJTQwYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMNTJcbmNvbnN0IENVU1RPTV9TWU5USEVTSVNfU1lNID0gU3ltYm9sLmZvcihcImNka3RmL2N1c3RvbVN5bnRoZXNpc1wiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbnN0cnVjdHMgdGhhdCB3YW50IHRvIGRvIHNvbWV0aGluZyBjdXN0b20gZHVyaW5nIHN5bnRoZXNpc1xuICpcbiAqIFRoaXMgZmVhdHVyZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSBDREtUTiBvbmx5OyAzcmQgcGFydHlcbiAqIGxpYnJhcnkgYXV0aG9ycyBhbmQgQ0RLIHVzZXJzIHNob3VsZCBub3QgdXNlIHRoaXMgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVN5bnRoZXNpcyB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY29uc3RydWN0IGlzIHN5bnRoZXNpemVkXG4gICAqL1xuICBvblN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICBzeW50aGVzaXM6IElDdXN0b21TeW50aGVzaXMsXG4pOiB2b2lkIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdCwgQ1VTVE9NX1NZTlRIRVNJU19TWU0sIHtcbiAgICB2YWx1ZTogc3ludGhlc2lzLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICB9KTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGdldEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuKTogSUN1c3RvbVN5bnRoZXNpcyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiAoY29uc3RydWN0IGFzIGFueSlbQ1VTVE9NX1NZTlRIRVNJU19TWU1dO1xufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBaE5ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBOEM7QUFHOUMsZ0RBQTBFO0FBQzFFLDJDQUF1RTtBQUN2RSxzQ0FBNkM7QUFFN0MsMEZBQXFGO0FBQ3JGLHNDQUFnRTtBQUVoRSwrQ0FBK0M7QUFDL0MsTUFBYSxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxZQUNZLEtBQXFCLEVBQ3ZCLDZCQUE2QixLQUFLLEVBQ2xDLFlBQVksS0FBSztRQUZmLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBUTtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ3hCLENBQUM7SUFFSixVQUFVLENBQUMsT0FBMEI7UUFDbkMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNqQyx5RUFBeUU7WUFDekUsc0VBQXNFO1lBQ3RFLHdFQUF3RTtZQUN4RSx3Q0FBd0M7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUMzQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsMkdBQTJHLENBQzVHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ2hDLE9BQU8sQ0FBQyxNQUFNLEVBQ2QsYUFBYSxDQUFDLGdCQUFnQixDQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFckUscURBQXFEO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTthQUNaLE9BQU8sQ0FBQywyQkFBYyxDQUFDLFNBQVMsQ0FBQzthQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXRFLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7YUFDaEMsT0FBTyxFQUFFO2FBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsSUFBSTtZQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7U0FDM0QsQ0FBQyxDQUFDO2FBQ0YsR0FBRyxDQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FDOUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzdCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBbUM7WUFDbkQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ3RCLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUMsQ0FDSjthQUNBLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWU7UUFFNUUsMkVBQTJFO1FBQzFFLGFBQWEsQ0FBQyxXQUFtQixHQUFHLFdBQVcsQ0FBQztRQUVqRCwrREFBK0Q7UUFDL0QsSUFDRSxDQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUNuQyxDQUFDO1lBQ0QsTUFBTSxJQUFBLDRDQUFtQyxFQUN2QyxXQUFXO2lCQUNSLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztpQkFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hDLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUM3RCxHQUFHLENBQUMsR0FBRyxDQUNSLENBQUM7WUFFRixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsaUJBQWtCLENBQUMsRUFDM0QsSUFBQSwrQkFBUyxFQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBVyxDQUMzQyxDQUFDO1lBRUYsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlDLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUM3RCxJQUFBLCtCQUFTLEVBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQVcsQ0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRHRCw0Q0FzR0M7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLElBQWdCO0lBQzVDLE1BQU0sYUFBYSxHQUFzQyxFQUFFLENBQUM7SUFFNUQsSUFBSSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVsQiwrQ0FBK0M7SUFDL0MsU0FBUyxPQUFPLENBQUMsU0FBcUIsRUFBRSxnQkFBMkI7UUFDakUsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxnQkFBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRSxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzVDLEtBQUssTUFBTSxNQUFNLElBQUksY0FBYyxFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFDLENBQUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsU0FBUztZQUNYLENBQUM7WUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXhCLDBHQUEwRztZQUMxRyxtR0FBbUc7WUFDbkcsSUFBSSxDQUFDLG1CQUFtQixJQUFJLGdCQUFnQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BFLHlCQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FDbEMsNkVBQTZFLENBQzlFLENBQUM7Z0JBQ0YsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUM7WUFFRCxnQ0FBZ0M7WUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBRUQsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSw0QkFBNEIsR0FBRztJQUNuQyx5Q0FBMkIsQ0FBQyxJQUFJO0lBQ2hDLHlDQUEyQixDQUFDLElBQUk7SUFDaEMseUNBQTJCLENBQUMsS0FBSztDQUN0QixDQUFDO0FBRWQsK0NBQStDO0FBQy9DLFNBQVMsb0JBQW9CLENBQUMsUUFBdUI7SUFDbkQsT0FBTyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsU0FBUyxpQkFBaUIsQ0FBQyxVQUEyQjtJQUNwRCxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUsseUNBQTJCLENBQUMsS0FBSyxDQUFDO0FBQ2hFLENBQUM7QUFFRCxxSkFBcUo7QUFDckosTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFlakUsK0NBQStDO0FBQy9DLFNBQWdCLGtCQUFrQixDQUNoQyxTQUFxQixFQUNyQixTQUEyQjtJQUUzQixNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRTtRQUNyRCxLQUFLLEVBQUUsU0FBUztRQUNoQixVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsK0NBQStDO0FBQy9DLFNBQVMsa0JBQWtCLENBQ3pCLFNBQXFCO0lBRXJCLE9BQVEsU0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgc3RyaW5naWZ5IGZyb20gXCJzYWZlLXN0YWJsZS1zdHJpbmdpZnlcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgSVN0YWNrU3ludGhlc2l6ZXIsIElTeW50aGVzaXNTZXNzaW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSwgQW5ub3RhdGlvbnMgfSBmcm9tIFwiLi4vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdE9yZGVyLCBJQ29uc3RydWN0LCBNZXRhZGF0YUVudHJ5IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFzcGVjdHMsIElBc3BlY3QgfSBmcm9tIFwiLi4vYXNwZWN0XCI7XG5pbXBvcnQgeyBTdGFja0Fubm90YXRpb24gfSBmcm9tIFwiLi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiB9IGZyb20gXCIuLi92YWxpZGF0aW9ucy92YWxpZGF0ZS10ZXJyYWZvcm0tdmVyc2lvblwiO1xuaW1wb3J0IHsgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgU3RhY2tTeW50aGVzaXplciBpbXBsZW1lbnRzIElTdGFja1N5bnRoZXNpemVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBzdGFjayB0aGUgc3RhY2sgdG8gc3ludGhlc2l6ZVxuICAgKiBAcGFyYW0gY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgaWYgc2V0IHRvIHRydWUsIGBzeW50aGVzaXplKClgIHdpbGwgbm90IHRocm93IGFuIGVycm9yXG4gICAqIGlmIGl0IGVuY291bnRlcnMgYW4gZXJyb3IgQW5ub3RhdGlvbi4gSG93ZXZlciwgaXQgd2lsbCBzdGlsbCBhZGQgYWxsIGVycm9ycyB0byB0aGUgbWFuaWZlc3RcbiAgICogZmlsZS4gVGhlIGNka3RuLWNsaSB1c2VzIHRoaXMgZmxhZyB0byBwcmludCB0aGUgZXJyb3JzIGl0c2VsZi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdGFjazogVGVycmFmb3JtU3RhY2ssXG4gICAgcHJpdmF0ZSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyA9IGZhbHNlLFxuICAgIHByaXZhdGUgaGNsT3V0cHV0ID0gZmFsc2UsXG4gICkge31cblxuICBzeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgaW52b2tlQXNwZWN0cyh0aGlzLnN0YWNrKTtcblxuICAgIGlmICh0aGlzLnN0YWNrLmhhc1Jlc291cmNlTW92ZSgpKSB7XG4gICAgICAvLyBUT0RPKHRhcmdldC12ZXJzaW9ucyk6IHRoaXMgcHJvYmVzIHRoZSBsb2NhbGx5IGluc3RhbGxlZCBiaW5hcnkgZHVyaW5nXG4gICAgICAvLyBzeW50aC4gTWlncmF0ZSB0byBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IChkZWNsYXJlZCBjZGt0Zi5qc29uXG4gICAgICAvLyB0YXJnZXRWZXJzaW9ucykgYW5kIGxlYXZlIGluc3RhbGxlZC1iaW5hcnkgdmVyaWZpY2F0aW9uIHRvIHRoZSBvcHQtaW5cbiAgICAgIC8vIHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5IENMSSBiZWhhdmlvci5cbiAgICAgIHRoaXMuc3RhY2subm9kZS5hZGRWYWxpZGF0aW9uKFxuICAgICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICAgIFwiPj0xLjVcIixcbiAgICAgICAgICBgUmVzb3VyY2UgbW92ZSBmdW5jdGlvbmFsaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBUZXJyYWZvcm0gPj0xLjUuIFBsZWFzZSB1cGdyYWRlIHlvdXIgVGVycmFmb3JtIHZlcnNpb24uYCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFzZXNzaW9uLnNraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLnN0YWNrLnJ1bkFsbFZhbGlkYXRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBzZXNzaW9uLm1hbmlmZXN0O1xuICAgIGNvbnN0IHN0YWNrTWFuaWZlc3QgPSBtYW5pZmVzdC5mb3JTdGFjayh0aGlzLnN0YWNrKTtcblxuICAgIGNvbnN0IHdvcmtpbmdEaXJlY3RvcnkgPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Qud29ya2luZ0RpcmVjdG9yeSxcbiAgICApO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh3b3JraW5nRGlyZWN0b3J5KSkgZnMubWtkaXJTeW5jKHdvcmtpbmdEaXJlY3RvcnkpO1xuXG4gICAgLy8gY2FsbCBjdXN0b20gc3ludGhlc2lzIG9uIGNoaWxkIG5vZGVzIChsZWFmcyBmaXJzdClcbiAgICB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKENvbnN0cnVjdE9yZGVyLlBPU1RPUkRFUilcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiBnZXRDdXN0b21TeW50aGVzaXMobm9kZSk/Lm9uU3ludGhlc2l6ZShzZXNzaW9uKSk7XG5cbiAgICAvLyBjb2xsZWN0IEFubm90YXRpb25zIGludG8gTWFuaWZlc3RcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuc3RhY2subm9kZVxuICAgICAgLmZpbmRBbGwoKVxuICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWV0YWRhdGFzOiBub2RlLm5vZGUubWV0YWRhdGEuZmlsdGVyKGlzQW5ub3RhdGlvbk1ldGFkYXRhKSxcbiAgICAgIH0pKVxuICAgICAgLm1hcDxTdGFja0Fubm90YXRpb25bXT4oKHsgbm9kZSwgbWV0YWRhdGFzIH0pID0+XG4gICAgICAgIG1ldGFkYXRhcy5tYXAoKG1ldGFkYXRhKSA9PiAoe1xuICAgICAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUubm9kZS5wYXRoLFxuICAgICAgICAgIGxldmVsOiBtZXRhZGF0YS50eXBlIGFzIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSxcbiAgICAgICAgICBtZXNzYWdlOiBtZXRhZGF0YS5kYXRhLFxuICAgICAgICAgIHN0YWNrdHJhY2U6IG1ldGFkYXRhLnRyYWNlLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAucmVkdWNlKChsaXN0LCBtZXRhZGF0YXMpID0+IFsuLi5saXN0LCAuLi5tZXRhZGF0YXNdLCBbXSk7IC8vIEFycmF5LmZsYXQoKVxuXG4gICAgLy8gaXQgaXMgcmVhZG9ubHkgYnV0IHRoaXMgaXMgdGhlIHBsYWNlIHdoZXJlIHdlIGFyZSBhbGxvd2VkIHRvIHdyaXRlIHRvIGl0XG4gICAgKHN0YWNrTWFuaWZlc3QuYW5ub3RhdGlvbnMgYXMgYW55KSA9IGFubm90YXRpb25zO1xuXG4gICAgLy8gYWJvcnQgaWYgb25lIG9yIG1vcmUgZXJyb3IgYW5ub3RhdGlvbnMgaGF2ZSBiZWVuIGVuY291bnRlcmVkXG4gICAgaWYgKFxuICAgICAgIXRoaXMuY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgJiZcbiAgICAgIGFubm90YXRpb25zLnNvbWUoaXNFcnJvckFubm90YXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvcihcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICAgICAgIC5tYXAoKGEpID0+IGBbJHthLmNvbnN0cnVjdFBhdGh9XSAke2EubWVzc2FnZX1gKVxuICAgICAgICAgIC5qb2luKFwiXFxuXCIpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oY2xPdXRwdXQpIHtcbiAgICAgIGNvbnN0IGhjbCA9IHRoaXMuc3RhY2sudG9IY2xUZXJyYWZvcm0oKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICAgIHBhdGguam9pbihzZXNzaW9uLm91dGRpciwgc3RhY2tNYW5pZmVzdC5zeW50aGVzaXplZFN0YWNrUGF0aCksXG4gICAgICAgIGhjbC5oY2wsXG4gICAgICApO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3RhY2tNZXRhZGF0YVBhdGghKSxcbiAgICAgICAgc3RyaW5naWZ5KGhjbC5tZXRhZGF0YSwgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnZva2UgYXNwZWN0cyBvbiB0aGUgZ2l2ZW4gY29uc3RydWN0IHRyZWUuXG4gKlxuICogb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvQGF3cy1jZGsvY29yZS9saWIvcHJpdmF0ZS9zeW50aGVzaXMudHMjTDk5LUwxMzdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzcGVjdHMocm9vdDogSUNvbnN0cnVjdCkge1xuICBjb25zdCBpbnZva2VkQnlQYXRoOiB7IFtub2RlUGF0aDogc3RyaW5nXTogSUFzcGVjdFtdIH0gPSB7fTtcblxuICBsZXQgbmVzdGVkQXNwZWN0V2FybmluZyA9IGZhbHNlO1xuICByZWN1cnNlKHJvb3QsIFtdKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICBmdW5jdGlvbiByZWN1cnNlKGNvbnN0cnVjdDogSUNvbnN0cnVjdCwgaW5oZXJpdGVkQXNwZWN0czogSUFzcGVjdFtdKSB7XG4gICAgY29uc3Qgbm9kZSA9IGNvbnN0cnVjdC5ub2RlO1xuICAgIGNvbnN0IGFzcGVjdHMgPSBBc3BlY3RzLm9mKGNvbnN0cnVjdCk7XG4gICAgY29uc3QgYWxsQXNwZWN0c0hlcmUgPSBbLi4uKGluaGVyaXRlZEFzcGVjdHMgPz8gW10pLCAuLi5hc3BlY3RzLmFsbF07XG4gICAgY29uc3Qgbm9kZUFzcGVjdHNDb3VudCA9IGFzcGVjdHMuYWxsLmxlbmd0aDtcbiAgICBmb3IgKGNvbnN0IGFzcGVjdCBvZiBhbGxBc3BlY3RzSGVyZSkge1xuICAgICAgbGV0IGludm9rZWQgPSBpbnZva2VkQnlQYXRoW25vZGUucGF0aF07XG4gICAgICBpZiAoIWludm9rZWQpIHtcbiAgICAgICAgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW52b2tlZC5pbmNsdWRlcyhhc3BlY3QpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhc3BlY3QudmlzaXQoY29uc3RydWN0KTtcblxuICAgICAgLy8gaWYgYW4gYXNwZWN0IHdhcyBhZGRlZCB0byB0aGUgbm9kZSB3aGlsZSBpbnZva2luZyBhbm90aGVyIGFzcGVjdCBpdCB3aWxsIG5vdCBiZSBpbnZva2VkLCBlbWl0IGEgd2FybmluZ1xuICAgICAgLy8gdGhlIGBuZXN0ZWRBc3BlY3RXYXJuaW5nYCBmbGFnIGlzIHVzZWQgdG8gcHJldmVudCB0aGUgd2FybmluZyBmcm9tIGJlaW5nIGVtaXR0ZWQgZm9yIGV2ZXJ5IGNoaWxkXG4gICAgICBpZiAoIW5lc3RlZEFzcGVjdFdhcm5pbmcgJiYgbm9kZUFzcGVjdHNDb3VudCAhPT0gYXNwZWN0cy5hbGwubGVuZ3RoKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKGNvbnN0cnVjdCkuYWRkV2FybmluZyhcbiAgICAgICAgICBcIldlIGRldGVjdGVkIGFuIEFzcGVjdCB3YXMgYWRkZWQgdmlhIGFub3RoZXIgQXNwZWN0LCBhbmQgd2lsbCBub3QgYmUgYXBwbGllZFwiLFxuICAgICAgICApO1xuICAgICAgICBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gbWFyayBhcyBpbnZva2VkIGZvciB0aGlzIG5vZGVcbiAgICAgIGludm9rZWQucHVzaChhc3BlY3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIHJlY3Vyc2UoY2hpbGQsIGFsbEFzcGVjdHNIZXJlKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcyA9IFtcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLklORk8sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5XQVJOLFxuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuRVJST1IsXG5dIGFzIHN0cmluZ1tdO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gaXNBbm5vdGF0aW9uTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFkYXRhRW50cnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZXMuaW5jbHVkZXMobWV0YWRhdGEudHlwZSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Vycm9yQW5ub3RhdGlvbihhbm5vdGF0aW9uOiBTdGFja0Fubm90YXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb24ubGV2ZWwgPT09IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUjtcbn1cblxuLy8gb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvJTQwYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMNTJcbmNvbnN0IENVU1RPTV9TWU5USEVTSVNfU1lNID0gU3ltYm9sLmZvcihcImNka3RmL2N1c3RvbVN5bnRoZXNpc1wiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbnN0cnVjdHMgdGhhdCB3YW50IHRvIGRvIHNvbWV0aGluZyBjdXN0b20gZHVyaW5nIHN5bnRoZXNpc1xuICpcbiAqIFRoaXMgZmVhdHVyZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSBDREtUTiBvbmx5OyAzcmQgcGFydHlcbiAqIGxpYnJhcnkgYXV0aG9ycyBhbmQgQ0RLIHVzZXJzIHNob3VsZCBub3QgdXNlIHRoaXMgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVN5bnRoZXNpcyB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY29uc3RydWN0IGlzIHN5bnRoZXNpemVkXG4gICAqL1xuICBvblN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICBzeW50aGVzaXM6IElDdXN0b21TeW50aGVzaXMsXG4pOiB2b2lkIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdCwgQ1VTVE9NX1NZTlRIRVNJU19TWU0sIHtcbiAgICB2YWx1ZTogc3ludGhlc2lzLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICB9KTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGdldEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuKTogSUN1c3RvbVN5bnRoZXNpcyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiAoY29uc3RydWN0IGFzIGFueSlbQ1VTVE9NX1NZTlRIRVNJU19TWU1dO1xufVxuIl19
@@ -116,5 +116,5 @@ class TerraformAsset extends constructs_1.Construct {
116
116
  }
117
117
  exports.TerraformAsset = TerraformAsset;
118
118
  _a = JSII_RTTI_SYMBOL_1;
119
- TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.3" };
119
+ TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.4" };
120
120
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWFzc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1hc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQXVDO0FBQ3ZDLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBS3NCO0FBRXRCLDBEQUE4RDtBQUM5RCx1REFBbUQ7QUFDbkQscUNBSWtCO0FBV2xCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osbURBQVMsQ0FBQTtJQUNULCtDQUFPLENBQUE7QUFDVCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRWxDLCtDQUErQztBQUMvQyxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQVEzQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxhQUFhLEdBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztnQkFDekMsSUFBQSxxQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQiwwSEFBMEg7Z0JBQzFILE1BQU0sWUFB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SUFBQSxnQ0FBdUIsR0FBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOztBQTVISCx3Q0E2SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgY29weVN5bmMsXG4gIGFyY2hpdmVTeW5jLFxuICBoYXNoUGF0aCxcbiAgZmluZEZpbGVBYm92ZUN3ZCxcbn0gZnJvbSBcIi4vcHJpdmF0ZS9mc1wiO1xuaW1wb3J0IHsgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tIFwiLi9zeW50aGVzaXplXCI7XG5pbXBvcnQgeyBhZGRDdXN0b21TeW50aGVzaXMgfSBmcm9tIFwiLi9zeW50aGVzaXplL3N5bnRoZXNpemVyXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHtcbiAgYXNzZXRFeHBlY3RzRGlyZWN0b3J5LFxuICBhc3NldE91dE9mU2NvcGVPZkNES1RGSnNvbixcbiAgYXNzZXRUeXBlTm90SW1wbGVtZW50ZWQsXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUFzc2V0Q29uZmlnIHtcbiAgLy8gcGF0aCB0byB0aGUgZmlsZSBvciBmb2xkZXIgY29uZmlndXJlZC4gSWYgcmVsYXRpdmUsIHRoZSBwYXRoIGlzIHJlc29sdmVkIGZyb20gdGhlIGxvY2F0aW9uIG9mIGNka3RmLmpzb25cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHJlYWRvbmx5IHR5cGU/OiBBc3NldFR5cGU7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0LCBpZiBwYXNzZWQgd2lsbCBiZSB1c2VkIGFzIHJldHVybmVkIGFzc2V0SGFzaFxuICByZWFkb25seSBhc3NldEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEFzc2V0VHlwZSB7XG4gIEZJTEUsXG4gIERJUkVDVE9SWSxcbiAgQVJDSElWRSxcbn1cblxuY29uc3QgQVJDSElWRV9OQU1FID0gXCJhcmNoaXZlLnppcFwiO1xuY29uc3QgQVNTRVRTX0RJUkVDVE9SWSA9IFwiYXNzZXRzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQXNzZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgcHJpdmF0ZSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0IHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb25zdW1pbmcgY29uc3RydWN0cyAoZS5nLiB0byBub3QgcmVjcmVhdGUgYSBsYW1iZGEgZnVuY3Rpb24gaW4gY2FzZSB0aGUgdW5kZXJseWluZyBmaWxlcyBkaWQgbm90IGNoYW5nZSlcbiAgcHVibGljIGFzc2V0SGFzaDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHB1YmxpYyB0eXBlOiBBc3NldFR5cGU7XG5cbiAgLyoqXG4gICAqIEEgVGVycmFmb3JtIEFzc2V0IHRha2VzIGEgZmlsZSBvciBkaXJlY3Rvcnkgb3V0c2lkZSBvZiB0aGUgQ0RLIFRlcnJhaW4gY29udGV4dCBhbmQgbW92ZXMgaXQgaW50byBpdC5cbiAgICogQXNzZXRzIGNvcHkgcmVmZXJlbmNlZCBmaWxlcyBpbnRvIHRoZSBzdGFja3MgY29udGV4dCBmb3IgZnVydGhlciB1c2FnZSBpbiBvdGhlciByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSBzY29wZVxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1Bc3NldENvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YodGhpcyk7XG5cbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKGNvbmZpZy5wYXRoKSkge1xuICAgICAgdGhpcy5zb3VyY2VQYXRoID0gY29uZmlnLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNka3RmSnNvblBhdGggPVxuICAgICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoXCJjZGt0Zkpzb25QYXRoXCIpID8/XG4gICAgICAgIGZpbmRGaWxlQWJvdmVDd2QoXCJjZGt0Zi5qc29uXCIpO1xuICAgICAgaWYgKGNka3RmSnNvblBhdGgpIHtcbiAgICAgICAgLy8gUmVsYXRpdmUgcGF0aHMgYXJlIGFsd2F5cyBjb25zaWRlcmVkIHRvIGJlIHJlbGF0aXZlIHRvIGNka3RmLmpzb24sIGJ1dCBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgcmVsYXRpdmUgdG8gcHJvY2Vzcy5jd2RcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgIHBhdGguZGlybmFtZShjZGt0Zkpzb25QYXRoKSxcbiAgICAgICAgICBjb25maWcucGF0aCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zb3VyY2VQYXRoID0gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBhYnNvbHV0ZVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgYXNzZXRPdXRPZlNjb3BlT2ZDREtURkpzb24oaWQsIGNvbmZpZy5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmModGhpcy5zb3VyY2VQYXRoKTtcbiAgICBjb25zdCBpbmZlcnJlZFR5cGUgPSBzdGF0LmlzRmlsZSgpID8gQXNzZXRUeXBlLkZJTEUgOiBBc3NldFR5cGUuRElSRUNUT1JZO1xuICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlID8/IGluZmVycmVkVHlwZTtcbiAgICB0aGlzLmFzc2V0SGFzaCA9IGNvbmZpZy5hc3NldEhhc2ggfHwgaGFzaFBhdGgodGhpcy5zb3VyY2VQYXRoKTtcblxuICAgIGlmIChzdGF0LmlzRmlsZSgpICYmIHRoaXMudHlwZSAhPT0gQXNzZXRUeXBlLkZJTEUpIHtcbiAgICAgIHRocm93IGFzc2V0RXhwZWN0c0RpcmVjdG9yeShpZCwgY29uZmlnLnBhdGgpO1xuICAgIH1cblxuICAgIGlmICghc3RhdC5pc0ZpbGUoKSAmJiB0aGlzLnR5cGUgPT09IEFzc2V0VHlwZS5GSUxFKSB7XG4gICAgICB0aHJvdyBhc3NldEV4cGVjdHNEaXJlY3RvcnkoaWQsIGNvbmZpZy5wYXRoKTtcbiAgICB9XG5cbiAgICBhZGRDdXN0b21TeW50aGVzaXModGhpcywge1xuICAgICAgb25TeW50aGVzaXplOiB0aGlzLl9vblN5bnRoZXNpemUuYmluZCh0aGlzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG5hbWVkRm9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgIEFTU0VUU19ESVJFQ1RPUlksXG4gICAgICB0aGlzLnN0YWNrLmdldExvZ2ljYWxJZCh0aGlzLm5vZGUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHRlcnJhZm9ybSBkaXJlY3RvcnkgaW4gcG9zaXggZm9ybWF0XG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZmVyZW5jZSB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICB0aGlzLm5hbWVkRm9sZGVyLCAvLyByZWFkYWJsZSBuYW1lXG4gICAgICB0aGlzLmFzc2V0SGFzaCwgLy8gaGFzaCBkZXBlbmRpbmcgb24gY29udGVudCBzbyB0aGF0IHBhdGggY2hhbmdlcyBpZiBjb250ZW50IGNoYW5nZXNcbiAgICAgIHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSA/IFwiXCIgOiB0aGlzLmZpbGVOYW1lLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuQVJDSElWRTpcbiAgICAgICAgcmV0dXJuIEFSQ0hJVkVfTkFNRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBwYXRoLmJhc2VuYW1lKHRoaXMuc291cmNlUGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25TeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgY29uc3Qgc3RhY2tNYW5pZmVzdCA9IHNlc3Npb24ubWFuaWZlc3QuZm9yU3RhY2sodGhpcy5zdGFjayk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm1hbmlmZXN0Lm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgsXG4gICAgICBcIi4uXCIsXG4gICAgKTtcblxuICAgIC8vIENsZWFudXAgZXhpc3RpbmcgYXNzZXRzXG4gICAgY29uc3QgcHJldmlvdXNWZXJzaW9uc0ZvbGRlciA9IHBhdGguam9pbihiYXNlUGF0aCwgdGhpcy5uYW1lZEZvbGRlcik7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocHJldmlvdXNWZXJzaW9uc0ZvbGRlcikpIHtcbiAgICAgIGZzLnJtU3luYyhwcmV2aW91c1ZlcnNpb25zRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRQYXRoID0gcGF0aC5qb2luKGJhc2VQYXRoLCB0aGlzLnBhdGgpO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSkge1xuICAgICAgZnMubWtkaXJTeW5jKHRhcmdldFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKHRhcmdldFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuRklMRTpcbiAgICAgICAgZnMuY29weUZpbGVTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5ESVJFQ1RPUlk6XG4gICAgICAgIGNvcHlTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5BUkNISVZFOlxuICAgICAgICBhcmNoaXZlU3luYyh0aGlzLnNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IGFzc2V0VHlwZU5vdEltcGxlbWVudGVkKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -55,5 +55,5 @@ class TerraformBackend extends terraform_element_1.TerraformElement {
55
55
  }
56
56
  exports.TerraformBackend = TerraformBackend;
57
57
  _a = JSII_RTTI_SYMBOL_1;
58
- TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.3" };
58
+ TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.4" };
59
59
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWJhY2tlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWJhY2tlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBRW5DLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUU1RCwrQ0FBK0M7QUFDL0MsTUFBc0IsZ0JBQWlCLFNBQVEsb0NBQWdCO0lBQzdELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNTLElBQVk7UUFFL0IsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZFLFNBQUksR0FBSixJQUFJLENBQVE7UUFHL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBTTtRQUM1QixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELHNDQUFzQztJQUM1QixvQkFBb0I7UUFDNUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVdNLGNBQWM7UUFDbkIsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUU7b0JBQ1AsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFO29CQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFDO0lBQ0osQ0FBQzs7QUFwRUgsNENBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1SZW1vdGVTdGF0ZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZW1vdGUtc3RhdGVcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBCQUNLRU5EX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1CYWNrZW5kXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhZm9ybUJhY2tlbmQgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIEJBQ0tFTkRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0JhY2tlbmQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1CYWNrZW5kIHtcbiAgICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBCQUNLRU5EX1NZTUJPTCBpbiB4O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVGVycmFmb3JtUmVtb3RlU3RhdGUgcmVzb3VyY2UgdGhhdCBhY2Nlc3NlcyB0aGlzIGJhY2tlbmQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0UmVtb3RlU3RhdGVEYXRhU291cmNlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGZyb21TdGFjazogc3RyaW5nLFxuICApOiBUZXJyYWZvcm1SZW1vdGVTdGF0ZTtcblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGVycmFmb3JtOiB7XG4gICAgICAgIGJhY2tlbmQ6IHtcbiAgICAgICAgICBbdGhpcy5uYW1lXTogZGVlcE1lcmdlKFxuICAgICAgICAgICAgdGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgYmFja2VuZDoge1xuICAgICAgICAgIFt0aGlzLm5hbWVdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2VuZDogdGhpcy5uYW1lLFxuICAgICAgLi4uKE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGggPiAwXG4gICAgICAgID8geyBvdmVycmlkZXM6IHsgYmFja2VuZDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -34,5 +34,5 @@ class TerraformCount {
34
34
  }
35
35
  exports.TerraformCount = TerraformCount;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.3" };
37
+ TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.4" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWNvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1jb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsaURBQXFDO0FBQ3JDLHFDQUFpQztBQUNqQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFDekIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNO1FBQ25DLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBcUMsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDaEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLGtCQUFHLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7QUF0Qkgsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmNvbnN0IENPVU5UX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1Db3VudFwiKTtcblxuLyoqXG4gKiBJdGVyYXRvciBmb3IgdGhlIFRlcnJhZm9ybSBjb3VudCBwcm9wZXJ0eVxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQ291bnQge1xuICBzdGF0aWMgb2YoY291bnQ6IG51bWJlcik6IFRlcnJhZm9ybUNvdW50IHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUNvdW50KGNvdW50KTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtQ291bnQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1Db3VudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgQ09VTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY291bnQ6IG51bWJlcikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBDT1VOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHJlZihcImNvdW50LmluZGV4XCIpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50O1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -131,7 +131,7 @@ class DataResource extends terraform_resource_1.TerraformResource {
131
131
  }
132
132
  exports.DataResource = DataResource;
133
133
  _a = JSII_RTTI_SYMBOL_1;
134
- DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.3" };
134
+ DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.4" };
135
135
  // =================
136
136
  // STATIC PROPERTIES
137
137
  // =================
@@ -120,5 +120,5 @@ class TerraformDataSource extends terraform_element_1.TerraformElement {
120
120
  }
121
121
  exports.TerraformDataSource = TerraformDataSource;
122
122
  _a = JSII_RTTI_SYMBOL_1;
123
- TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.3" };
123
+ TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.4" };
124
124
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHFDQUFpQztBQUNqQywyREFBdUQ7QUFFdkQsNkRBTThCO0FBQzlCLGlDQUtnQjtBQUVoQixpREFBaUQ7QUFHakQsdURBQW1EO0FBQ25ELGlFQUFpRTtBQUNqRSxpQ0FBa0M7QUFFbEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFN0UsK0NBQStDO0FBQy9DLE1BQWEsbUJBQ1gsU0FBUSxvQ0FBZ0I7SUFjeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzFELElBQUksQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNuRCxJQUFBLHlCQUFVLEVBQUMsVUFBVSxDQUFDLENBQ3ZCLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFB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Q0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0seUJBQXlCLENBQUMsa0JBQTBCO1FBQ3pELE9BQU8sSUFBQSxrQkFBRyxFQUNSLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN4QixJQUFJLGtCQUFrQixFQUFFLEVBQ3hCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDOztBQXhLSCxrREF5S0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5pbXBvcnQge1xuICBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhLFxuICBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZyxcbiAgVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGUsXG4gIElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgbGlmZWN5Y2xlVG9UZXJyYWZvcm0sXG59IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAga2V5c1RvU25ha2VDYXNlLFxuICBkZWVwTWVyZ2UsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyByZWYsIGRlcGVuZGFibGUgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElJbnRlcnBvbGF0aW5nUGFyZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUNvdW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvdW50XCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IGFzc2VydCA9IHJlcXVpcmUoXCJhc3NlcnRcIik7XG5cbmNvbnN0IFRFUlJBRk9STV9EQVRBX1NPVVJDRV9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRGF0YVNvdXJjZVwiKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1EYXRhU291cmNlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1SZXNvdXJjZSwgSVRlcnJhZm9ybURlcGVuZGFibGUsIElJbnRlcnBvbGF0aW5nUGFyZW50XG57XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcblxuICAvLyBUZXJyYWZvcm1NZXRhQXJndW1lbnRzXG5cbiAgcHVibGljIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBwdWJsaWMgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcHVibGljIHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIHB1YmxpYyBsaWZlY3ljbGU/OiBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZTtcbiAgcHVibGljIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgYGRhdGEuJHtjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfWApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlO1xuICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEgPSBjb25maWcudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gY29uZmlnLmRlcGVuZHNPbi5tYXAoKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIGRlcGVuZGFibGUoZGVwZW5kZW5jeSksXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNvdW50ID0gY29uZmlnLmNvdW50O1xuICAgIHRoaXMucHJvdmlkZXIgPSBjb25maWcucHJvdmlkZXI7XG4gICAgdGhpcy5saWZlY3ljbGUgPSBjb25maWcubGlmZWN5Y2xlO1xuICAgIHRoaXMuZm9yRWFjaCA9IGNvbmZpZy5mb3JFYWNoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybURhdGFTb3VyY2UoeDogYW55KTogeCBpcyBUZXJyYWZvcm1EYXRhU291cmNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ0F0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbkF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTGlzdChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJNYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5NYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbnlNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXJyYWZvcm1NZXRhQXJndW1lbnRzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBhc3NlcnQoXG4gICAgICAhdGhpcy5mb3JFYWNoIHx8IHR5cGVvZiB0aGlzLmNvdW50ID09PSBcInVuZGVmaW5lZFwiLFxuICAgICAgYGZvckVhY2ggYW5kIGNvdW50IGFyZSBib3RoIHNldCwgYnV0IHRoZXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gWW91IGNhbiBvbmx5IHVzZSBlaXRoZXIgb2YgdGhlbS4gQ2hlY2sgdGhlIGRhdGEgc291cmNlIGF0IHBhdGg6ICR7dGhpcy5ub2RlLnBhdGh9YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogVGVycmFmb3JtQ291bnQuaXNUZXJyYWZvcm1Db3VudCh0aGlzLmNvdW50KVxuICAgICAgICA/IHRoaXMuY291bnQudG9UZXJyYWZvcm0oKVxuICAgICAgICA6IHRoaXMuY291bnQsXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcj8uZnFuLFxuICAgICAgbGlmZWN5Y2xlOiBsaWZlY3ljbGVUb1RlcnJhZm9ybSh0aGlzLmxpZmVjeWNsZSksXG4gICAgICBmb3JFYWNoOiB0aGlzLmZvckVhY2g/Ll9nZXRGb3JFYWNoRXhwcmVzc2lvbigpLFxuICAgIH07XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCh0aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGlzIHJlc291cmNlIHRvIHRoZSB0ZXJyYWZvcm0gSlNPTiBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy50ZXJyYWZvcm1NZXRhQXJndW1lbnRzKSxcbiAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICk7XG5cbiAgICBhdHRyaWJ1dGVzW1wiLy9cIl0gPSB0aGlzLmNvbnN0cnVjdE5vZGVNZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYGRhdGEuJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9JHtcbiAgICAgICAgdGhpcy5mb3JFYWNoID8gXCIuKlwiIDogXCJcIlxuICAgICAgfS4ke3RlcnJhZm9ybUF0dHJpYnV0ZX1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -103,5 +103,5 @@ class TerraformElement extends constructs_1.Construct {
103
103
  }
104
104
  exports.TerraformElement = TerraformElement;
105
105
  _a = JSII_RTTI_SYMBOL_1;
106
- TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.3" };
106
+ TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.4" };
107
107
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLG1DQUE0QjtBQUM1QiwyQ0FBdUM7QUFDdkMscUNBQWlDO0FBQ2pDLHVEQUFtRDtBQUNuRCxpREFBcUM7QUFDckMscUNBQXdEO0FBRXhELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBUXRFLCtDQUErQztBQUMvQyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBZ0I3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFoQkEsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFpQnhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxjQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFBLHFDQUE0QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBTTtRQUNyQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHdC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Q0FBQyxnQkFBZ0I7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO29CQUNqRSxFQUFFLEtBQUs7YUFDa0I7U0FDOUIsQ0FBQztJQUNKLENBQUM7O0FBaElILDRDQWlJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBvayB9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRva2VuSW5Db25zdHJ1Y3RJZCB9IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRWxlbWVudFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U6IHN0cmluZ1tdO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUVsZW1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmF3T3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICAvKipcbiAgICogQW4gZXhwbGljaXQgbG9naWNhbCBJRCBwcm92aWRlZCBieSBgb3ZlcnJpZGVMb2dpY2FsSWRgLlxuICAgKi9cbiAgcHJpdmF0ZSBfbG9naWNhbElkT3ZlcnJpZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgdGhpcyBlbGVtZW50LCB1c2VkIGZvciBmcW4uXG4gICAqIFRoaXMgaXMgdW5kZWZpbmVkIGZvclxuICAgKiAtIGVsZW1lbnRzIG5vdCByZWZlcmFibGUsIGxpa2UgVGVycmFmb3JtT3V0cHV0XG4gICAqIC0gZWxlbWVudHMgdXNpbmcgdGhlaXIgb3duIGZxbiBpbXBsZW1lbnRhdGlvbiwgbGlrZSBUZXJyYWZvcm1Qcm92aWRlclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWxlbWVudFR5cGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdGhpcy5fZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoaWQpKSB7XG4gICAgICB0aHJvdyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkKGlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJzdGFja3RyYWNlXCIsIFwidHJhY2VcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNka3RmU3RhY2soKTogVGVycmFmb3JtU3RhY2sge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FbGVtZW50KHg6IGFueSk6IHggaXMgVGVycmFmb3JtRWxlbWVudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZxblRva2VuPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnFuKCkge1xuICAgIGlmICghdGhpcy5fZnFuVG9rZW4pIHtcbiAgICAgIG9rKCEhdGhpcy5fZWxlbWVudFR5cGUsIFwiRWxlbWVudCB0eXBlIG5vdCBzZXRcIik7XG4gICAgICB0aGlzLl9mcW5Ub2tlbiA9IFRva2VuLmFzU3RyaW5nKFxuICAgICAgICByZWYoYCR7dGhpcy5fZWxlbWVudFR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsIHRoaXMuY2RrdGZTdGFjayksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnFuVG9rZW47XG4gIH1cblxuICBwcml2YXRlIF9mcmllbmRseVVuaXF1ZUlkPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnJpZW5kbHlVbmlxdWVJZCgpIHtcbiAgICBpZiAoIXRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQpIHtcbiAgICAgIGlmICh0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSkge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5fbG9naWNhbElkT3ZlcnJpZGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5jZGt0ZlN0YWNrLmdldExvZ2ljYWxJZCh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQ7XG4gIH1cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBJRCB3aXRoIGEgc3BlY2lmaWMgSUQuXG4gICAqIEBwYXJhbSBuZXdMb2dpY2FsSWQgVGhlIG5ldyBsb2dpY2FsIElEIHRvIHVzZSBmb3IgdGhpcyBzdGFjayBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlTG9naWNhbElkKG5ld0xvZ2ljYWxJZDogc3RyaW5nKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIE1ha2Ugc3VyZSB0byBvdmVycmlkZSB0aGUgaWQgYmVmb3JlIHBhc3NpbmcgdGhlIGNvbnN0cnVjdCB0byBvdGhlciBjb25zdHJ1Y3RzLlwiLFxuICAgICk7XG4gICAgdGhpcy5fbG9naWNhbElkT3ZlcnJpZGUgPSBuZXdMb2dpY2FsSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIGEgcHJldmlvdXNseSBwYXNzZWQgbG9naWNhbCBJZCB0byB1c2UgdGhlIGF1dG8tZ2VuZXJhdGVkIGxvZ2ljYWwgaWQgYWdhaW5cbiAgICovXG4gIHB1YmxpYyByZXNldE92ZXJyaWRlTG9naWNhbElkKCkge1xuICAgIG9rKFxuICAgICAgIXRoaXMuX2ZxblRva2VuLFxuICAgICAgXCJMb2dpY2FsIElEIG1heSBub3QgYmUgb3ZlcnJpZGRlbiBvbmNlIC5mcW4gaGFzIGJlZW4gcmVxdWVzdGVkLiBZb3UgY2FuIG9ubHkgcmVzZXQgdGhlIG92ZXJyaWRlIGJlZm9yZSB5b3UgcGFzcyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRPdmVycmlkZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGxldCBjdXJyOiBhbnkgPSB0aGlzLnJhd092ZXJyaWRlcztcblxuICAgIHdoaWxlIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBrZXkgPSBwYXJ0cy5zaGlmdCgpITtcblxuICAgICAgLy8gaWYgd2UgY2FuJ3QgcmVjdXJzZSBmdXJ0aGVyIG9yIHRoZSBwcmV2aW91cyB2YWx1ZSBpcyBub3QgYW5cbiAgICAgIC8vIG9iamVjdCBvdmVyd3JpdGUgaXQgd2l0aCBhbiBvYmplY3QuXG4gICAgICBjb25zdCBpc09iamVjdCA9XG4gICAgICAgIGN1cnJba2V5XSAhPSBudWxsICYmXG4gICAgICAgIHR5cGVvZiBjdXJyW2tleV0gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgIUFycmF5LmlzQXJyYXkoY3VycltrZXldKTtcbiAgICAgIGlmICghaXNPYmplY3QpIHtcbiAgICAgICAgY3VycltrZXldID0ge307XG4gICAgICB9XG5cbiAgICAgIGN1cnIgPSBjdXJyW2tleV07XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuICAgIGN1cnJbbGFzdEtleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29uc3RydWN0Tm9kZU1ldGFkYXRhKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBwYXRoOiB0aGlzLm5vZGUucGF0aCxcbiAgICAgICAgdW5pcXVlSWQ6IHRoaXMuZnJpZW5kbHlVbmlxdWVJZCxcbiAgICAgICAgc3RhY2tUcmFjZTogdGhpcy5ub2RlLm1ldGFkYXRhLmZpbmQoKGUpID0+IGUudHlwZSA9PT0gXCJzdGFja3RyYWNlXCIpXG4gICAgICAgICAgPy50cmFjZSxcbiAgICAgIH0gYXMgVGVycmFmb3JtRWxlbWVudE1ldGFkYXRhLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -83,5 +83,5 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
83
83
  }
84
84
  exports.Fn = Fn;
85
85
  _a = JSII_RTTI_SYMBOL_1;
86
- Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.3" };
86
+ Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.4" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx3QkFBOEU7QUFDOUUsaURBQTRDO0FBQzVDLDZGQUF3RTtBQUV4RSwrQ0FBK0M7QUFDL0MsTUFBYSxFQUFHLFNBQVEsMkNBQVc7SUFDakM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDdEMsMEZBQTBGO1FBQzFGLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFNBQXFCLEVBQ3JCLFNBQXFCLEVBQ3JCLFVBQXNCO1FBRXRCLE9BQU8sSUFBQSxjQUFXLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxHQUFXLEVBQUUsWUFBa0I7UUFDMUQsc0ZBQXNGO1FBQ3RGLElBQUksWUFBWTtZQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywrRUFBK0U7SUFDaEksQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsSUFBVztRQUM1QyxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxJQUFjO1FBQzNDLGdHQUFnRztRQUNoRyxtRUFBbUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sUUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLFlBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBL0VILGdCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25kaXRpb25hbCwgRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3MsIHJhd1N0cmluZywgVG9rZW4gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgYXNBbnkgfSBmcm9tIFwiLi9mdW5jdGlvbnMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRm5HZW5lcmF0ZWQgfSBmcm9tIFwiLi9mdW5jdGlvbnMvdGVycmFmb3JtLWZ1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2JjcnlwdC5odG1sIGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9sb29rdXAuaHRtbCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW2RlZmF1bHRWYWx1ZV0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9qb2luLmh0bWwgam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9yYW5nZS5odG1sIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
@@ -52,5 +52,5 @@ class TerraformHclModule extends terraform_module_1.TerraformModule {
52
52
  }
53
53
  exports.TerraformHclModule = TerraformHclModule;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.3" };
55
+ TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.4" };
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWhjbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWhjbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx5REFBNEU7QUFDNUUscUNBQThDO0FBTTlDLCtDQUErQztBQUMvQyxNQUFhLGtCQUFtQixTQUFRLGtDQUFlO0lBR3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFVO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYztRQUN2QixPQUFPLGNBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU8sY0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUM1RCxPQUFPO2dCQUNMLEdBQUc7Z0JBQ0g7b0JBQ0UsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBeERILGdEQXlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtTW9kdWxlQ29uZmlnLCBUZXJyYWZvcm1Nb2R1bGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlXCI7XG5pbXBvcnQgeyBUb2tlbiwgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1IY2xNb2R1bGVDb25maWcgZXh0ZW5kcyBUZXJyYWZvcm1Nb2R1bGVDb25maWcge1xuICByZWFkb25seSB2YXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUhjbE1vZHVsZSBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZSB7XG4gIHByaXZhdGUgX3ZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVGVycmFmb3JtSGNsTW9kdWxlQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX3ZhcmlhYmxlcyA9IG9wdGlvbnMudmFyaWFibGVzO1xuICB9XG5cbiAgcHVibGljIGdldCB2YXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQodmFyaWFibGU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGlmICghdGhpcy5fdmFyaWFibGVzKSB7XG4gICAgICB0aGlzLl92YXJpYWJsZXMgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFibGVzW3ZhcmlhYmxlXSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldChvdXRwdXQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXIob3V0cHV0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JPdXRwdXQob3V0cHV0KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbihvdXRwdXQ6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdChvdXRwdXQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YXJpYWJsZXMgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLnZhcmlhYmxlcykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnZhcmlhYmxlcyBhcyBhbnkpLm1hcCgoW2tleSwgdmFyaWFibGVdKSA9PiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiB2YXJpYWJsZSxcbiAgICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -273,7 +273,7 @@ class TerraformIterator {
273
273
  }
274
274
  exports.TerraformIterator = TerraformIterator;
275
275
  _a = JSII_RTTI_SYMBOL_1;
276
- TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.3" };
276
+ TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.4" };
277
277
  // eslint-disable-next-line jsdoc/require-jsdoc
278
278
  class ListTerraformIterator extends TerraformIterator {
279
279
  constructor(list) {
@@ -305,7 +305,7 @@ class ListTerraformIterator extends TerraformIterator {
305
305
  }
306
306
  exports.ListTerraformIterator = ListTerraformIterator;
307
307
  _b = JSII_RTTI_SYMBOL_1;
308
- ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.3" };
308
+ ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.4" };
309
309
  // eslint-disable-next-line jsdoc/require-jsdoc
310
310
  class MapTerraformIterator extends TerraformIterator {
311
311
  constructor(map) {
@@ -334,7 +334,7 @@ class MapTerraformIterator extends TerraformIterator {
334
334
  }
335
335
  exports.MapTerraformIterator = MapTerraformIterator;
336
336
  _c = JSII_RTTI_SYMBOL_1;
337
- MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.3" };
337
+ MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.4" };
338
338
  // eslint-disable-next-line jsdoc/require-jsdoc
339
339
  class ResourceTerraformIterator extends TerraformIterator {
340
340
  constructor(element) {
@@ -371,7 +371,7 @@ class ResourceTerraformIterator extends TerraformIterator {
371
371
  }
372
372
  exports.ResourceTerraformIterator = ResourceTerraformIterator;
373
373
  _d = JSII_RTTI_SYMBOL_1;
374
- ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.3" };
374
+ ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.4" };
375
375
  // eslint-disable-next-line jsdoc/require-jsdoc
376
376
  class DynamicListTerraformIterator extends MapTerraformIterator {
377
377
  constructor(list, mapKeyAttributeName) {
@@ -399,5 +399,5 @@ class DynamicListTerraformIterator extends MapTerraformIterator {
399
399
  }
400
400
  exports.DynamicListTerraformIterator = DynamicListTerraformIterator;
401
401
  _e = JSII_RTTI_SYMBOL_1;
402
- DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.3" };
402
+ DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.4" };
403
403
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHFDQUdrQjtBQUNsQixpRkFBNEU7QUFDNUUsK0RBQTJDO0FBRTNDLGlEQU13QjtBQUN4QixxQ0FBb0Q7QUF3Q3BELCtDQUErQztBQUMvQyxNQUFzQixpQkFBaUI7SUFNckM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjO1FBQ25DLGdGQUFnRjtRQUNoRix3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLElBQXFCLEVBQ3JCLG1CQUEyQjtRQUUzQixPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FLOEI7UUFFOUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixRQUE0QjtRQUU1QixPQUFPLElBQUkseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQWlC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Q0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7SUFDakUsQ0FBQzs7QUFuQ0gsOERBb0NDOzs7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBYSw0QkFBNkIsU0FBUSxvQkFBb0I7SUFDcEUsWUFDbUIsSUFBYyxFQUNkLG1CQUEyQjtRQUU1QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO0lBRzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCO1FBQzFCLHNGQUFzRjtRQUN0RixPQUFPLElBQUEsNEJBQWEsRUFDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxtQ0FBb0IsRUFDcEIsd0JBQUUsQ0FBQyxZQUFZLENBQUMsbUNBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7O0FBN0JILG9FQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQge1xuICBBbnlNYXAsXG4gIEFueU1hcExpc3QsXG4gIEJvb2xlYW5NYXAsXG4gIEJvb2xlYW5NYXBMaXN0LFxuICBDb21wbGV4TGlzdCxcbiAgQ29tcGxleE1hcCxcbiAgTnVtYmVyTWFwLFxuICBOdW1iZXJNYXBMaXN0LFxuICBTdHJpbmdNYXAsXG4gIFN0cmluZ01hcExpc3QsXG59IGZyb20gXCIuL2NvbXBsZXgtY29tcHV0ZWQtbGlzdFwiO1xuaW1wb3J0IHtcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50LFxuICBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCxcbn0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IEZuIH0gZnJvbSBcIi4vdGVycmFmb3JtLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBGT1JfRVhQUkVTU0lPTl9LRVksXG4gIEZPUl9FWFBSRVNTSU9OX1ZBTFVFLFxuICBmb3JFeHByZXNzaW9uLFxuICBwcm9wZXJ0eUFjY2VzcyxcbiAgcmVmLFxufSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBMYXp5LCBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuXG4gICAqL1xuICBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueTtcbn1cblxudHlwZSBMaXN0VHlwZSA9XG4gIHwgQXJyYXk8c3RyaW5nPlxuICB8IEFycmF5PG51bWJlcj5cbiAgfCBBcnJheTxib29sZWFuIHwgSVJlc29sdmFibGU+XG4gIHwgSVJlc29sdmFibGU7IC8vIGUuZy4gYXJyYXkgb2YgYm9vbGVhbnNcblxudHlwZSBDb21wbGV4TGlzdFR5cGUgPVxuICB8IENvbXBsZXhMaXN0XG4gIHwgU3RyaW5nTWFwTGlzdFxuICB8IE51bWJlck1hcExpc3RcbiAgfCBCb29sZWFuTWFwTGlzdFxuICB8IEFueU1hcExpc3RcbiAgfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhIHJlZmVyZW5jZSB0byBhIGNvbXBsZXggbGlzdCAoZS5nLiB2aWEgYSB2YXJpYWJsZSlcblxudHlwZSBNYXBUeXBlID1cbiAgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgfCBTdHJpbmdNYXBcbiAgfCBOdW1iZXJNYXBcbiAgfCBCb29sZWFuTWFwXG4gIHwgQW55TWFwXG4gIHwgQ29tcGxleE1hcDtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1JdGVyYXRvciBpbXBsZW1lbnRzIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIGFic3RyYWN0IF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuIERlZmF1bHRzIHRvIHRoZSBmb3JfZWFjaCBleHByZXNzaW9uO1xuICAgKiBzdWJjbGFzc2VzIHRoYXQgbmVlZCBhIGRpZmZlcmVudCBzaGFwZSBpbiBmb3ItZXhwcmVzc2lvbiBib2RpZXNcbiAgICogKGUuZy4gRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcikgY2FuIG92ZXJyaWRlLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBsaXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21MaXN0KGxpc3Q6IExpc3RUeXBlKTogTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICAvLyBUT0RPOiB0aGlzIGNvdWxkIHJldHVybiBkaWZmZXJlbnQgaXRlcmF0b3JzIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0aGUgbGlzdFxuICAgIC8vIGZvciBleGFtcGxlIGl0IGNvdWxkIHJldHVybiBhIE51bWJlckxpc3RJdGVyYXRvciB3aG9zZSBpdGVyYXRvci5rZXkgd291bGQgYmUgYSBudW1iZXJcbiAgICByZXR1cm4gbmV3IExpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBjb21wbGV4IGxpc3QuIE9uZSBleGFtcGxlIGZvciB0aGlzIHdvdWxkIGJlIGEgbGlzdCBvZiBtYXBzLlxuICAgKiBUaGUgbGlzdCB3aWxsIGJlIGNvbnZlcnRlZCBpbnRvIGEgbWFwIHdpdGggdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWUgYXMgdGhlIGtleS5cbiAgICogQHBhcmFtIGxpc3QgdGhlIGxpc3QgdG8gaXRlcmF0ZSBvdmVyXG4gICAqIEBwYXJhbSBtYXBLZXlBdHRyaWJ1dGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyB0aGUga2V5IGluIHRoZSBtYXBcbiAgICpcbiAgICogVmlzaXQgaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1pdGVyYXRvcnMtb24tY29tcGxleC1saXN0cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgY2VydCA9IG5ldyBBY21DZXJ0aWZpY2F0ZSh0aGlzLCBcImNlcnRcIiwge1xuICAgKiAgICBkb21haW5OYW1lOiBcImV4YW1wbGUuY29tXCIsXG4gICAqICAgIHZhbGlkYXRpb25NZXRob2Q6IFwiRE5TXCIsXG4gICAqICB9KTtcbiAgICpcbiAgICogY29uc3QgZHZvSXRlcmF0b3IgPSBUZXJyYWZvcm1JdGVyYXRvci5mcm9tQ29tcGxleExpc3QoXG4gICAqICAgY2VydC5kb21haW5WYWxpZGF0aW9uT3B0aW9ucyxcbiAgICogICBcImRvbWFpbl9uYW1lXCJcbiAgICogKTtcbiAgICpcbiAgICogbmV3IFJvdXRlNTNSZWNvcmQodGhpcywgXCJyZWNvcmRcIiwge1xuICAgKiAgIGFsbG93T3ZlcndyaXRlOiB0cnVlLFxuICAgKiAgIG5hbWU6IGR2b0l0ZXJhdG9yLmdldFN0cmluZyhcIm5hbWVcIiksXG4gICAqICAgcmVjb3JkczogW2R2b0l0ZXJhdG9yLmdldFN0cmluZyhcInJlY29yZFwiKV0sXG4gICAqICAgdHRsOiA2MCxcbiAgICogICB0eXBlOiBkdm9JdGVyYXRvci5nZXRTdHJpbmcoXCJ0eXBlXCIpLFxuICAgKiAgIHpvbmVJZDogVG9rZW4uYXNTdHJpbmcoZGF0YUF3c1JvdXRlNTNab25lRXhhbXBsZS56b25lSWQpLFxuICAgKiAgIGZvckVhY2g6IGR2b0l0ZXJhdG9yLFxuICAgKiB9KTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbXBsZXhMaXN0KFxuICAgIGxpc3Q6IENvbXBsZXhMaXN0VHlwZSxcbiAgICBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICk6IER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0LCBtYXBLZXlBdHRyaWJ1dGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBtYXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hcChcbiAgICBtYXA6XG4gICAgICB8IENvbXBsZXhNYXBcbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0sXG4gICk6IE1hcFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IE1hcFRlcnJhZm9ybUl0ZXJhdG9yKG1hcCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgcmVzb3VyY2UgdGhhdFxuICAgKiBoYXMgYmVlbiBjcmVhdGVkIHdpdGggdGhlIGBmb3JfZWFjaGAgYXJndW1lbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SZXNvdXJjZXMoXG4gICAgcmVzb3VyY2U6IElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgKTogUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yKHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBkYXRhIHNvdXJjZSB0aGF0XG4gICAqIGhhcyBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgYGZvcl9lYWNoYCBhcmd1bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbURhdGFTb3VyY2VzKFxuICAgIHJlc291cmNlOiBJVGVycmFmb3JtUmVzb3VyY2UsXG4gICk6IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvcihyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIHN0cmluZ1xuICAgKi9cbiAgZ2V0U3RyaW5nKGF0dHJpYnV0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbnVtYmVyXG4gICAqL1xuICBnZXROdW1iZXIoYXR0cmlidXRlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBib29sZWFuXG4gICAqL1xuICBnZXRCb29sZWFuKGF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYW55XG4gICAqL1xuICBnZXRBbnkoYXR0cmlidXRlOiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIChzdHJpbmcpIGxpc3RcbiAgICovXG4gIGdldExpc3QoYXR0cmlidXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBudW1iZXIgbGlzdFxuICAgKi9cbiAgZ2V0TnVtYmVyTGlzdChhdHRyaWJ1dGU6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJMaXN0KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcFxuICAgKi9cbiAgZ2V0TWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBzdHJpbmdzXG4gICAqL1xuICBnZXRTdHJpbmdNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIG51bWJlcnNcbiAgICovXG4gIGdldE51bWJlck1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlck1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYm9vbGVhbnNcbiAgICovXG4gIGdldEJvb2xlYW5NYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYW55XG4gICAqL1xuICBnZXRBbnlNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfZ2V0VmFsdWUoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLnZhbHVlXCIpO1xuICAgICAgICAgICAgY2FzZSBcIkZPUl9FWFBSRVNTSU9OXCI6XG4gICAgICAgICAgICAgIHJldHVybiBGT1JfRVhQUkVTU0lPTl9WQUxVRTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIHNhbWUgYXMgZHluYW1pYyBibG9jaywgYXMgdGhpcyBpcyB0aGUgY2FzZSB3aGVuIGEgaXRlcmF0b3IgaXMgcGFzc2VkIHRvIHRoZSByb290IGxldmVsIG9mIGUuZy4gYSByZXNvdXJjZVxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC52YWx1ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3IgdmFsdWU+XCIgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRLZXkoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJGT1JfRVhQUkVTU0lPTlwiOlxuICAgICAgICAgICAgICByZXR1cm4gRk9SX0VYUFJFU1NJT05fS0VZO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gc2FtZSBhcyBkeW5hbWljIGJsb2NrLCBhcyB0aGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBpdGVyYXRvciBpcyBwYXNzZWQgdG8gdGhlIHJvb3QgbGV2ZWwgb2YgZS5nLiBhIHJlc291cmNlXG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3Iga2V5PlwiIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZHluYW1pYyBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vcCBvdmVyIHRoaXMgaXRlcmF0b3JcbiAgICogaW4gYSBkeW5hbWljIGJsb2NrLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogU2VlIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctaXRlcmF0b3JzLWZvci1saXN0LWF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBkeW5hbWljKGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgbmV3IFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uKHtcbiAgICAgICAgaXRlcmF0b3I6IHRoaXMsXG4gICAgICAgIGNvbnRlbnQ6IGF0dHJpYnV0ZXMsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMga2V5cy5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIGJlIHRoZSBpbmRpY2VzLCBmb3IgbWFwcyB0aGUga2V5cy5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqL1xuICBwdWJsaWMga2V5cygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fS0VZKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMgdmFsdWUgaW4gY2FzZSBpdCBpcyBhIG1hcC5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIHN0YXkgdGhlIHNhbWUuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKi9cbiAgcHVibGljIHZhbHVlcygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fVkFMVUUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgYWNjZXNzZXMgdGhlIGtleSBvbiBlYWNoIGVsZW1lbnQgb2YgdGhlIGl0ZXJhdG9yLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBvZiB0aGUgaXRlcmF0b3JzIHZhbHVlcyB0byBtYXAgdG9cbiAgICovXG4gIHB1YmxpYyBwbHVja1Byb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbihcbiAgICAgICAgdGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksXG4gICAgICAgIHByb3BlcnR5QWNjZXNzKEZPUl9FWFBSRVNTSU9OX1ZBTFVFLCBbcHJvcGVydHldKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCByZXN1bHRzIGluIGEgbGlzdC5cbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgZXZlcnkgcG9zc2libGUgZm9yIGV4cHJlc3Npb24sIGJ1dCByZXF1aXJlcyBtb3JlIGtub3dsZWRnZSBhYm91dFxuICAgKiBUZXJyYWZvcm0ncyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5KCkgaW5zdGVhZC5cbiAgICpcbiAgICogWW91IG1heSB3cml0ZSBhbnkgdmFsaWQgVGVycmFmb3JtIGZvciBlYWNoIGV4cHJlc3Npb24sIGUuZy5cbiAgICogYFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21MaXN0KG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JMaXN0KFwidmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWVcIilgXG4gICAqIHdpbGwgcmVzdWx0IGluIGBbIGZvciBrZXksIHZhbCBpbiB2YXIubXlJdGVyYXRvclNvdXJjZTogdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgXWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0gZXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZm9yRXhwcmVzc2lvbkZvckxpc3QoZXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBleHByZXNzaW9uKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IHJlc3VsdHMgaW4gYSBtYXAuXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gY3JlYXRlIGV2ZXJ5IHBvc3NpYmxlIGZvciBleHByZXNzaW9uLCBidXQgcmVxdWlyZXMgbW9yZSBrbm93bGVkZ2UgYWJvdXRcbiAgICogVGVycmFmb3JtcyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5IGluc3RlYWQuXG4gICAqXG4gICAqIFlvdSBtYXkgd3JpdGUgYW55IHZhbGlkIFRlcnJhZm9ybSBmb3IgZWFjaCBleHByZXNzaW9uLCBlLmcuXG4gICAqIGBUZXJyYWZvcm1JdGVyYXRvci5mcm9tTWFwKG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JNYXAoXCJrZXlcIiwgXCJ2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZVwiKWBcbiAgICogd2lsbCByZXN1bHQgaW4gYHsgZm9yIGtleSwgdmFsIGluIHZhci5teUl0ZXJhdG9yU291cmNlOiBrZXkgPT4gdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgfWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0ga2V5RXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgYXMga2V5IGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKiBAcGFyYW0gdmFsdWVFeHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBhcyB2YWx1ZSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICovXG4gIHB1YmxpYyBmb3JFeHByZXNzaW9uRm9yTWFwKFxuICAgIGtleUV4cHJlc3Npb246IHN0cmluZyB8IElSZXNvbHZhYmxlLFxuICAgIHZhbHVlRXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUsXG4gICkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24oXG4gICAgICAgIHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLFxuICAgICAgICB2YWx1ZUV4cHJlc3Npb24sXG4gICAgICAgIGtleUV4cHJlc3Npb24sXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnRseSBlbnRyeSBpbiB0aGUgbGlzdCBvciBzZXQgdGhhdCBpcyBiZWluZyBpdGVyYXRlZCBvdmVyLlxuICAgKiBGb3IgbGlzdHMgdGhpcyBpcyB0aGUgc2FtZSBhcyBgaXRlcmF0b3IudmFsdWVgLiBJZiB5b3UgbmVlZCB0aGUgaW5kZXgsXG4gICAqIHVzZSBjb3VudCB2aWEgYFRlcnJhZm9ybUNvdW50YDpcbiAgICogaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1jb3VudFxuICAgKi9cbiAgcHVibGljIGdldCBrZXkoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0S2V5KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIG5lZWRzIHRvIGJlIHdyYXBwZWQgaW4gYSBzZXQgYXMgVGVycmFmb3JtIG9ubHkgYWxsb3dzIHNldHMgaW4gZm9yX2VhY2hcbiAgICByZXR1cm4gRm4udG9zZXQodGhpcy5saXN0KTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIE1hcFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hcDogTWFwVHlwZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgLy8gZXhwbGljaXQgd3JhcHBpbmcgdG8gY2lyY3VtdmVudCBcIkZvdW5kIGFuIGVuY29kZWQgbWFwIHRva2VuIGluIGEgc2NhbGFyIHN0cmluZyBjb250ZXh0LlwiIGVycm9yXG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMubWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIG1hcCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLl9nZXRLZXkoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBJVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGVsZW1lbnQuY291bnQpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCgpO1xuICAgIH1cblxuICAgIGlmICghZWxlbWVudC5mb3JFYWNoKSB7XG4gICAgICB0aHJvdyBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5mcW47IC8vIG5vIHdyYXBwaW5nIG5lY2Vzc2FyeSBmb3IgcmVzb3VyY2VzXG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgTWFwVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3Q6IExpc3RUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFwS2V5QXR0cmlidXRlTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb24uXG4gICAqIEFsd2F5cyByZXR1cm5zIHRoZSBtYXAtd3JhcHBlZCBmb3JtIHNvIGVhY2gua2V5IGlzIHRoZSBtYXBLZXlBdHRyaWJ1dGVOYW1lXG4gICAqIGFuZCBlbnRyaWVzIGFyZSB1bmlxdWVseSBrZXllZC5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBUdXJuIGxpc3QgaW50byBhIG1hcDogeyBmb3Igayx2IGluIDxpbnB1dD4gOiA8a2V5RXhwcmVzc2lvbj4gPT4gPHZhbHVlRXhwcmVzc2lvbj4gfVxuICAgIHJldHVybiBmb3JFeHByZXNzaW9uKFxuICAgICAgdGhpcy5saXN0LFxuICAgICAgRk9SX0VYUFJFU1NJT05fVkFMVUUsXG4gICAgICBGbi5sb29rdXBOZXN0ZWQoRk9SX0VYUFJFU1NJT05fVkFMVUUsIFt0aGlzLm1hcEtleUF0dHJpYnV0ZU5hbWVdKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvbiBib2R5IHdlIHdhbGsgdGhlIHJhdyBsaXN0IHNvXG4gICAqIGBbIGZvciBrZXksIHZhbCBpbiA8bGlzdD4gOiAuLi4gXWAgaXRlcmF0ZXMgbGlzdCBlbGVtZW50cyBvbmNlLFxuICAgKiByYXRoZXIgdGhhbiB0aGUgZG91Ymx5LXdyYXBwZWQgZm9ybSB0aGUgZm9yX2VhY2ggY29udmVyc2lvbiBwcm9kdWNlcy5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdDtcbiAgfVxufVxuIl19
@@ -82,5 +82,5 @@ class TerraformLocal extends terraform_element_1.TerraformElement {
82
82
  }
83
83
  exports.TerraformLocal = TerraformLocal;
84
84
  _a = JSII_RTTI_SYMBOL_1;
85
- TerraformLocal[_a] = { fqn: "cdktn.TerraformLocal", version: "0.23.3" };
85
+ TerraformLocal[_a] = { fqn: "cdktn.TerraformLocal", version: "0.23.4" };
86
86
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1sb2NhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLDJEQUF1RDtBQUN2RCxxQ0FBaUM7QUFDakMsaURBQXFDO0FBSXJDLCtDQUErQztBQUMvQyxNQUFhLGNBQ1gsU0FBUSxvQ0FBZ0I7SUFLeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxVQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxjQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLGNBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLGNBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUEsa0JBQUcsRUFBQyxTQUFTLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDdkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDMUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3RDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUE1Rkgsd0NBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyByZWYgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUxvY2FsXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZVxue1xuICBwcml2YXRlIF9leHByZXNzaW9uOiBhbnk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZXhwcmVzc2lvbjogYW55KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcImxvY2FsXCIpO1xuXG4gICAgdGhpcy5fZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBwdWJsaWMgc2V0IGV4cHJlc3Npb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2V4cHJlc3Npb24gPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkodGhpcy5pbnRlcnBvbGF0aW9uKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFzTnVtYmVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNMaXN0KCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNTdHJpbmdNYXAoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNOdW1iZXJNYXAoKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuTWFwKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNBbnlNYXAoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXNCb29sZWFuKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGludGVycG9sYXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gcmVmKGBsb2NhbC4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLCB0aGlzLmNka3RmU3RhY2spO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvY2Fsczoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxzOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiB0aGlzLl9leHByZXNzaW9uLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBsb2NhbDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRva2VuIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIGxvY2FsXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFzU3RyaW5nO1xuICB9XG59XG4iXX0=
@@ -172,5 +172,5 @@ class TerraformModule extends terraform_element_1.TerraformElement {
172
172
  }
173
173
  exports.TerraformModule = TerraformModule;
174
174
  _a = JSII_RTTI_SYMBOL_1;
175
- TerraformModule[_a] = { fqn: "cdktn.TerraformModule", version: "0.23.3" };
175
+ TerraformModule[_a] = { fqn: "cdktn.TerraformModule", version: "0.23.4" };
176
176
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELDZEQUF5RDtBQUN6RCxpQ0FBbUM7QUFFbkMscUNBQWlDO0FBQ2pDLGlEQUFpRDtBQUVqRCxxQ0FBNEU7QUFDNUUscUVBQWdFO0FBbUJoRTs7Ozs7Ozs7R0FRRztBQUNILE1BQXNCLGVBQ3BCLFNBQVEsb0NBQWdCO0lBVXhCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hFLGtHQUFrRztnQkFDbEcsSUFBSSxDQUFDLE1BQU0sR0FBRyw2Q0FBb0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLENBQ2hFLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFP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QUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9CLElBQUksbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sSUFBQSw2QkFBb0IsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyTUgsMENBc01DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgcmVmLCBkZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IG1vZHVsZXNXaXRoU2FtZUFsaWFzLCB0ZXJyYWZvcm1Nb2R1bGVIYXNDaGlsZHJlbiB9IGZyb20gXCIuL2Vycm9yc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtTW9kdWxlQXNzZXQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlLWFzc2V0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtTW9kdWxlVXNlckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByb3ZpZGVycz86IChUZXJyYWZvcm1Qcm92aWRlciB8IFRlcnJhZm9ybU1vZHVsZVByb3ZpZGVyKVtdO1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICByZWFkb25seSBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICByZWFkb25seSBza2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU1vZHVsZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZVVzZXJDb25maWcge1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1Nb2R1bGVQcm92aWRlciB7XG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBUZXJyYWZvcm1Qcm92aWRlcjtcbiAgcmVhZG9ubHkgbW9kdWxlQWxpYXM6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUZXJyYWZvcm1Nb2R1bGUgY2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIGEgbG9jYWwgdGVycmFmb3JtIG1vZHVsZSBvciBhIG1vZHVsZSBmcm9tIHRoZSBUZXJyYWZvcm0gUmVnaXN0cnkuXG4gKiBJdCBzaG91bGQgYmUgdXNlZCBpZiB5b3UgY2FuIG5vdCB1c2UgZ2VuZXJhdGVkIGJpbmRpbmdzIGZvciB0aGUgbW9kdWxlIGFzIHlvdSB3b3VsZCBnZXQgYnkgYWRkaW5nIHRoZSBtb2R1bGVcbiAqIHRvIHlvdXIgY2RrdGYuanNvbiBmaWxlcyBcInRlcnJhZm9ybU1vZHVsZXNcIiBhcnJheSBhbmQgcnVubmluZyBjZGt0biBnZXQuXG4gKlxuICogVGhpcyBjbGFzcyBpcyBub3QgY3JlYXRpbmcgYSBUZXJyYWZvcm0gbW9kdWxlIHRvIGJlIHVzZWQgb3V0c2lkZSBvZiBDREtUTi5cbiAqIElmIHlvdSB3YW50IHRvIGJ1bmRsZSBjZXJ0YWluIHJlc291cmNlcyB0b2dldGhlciBsaWtlIHlvdSB3b3VsZCBkbyB3aXRoIGEgVGVycmFmb3JtIG1vZHVsZSxcbiAqIHlvdSBzaG91bGQgdXNlIENvbnN0cnVjdHMgaW5zdGVhZCwgc2VlIGh0dHA6Ly9jZGsudGYvY29uc3RydWN0cyBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtTW9kdWxlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1EZXBlbmRhYmxlXG57XG4gIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3Byb3ZpZGVycz86IChUZXJyYWZvcm1Qcm92aWRlciB8IFRlcnJhZm9ybU1vZHVsZVByb3ZpZGVyKVtdO1xuICBwdWJsaWMgZGVwZW5kc09uPzogc3RyaW5nW107XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgc2tpcEFzc2V0Q3JlYXRpb25Gcm9tTG9jYWxNb2R1bGVzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBUZXJyYWZvcm1Nb2R1bGVDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIFwibW9kdWxlXCIpO1xuXG4gICAgdGhpcy5zb3VyY2UgPSBvcHRpb25zLnNvdXJjZTtcblxuICAgIGlmICghb3B0aW9ucy5za2lwQXNzZXRDcmVhdGlvbkZyb21Mb2NhbE1vZHVsZXMpIHtcbiAgICAgIGlmIChvcHRpb25zLnNvdXJjZS5zdGFydHNXaXRoKFwiLi9cIikgfHwgb3B0aW9ucy5zb3VyY2Uuc3RhcnRzV2l0aChcIi4uL1wiKSkge1xuICAgICAgICAvLyBDcmVhdGUgYW4gYXNzZXQgb3IgcmV1c2UgZXhpc3RpbmcgXCJzaW5nbGV0b24gYXNzZXRcIiBmb3IgdGhlIGxvY2FsIG1vZHVsZSBmb3IgYmV0dGVyIFRGQyBzdXBwb3J0XG4gICAgICAgIHRoaXMuc291cmNlID0gVGVycmFmb3JtTW9kdWxlQXNzZXQub2Yoc2NvcGUpLmdldEFzc2V0UGF0aEZvck1vZHVsZShcbiAgICAgICAgICBvcHRpb25zLnNvdXJjZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnZlcnNpb24gPSBvcHRpb25zLnZlcnNpb247XG4gICAgdGhpcy5fcHJvdmlkZXJzID0gb3B0aW9ucy5wcm92aWRlcnM7XG4gICAgdGhpcy52YWxpZGF0ZUlmUHJvdmlkZXJzSGF2ZVVuaXF1ZUtleXMoKTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gb3B0aW9ucy5kZXBlbmRzT24ubWFwKChkZXBlbmRlbmN5KSA9PlxuICAgICAgICBkZXBlbmRhYmxlKGRlcGVuZGVuY3kpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5mb3JFYWNoID0gb3B0aW9ucy5mb3JFYWNoO1xuICB9XG5cbiAgLy8gQWRkcyBzeW50aC10aW1lIHZhbGlkYXRpb25zXG4gIHByaXZhdGUgb25TeW50aCgpOiB2b2lkIHtcbiAgICAvLyBXZSBkb24ndCBhbGxvdyBhbnkgbmVzdGVkIGNvbnN0cnVjdHMgd2l0aGluIFRlcnJhZm9ybU1vZHVsZXMsIGl0J3MgbW9zdCBsaWtlbHkgYSBtaXN0YWtlXG4gICAgLy8gd2hlcmUgY29uc3RydWN0cyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICAgIGlmICh0aGlzLm5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgdGVycmFmb3JtTW9kdWxlSGFzQ2hpbGRyZW4odGhpcy5ub2RlLnBhdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGpzaWkgY2FuJ3QgaGFuZGxlIGFic3RyYWN0IGNsYXNzZXM/XG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgaW50ZXJwb2xhdGlvbkZvck91dHB1dChtb2R1bGVPdXRwdXQ6IHN0cmluZykge1xuICAgIHJldHVybiByZWYoXG4gICAgICBgbW9kdWxlLiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfSR7XG4gICAgICAgIHRoaXMuZm9yRWFjaCA/IFwiLipcIiA6IFwiXCJcbiAgICAgIH0uJHttb2R1bGVPdXRwdXR9YCxcbiAgICAgIHRoaXMuY2RrdGZTdGFjayxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZyhvdXRwdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJvdmlkZXJzKCkge1xuICAgIHJldHVybiB0aGlzLl9wcm92aWRlcnM7XG4gIH1cblxuICBwdWJsaWMgYWRkUHJvdmlkZXIocHJvdmlkZXI6IFRlcnJhZm9ybVByb3ZpZGVyIHwgVGVycmFmb3JtTW9kdWxlUHJvdmlkZXIpIHtcbiAgICBpZiAoIXRoaXMuX3Byb3ZpZGVycykge1xuICAgICAgdGhpcy5fcHJvdmlkZXJzID0gW107XG4gICAgfVxuICAgIHRoaXMuX3Byb3ZpZGVycy5wdXNoKHByb3ZpZGVyKTtcbiAgICB0aGlzLnZhbGlkYXRlSWZQcm92aWRlcnNIYXZlVW5pcXVlS2V5cygpO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgdGhpcy5vblN5bnRoKCk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHtcbiAgICAgICAgLi4udGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICBzb3VyY2U6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zb3VyY2UsXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuXG4gICAgICAgIHZlcnNpb246IHRoaXMudmVyc2lvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy52ZXJzaW9uLFxuICAgICAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcblxuICAgICAgICBwcm92aWRlcnM6IHRoaXMuX3Byb3ZpZGVycz8ucmVkdWNlKChhLCBwKSA9PiB7XG4gICAgICAgICAgaWYgKFRlcnJhZm9ybVByb3ZpZGVyLmlzVGVycmFmb3JtUHJvdmlkZXIocCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmEsIFtwLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHAuZnFuIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgIFtgJHtwLnByb3ZpZGVyLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHtwLm1vZHVsZUFsaWFzfWBdOlxuICAgICAgICAgICAgICAgIHAucHJvdmlkZXIuZnFuLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcblxuICAgICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5kZXBlbmRzT24sXG4gICAgICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcblxuICAgICAgICBmb3JfZWFjaDogdGhpcy5mb3JFYWNoPy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKSxcbiAgICAgIH0sXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbW9kdWxlOiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBhdHRyaWJ1dGVzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgdGhpcy5vblN5bnRoKCk7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHtcbiAgICAgICAgLi4udGhpcy5zeW50aGVzaXplQXR0cmlidXRlcygpLFxuICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fcHJvdmlkZXJzPy5yZWR1Y2UoKGEsIHApID0+IHtcbiAgICAgICAgICBpZiAoVGVycmFmb3JtUHJvdmlkZXIuaXNUZXJyYWZvcm1Qcm92aWRlcihwKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgLi4uYSwgW3AudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogcC5mcW4gfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgW2Ake3AucHJvdmlkZXIudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3AubW9kdWxlQWxpYXN9YF06XG4gICAgICAgICAgICAgICAgcC5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge30pLFxuICAgICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgICAgZm9yX2VhY2g6IHRoaXMuZm9yRWFjaD8uX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICB9LFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHRoaXMuY29uc3RydWN0Tm9kZU1ldGFkYXRhO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1vZHVsZToge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBbYG1vZHVsZS4ke3RoaXMuc291cmNlfWBdOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlSWZQcm92aWRlcnNIYXZlVW5pcXVlS2V5cygpOiB2b2lkIHtcbiAgICBjb25zdCBtb2R1bGVBbGlhc2VzID0gdGhpcy5fcHJvdmlkZXJzPy5tYXAoKHApID0+IHtcbiAgICAgIGlmIChUZXJyYWZvcm1Qcm92aWRlci5pc1RlcnJhZm9ybVByb3ZpZGVyKHApKSB7XG4gICAgICAgIHJldHVybiBwLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBgJHtwLnByb3ZpZGVyLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHtwLm1vZHVsZUFsaWFzfWA7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmlxdWVNb2R1bGVBbGlhc2VzID0gbmV3IFNldCgpO1xuICAgIG1vZHVsZUFsaWFzZXM/LmZvckVhY2goKGFsaWFzKSA9PiB7XG4gICAgICBpZiAodW5pcXVlTW9kdWxlQWxpYXNlcy5oYXMoYWxpYXMpKSB7XG4gICAgICAgIHRocm93IG1vZHVsZXNXaXRoU2FtZUFsaWFzKGFsaWFzKTtcbiAgICAgIH1cbiAgICAgIHVuaXF1ZU1vZHVsZUFsaWFzZXMuYWRkKGFsaWFzKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -107,5 +107,5 @@ class Op {
107
107
  }
108
108
  exports.Op = Op;
109
109
  _a = JSII_RTTI_SYMBOL_1;
110
- Op[_a] = { fqn: "cdktn.Op", version: "0.23.3" };
110
+ Op[_a] = { fqn: "cdktn.Op", version: "0.23.4" };
111
111
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7OztHQUdHO0FBRUgsaURBQWdFO0FBQ2hFLHFDQUFpQztBQUdqQzs7O0dBR0c7QUFDSCxNQUFhLEVBQUU7SUFDYjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBc0I7UUFDdEMsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQXNCO1FBQ3pDLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLGNBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxpQ0FBa0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbEQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ25ELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNsRCxPQUFPLElBQUksaUNBQWtCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBZ0IsRUFBRSxLQUFpQjtRQUNuRCxPQUFPLElBQUksaUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQWdCLEVBQUUsS0FBaUI7UUFDbkQsT0FBTyxJQUFJLGlDQUFrQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFnQixFQUFFLEtBQWlCO1FBQ2xELE9BQU8sSUFBSSxpQ0FBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7O0FBeEdILGdCQXlHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgRXhwcmVzc2lvbiwgT3BlcmF0b3JFeHByZXNzaW9uIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuXG4vKipcbiAqIFRoaXMgY2xhc3MgY29udGFpbnMgc3RhdGljIGZ1bmN0aW9ucyBmb3IgYWxsIGFyaXRobWV0aWNhbCBhbmQgbG9naWNhbCBvcGVyYXRvcnNcbiAqIGluIHRoZSBUZXJyYWZvcm0gY29uZmlndXJhdGlvbiBsYW5ndWFnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wIHtcbiAgLyoqXG4gICAqIFJlbmRlcnMgIWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbm90KGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhXCIsIGV4cHJlc3Npb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgLWV4cHJlc3Npb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbmVnYXRlKGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBleHByZXNzaW9uKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICogcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbXVsKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIipcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLyByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXYobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiL1wiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAlIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1vZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIlXCIsIGxlZnQsIHJpZ2h0KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICsgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWRkKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIobmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIitcIiwgbGVmdCwgcmlnaHQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgLSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdWIobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiLVwiLCBsZWZ0LCByaWdodCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA+IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0KGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPlwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID49IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGd0ZShsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIj49XCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgPCByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIjxcIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCA8PSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsdGUobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCI8PVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ID09IHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVxKGxlZnQ6IEV4cHJlc3Npb24sIHJpZ2h0OiBFeHByZXNzaW9uKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBuZXcgT3BlcmF0b3JFeHByZXNzaW9uKFwiPT1cIiwgbGVmdCwgcmlnaHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgbGVmdCAhPSByaWdodFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBuZXEobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCIhPVwiLCBsZWZ0LCByaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyBsZWZ0ICYmIHJpZ2h0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFuZChsZWZ0OiBFeHByZXNzaW9uLCByaWdodDogRXhwcmVzc2lvbik6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gbmV3IE9wZXJhdG9yRXhwcmVzc2lvbihcIiYmXCIsIGxlZnQsIHJpZ2h0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGxlZnQgfHwgcmlnaHRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb3IobGVmdDogRXhwcmVzc2lvbiwgcmlnaHQ6IEV4cHJlc3Npb24pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIG5ldyBPcGVyYXRvckV4cHJlc3Npb24oXCJ8fFwiLCBsZWZ0LCByaWdodCk7XG4gIH1cbn1cbiJdfQ==
@@ -118,5 +118,5 @@ class TerraformOutput extends terraform_element_1.TerraformElement {
118
118
  }
119
119
  exports.TerraformOutput = TerraformOutput;
120
120
  _a = JSII_RTTI_SYMBOL_1;
121
- TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.23.3" };
121
+ TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.23.4" };
122
122
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELGlDQUFtQztBQUluQyxxQ0FBaUM7QUFHakMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFpQnBFLCtDQUErQztBQUMvQyxNQUFhLGVBQWdCLFNBQVEsb0NBQWdCO0lBT25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQU07UUFDcEMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUTtZQUFFLElBQUks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LElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxLQUFLO2dCQUNkLGdCQUFnQixFQUFFLFlBQVk7YUFDL0I7U0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUNwRCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQzlCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3ZDO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBN0lILDBDQThJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybU91dHB1dFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1PdXRwdXRDb25maWcge1xuICByZWFkb25seSB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1EZXBlbmRhYmxlO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogSVRlcnJhZm9ybURlcGVuZGFibGVbXTtcbiAgLyoqXG4gICAqIElmIHNldCB0byB0cnVlIHRoZSBzeW50aGVzaXplZCBUZXJyYWZvcm0gT3V0cHV0IHdpbGwgYmUgbmFtZWQgYWZ0ZXIgdGhlIGBpZGBcbiAgICogcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IChUZXJyYWZvcm1PdXRwdXQuZnJpZW5kbHlVbmlxdWVJZClcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0lkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybU91dHB1dCBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBwdWJsaWMgdmFsdWU6IEV4cHJlc3Npb24gfCBJVGVycmFmb3JtQWRkcmVzc2FibGU7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIHNlbnNpdGl2ZT86IGJvb2xlYW47XG4gIHB1YmxpYyBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICBwdWJsaWMgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtT3V0cHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsdWUgPSBjb25maWcudmFsdWU7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnNlbnNpdGl2ZSA9IGNvbmZpZy5zZW5zaXRpdmU7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBjb25maWcuZGVwZW5kc09uO1xuICAgIHRoaXMuc3RhdGljSWQgPSBjb25maWcuc3RhdGljSWQgfHwgZmFsc2U7XG4gICAgdGhpcy5wcmVjb25kaXRpb24gPSBjb25maWcucHJlY29uZGl0aW9uO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fT1VUUFVUX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1PdXRwdXQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1PdXRwdXQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgc2V0IHN0YXRpY0lkKHN0YXRpY0lkOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXRpY0lkKSB0aGlzLm92ZXJyaWRlTG9naWNhbElkKHRoaXMubm9kZS5pZCk7XG4gICAgZWxzZSB0aGlzLnJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGljSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJpZW5kbHlVbmlxdWVJZCA9PT0gdGhpcy5ub2RlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShcbiAgICBvYmplY3Q6IGFueSxcbiAgKTogb2JqZWN0IGlzIElUZXJyYWZvcm1BZGRyZXNzYWJsZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIG9iamVjdCAmJlxuICAgICAgdHlwZW9mIG9iamVjdCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgIUFycmF5LmlzQXJyYXkob2JqZWN0KSAmJlxuICAgICAgXCJmcW5cIiBpbiBvYmplY3RcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplVmFsdWUoYXJnOiBhbnkpOiBhbnkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoYXJnKSkge1xuICAgICAgcmV0dXJuIGFyZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLmZxbjtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLm1hcCgoaW5uZXJBcmcpID0+IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGlubmVyQXJnKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhcmcpLnJlZHVjZShcbiAgICAgICAgKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnN5bnRoZXNpemVWYWx1ZShhcmdba2V5XSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZztcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBzZW5zaXRpdmU6IHRoaXMuc2Vuc2l0aXZlLFxuICAgICAgZGVwZW5kc19vbjogdGhpcy5kZXBlbmRzT24/Lm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmZxbiksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoe1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnN5bnRoZXNpemVWYWx1ZSh0aGlzLnZhbHVlKSxcbiAgICAgICAgICB0eXBlOiBcImFueVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuICAgICAgICBzZW5zaXRpdmU6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zZW5zaXRpdmUsXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcImJvb2xcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVwZW5kc19vbjoge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmRlcGVuZHNPbj8ubWFwKChyZXNvdXJjZSkgPT4gcmVzb3VyY2UuZnFuKSxcbiAgICAgICAgICB0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ0xpc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH0pLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgb3V0cHV0OiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -93,5 +93,5 @@ class TerraformProvider extends terraform_element_1.TerraformElement {
93
93
  }
94
94
  exports.TerraformProvider = TerraformProvider;
95
95
  _a = JSII_RTTI_SYMBOL_1;
96
- TerraformProvider[_a] = { fqn: "cdktn.TerraformProvider", version: "0.23.3" };
96
+ TerraformProvider[_a] = { fqn: "cdktn.TerraformProvider", version: "0.23.4" };
97
97
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHFDQUFpQztBQUNqQywyREFBdUQ7QUFFdkQsaUNBS2dCO0FBRWhCLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBUXhFLCtDQUErQztBQUMvQyxNQUFzQixpQkFBa0IsU0FBUSxvQ0FBZ0I7SUFLOUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFeEUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztRQUMxRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDO1FBQ3BFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUM7SUFDaEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFNO1FBQ3RDLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsNkNBQTZDO1FBQzdDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxNQUEwQjtRQUN6Qyw2Q0FBNkM7SUFDL0MsQ0FBQztJQUVELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxjQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvRCxDQUFDLENBQUMsY0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsc0NBQXNDO0lBQzVCLG9CQUFvQjtRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULGtCQUFrQixFQUFFO29CQUNsQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUM1QixPQUFPLEVBQ0wsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGVBQWU7NEJBQ2hELElBQUksQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSwwQ0FBMEM7d0JBQ3hHLE1BQU0sRUFBRSxJQUFJLENBQUMsdUJBQXVCO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7b0JBQzVCLElBQUEsZ0JBQVMsRUFDUCxJQUFBLHNCQUFlLEVBQ2IsSUFBQSxxQ0FBOEIsRUFBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUMvRCxFQUNELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxjQUFjLENBQ3BCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULGtCQUFrQixFQUFFO29CQUNsQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUM1QixPQUFPLEVBQ0wsSUFBSSxDQUFDLDBCQUEwQixFQUFFLGVBQWU7NEJBQ2hELElBQUksQ0FBQywwQkFBMEIsRUFBRSx5QkFBeUIsRUFBRSwwQ0FBMEM7d0JBQ3hHLE1BQU0sRUFBRSxJQUFJLENBQUMsdUJBQXVCO3FCQUNyQztpQkFDRjthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7b0JBQzVCLElBQUEsZ0JBQVMsRUFDUCxJQUFBLHNCQUFlLEVBQ2IsSUFBQSwrQkFBd0IsRUFBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUN0RCxFQUNELElBQUksQ0FBQyxZQUFZLEVBQ2pCLElBQUksQ0FBQyxjQUFjLENBQ3BCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUNNLFVBQVU7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDOztBQWhISCw4Q0FpSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGEgfSBmcm9tIFwiLi90ZXJyYWZvcm0tcmVzb3VyY2VcIjtcbmltcG9ydCB7XG4gIGtleXNUb1NuYWtlQ2FzZSxcbiAgZGVlcE1lcmdlLFxuICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBURVJSQUZPUk1fUFJPVklERVJfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybVByb3ZpZGVyXCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVByb3ZpZGVyQ29uZmlnIHtcbiAgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcbiAgcmVhZG9ubHkgdGVycmFmb3JtUHJvdmlkZXJTb3VyY2U/OiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtUHJvdmlkZXIgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/OiBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhO1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUHJvdmlkZXJTb3VyY2U/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1Qcm92aWRlckNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9QUk9WSURFUl9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG5cbiAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZSA9IGNvbmZpZy50ZXJyYWZvcm1SZXNvdXJjZVR5cGU7XG4gICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YSA9IGNvbmZpZy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YTtcbiAgICB0aGlzLnRlcnJhZm9ybVByb3ZpZGVyU291cmNlID0gY29uZmlnLnRlcnJhZm9ybVByb3ZpZGVyU291cmNlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybVByb3ZpZGVyKHg6IGFueSk6IHggaXMgVGVycmFmb3JtUHJvdmlkZXIge1xuICAgIHJldHVybiAoXG4gICAgICB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIFRFUlJBRk9STV9QUk9WSURFUl9TWU1CT0wgaW4geFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFsaWFzKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gVGhpcyBpcyBhbHdheXMqIGJlaW5nIG92ZXJyaWRkZW4gY3VycmVudGx5XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWxpYXMoX3ZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAvLyBUaGlzIGlzIGFsd2F5cyogYmVpbmcgb3ZlcnJpZGRlbiBjdXJyZW50bHlcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZnFuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXMgIT09IHVuZGVmaW5lZFxuICAgICAgPyBUb2tlbi5hc1N0cmluZyhgJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmFsaWFzfWApXG4gICAgICA6IFRva2VuLmFzU3RyaW5nKGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfWApO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXRhQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXMgIT09IHVuZGVmaW5lZCA/IHsgYWxpYXM6IHRoaXMuYWxpYXMgfSA6IHt9O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgcmVxdWlyZWRfcHJvdmlkZXJzOiB7XG4gICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgICAgdmVyc2lvbjpcbiAgICAgICAgICAgICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT8ucHJvdmlkZXJWZXJzaW9uIHx8XG4gICAgICAgICAgICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQsIC8vIGZhbGxiYWNrIHRvIHByZXZpb3VzIHRvIGVhc2UgdHJhbnNpdGlvblxuICAgICAgICAgICAgc291cmNlOiB0aGlzLnRlcnJhZm9ybVByb3ZpZGVyU291cmNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogW1xuICAgICAgICAgIGRlZXBNZXJnZShcbiAgICAgICAgICAgIGtleXNUb1NuYWtlQ2FzZShcbiAgICAgICAgICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsKHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgICB0aGlzLm1ldGFBdHRyaWJ1dGVzLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGlzIHJlc291cmNlIHRvIHRoZSB0ZXJyYWZvcm0gSlNPTiBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGVycmFmb3JtOiB7XG4gICAgICAgIHJlcXVpcmVkX3Byb3ZpZGVyczoge1xuICAgICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHtcbiAgICAgICAgICAgIHZlcnNpb246XG4gICAgICAgICAgICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyVmVyc2lvbiB8fFxuICAgICAgICAgICAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPy5wcm92aWRlclZlcnNpb25Db25zdHJhaW50LCAvLyBmYWxsYmFjayB0byBwcmV2aW91cyB0byBlYXNlIHRyYW5zaXRpb25cbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy50ZXJyYWZvcm1Qcm92aWRlclNvdXJjZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IFtcbiAgICAgICAgICBkZWVwTWVyZ2UoXG4gICAgICAgICAgICBrZXlzVG9TbmFrZUNhc2UoXG4gICAgICAgICAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyh0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICAgICAgICAgdGhpcy5tZXRhQXR0cmlidXRlcyxcbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==