cdktn 0.22.0 → 0.22.1

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 (62) hide show
  1. package/.jsii +29 -28
  2. package/eslint.config.mjs +4 -0
  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 +3 -3
  7. package/lib/backends/cloud-backend.js +4 -4
  8. package/lib/backends/consul-backend.js +3 -3
  9. package/lib/backends/cos-backend.js +3 -3
  10. package/lib/backends/gcs-backend.js +3 -3
  11. package/lib/backends/http-backend.js +3 -3
  12. package/lib/backends/local-backend.js +3 -3
  13. package/lib/backends/oss-backend.js +3 -3
  14. package/lib/backends/pg-backend.js +3 -3
  15. package/lib/backends/remote-backend.js +5 -5
  16. package/lib/backends/s3-backend.js +3 -3
  17. package/lib/backends/swift-backend.js +3 -3
  18. package/lib/complex-computed-list.js +22 -22
  19. package/lib/errors.js +23 -23
  20. package/lib/functions/terraform-functions.generated.js +1 -1
  21. package/lib/importable-resource.js +1 -1
  22. package/lib/manifest.js +1 -1
  23. package/lib/resource.js +1 -1
  24. package/lib/terraform-asset.js +1 -1
  25. package/lib/terraform-backend.js +1 -1
  26. package/lib/terraform-count.js +1 -1
  27. package/lib/terraform-data-resource.js +1 -1
  28. package/lib/terraform-data-source.js +1 -1
  29. package/lib/terraform-element.js +1 -1
  30. package/lib/terraform-functions.js +1 -1
  31. package/lib/terraform-hcl-module.js +1 -1
  32. package/lib/terraform-iterator.d.ts +4 -4
  33. package/lib/terraform-iterator.js +10 -10
  34. package/lib/terraform-local.js +1 -1
  35. package/lib/terraform-module.js +1 -1
  36. package/lib/terraform-operators.js +1 -1
  37. package/lib/terraform-output.js +3 -4
  38. package/lib/terraform-provider.js +1 -1
  39. package/lib/terraform-provisioner.js +1 -1
  40. package/lib/terraform-remote-state.js +1 -1
  41. package/lib/terraform-resource-targets.js +1 -1
  42. package/lib/terraform-resource.js +1 -1
  43. package/lib/terraform-stack.js +1 -1
  44. package/lib/terraform-variable.js +2 -2
  45. package/lib/testing/index.js +1 -1
  46. package/lib/testing/matchers.js +1 -1
  47. package/lib/tokens/lazy.js +2 -2
  48. package/lib/tokens/resolvable.js +2 -2
  49. package/lib/tokens/string-fragments.js +1 -1
  50. package/lib/tokens/token.js +2 -2
  51. package/lib/upgrade-id-aspect.js +4 -4
  52. package/node_modules/semver/README.md +3 -2
  53. package/node_modules/semver/bin/semver.js +1 -1
  54. package/node_modules/semver/classes/range.js +1 -0
  55. package/node_modules/semver/classes/semver.js +19 -5
  56. package/node_modules/semver/functions/diff.js +1 -1
  57. package/node_modules/semver/internal/identifiers.js +4 -0
  58. package/node_modules/semver/internal/re.js +2 -2
  59. package/node_modules/semver/package.json +4 -4
  60. package/node_modules/semver/ranges/subset.js +1 -1
  61. package/package.json +13 -12
  62. package/tsconfig.tsbuildinfo +1 -1
@@ -5,7 +5,6 @@ exports.TerraformOutput = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const terraform_element_1 = require("./terraform-element");
7
7
  const util_1 = require("./util");
8
- const util_2 = require("util");
9
8
  const tokens_1 = require("./tokens");
10
9
  const TERRAFORM_OUTPUT_SYMBOL = Symbol.for("cdktf/TerraformOutput");
11
10
  // eslint-disable-next-line jsdoc/require-jsdoc
@@ -35,7 +34,7 @@ class TerraformOutput extends terraform_element_1.TerraformElement {
35
34
  isITerraformAddressable(object) {
36
35
  return (object &&
37
36
  typeof object === "object" &&
38
- !(0, util_2.isArray)(object) &&
37
+ !Array.isArray(object) &&
39
38
  "fqn" in object);
40
39
  }
41
40
  synthesizeValue(arg) {
@@ -119,5 +118,5 @@ class TerraformOutput extends terraform_element_1.TerraformElement {
119
118
  }
120
119
  exports.TerraformOutput = TerraformOutput;
121
120
  _a = JSII_RTTI_SYMBOL_1;
122
- TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.22.0" };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBR25DLCtCQUErQjtBQUUvQixxQ0FBaUM7QUFHakMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFpQnBFLCtDQUErQztBQUMvQyxNQUFhLGVBQWdCLFNBQVEsb0NBQWdCO0lBT25ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBNkI7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQU07UUFDcEMsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUTtZQUFF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RCxJQUFJLEVBQUUsTUFBTTtnQkFDWixPQUFPLEVBQUUsS0FBSztnQkFDZCxnQkFBZ0IsRUFBRSxZQUFZO2FBQy9CO1NBQ0YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FDcEQsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFBLGdCQUFTLEVBQ2hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxFQUM5QixJQUFJLENBQUMsWUFBWSxDQUNsQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFBLGdCQUFTLEVBQ2hDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUMzQixJQUFJLENBQUMsWUFBWSxDQUNsQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN2QztTQUNGLENBQUM7SUFDSixDQUFDOztBQTdJSCwwQ0E4SUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybURlcGVuZGFibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZGVwZW5kYWJsZVwiO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSBcInV0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1BZGRyZXNzYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1hZGRyZXNzYWJsZVwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MID0gU3ltYm9sLmZvcihcImNka3RmL1RlcnJhZm9ybU91dHB1dFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1PdXRwdXRDb25maWcge1xuICByZWFkb25seSB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1EZXBlbmRhYmxlO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogSVRlcnJhZm9ybURlcGVuZGFibGVbXTtcbiAgLyoqXG4gICAqIElmIHNldCB0byB0cnVlIHRoZSBzeW50aGVzaXplZCBUZXJyYWZvcm0gT3V0cHV0IHdpbGwgYmUgbmFtZWQgYWZ0ZXIgdGhlIGBpZGBcbiAgICogcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3RvciBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IChUZXJyYWZvcm1PdXRwdXQuZnJpZW5kbHlVbmlxdWVJZClcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0lkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybU91dHB1dCBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBwdWJsaWMgdmFsdWU6IEV4cHJlc3Npb24gfCBJVGVycmFmb3JtQWRkcmVzc2FibGU7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcHVibGljIHNlbnNpdGl2ZT86IGJvb2xlYW47XG4gIHB1YmxpYyBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICBwdWJsaWMgcHJlY29uZGl0aW9uPzogUHJlY29uZGl0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtT3V0cHV0Q29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudmFsdWUgPSBjb25maWcudmFsdWU7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICB0aGlzLnNlbnNpdGl2ZSA9IGNvbmZpZy5zZW5zaXRpdmU7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBjb25maWcuZGVwZW5kc09uO1xuICAgIHRoaXMuc3RhdGljSWQgPSBjb25maWcuc3RhdGljSWQgfHwgZmFsc2U7XG4gICAgdGhpcy5wcmVjb25kaXRpb24gPSBjb25maWcucHJlY29uZGl0aW9uO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fT1VUUFVUX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1PdXRwdXQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1PdXRwdXQge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgc2V0IHN0YXRpY0lkKHN0YXRpY0lkOiBib29sZWFuKSB7XG4gICAgaWYgKHN0YXRpY0lkKSB0aGlzLm92ZXJyaWRlTG9naWNhbElkKHRoaXMubm9kZS5pZCk7XG4gICAgZWxzZSB0aGlzLnJlc2V0T3ZlcnJpZGVMb2dpY2FsSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGljSWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJpZW5kbHlVbmlxdWVJZCA9PT0gdGhpcy5ub2RlLmlkO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShcbiAgICBvYmplY3Q6IGFueSxcbiAgKTogb2JqZWN0IGlzIElUZXJyYWZvcm1BZGRyZXNzYWJsZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIG9iamVjdCAmJlxuICAgICAgdHlwZW9mIG9iamVjdCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgIWlzQXJyYXkob2JqZWN0KSAmJlxuICAgICAgXCJmcW5cIiBpbiBvYmplY3RcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW50aGVzaXplVmFsdWUoYXJnOiBhbnkpOiBhbnkge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoYXJnKSkge1xuICAgICAgcmV0dXJuIGFyZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0lUZXJyYWZvcm1BZGRyZXNzYWJsZShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLmZxbjtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnLm1hcCgoaW5uZXJBcmcpID0+IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGlubmVyQXJnKSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhcmcgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhcmcpLnJlZHVjZShcbiAgICAgICAgKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSB0aGlzLnN5bnRoZXNpemVWYWx1ZShhcmdba2V5XSk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZztcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBzZW5zaXRpdmU6IHRoaXMuc2Vuc2l0aXZlLFxuICAgICAgZGVwZW5kc19vbjogdGhpcy5kZXBlbmRzT24/Lm1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlLmZxbiksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoe1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnN5bnRoZXNpemVWYWx1ZSh0aGlzLnZhbHVlKSxcbiAgICAgICAgICB0eXBlOiBcImFueVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgICB9LFxuICAgICAgICBzZW5zaXRpdmU6IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5zZW5zaXRpdmUsXG4gICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcImJvb2xcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVwZW5kc19vbjoge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLmRlcGVuZHNPbj8ubWFwKChyZXNvdXJjZSkgPT4gcmVzb3VyY2UuZnFuKSxcbiAgICAgICAgICB0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ0xpc3RcIixcbiAgICAgICAgfSxcbiAgICAgIH0pLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgb3V0cHV0OiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
121
+ TerraformOutput[_a] = { fqn: "cdktn.TerraformOutput", version: "0.22.1" };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLW91dHB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1vdXRwdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBSW5DLHFDQUFpQztBQUdqQyxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWlCcEUsK0NBQStDO0FBQy9DLE1BQWEsZUFBZ0IsU0FBUSxvQ0FBZ0I7SUFPbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN4QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBTTtRQUNwQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHVCQUF1QixJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsUUFBaUI7UUFDbkMsSUFBSSxRQUFRO1lBQUUsSUFBSSxDQUFDLGlC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QUFFLE1BQU07Z0JBQ1osT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsZ0JBQWdCLEVBQUUsWUFBWTthQUMvQjtTQUNGLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQ3BELENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNoQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNoQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDdkM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7QUE3SUgsMENBOElDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IElUZXJyYWZvcm1EZXBlbmRhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWRlcGVuZGFibGVcIjtcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgUHJlY29uZGl0aW9uIH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvbmRpdGlvbnNcIjtcblxuY29uc3QgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtT3V0cHV0XCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybU91dHB1dENvbmZpZyB7XG4gIHJlYWRvbmx5IHZhbHVlOiBFeHByZXNzaW9uIHwgSVRlcnJhZm9ybURlcGVuZGFibGU7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBzZW5zaXRpdmU/OiBib29sZWFuO1xuICByZWFkb25seSBkZXBlbmRzT24/OiBJVGVycmFmb3JtRGVwZW5kYWJsZVtdO1xuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUgdGhlIHN5bnRoZXNpemVkIFRlcnJhZm9ybSBPdXRwdXQgd2lsbCBiZSBuYW1lZCBhZnRlciB0aGUgYGlkYFxuICAgKiBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgKFRlcnJhZm9ybU91dHB1dC5mcmllbmRseVVuaXF1ZUlkKVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljSWQ/OiBib29sZWFuO1xuICByZWFkb25seSBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtT3V0cHV0IGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudCB7XG4gIHB1YmxpYyB2YWx1ZTogRXhwcmVzc2lvbiB8IElUZXJyYWZvcm1BZGRyZXNzYWJsZTtcbiAgcHVibGljIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgc2Vuc2l0aXZlPzogYm9vbGVhbjtcbiAgcHVibGljIGRlcGVuZHNPbj86IElUZXJyYWZvcm1EZXBlbmRhYmxlW107XG4gIHB1YmxpYyBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy52YWx1ZSA9IGNvbmZpZy52YWx1ZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gY29uZmlnLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMuc2Vuc2l0aXZlID0gY29uZmlnLnNlbnNpdGl2ZTtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IGNvbmZpZy5kZXBlbmRzT247XG4gICAgdGhpcy5zdGF0aWNJZCA9IGNvbmZpZy5zdGF0aWNJZCB8fCBmYWxzZTtcbiAgICB0aGlzLnByZWNvbmRpdGlvbiA9IGNvbmZpZy5wcmVjb25kaXRpb247XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFRFUlJBRk9STV9PVVRQVVRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybU91dHB1dCh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybU91dHB1dCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX09VVFBVVF9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc3RhdGljSWQoc3RhdGljSWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3RhdGljSWQpIHRoaXMub3ZlcnJpZGVMb2dpY2FsSWQodGhpcy5ub2RlLmlkKTtcbiAgICBlbHNlIHRoaXMucmVzZXRPdmVycmlkZUxvZ2ljYWxJZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0aWNJZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcmllbmRseVVuaXF1ZUlkID09PSB0aGlzLm5vZGUuaWQ7XG4gIH1cblxuICBwcml2YXRlIGlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKFxuICAgIG9iamVjdDogYW55LFxuICApOiBvYmplY3QgaXMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIHtcbiAgICByZXR1cm4gKFxuICAgICAgb2JqZWN0ICYmXG4gICAgICB0eXBlb2Ygb2JqZWN0ID09PSBcIm9iamVjdFwiICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmXG4gICAgICBcImZxblwiIGluIG9iamVjdFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN5bnRoZXNpemVWYWx1ZShhcmc6IGFueSk6IGFueSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChhcmcpKSB7XG4gICAgICByZXR1cm4gYXJnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzSVRlcnJhZm9ybUFkZHJlc3NhYmxlKGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcuZnFuO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiBhcmcubWFwKChpbm5lckFyZykgPT4gdGhpcy5zeW50aGVzaXplVmFsdWUoaW5uZXJBcmcpKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGFyZyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFyZykucmVkdWNlKFxuICAgICAgICAocmVzdWx0LCBrZXkpID0+IHtcbiAgICAgICAgICByZXN1bHRba2V5XSA9IHRoaXMuc3ludGhlc2l6ZVZhbHVlKGFyZ1trZXldKTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9LFxuICAgICAgICB7fSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJnO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5zeW50aGVzaXplVmFsdWUodGhpcy52YWx1ZSksXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHNlbnNpdGl2ZTogdGhpcy5zZW5zaXRpdmUsXG4gICAgICBkZXBlbmRzX29uOiB0aGlzLmRlcGVuZHNPbj8ubWFwKChyZXNvdXJjZSkgPT4gcmVzb3VyY2UuZnFuKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh7XG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuc3ludGhlc2l6ZVZhbHVlKHRoaXMudmFsdWUpLFxuICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJcIixcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgICB2YWx1ZTogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHNlbnNpdGl2ZToge1xuICAgICAgICAgIHZhbHVlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiYm9vbFwiLFxuICAgICAgICB9LFxuICAgICAgICBkZXBlbmRzX29uOiB7XG4gICAgICAgICAgdmFsdWU6IHRoaXMuZGVwZW5kc09uPy5tYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZS5mcW4pLFxuICAgICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nTGlzdFwiLFxuICAgICAgICB9LFxuICAgICAgfSkuZmlsdGVyKChbLCB2YWx1ZV0pID0+IHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb3V0cHV0OiB7XG4gICAgICAgIFt0aGlzLmZyaWVuZGx5VW5pcXVlSWRdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgdGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dDoge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b01ldGFkYXRhKCk6IGFueSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcykubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG92ZXJyaWRlczoge1xuICAgICAgICBvdXRwdXQ6IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -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.22.0" };
96
+ TerraformProvider[_a] = { fqn: "cdktn.TerraformProvider", version: "0.22.1" };
97
97
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLXByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EscUNBQWlDO0FBQ2pDLDJEQUF1RDtBQUV2RCxpQ0FLZ0I7QUFFaEIsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFReEUsK0NBQStDO0FBQy9DLE1BQXNCLGlCQUFrQixTQUFRLG9DQUFnQjtJQUs5RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4RSxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzFELElBQUksQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUM7UUFDcEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztJQUNoRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQU07UUFDdEMsT0FBTyxDQUNMLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHlCQUF5QixJQUFJLENBQUMsQ0FDdEUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCw2Q0FBNkM7UUFDN0MsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLE1BQTBCO1FBQ3pDLDZDQUE2QztJQUMvQyxDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDN0IsQ0FBQyxDQUFDLGNBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9ELENBQUMsQ0FBQyxjQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxzQ0FBc0M7SUFDNUIsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVTLHVCQUF1QjtRQUMvQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1Qsa0JBQWtCLEVBQUU7b0JBQ2xCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7d0JBQzVCLE9BQU8sRUFDTCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsZUFBZTs0QkFDaEQsSUFBSSxDQUFDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLDBDQUEwQzt3QkFDeEcsTUFBTSxFQUFFLElBQUksQ0FBQyx1QkFBdUI7cUJBQ3JDO2lCQUNGO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQkFDNUIsSUFBQSxnQkFBUyxFQUNQLElBQUEsc0JBQWUsRUFDYixJQUFBLHFDQUE4QixFQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQy9ELEVBQ0QsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FDcEI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1Qsa0JBQWtCLEVBQUU7b0JBQ2xCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7d0JBQzVCLE9BQU8sRUFDTCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsZUFBZTs0QkFDaEQsSUFBSSxDQUFDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLDBDQUEwQzt3QkFDeEcsTUFBTSxFQUFFLElBQUksQ0FBQyx1QkFBdUI7cUJBQ3JDO2lCQUNGO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRTtvQkFDNUIsSUFBQSxnQkFBUyxFQUNQLElBQUEsc0JBQWUsRUFDYixJQUFBLCtCQUF3QixFQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQ3RELEVBQ0QsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGNBQWMsQ0FDcEI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBQ00sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsU0FBUyxFQUFFO2dCQUNULENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzdEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBaEhILDhDQWlIQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAga2V5c1RvU25ha2VDYXNlLFxuICBkZWVwTWVyZ2UsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsLFxufSBmcm9tIFwiLi91dGlsXCI7XG5cbmNvbnN0IFRFUlJBRk9STV9QUk9WSURFUl9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtUHJvdmlkZXJcIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtUHJvdmlkZXJDb25maWcge1xuICByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/OiBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhO1xuICByZWFkb25seSB0ZXJyYWZvcm1Qcm92aWRlclNvdXJjZT86IHN0cmluZztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1Qcm92aWRlciBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1Qcm92aWRlclNvdXJjZT86IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IFRlcnJhZm9ybVByb3ZpZGVyQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgVEVSUkFGT1JNX1BST1ZJREVSX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlID0gY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZTtcbiAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhID0gY29uZmlnLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhO1xuICAgIHRoaXMudGVycmFmb3JtUHJvdmlkZXJTb3VyY2UgPSBjb25maWcudGVycmFmb3JtUHJvdmlkZXJTb3VyY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtUHJvdmlkZXIoeDogYW55KTogeCBpcyBUZXJyYWZvcm1Qcm92aWRlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX1BST1ZJREVSX1NZTUJPTCBpbiB4XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWxpYXMoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBUaGlzIGlzIGFsd2F5cyogYmVpbmcgb3ZlcnJpZGRlbiBjdXJyZW50bHlcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldCBhbGlhcyhfdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIC8vIFRoaXMgaXMgYWx3YXlzKiBiZWluZyBvdmVycmlkZGVuIGN1cnJlbnRseVxuICB9XG5cbiAgcHVibGljIGdldCBmcW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGlhcyAhPT0gdW5kZWZpbmVkXG4gICAgICA/IFRva2VuLmFzU3RyaW5nKGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuYWxpYXN9YClcbiAgICAgIDogVG9rZW4uYXNTdHJpbmcoYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9YCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1ldGFBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gdGhpcy5hbGlhcyAhPT0gdW5kZWZpbmVkID8geyBhbGlhczogdGhpcy5hbGlhcyB9IDoge307XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlcnJhZm9ybToge1xuICAgICAgICByZXF1aXJlZF9wcm92aWRlcnM6IHtcbiAgICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgICB2ZXJzaW9uOlxuICAgICAgICAgICAgICB0aGlzLnRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPy5wcm92aWRlclZlcnNpb24gfHxcbiAgICAgICAgICAgICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT8ucHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludCwgLy8gZmFsbGJhY2sgdG8gcHJldmlvdXMgdG8gZWFzZSB0cmFuc2l0aW9uXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMudGVycmFmb3JtUHJvdmlkZXJTb3VyY2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjoge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBbXG4gICAgICAgICAgZGVlcE1lcmdlKFxuICAgICAgICAgICAga2V5c1RvU25ha2VDYXNlKFxuICAgICAgICAgICAgICBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXNGb3JIY2wodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICAgIHRoaXMubWV0YUF0dHJpYnV0ZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgcmVxdWlyZWRfcHJvdmlkZXJzOiB7XG4gICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgICAgdmVyc2lvbjpcbiAgICAgICAgICAgICAgdGhpcy50ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT8ucHJvdmlkZXJWZXJzaW9uIHx8XG4gICAgICAgICAgICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/LnByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQsIC8vIGZhbGxiYWNrIHRvIHByZXZpb3VzIHRvIGVhc2UgdHJhbnNpdGlvblxuICAgICAgICAgICAgc291cmNlOiB0aGlzLnRlcnJhZm9ybVByb3ZpZGVyU291cmNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogW1xuICAgICAgICAgIGRlZXBNZXJnZShcbiAgICAgICAgICAgIGtleXNUb1NuYWtlQ2FzZShcbiAgICAgICAgICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgICB0aGlzLm1ldGFBdHRyaWJ1dGVzLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -45,5 +45,5 @@ class TerraformSelf {
45
45
  }
46
46
  exports.TerraformSelf = TerraformSelf;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- TerraformSelf[_a] = { fqn: "cdktn.TerraformSelf", version: "0.22.0" };
48
+ TerraformSelf[_a] = { fqn: "cdktn.TerraformSelf", version: "0.22.1" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXByb3Zpc2lvbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLXByb3Zpc2lvbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxpREFBcUM7QUFDckMsMENBQXVDO0FBQ3ZDLGlDQUFtQztBQXVWbkM7Ozs7O0dBS0c7QUFDSCxNQUFhLGFBQWE7SUFDaEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDekMsT0FBTyxRQUFRLEdBQUc7YUFDZixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGdCQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUM7YUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBVztRQUNqQyxPQUFPLGFBQUssQ0FBQyxRQUFRLENBQUMsSUFBQSxrQkFBRyxFQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBVztRQUNqQyxPQUFPLGFBQUssQ0FBQyxRQUFRLENBQUMsSUFBQSxrQkFBRyxFQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVztRQUM5QixPQUFPLGFBQUssQ0FBQyxLQUFLLENBQUMsSUFBQSxrQkFBRyxFQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQzs7QUE5Qkgsc0NBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnMvdG9rZW5cIjtcbmltcG9ydCB7IHNuYWtlQ2FzZSB9IGZyb20gXCIuL3V0aWxcIjtcbi8qKlxuICogTW9zdCBwcm92aXNpb25lcnMgcmVxdWlyZSBhY2Nlc3MgdG8gdGhlIHJlbW90ZSByZXNvdXJjZSB2aWEgU1NIIG9yIFdpblJNIGFuZCBleHBlY3QgYSBuZXN0ZWQgY29ubmVjdGlvbiBibG9jayB3aXRoIGRldGFpbHMgYWJvdXQgaG93IHRvIGNvbm5lY3QuXG4gKlxuICogUmVmZXIgdG8ge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLmhhc2hpY29ycC5jb20vdGVycmFmb3JtL2xhbmd1YWdlL3Jlc291cmNlcy9wcm92aXNpb25lcnMvY29ubmVjdGlvbiBjb25uZWN0aW9ufVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTSFByb3Zpc2lvbmVyQ29ubmVjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbiB0eXBlLiBWYWxpZCB2YWx1ZXMgYXJlIFwic3NoXCIgYW5kIFwid2lucm1cIi5cbiAgICogUHJvdmlzaW9uZXJzIHR5cGljYWxseSBhc3N1bWUgdGhhdCB0aGUgcmVtb3RlIHN5c3RlbSBydW5zIE1pY3Jvc29mdCBXaW5kb3dzIHdoZW4gdXNpbmcgV2luUk0uXG4gICAqIEJlaGF2aW9ycyBiYXNlZCBvbiB0aGUgU1NIIHRhcmdldF9wbGF0Zm9ybSB3aWxsIGZvcmNlIFdpbmRvd3Mtc3BlY2lmaWMgYmVoYXZpb3IgZm9yIFdpblJNLCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFwic3NoXCI7XG5cbiAgLyoqXG4gICAqIFRoZSB1c2VyIHRvIHVzZSBmb3IgdGhlIGNvbm5lY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHJvb3RcbiAgICovXG4gIHJlYWRvbmx5IHVzZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzd29yZCB0byB1c2UgZm9yIHRoZSBjb25uZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhZGRyZXNzIG9mIHRoZSByZXNvdXJjZSB0byBjb25uZWN0IHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9ydCB0byBjb25uZWN0IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyMlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgdG8gd2FpdCBmb3IgdGhlIGNvbm5lY3Rpb24gdG8gYmVjb21lIGF2YWlsYWJsZS5cbiAgICogU2hvdWxkIGJlIHByb3ZpZGVkIGFzIGEgc3RyaW5nIChlLmcuLCBcIjMwc1wiIG9yIFwiNW1cIi4pXG4gICAqXG4gICAqIEBkZWZhdWx0IDVtXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB1c2VkIHRvIGNvcHkgc2NyaXB0cyBtZWFudCBmb3IgcmVtb3RlIGV4ZWN1dGlvbi5cbiAgICogUmVmZXIgdG8ge0BsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLmhhc2hpY29ycC5jb20vdGVycmFmb3JtL2xhbmd1YWdlL3Jlc291cmNlcy9wcm92aXNpb25lcnMvY29ubmVjdGlvbiNob3ctcHJvdmlzaW9uZXJzLWV4ZWN1dGUtcmVtb3RlLXNjcmlwdHMgSG93IFByb3Zpc2lvbmVycyBFeGVjdXRlIFJlbW90ZSBTY3JpcHRzIGJlbG93IGZvciBtb3JlIGRldGFpbHN9XG4gICAqL1xuICByZWFkb25seSBzY3JpcHRQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgb2YgYW4gU1NIIGtleSB0byB1c2UgZm9yIHRoZSBjb25uZWN0aW9uLlxuICAgKiBUaGVzZSBjYW4gYmUgbG9hZGVkIGZyb20gYSBmaWxlIG9uIGRpc2sgdXNpbmcgdGhlIGZpbGUgZnVuY3Rpb24uXG4gICAqIFRoaXMgdGFrZXMgcHJlZmVyZW5jZSBvdmVyIHBhc3N3b3JkIGlmIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUtleT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIGEgc2lnbmVkIENBIENlcnRpZmljYXRlLlxuICAgKiBUaGUgY2VydGlmaWNhdGUgYXJndW1lbnQgbXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYSBwcml2YXRlX2tleS5cbiAgICogVGhlc2UgY2FuIGJlIGxvYWRlZCBmcm9tIGEgZmlsZSBvbiBkaXNrIHVzaW5nIHRoZSB0aGUgZmlsZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNlcnRpZmljYXRlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gZmFsc2UgdG8gZGlzYWJsZSB1c2luZyBzc2gtYWdlbnQgdG8gYXV0aGVudGljYXRlLlxuICAgKiBPbiBXaW5kb3dzIHRoZSBvbmx5IHN1cHBvcnRlZCBTU0ggYXV0aGVudGljYXRpb24gYWdlbnQgaXMgUGFnZWFudC5cbiAgICovXG4gIHJlYWRvbmx5IGFnZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZmVycmVkIGlkZW50aXR5IGZyb20gdGhlIHNzaCBhZ2VudCBmb3IgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSBhZ2VudElkZW50aXR5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIGtleSBmcm9tIHRoZSByZW1vdGUgaG9zdCBvciB0aGUgc2lnbmluZyBDQSwgdXNlZCB0byB2ZXJpZnkgdGhlIGNvbm5lY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBob3N0S2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHBsYXRmb3JtIHRvIGNvbm5lY3QgdG8uXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgXCJ3aW5kb3dzXCIgYW5kIFwidW5peFwiLlxuICAgKiBJZiB0aGUgcGxhdGZvcm0gaXMgc2V0IHRvIHdpbmRvd3MsIHRoZSBkZWZhdWx0IHNjcmlwdF9wYXRoIGlzIGM6XFx3aW5kb3dzXFx0ZW1wXFx0ZXJyYWZvcm1fJVJBTkQlLmNtZCwgYXNzdW1pbmcgdGhlIFNTSCBkZWZhdWx0IHNoZWxsIGlzIGNtZC5leGUuXG4gICAqIElmIHRoZSBTU0ggZGVmYXVsdCBzaGVsbCBpcyBQb3dlclNoZWxsLCBzZXQgc2NyaXB0X3BhdGggdG8gXCJjOi93aW5kb3dzL3RlbXAvdGVycmFmb3JtXyVSQU5EJS5wczFcIlxuICAgKiBAZGVmYXVsdCB1bml4XG4gICAqL1xuICByZWFkb25seSB0YXJnZXRQbGF0Zm9ybT86IFwidW5peFwiIHwgXCJ3aW5kb3dzXCI7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyBlbmFibGVzIHRoZSBiYXN0aW9uIEhvc3QgY29ubmVjdGlvbi5cbiAgICogVGhlIHByb3Zpc2lvbmVyIHdpbGwgY29ubmVjdCB0byBiYXN0aW9uX2hvc3QgZmlyc3QsIGFuZCB0aGVuIGNvbm5lY3QgZnJvbSB0aGVyZSB0byBob3N0LlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzdGlvbkhvc3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IGZyb20gdGhlIHJlbW90ZSBob3N0IG9yIHRoZSBzaWduaW5nIENBLCB1c2VkIHRvIHZlcmlmeSB0aGUgaG9zdCBjb25uZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzdGlvbkhvc3RLZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSBjb25uZWN0IHRvIHRoZSBiYXN0aW9uIGhvc3QuXG4gICAqL1xuICByZWFkb25seSBiYXN0aW9uUG9ydD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHVzZXIgZm9yIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBiYXN0aW9uIGhvc3QuXG4gICAqL1xuICByZWFkb25seSBiYXN0aW9uVXNlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhc3N3b3JkIHRvIHVzZSBmb3IgdGhlIGJhc3Rpb24gaG9zdC5cbiAgICovXG4gIHJlYWRvbmx5IGJhc3Rpb25QYXNzd29yZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIGFuIFNTSCBrZXkgZmlsZSB0byB1c2UgZm9yIHRoZSBiYXN0aW9uIGhvc3QuXG4gICAqIFRoZXNlIGNhbiBiZSBsb2FkZWQgZnJvbSBhIGZpbGUgb24gZGlzayB1c2luZyB0aGUgZmlsZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGJhc3Rpb25Qcml2YXRlS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgb2YgYSBzaWduZWQgQ0EgQ2VydGlmaWNhdGUuXG4gICAqIFRoZSBjZXJ0aWZpY2F0ZSBhcmd1bWVudCBtdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBhIGJhc3Rpb25fcHJpdmF0ZV9rZXkuXG4gICAqIFRoZXNlIGNhbiBiZSBsb2FkZWQgZnJvbSBhIGZpbGUgb24gZGlzayB1c2luZyB0aGUgdGhlIGZpbGUgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBiYXN0aW9uQ2VydGlmaWNhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzc2ggY29ubmVjdGlvbiBhbHNvIHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRvIGZhY2lsaXRhdGUgY29ubmVjdGlvbnMgYnkgU1NIIG92ZXIgSFRUUCBwcm94eS5cbiAgICovXG4gIHJlYWRvbmx5IHByb3h5U2NoZW1lPzogXCJodHRwXCIgfCBcImh0dHBzXCI7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyBlbmFibGVzIHRoZSBTU0ggb3ZlciBIVFRQIGNvbm5lY3Rpb24uXG4gICAqIFRoaXMgaG9zdCB3aWxsIGJlIGNvbm5lY3RlZCB0byBmaXJzdCwgYW5kIHRoZW4gdGhlIGhvc3Qgb3IgYmFzdGlvbl9ob3N0IGNvbm5lY3Rpb24gd2lsbCBiZSBtYWRlIGZyb20gdGhlcmUuXG4gICAqL1xuICByZWFkb25seSBwcm94eUhvc3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSBjb25uZWN0IHRvIHRoZSBwcm94eSBob3N0LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHlQb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlcm5hbWUgdG8gdXNlIGNvbm5lY3QgdG8gdGhlIHByaXZhdGUgcHJveHkgaG9zdC5cbiAgICogVGhpcyBhcmd1bWVudCBzaG91bGQgYmUgc3BlY2lmaWVkIG9ubHkgaWYgYXV0aGVudGljYXRpb24gaXMgcmVxdWlyZWQgZm9yIHRoZSBIVFRQIFByb3h5IHNlcnZlci5cbiAgICovXG4gIHJlYWRvbmx5IHByb3h5VXNlck5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXNzd29yZCB0byB1c2UgY29ubmVjdCB0byB0aGUgcHJpdmF0ZSBwcm94eSBob3N0LlxuICAgKiBUaGlzIGFyZ3VtZW50IHNob3VsZCBiZSBzcGVjaWZpZWQgb25seSBpZiBhdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhlIEhUVFAgUHJveHkgc2VydmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJveHlVc2VyUGFzc3dvcmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogTW9zdCBwcm92aXNpb25lcnMgcmVxdWlyZSBhY2Nlc3MgdG8gdGhlIHJlbW90ZSByZXNvdXJjZSB2aWEgU1NIIG9yIFdpblJNIGFuZCBleHBlY3QgYSBuZXN0ZWQgY29ubmVjdGlvbiBibG9jayB3aXRoIGRldGFpbHMgYWJvdXQgaG93IHRvIGNvbm5lY3QuXG4gKlxuICogU2VlIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9yZXNvdXJjZXMvcHJvdmlzaW9uZXJzL2Nvbm5lY3Rpb24gY29ubmVjdGlvbn1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaW5ybVByb3Zpc2lvbmVyQ29ubmVjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgY29ubmVjdGlvbiB0eXBlLiBWYWxpZCB2YWx1ZXMgYXJlIFwic3NoXCIgYW5kIFwid2lucm1cIi5cbiAgICogUHJvdmlzaW9uZXJzIHR5cGljYWxseSBhc3N1bWUgdGhhdCB0aGUgcmVtb3RlIHN5c3RlbSBydW5zIE1pY3Jvc29mdCBXaW5kb3dzIHdoZW4gdXNpbmcgV2luUk0uXG4gICAqIEJlaGF2aW9ycyBiYXNlZCBvbiB0aGUgU1NIIHRhcmdldF9wbGF0Zm9ybSB3aWxsIGZvcmNlIFdpbmRvd3Mtc3BlY2lmaWMgYmVoYXZpb3IgZm9yIFdpblJNLCB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFwid2lucm1cIjtcblxuICAvKipcbiAgICogVGhlIHVzZXIgdG8gdXNlIGZvciB0aGUgY29ubmVjdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgcm9vdFxuICAgKi9cbiAgcmVhZG9ubHkgdXNlcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhc3N3b3JkIHRvIHVzZSBmb3IgdGhlIGNvbm5lY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFkZHJlc3Mgb2YgdGhlIHJlc291cmNlIHRvIGNvbm5lY3QgdG8uXG4gICAqL1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIGNvbm5lY3QgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IDIyXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCB0byB3YWl0IGZvciB0aGUgY29ubmVjdGlvbiB0byBiZWNvbWUgYXZhaWxhYmxlLlxuICAgKiBTaG91bGQgYmUgcHJvdmlkZWQgYXMgYSBzdHJpbmcgKGUuZy4sIFwiMzBzXCIgb3IgXCI1bVwiLilcbiAgICpcbiAgICogQGRlZmF1bHQgNW1cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHVzZWQgdG8gY29weSBzY3JpcHRzIG1lYW50IGZvciByZW1vdGUgZXhlY3V0aW9uLlxuICAgKiBSZWZlciB0byB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvcmVzb3VyY2VzL3Byb3Zpc2lvbmVycy9jb25uZWN0aW9uI2hvdy1wcm92aXNpb25lcnMtZXhlY3V0ZS1yZW1vdGUtc2NyaXB0cyBIb3cgUHJvdmlzaW9uZXJzIEV4ZWN1dGUgUmVtb3RlIFNjcmlwdHMgYmVsb3cgZm9yIG1vcmUgZGV0YWlsc31cbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdFBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIGNvbm5lY3QgdXNpbmcgSFRUUFMgaW5zdGVhZCBvZiBIVFRQLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byBza2lwIHZhbGlkYXRpbmcgdGhlIEhUVFBTIGNlcnRpZmljYXRlIGNoYWluLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZWN1cmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSB0byB1c2UgTlRMTSBhdXRoZW50aWNhdGlvbiByYXRoZXIgdGhhbiBkZWZhdWx0IChiYXNpYyBhdXRoZW50aWNhdGlvbiksIHJlbW92aW5nIHRoZSByZXF1aXJlbWVudCBmb3IgYmFzaWMgYXV0aGVudGljYXRpb24gdG8gYmUgZW5hYmxlZCB3aXRoaW4gdGhlIHRhcmdldCBndWVzdC5cbiAgICogUmVmZXIgdG8gQXV0aGVudGljYXRpb24gZm9yIFJlbW90ZSBDb25uZWN0aW9ucyBpbiB0aGUgV2luZG93cyBBcHAgRGV2ZWxvcG1lbnQgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlTnRsbT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBDQSBjZXJ0aWZpY2F0ZSB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKi9cbiAgcmVhZG9ubHkgY2FjZXJ0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBmaWxlIHByb3Zpc2lvbmVyIGNvcGllcyBmaWxlcyBvciBkaXJlY3RvcmllcyBmcm9tIHRoZSBtYWNoaW5lIHJ1bm5pbmcgVGVycmFmb3JtIHRvIHRoZSBuZXdseSBjcmVhdGVkIHJlc291cmNlLlxuICogVGhlIGZpbGUgcHJvdmlzaW9uZXIgc3VwcG9ydHMgYm90aCBzc2ggYW5kIHdpbnJtIHR5cGUgY29ubmVjdGlvbnMuXG4gKlxuICogU2VlIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9yZXNvdXJjZXMvcHJvdmlzaW9uZXJzL2ZpbGUgZmlsZX1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWxlUHJvdmlzaW9uZXIge1xuICByZWFkb25seSB0eXBlOiBcImZpbGVcIjtcbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgZmlsZSBvciBkaXJlY3RvcnkuIFNwZWNpZnkgaXQgZWl0aGVyIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IG9yIGFzIGFuIGFic29sdXRlIHBhdGguXG4gICAqIFRoaXMgYXJndW1lbnQgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0IGNvbnRlbnQgdG8gY29weSBvbiB0aGUgZGVzdGluYXRpb24uXG4gICAqIElmIGRlc3RpbmF0aW9uIGlzIGEgZmlsZSwgdGhlIGNvbnRlbnQgd2lsbCBiZSB3cml0dGVuIG9uIHRoYXQgZmlsZS5cbiAgICogSW4gY2FzZSBvZiBhIGRpcmVjdG9yeSwgYSBmaWxlIG5hbWVkIHRmLWZpbGUtY29udGVudCBpcyBjcmVhdGVkIGluc2lkZSB0aGF0IGRpcmVjdG9yeS5cbiAgICogV2UgcmVjb21tZW5kIHVzaW5nIGEgZmlsZSBhcyB0aGUgZGVzdGluYXRpb24gd2hlbiB1c2luZyBjb250ZW50LlxuICAgKiBUaGlzIGFyZ3VtZW50IGNhbm5vdCBiZSBjb21iaW5lZCB3aXRoIHNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBwYXRoIHRvIHdyaXRlIHRvIG9uIHRoZSByZW1vdGUgc3lzdGVtLlxuICAgKiBTZWUgRGVzdGluYXRpb24gUGF0aHMgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb250ZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNb3N0IHByb3Zpc2lvbmVycyByZXF1aXJlIGFjY2VzcyB0byB0aGUgcmVtb3RlIHJlc291cmNlIHZpYSBTU0ggb3IgV2luUk0gYW5kIGV4cGVjdCBhIG5lc3RlZCBjb25uZWN0aW9uIGJsb2NrIHdpdGggZGV0YWlscyBhYm91dCBob3cgdG8gY29ubmVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb24/OiBTU0hQcm92aXNpb25lckNvbm5lY3Rpb24gfCBXaW5ybVByb3Zpc2lvbmVyQ29ubmVjdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgbG9jYWwtZXhlYyBwcm92aXNpb25lciBpbnZva2VzIGEgbG9jYWwgZXhlY3V0YWJsZSBhZnRlciBhIHJlc291cmNlIGlzIGNyZWF0ZWQuXG4gKiBUaGlzIGludm9rZXMgYSBwcm9jZXNzIG9uIHRoZSBtYWNoaW5lIHJ1bm5pbmcgVGVycmFmb3JtLCBub3Qgb24gdGhlIHJlc291cmNlLlxuICpcbiAqIFNlZSB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvcmVzb3VyY2VzL3Byb3Zpc2lvbmVycy9sb2NhbC1leGVjIGxvY2FsLWV4ZWN9XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxFeGVjUHJvdmlzaW9uZXIge1xuICByZWFkb25seSB0eXBlOiBcImxvY2FsLWV4ZWNcIjtcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGNvbW1hbmQgdG8gZXhlY3V0ZS5cbiAgICogSXQgY2FuIGJlIHByb3ZpZGVkIGFzIGEgcmVsYXRpdmUgcGF0aCB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBvciBhcyBhbiBhYnNvbHV0ZSBwYXRoLlxuICAgKiBJdCBpcyBldmFsdWF0ZWQgaW4gYSBzaGVsbCwgYW5kIGNhbiB1c2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIG9yIFRlcnJhZm9ybSB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiBwcm92aWRlZCwgc3BlY2lmaWVzIHRoZSB3b3JraW5nIGRpcmVjdG9yeSB3aGVyZSBjb21tYW5kIHdpbGwgYmUgZXhlY3V0ZWQuXG4gICAqIEl0IGNhbiBiZSBwcm92aWRlZCBhcyBhIHJlbGF0aXZlIHBhdGggdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgb3IgYXMgYW4gYWJzb2x1dGUgcGF0aC5cbiAgICogVGhlIGRpcmVjdG9yeSBtdXN0IGV4aXN0LlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZ0Rpcj86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIHByb3ZpZGVkLCB0aGlzIGlzIGEgbGlzdCBvZiBpbnRlcnByZXRlciBhcmd1bWVudHMgdXNlZCB0byBleGVjdXRlIHRoZSBjb21tYW5kLlxuICAgKiBUaGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGludGVycHJldGVyIGl0c2VsZi5cbiAgICogSXQgY2FuIGJlIHByb3ZpZGVkIGFzIGEgcmVsYXRpdmUgcGF0aCB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBvciBhcyBhbiBhYnNvbHV0ZSBwYXRoXG4gICAqIFRoZSByZW1haW5pbmcgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCBwcmlvciB0byB0aGUgY29tbWFuZC5cbiAgICogVGhpcyBhbGxvd3MgYnVpbGRpbmcgY29tbWFuZCBsaW5lcyBvZiB0aGUgZm9ybSBcIi9iaW4vYmFzaFwiLCBcIi1jXCIsIFwiZWNobyBmb29cIi5cbiAgICogSWYgaW50ZXJwcmV0ZXIgaXMgdW5zcGVjaWZpZWQsIHNlbnNpYmxlIGRlZmF1bHRzIHdpbGwgYmUgY2hvc2VuIGJhc2VkIG9uIHRoZSBzeXN0ZW0gT1MuXG4gICAqL1xuICByZWFkb25seSBpbnRlcnByZXRlcj86IHN0cmluZ1tdO1xuICAvKipcbiAgICogIEEgcmVjb3JkIG9mIGtleSB2YWx1ZSBwYWlycyByZXByZXNlbnRpbmcgdGhlIGVudmlyb25tZW50IG9mIHRoZSBleGVjdXRlZCBjb21tYW5kLlxuICAgKiBJdCBpbmhlcml0cyB0aGUgY3VycmVudCBwcm9jZXNzIGVudmlyb25tZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogSWYgcHJvdmlkZWQsIHNwZWNpZmllcyB3aGVuIFRlcnJhZm9ybSB3aWxsIGV4ZWN1dGUgdGhlIGNvbW1hbmQuXG4gICAqIEZvciBleGFtcGxlLCB3aGVuID0gZGVzdHJveSBzcGVjaWZpZXMgdGhhdCB0aGUgcHJvdmlzaW9uZXIgd2lsbCBydW4gd2hlbiB0aGUgYXNzb2NpYXRlZCByZXNvdXJjZSBpcyBkZXN0cm95ZWRcbiAgICovXG4gIHJlYWRvbmx5IHdoZW4/OiBcImRlc3Ryb3lcIiB8IFwiY3JlYXRlXCI7XG59XG5cbi8qKlxuICogVGhlIHJlbW90ZS1leGVjIHByb3Zpc2lvbmVyIGludm9rZXMgYSBzY3JpcHQgb24gYSByZW1vdGUgcmVzb3VyY2UgYWZ0ZXIgaXQgaXMgY3JlYXRlZC5cbiAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gcnVuIGEgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IHRvb2wsIGJvb3RzdHJhcCBpbnRvIGEgY2x1c3RlciwgZXRjXG4gKiBUaGUgcmVtb3RlLWV4ZWMgcHJvdmlzaW9uZXIgcmVxdWlyZXMgYSBjb25uZWN0aW9uIGFuZCBzdXBwb3J0cyBib3RoIHNzaCBhbmQgd2lucm0uXG4gKlxuICogU2VlIHtAbGluayBodHRwczovL2RldmVsb3Blci5oYXNoaWNvcnAuY29tL3RlcnJhZm9ybS9sYW5ndWFnZS9yZXNvdXJjZXMvcHJvdmlzaW9uZXJzL3JlbW90ZS1leGVjIHJlbW90ZS1leGVjfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbW90ZUV4ZWNQcm92aXNpb25lciB7XG4gIHJlYWRvbmx5IHR5cGU6IFwicmVtb3RlLWV4ZWNcIjtcblxuICAvKipcbiAgICogVGhpcyBpcyBhIGxpc3Qgb2YgY29tbWFuZCBzdHJpbmdzLlxuICAgKiBUaGV5IGFyZSBleGVjdXRlZCBpbiB0aGUgb3JkZXIgdGhleSBhcmUgcHJvdmlkZWQuXG4gICAqIFRoaXMgY2Fubm90IGJlIHByb3ZpZGVkIHdpdGggc2NyaXB0IG9yIHNjcmlwdHMuXG4gICAqL1xuICByZWFkb25seSBpbmxpbmU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhpcyBpcyBhIHBhdGggKHJlbGF0aXZlIG9yIGFic29sdXRlKSB0byBhIGxvY2FsIHNjcmlwdCB0aGF0IHdpbGwgYmUgY29waWVkIHRvIHRoZSByZW1vdGUgcmVzb3VyY2UgYW5kIHRoZW4gZXhlY3V0ZWQuXG4gICAqIFRoaXMgY2Fubm90IGJlIHByb3ZpZGVkIHdpdGggaW5saW5lIG9yIHNjcmlwdHMuXG4gICAqL1xuICByZWFkb25seSBzY3JpcHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgYSBsaXN0IG9mIHBhdGhzIChyZWxhdGl2ZSBvciBhYnNvbHV0ZSkgdG8gbG9jYWwgc2NyaXB0cyB0aGF0IHdpbGwgYmUgY29waWVkIHRvIHRoZSByZW1vdGUgcmVzb3VyY2UgYW5kIHRoZW4gZXhlY3V0ZWQuXG4gICAqIFRoZXkgYXJlIGV4ZWN1dGVkIGluIHRoZSBvcmRlciB0aGV5IGFyZSBwcm92aWRlZC5cbiAgICogVGhpcyBjYW5ub3QgYmUgcHJvdmlkZWQgd2l0aCBpbmxpbmUgb3Igc2NyaXB0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2NyaXB0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNb3N0IHByb3Zpc2lvbmVycyByZXF1aXJlIGFjY2VzcyB0byB0aGUgcmVtb3RlIHJlc291cmNlIHZpYSBTU0ggb3IgV2luUk0gYW5kIGV4cGVjdCBhIG5lc3RlZCBjb25uZWN0aW9uIGJsb2NrIHdpdGggZGV0YWlscyBhYm91dCBob3cgdG8gY29ubmVjdC5cbiAgICogQSBjb25uZWN0aW9uIG11c3QgYmUgcHJvdmlkZWQgaGVyZSBvciBpbiB0aGUgcGFyZW50IHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbj86IFNTSFByb3Zpc2lvbmVyQ29ubmVjdGlvbiB8IFdpbnJtUHJvdmlzaW9uZXJDb25uZWN0aW9uO1xufVxuXG4vKipcbiAqIEV4cHJlc3Npb25zIGluIGNvbm5lY3Rpb24gYmxvY2tzIGNhbm5vdCByZWZlciB0byB0aGVpciBwYXJlbnQgcmVzb3VyY2UgYnkgbmFtZS5cbiAqIFJlZmVyZW5jZXMgY3JlYXRlIGRlcGVuZGVuY2llcywgYW5kIHJlZmVycmluZyB0byBhIHJlc291cmNlIGJ5IG5hbWUgd2l0aGluIGl0cyBvd24gYmxvY2sgd291bGQgY3JlYXRlIGEgZGVwZW5kZW5jeSBjeWNsZS5cbiAqIEluc3RlYWQsIGV4cHJlc3Npb25zIGNhbiB1c2UgdGhlIHNlbGYgb2JqZWN0LCB3aGljaCByZXByZXNlbnRzIHRoZSBjb25uZWN0aW9uJ3MgcGFyZW50IHJlc291cmNlIGFuZCBoYXMgYWxsIG9mIHRoYXQgcmVzb3VyY2UncyBhdHRyaWJ1dGVzLlxuICogRm9yIGV4YW1wbGUsIHVzZSBzZWxmLnB1YmxpY19pcCB0byByZWZlcmVuY2UgYW4gYXdzX2luc3RhbmNlJ3MgcHVibGljX2lwIGF0dHJpYnV0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybVNlbGYge1xuICBwcml2YXRlIHN0YXRpYyBnZXRJbnRlcnBvbGF0aW9uKGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBzZWxmLiR7a2V5XG4gICAgICAuc3BsaXQoXCIuXCIpXG4gICAgICAubWFwKChzKSA9PiBzbmFrZUNhc2UocykpXG4gICAgICAuam9pbihcIi5cIil9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmx5IHVzYWJsZSB3aXRoaW4gYSBjb25uZWN0aW9uIGJsb2NrIHRvIHJlZmVyZW5jZSB0aGUgY29ubmVjdGlvbnMgcGFyZW50IHJlc291cmNlLlxuICAgKiBBY2Nlc3MgYSBwcm9wZXJ0eSBvbiB0aGUgcmVzb3VyY2UgbGlrZSB0aGlzOiBgZ2V0U3RyaW5nKFwicHVibGljSXBcIilgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFN0cmluZyhrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJlZihUZXJyYWZvcm1TZWxmLmdldEludGVycG9sYXRpb24oa2V5KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ubHkgdXNhYmxlIHdpdGhpbiBhIGNvbm5lY3Rpb24gYmxvY2sgdG8gcmVmZXJlbmNlIHRoZSBjb25uZWN0aW9ucyBwYXJlbnQgcmVzb3VyY2UuXG4gICAqIEFjY2VzcyBhIHByb3BlcnR5IG9uIHRoZSByZXNvdXJjZSBsaWtlIHRoaXM6IGBnZXROdW1iZXIoXCJob3N0UG9ydFwiKWBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TnVtYmVyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIocmVmKFRlcnJhZm9ybVNlbGYuZ2V0SW50ZXJwb2xhdGlvbihrZXkpKSk7XG4gIH1cblxuICAvKipcbiAgICogT25seSB1c2FibGUgd2l0aGluIGEgY29ubmVjdGlvbiBibG9jayB0byByZWZlcmVuY2UgdGhlIGNvbm5lY3Rpb25zIHBhcmVudCByZXNvdXJjZS5cbiAgICogQWNjZXNzIGEgcHJvcGVydHkgb24gdGhlIHJlc291cmNlIGxpa2UgdGhpczogYGdldEFueShcImhvc3RQb3J0XCIpYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBbnkoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShyZWYoVGVycmFmb3JtU2VsZi5nZXRJbnRlcnBvbGF0aW9uKGtleSkpKTtcbiAgfVxufVxuIl19
@@ -85,6 +85,6 @@ class TerraformRemoteState extends terraform_element_1.TerraformElement {
85
85
  }
86
86
  exports.TerraformRemoteState = TerraformRemoteState;
87
87
  _a = JSII_RTTI_SYMBOL_1;
88
- TerraformRemoteState[_a] = { fqn: "cdktn.TerraformRemoteState", version: "0.22.0" };
88
+ TerraformRemoteState[_a] = { fqn: "cdktn.TerraformRemoteState", version: "0.22.1" };
89
89
  TerraformRemoteState.tfResourceType = "terraform_remote_state";
90
90
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXJlbW90ZS1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1yZW1vdGUtc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSwyREFBdUQ7QUFDdkQscUNBQWlDO0FBQ2pDLGlDQUFvRDtBQUNwRCxpREFBcUM7QUFTckMsK0NBQStDO0FBQy9DLE1BQXNCLG9CQUNwQixTQUFRLG9DQUFnQjtJQUt4QixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDTyxPQUFlLEVBQ2YsTUFBc0M7UUFFdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUgvQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBZ0M7SUFHekQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBYztRQUMzQixPQUFPLGNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYztRQUN2QixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8seUJBQXlCLENBQUMsa0JBQTBCO1FBQzFELE9BQU8sSUFBQSxrQkFBRyxFQUNSLCtCQUErQixJQUFJLENBQUMsZ0JBQWdCLFlBQVksa0JBQWtCLEVBQUUsRUFDcEYsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sU0FBUyxHQUFHLElBQUEsc0JBQWUsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQzNCLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUMxQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE9BQU87WUFDTCxJQUFJLEVBQUU7Z0JBQ0osc0JBQXNCLEVBQUU7b0JBQ3RCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNoQzt3QkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7d0JBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7d0JBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO3FCQUM3QixFQUNELElBQUksQ0FBQyxZQUFZLENBQ2xCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNoQixPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLHNCQUFzQixFQUFFO29CQUN0QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEM7d0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3dCQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTO3dCQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUM5QixNQUFNLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtxQkFDN0IsRUFDRCxJQUFJLENBQUMsWUFBWSxDQUNsQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFDTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1Qsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3ZEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBcEdILG9EQXFHQzs7O0FBakd3QixtQ0FBYyxHQUFHLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UsIGtleXNUb1NuYWtlQ2FzZSB9IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnMvcmVzb2x2YWJsZVwiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybUFkZHJlc3NhYmxlIH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRlcnJhZm9ybVJlbW90ZVN0YXRlQ29uZmlnIHtcbiAgcmVhZG9ubHkgd29ya3NwYWNlPzogc3RyaW5nO1xuICByZWFkb25seSBkZWZhdWx0cz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVycmFmb3JtUmVtb3RlU3RhdGVcbiAgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50XG4gIGltcGxlbWVudHMgSVRlcnJhZm9ybUFkZHJlc3NhYmxlXG57XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcInRlcnJhZm9ybV9yZW1vdGVfc3RhdGVcIjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBiYWNrZW5kOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IERhdGFUZXJyYWZvcm1SZW1vdGVTdGF0ZUNvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcImRhdGEudGVycmFmb3JtX3JlbW90ZV9zdGF0ZVwiKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmcob3V0cHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUob3V0cHV0KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyKG91dHB1dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKG91dHB1dCkpO1xuICB9XG5cbiAgcHVibGljIGdldExpc3Qob3V0cHV0OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUob3V0cHV0KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbihvdXRwdXQ6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKG91dHB1dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KG91dHB1dDogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUob3V0cHV0KTtcbiAgfVxuXG4gIHByaXZhdGUgaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYGRhdGEudGVycmFmb3JtX3JlbW90ZV9zdGF0ZS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH0ub3V0cHV0cy4ke3RlcnJhZm9ybUF0dHJpYnV0ZX1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RDb25maWcoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGNvbmZpZ09iaiA9IGtleXNUb1NuYWtlQ2FzZSh7IC4uLnRoaXMuY29uZmlnIH0pO1xuICAgIGRlbGV0ZSBjb25maWdPYmoud29ya3NwYWNlO1xuICAgIGRlbGV0ZSBjb25maWdPYmouZGVmYXVsdHM7XG4gICAgcmV0dXJuIGNvbmZpZ09iajtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b0hjbFRlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRlcnJhZm9ybV9yZW1vdGVfc3RhdGU6IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBiYWNrZW5kOiB0aGlzLmJhY2tlbmQsXG4gICAgICAgICAgICAgIHdvcmtzcGFjZTogdGhpcy5jb25maWcud29ya3NwYWNlLFxuICAgICAgICAgICAgICBkZWZhdWx0czogdGhpcy5jb25maWcuZGVmYXVsdHMsXG4gICAgICAgICAgICAgIGNvbmZpZzogdGhpcy5leHRyYWN0Q29uZmlnKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRlcnJhZm9ybV9yZW1vdGVfc3RhdGU6IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBiYWNrZW5kOiB0aGlzLmJhY2tlbmQsXG4gICAgICAgICAgICAgIHdvcmtzcGFjZTogdGhpcy5jb25maWcud29ya3NwYWNlLFxuICAgICAgICAgICAgICBkZWZhdWx0czogdGhpcy5jb25maWcuZGVmYXVsdHMsXG4gICAgICAgICAgICAgIGNvbmZpZzogdGhpcy5leHRyYWN0Q29uZmlnKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgdGVycmFmb3JtX3JlbW90ZV9zdGF0ZTogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -34,5 +34,5 @@ class TerraformResourceTargets {
34
34
  }
35
35
  exports.TerraformResourceTargets = TerraformResourceTargets;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- TerraformResourceTargets[_a] = { fqn: "cdktn.TerraformResourceTargets", version: "0.22.0" };
37
+ TerraformResourceTargets[_a] = { fqn: "cdktn.TerraformResourceTargets", version: "0.22.1" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXJlc291cmNlLXRhcmdldHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXJyYWZvcm0tcmVzb3VyY2UtdGFyZ2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7R0FHRztBQUVILHFDQUFrRTtBQUdsRTs7R0FFRztBQUNILE1BQWEsd0JBQXdCO0lBQXJDO1FBQ1UsdUJBQWtCLEdBQW1DLElBQUksR0FBRyxFQUdqRSxDQUFDO0tBMEJMO0lBeEJTLGtCQUFrQjtRQUN4QixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ2xELENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsRUFDekUsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBMkIsRUFBRSxNQUFjO1FBQ2xFLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBQSw2QkFBb0IsRUFDeEIsTUFBTSxFQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQ3RELENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUEseUJBQWdCLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O0FBN0JILDREQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0IHsgbW92ZVRhcmdldEFscmVhZHlTZXQsIG1vdmVUYXJnZXROb3RTZXQgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlXCI7XG5cbi8qKlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybVJlc291cmNlVGFyZ2V0cyB7XG4gIHByaXZhdGUgX3Jlc291cmNlVGFyZ2V0TWFwOiBNYXA8c3RyaW5nLCBUZXJyYWZvcm1SZXNvdXJjZT4gPSBuZXcgTWFwPFxuICAgIHN0cmluZyxcbiAgICBUZXJyYWZvcm1SZXNvdXJjZVxuICA+KCk7XG5cbiAgcHJpdmF0ZSBwcmV0dHlQcmludEVudHJpZXMoKSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9yZXNvdXJjZVRhcmdldE1hcC5lbnRyaWVzKCldLnJlZHVjZShcbiAgICAgIChhY2N1bSwgY3VycikgPT4gYWNjdW0gKyBcIlxcblwiICsgYCR7Y3VyclswXX06ICR7Y3VyclsxXS5mcmllbmRseVVuaXF1ZUlkfWAsXG4gICAgICBcIlwiLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkUmVzb3VyY2VUYXJnZXQocmVzb3VyY2U6IFRlcnJhZm9ybVJlc291cmNlLCB0YXJnZXQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZXNvdXJjZVRhcmdldE1hcC5oYXModGFyZ2V0KSkge1xuICAgICAgdGhyb3cgbW92ZVRhcmdldEFscmVhZHlTZXQoXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGhpcy5fcmVzb3VyY2VUYXJnZXRNYXAuZ2V0KHRhcmdldCk/LmZyaWVuZGx5VW5pcXVlSWQsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9yZXNvdXJjZVRhcmdldE1hcC5zZXQodGFyZ2V0LCByZXNvdXJjZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVzb3VyY2VCeVRhcmdldCh0YXJnZXQ6IHN0cmluZyk6IFRlcnJhZm9ybVJlc291cmNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9yZXNvdXJjZVRhcmdldE1hcC5nZXQodGFyZ2V0KTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbW92ZVRhcmdldE5vdFNldCh0YXJnZXQsIHRoaXMucHJldHR5UHJpbnRFbnRyaWVzKCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -335,5 +335,5 @@ class TerraformResource extends terraform_element_1.TerraformElement {
335
335
  }
336
336
  exports.TerraformResource = TerraformResource;
337
337
  _a = JSII_RTTI_SYMBOL_1;
338
- TerraformResource[_a] = { fqn: "cdktn.TerraformResource", version: "0.22.0" };
338
+ TerraformResource[_a] = { fqn: "cdktn.TerraformResource", version: "0.22.1" };
339
339
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFxRUEsb0RBcUJDOztBQXZGRCxxQ0FBaUM7QUFDakMsMkRBQXVEO0FBRXZELGlDQUtnQjtBQUVoQixpREFBaUQ7QUFLakQsdURBQW1EO0FBS25ELGlFQUFpRTtBQUNqRSxpQ0FBa0M7QUFNbEMseUZBQW9GO0FBQ3BGLHVEQUFtRDtBQUNuRCxxQ0FLa0I7QUFFbEIsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUF5QnhFOzs7O0dBSUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FDbEMsU0FBc0M7SUFFdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLFNBQVM7UUFDWixHQUFHLENBQUMsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU07WUFDdkMsQ0FBQyxDQUFDO2dCQUNFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDM0QsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQzt3QkFDMUIsT0FBTyxDQUFDLENBQUM7b0JBQ1gsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQztvQkFDZixDQUFDO2dCQUNILENBQUMsQ0FBQzthQUNIO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQztLQUNmLENBQUM7QUFDSixDQUFDO0FBd0NELCtDQUErQztBQUMvQyxNQUFhLGlCQUNYLFNBQVEsb0NBQWdCO0lBc0J4QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1B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Q2hCLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDNUQsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDO0lBQ0osQ0FBQzs7QUFwWkgsOENBcVpDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHtcbiAga2V5c1RvU25ha2VDYXNlLFxuICBkZWVwTWVyZ2UsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyByZWYsIGRlcGVuZGFibGUgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlIH0gZnJvbSBcIi4vdG9rZW5zL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IElJbnRlcnBvbGF0aW5nUGFyZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IFByZWNvbmRpdGlvbiwgUG9zdGNvbmRpdGlvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Db3VudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb3VudFwiO1xuaW1wb3J0IHtcbiAgU1NIUHJvdmlzaW9uZXJDb25uZWN0aW9uLFxuICBXaW5ybVByb3Zpc2lvbmVyQ29ubmVjdGlvbixcbn0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3Zpc2lvbmVyXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IGFzc2VydCA9IHJlcXVpcmUoXCJhc3NlcnRcIik7XG5pbXBvcnQge1xuICBGaWxlUHJvdmlzaW9uZXIsXG4gIExvY2FsRXhlY1Byb3Zpc2lvbmVyLFxuICBSZW1vdGVFeGVjUHJvdmlzaW9uZXIsXG59IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aXNpb25lclwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb25cIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQge1xuICBtb3ZlZFRvUmVzb3VyY2VPZkRpZmZlcmVudFR5cGUsXG4gIHJlc291cmNlR2l2ZW5Ud29Nb3ZlT3BlcmF0aW9uc0J5SWQsXG4gIHJlc291cmNlR2l2ZW5Ud29Nb3ZlT3BlcmF0aW9uc0J5VGFyZ2V0LFxuICByZXNvdXJjZUdpdmVuVHdvTW92ZU9wZXJhdGlvbnNCeVRhcmdldEFuZElkLFxufSBmcm9tIFwiLi9lcnJvcnNcIjtcblxuY29uc3QgVEVSUkFGT1JNX1JFU09VUkNFX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1SZXNvdXJjZVwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGVycmFmb3JtUmVzb3VyY2Uge1xuICByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgZnFuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZyaWVuZGx5VW5pcXVlSWQ6IHN0cmluZztcblxuICBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcHJvdmlkZXI/OiBUZXJyYWZvcm1Qcm92aWRlcjtcbiAgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG5cbiAgaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZyk6IElSZXNvbHZhYmxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlIHtcbiAgcmVhZG9ubHkgY3JlYXRlQmVmb3JlRGVzdHJveT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHByZXZlbnREZXN0cm95PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdIHwgXCJhbGxcIjtcbiAgcmVhZG9ubHkgcmVwbGFjZVRyaWdnZXJlZEJ5PzogQXJyYXk8SVRlcnJhZm9ybURlcGVuZGFibGUgfCBzdHJpbmc+O1xuICByZWFkb25seSBwcmVjb25kaXRpb24/OiBQcmVjb25kaXRpb25bXTtcbiAgcmVhZG9ubHkgcG9zdGNvbmRpdGlvbj86IFBvc3Rjb25kaXRpb25bXTtcbn1cblxuLyoqXG4gKiBwcmVwYXJlcyBhIGxpZmVjeWNsZSBvYmplY3QgZm9yIGJlaW5nIHJlbmRlcmVkIGFzIEpTT05cbiAqIGN1cnJlbnRseSB0aGlzIGZ1bmN0aW9uOlxuICogIC0gY29udmVydHMgYWxsIHJlcGxhY2VUcmlnZ2VyZWRCeSBpdGVtcyB0aGF0IGFyZSBJVGVycmFmb3JtRGVwZW5kYWJsZXMgdG8gc3RyaW5nc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbGlmZWN5Y2xlVG9UZXJyYWZvcm0oXG4gIGxpZmVjeWNsZT86IFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLFxuKTogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGUgfCB1bmRlZmluZWQge1xuICBpZiAoIWxpZmVjeWNsZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLmxpZmVjeWNsZSxcbiAgICAuLi4obGlmZWN5Y2xlPy5yZXBsYWNlVHJpZ2dlcmVkQnk/Lmxlbmd0aFxuICAgICAgPyB7XG4gICAgICAgICAgcmVwbGFjZVRyaWdnZXJlZEJ5OiBsaWZlY3ljbGU/LnJlcGxhY2VUcmlnZ2VyZWRCeT8ubWFwKCh4KSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4geC5mcW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkKSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogSVRlcnJhZm9ybURlcGVuZGFibGVbXTtcbiAgcmVhZG9ubHkgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcmVhZG9ubHkgcHJvdmlkZXI/OiBUZXJyYWZvcm1Qcm92aWRlcjtcbiAgcmVhZG9ubHkgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIHJlYWRvbmx5IGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHJlYWRvbmx5IHByb3Zpc2lvbmVycz86IEFycmF5PFxuICAgIEZpbGVQcm92aXNpb25lciB8IExvY2FsRXhlY1Byb3Zpc2lvbmVyIHwgUmVtb3RlRXhlY1Byb3Zpc2lvbmVyXG4gID47XG4gIHJlYWRvbmx5IGNvbm5lY3Rpb24/OiBTU0hQcm92aXNpb25lckNvbm5lY3Rpb24gfCBXaW5ybVByb3Zpc2lvbmVyQ29ubmVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhIHtcbiAgcmVhZG9ubHkgcHJvdmlkZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByb3ZpZGVyVmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZyBleHRlbmRzIFRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE/OiBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVJlc291cmNlTW92ZUJ5VGFyZ2V0IHtcbiAgcmVhZG9ubHkgbW92ZVRhcmdldDogc3RyaW5nO1xuICByZWFkb25seSBpbmRleD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1SZXNvdXJjZU1vdmVCeUlkIHtcbiAgcmVhZG9ubHkgdG86IHN0cmluZztcbiAgcmVhZG9ubHkgZnJvbTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybVJlc291cmNlSW1wb3J0IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvdmlkZXI/OiBUZXJyYWZvcm1Qcm92aWRlcjtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1SZXNvdXJjZVxuICBleHRlbmRzIFRlcnJhZm9ybUVsZW1lbnRcbiAgaW1wbGVtZW50cyBJVGVycmFmb3JtUmVzb3VyY2UsIElUZXJyYWZvcm1EZXBlbmRhYmxlLCBJSW50ZXJwb2xhdGluZ1BhcmVudFxue1xuICBwdWJsaWMgcmVhZG9ubHkgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1HZW5lcmF0b3JNZXRhZGF0YT86IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yTWV0YWRhdGE7XG5cbiAgLy8gVGVycmFmb3JtTWV0YUFyZ3VtZW50c1xuXG4gIHB1YmxpYyBkZXBlbmRzT24/OiBzdHJpbmdbXTtcbiAgcHVibGljIGNvdW50PzogbnVtYmVyIHwgVGVycmFmb3JtQ291bnQ7XG4gIHB1YmxpYyBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICBwdWJsaWMgbGlmZWN5Y2xlPzogVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGU7XG4gIHB1YmxpYyBmb3JFYWNoPzogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgY29ubmVjdGlvbj86IFNTSFByb3Zpc2lvbmVyQ29ubmVjdGlvbiB8IFdpbnJtUHJvdmlzaW9uZXJDb25uZWN0aW9uO1xuICBwdWJsaWMgcHJvdmlzaW9uZXJzPzogQXJyYXk8XG4gICAgRmlsZVByb3Zpc2lvbmVyIHwgTG9jYWxFeGVjUHJvdmlzaW9uZXIgfCBSZW1vdGVFeGVjUHJvdmlzaW9uZXJcbiAgPjtcbiAgcHJpdmF0ZSBfaW1wb3J0ZWQ/OiBUZXJyYWZvcm1SZXNvdXJjZUltcG9ydDtcbiAgcHJpdmF0ZSBfbW92ZWRCeVRhcmdldD86IFRlcnJhZm9ybVJlc291cmNlTW92ZUJ5VGFyZ2V0O1xuICBwcml2YXRlIF9tb3ZlZEJ5SWQ/OiBUZXJyYWZvcm1SZXNvdXJjZU1vdmVCeUlkO1xuICBwcml2YXRlIF9oYXNNb3ZlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogVGVycmFmb3JtUmVzb3VyY2VDb25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIGNvbmZpZy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fUkVTT1VSQ0VfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlO1xuICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEgPSBjb25maWcudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gY29uZmlnLmRlcGVuZHNPbi5tYXAoKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIGRlcGVuZGFibGUoZGVwZW5kZW5jeSksXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNvdW50ID0gY29uZmlnLmNvdW50O1xuICAgIHRoaXMucHJvdmlkZXIgPSBjb25maWcucHJvdmlkZXI7XG4gICAgdGhpcy5saWZlY3ljbGUgPSBjb25maWcubGlmZWN5Y2xlO1xuICAgIHRoaXMuZm9yRWFjaCA9IGNvbmZpZy5mb3JFYWNoO1xuICAgIHRoaXMucHJvdmlzaW9uZXJzID0gY29uZmlnLnByb3Zpc2lvbmVycztcbiAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25maWcuY29ubmVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1SZXNvdXJjZSh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybVJlc291cmNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBURVJSQUZPUk1fUkVTT1VSQ0VfU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc291cmNlTW92ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbW92ZWRCeUlkIHx8IHRoaXMuX21vdmVkQnlUYXJnZXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXIodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldExpc3RBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRCb29sZWFuQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlckxpc3RBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJMaXN0KFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJpbmdNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldE51bWJlck1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlck1hcChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbk1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0Jvb2xlYW5NYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFueU1hcEF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc0FueU1hcCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlcnJhZm9ybU1ldGFBcmd1bWVudHMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGFzc2VydChcbiAgICAgICF0aGlzLmZvckVhY2ggfHwgdHlwZW9mIHRoaXMuY291bnQgPT09IFwidW5kZWZpbmVkXCIsXG4gICAgICBgZm9yRWFjaCBhbmQgY291bnQgYXJlIGJvdGggc2V0LCBidXQgdGhleSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBZb3UgY2FuIG9ubHkgdXNlIGVpdGhlciBvZiB0aGVtLiBDaGVjayB0aGUgcmVzb3VyY2UgYXQgcGF0aDogJHt0aGlzLm5vZGUucGF0aH1gLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBUZXJyYWZvcm1Db3VudC5pc1RlcnJhZm9ybUNvdW50KHRoaXMuY291bnQpXG4gICAgICAgID8gdGhpcy5jb3VudC50b1RlcnJhZm9ybSgpXG4gICAgICAgIDogdGhpcy5jb3VudCxcbiAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyPy5mcW4sXG4gICAgICBsaWZlY3ljbGU6IGxpZmVjeWNsZVRvVGVycmFmb3JtKHRoaXMubGlmZWN5Y2xlKSxcbiAgICAgIGZvckVhY2g6IHRoaXMuZm9yRWFjaD8uX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICBjb25uZWN0aW9uOiB0aGlzLmNvbm5lY3Rpb24sXG4gICAgfTtcbiAgfVxuXG4gIC8vIGpzaWkgY2FuJ3QgaGFuZGxlIGFic3RyYWN0IGNsYXNzZXM/XG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyh0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB7XG4gICAgICAgIHByb3Zpc2lvbmVyOiB0aGlzLnByb3Zpc2lvbmVycz8ubWFwKCh7IHR5cGUsIC4uLnByb3BzIH0pID0+ICh7XG4gICAgICAgICAgW3R5cGVdOiBrZXlzVG9TbmFrZUNhc2UocHJvcHMpLFxuICAgICAgICB9KSksXG4gICAgICB9LFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHtcbiAgICAgIC4uLihhdHRyaWJ1dGVzW1wiLy9cIl0gPz8ge30pLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGEsXG4gICAgfTtcblxuICAgIGNvbnN0IG1vdmVkQmxvY2sgPSB0aGlzLl9idWlsZE1vdmVkQmxvY2soKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzb3VyY2U6IHRoaXMuX2hhc01vdmVkXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDoge1xuICAgICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgIG1vdmVkOiBtb3ZlZEJsb2NrXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0bzogbW92ZWRCbG9jay50byxcbiAgICAgICAgICAgICAgZnJvbTogbW92ZWRCbG9jay5mcm9tLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaW1wb3J0OiB0aGlzLl9pbXBvcnRlZFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMuX2ltcG9ydGVkLnByb3ZpZGVyPy5mcW4sXG4gICAgICAgICAgICAgIGlkOiB0aGlzLl9pbXBvcnRlZC5pZCxcbiAgICAgICAgICAgICAgdG86IGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsKHRoaXMuc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKSksXG4gICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy50ZXJyYWZvcm1NZXRhQXJndW1lbnRzKSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlzaW9uZXI6IHRoaXMucHJvdmlzaW9uZXJzPy5tYXAoKHsgdHlwZSwgLi4ucHJvcHMgfSkgPT4gKHtcbiAgICAgICAgICBbdHlwZV06IHtcbiAgICAgICAgICAgIGlzQmxvY2s6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiBcImxpc3RcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwib2JqZWN0XCIsXG4gICAgICAgICAgICB2YWx1ZToga2V5c1RvU25ha2VDYXNlKHByb3BzKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSksXG4gICAgICB9LFxuICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgKTtcblxuICAgIGF0dHJpYnV0ZXNbXCIvL1wiXSA9IHtcbiAgICAgIC4uLihhdHRyaWJ1dGVzW1wiLy9cIl0gPz8ge30pLFxuICAgICAgLi4udGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGEsXG4gICAgfTtcblxuICAgIGNvbnN0IG1vdmVkQmxvY2sgPSB0aGlzLl9idWlsZE1vdmVkQmxvY2soKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzb3VyY2U6IHRoaXMuX2hhc01vdmVkXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDoge1xuICAgICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXToge1xuICAgICAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgIG1vdmVkOiBtb3ZlZEJsb2NrXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBtb3ZlZEJsb2NrLnRvLFxuICAgICAgICAgICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgICAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJyZWZlcmVuY2VcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBtb3ZlZEJsb2NrLmZyb20sXG4gICAgICAgICAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaW1wb3J0OiB0aGlzLl9pbXBvcnRlZFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdG86IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl9pbXBvcnRlZC5pZCxcbiAgICAgICAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLl9pbXBvcnRlZC5wcm92aWRlclxuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5faW1wb3J0ZWQucHJvdmlkZXIuZnFuLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGhcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBPYmplY3Qua2V5cyh0aGlzLnJhd092ZXJyaWRlcyksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGltcG9ydHM6IHRoaXMuX2ltcG9ydGVkXG4gICAgICAgID8ge1xuICAgICAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG1vdmVkOlxuICAgICAgICB0aGlzLl9tb3ZlZEJ5VGFyZ2V0IHx8IHRoaXMuX21vdmVkQnlJZFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfSR7XG4gICAgICAgIHRoaXMuZm9yRWFjaCA/IFwiLipcIiA6IFwiXCJcbiAgICAgIH0uJHt0ZXJyYWZvcm1BdHRyaWJ1dGV9YCxcbiAgICAgIHRoaXMuY2RrdGZTdGFjayxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGltcG9ydEZyb20oaWQ6IHN0cmluZywgcHJvdmlkZXI/OiBUZXJyYWZvcm1Qcm92aWRlcikge1xuICAgIHRoaXMuX2ltcG9ydGVkID0geyBpZCwgcHJvdmlkZXIgfTtcbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbihcbiAgICAgIG5ldyBWYWxpZGF0ZVRlcnJhZm9ybVZlcnNpb24oXG4gICAgICAgIFwiPj0xLjVcIixcbiAgICAgICAgYEltcG9ydCBibG9ja3MgYXJlIG9ubHkgc3VwcG9ydGVkIGZvciBUZXJyYWZvcm0gPj0xLjUuIFBsZWFzZSB1cGdyYWRlIHlvdXIgVGVycmFmb3JtIHZlcnNpb24uYCxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFJlc291cmNlVGFyZ2V0KG1vdmVUYXJnZXQ6IHN0cmluZykge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKS5tb3ZlVGFyZ2V0cy5nZXRSZXNvdXJjZUJ5VGFyZ2V0KG1vdmVUYXJnZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkUmVzb3VyY2VUYXJnZXQobW92ZVRhcmdldDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRlcnJhZm9ybVN0YWNrLm9mKHRoaXMpLm1vdmVUYXJnZXRzLmFkZFJlc291cmNlVGFyZ2V0KFxuICAgICAgdGhpcyxcbiAgICAgIG1vdmVUYXJnZXQsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2J1aWxkTW92ZWRCbG9ja0J5VGFyZ2V0KFxuICAgIG1vdmVkVGFyZ2V0OiBUZXJyYWZvcm1SZXNvdXJjZU1vdmVCeVRhcmdldCxcbiAgKTogeyB0bzogc3RyaW5nOyBmcm9tOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgeyBtb3ZlVGFyZ2V0LCBpbmRleCB9ID0gbW92ZWRUYXJnZXQ7XG4gICAgY29uc3QgcmVzb3VyY2VUb01vdmVUbyA9IHRoaXMuX2dldFJlc291cmNlVGFyZ2V0KG1vdmVUYXJnZXQpO1xuICAgIGlmICh0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZSAhPT0gcmVzb3VyY2VUb01vdmVUby50ZXJyYWZvcm1SZXNvdXJjZVR5cGUpIHtcbiAgICAgIHRocm93IG1vdmVkVG9SZXNvdXJjZU9mRGlmZmVyZW50VHlwZShcbiAgICAgICAgbW92ZVRhcmdldCxcbiAgICAgICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUsXG4gICAgICAgIHJlc291cmNlVG9Nb3ZlVG8udGVycmFmb3JtUmVzb3VyY2VUeXBlLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgdG8gPSBpbmRleFxuICAgICAgPyB0eXBlb2YgaW5kZXggPT09IFwic3RyaW5nXCJcbiAgICAgICAgPyBgJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHtyZXNvdXJjZVRvTW92ZVRvLmZyaWVuZGx5VW5pcXVlSWR9W1wiJHtpbmRleH1cIl1gXG4gICAgICAgIDogYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7cmVzb3VyY2VUb01vdmVUby5mcmllbmRseVVuaXF1ZUlkfVske2luZGV4fV1gXG4gICAgICA6IGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3Jlc291cmNlVG9Nb3ZlVG8uZnJpZW5kbHlVbmlxdWVJZH1gO1xuICAgIGNvbnN0IGZyb20gPSBgJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YDtcbiAgICByZXR1cm4geyB0bywgZnJvbSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRNb3ZlZEJsb2NrKCk6IHsgdG86IHN0cmluZzsgZnJvbTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9tb3ZlZEJ5VGFyZ2V0ICYmIHRoaXMuX21vdmVkQnlJZCkge1xuICAgICAgdGhyb3cgcmVzb3VyY2VHaXZlblR3b01vdmVPcGVyYXRpb25zQnlUYXJnZXRBbmRJZChcbiAgICAgICAgdGhpcy5ub2RlLmlkLFxuICAgICAgICB0aGlzLl9tb3ZlZEJ5VGFyZ2V0Lm1vdmVUYXJnZXQsXG4gICAgICAgIHsgdG86IHRoaXMuX21vdmVkQnlJZC50bywgZnJvbTogdGhpcy5fbW92ZWRCeUlkLmZyb20gfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9tb3ZlZEJ5VGFyZ2V0KSB7XG4gICAgICBjb25zdCBtb3ZlZEJsb2NrQnlUYXJnZXQgPSB0aGlzLl9idWlsZE1vdmVkQmxvY2tCeVRhcmdldChcbiAgICAgICAgdGhpcy5fbW92ZWRCeVRhcmdldCxcbiAgICAgICk7XG4gICAgICByZXR1cm4geyB0bzogbW92ZWRCbG9ja0J5VGFyZ2V0LnRvLCBmcm9tOiBtb3ZlZEJsb2NrQnlUYXJnZXQuZnJvbSB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5fbW92ZWRCeUlkKSB7XG4gICAgICByZXR1cm4geyB0bzogdGhpcy5fbW92ZWRCeUlkLnRvLCBmcm9tOiB0aGlzLl9tb3ZlZEJ5SWQuZnJvbSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGlzIHJlc291cmNlIHRvIHRoZSB0YXJnZXQgcmVzb3VyY2UgZ2l2ZW4gYnkgbW92ZVRhcmdldC5cbiAgICogQHBhcmFtIG1vdmVUYXJnZXQgVGhlIHByZXZpb3VzbHkgc2V0IHVzZXIgZGVmaW5lZCBzdHJpbmcgc2V0IGJ5IC5hZGRNb3ZlVGFyZ2V0KCkgY29ycmVzcG9uZGluZyB0byB0aGUgcmVzb3VyY2UgdG8gbW92ZSB0by5cbiAgICogQHBhcmFtIGluZGV4IE9wdGlvbmFsIFRoZSBpbmRleCBjb3JyZXNwb25kaW5nIHRvIHRoZSBrZXkgdGhlIHJlc291cmNlIGlzIHRvIGFwcGVhciBpbiB0aGUgZm9yZWFjaCBvZiBhIHJlc291cmNlIHRvIG1vdmUgdG9cbiAgICovXG4gIHB1YmxpYyBtb3ZlVG8obW92ZVRhcmdldDogc3RyaW5nLCBpbmRleD86IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9tb3ZlZEJ5VGFyZ2V0KSB7XG4gICAgICB0aHJvdyByZXNvdXJjZUdpdmVuVHdvTW92ZU9wZXJhdGlvbnNCeVRhcmdldChcbiAgICAgICAgdGhpcy5mcmllbmRseVVuaXF1ZUlkLFxuICAgICAgICB0aGlzLl9tb3ZlZEJ5VGFyZ2V0Lm1vdmVUYXJnZXQsXG4gICAgICAgIG1vdmVUYXJnZXQsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLl9tb3ZlZEJ5VGFyZ2V0ID0geyBtb3ZlVGFyZ2V0LCBpbmRleCB9O1xuICAgIHRoaXMuX2hhc01vdmVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdXNlciBkZWZpbmVkIG1vdmVUYXJnZXQgc3RyaW5nIHRvIHRoaXMgcmVzb3VyY2UgdG8gYmUgbGF0ZXIgdXNlZCBpbiAubW92ZVRvKG1vdmVUYXJnZXQpIHRvIHJlc29sdmUgdGhlIGxvY2F0aW9uIG9mIHRoZSBtb3ZlLlxuICAgKiBAcGFyYW0gbW92ZVRhcmdldCBUaGUgc3RyaW5nIG1vdmUgdGFyZ2V0IHRoYXQgd2lsbCBjb3JyZXNwb25kIHRvIHRoaXMgcmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBhZGRNb3ZlVGFyZ2V0KG1vdmVUYXJnZXQ6IHN0cmluZykge1xuICAgIHRoaXMuX2FkZFJlc291cmNlVGFyZ2V0KG1vdmVUYXJnZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHJlc291cmNlIGNvcnJlc3BvbmRpbmcgdG8gXCJpZFwiXG4gICAqIEBwYXJhbSBpZCBGdWxsIGlkIG9mIHJlc291cmNlIHRvIG1vdmUgdG8sIGUuZy4gXCJhd3NfczNfYnVja2V0LmV4YW1wbGVcIlxuICAgKi9cbiAgcHVibGljIG1vdmVUb0lkKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fbW92ZWRCeUlkKSB7XG4gICAgICB0aHJvdyByZXNvdXJjZUdpdmVuVHdvTW92ZU9wZXJhdGlvbnNCeUlkKFxuICAgICAgICB0aGlzLm5vZGUuaWQsXG4gICAgICAgIHsgdG86IHRoaXMuX21vdmVkQnlJZC5mcm9tLCBmcm9tOiB0aGlzLl9tb3ZlZEJ5SWQudG8gfSxcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBpZCxcbiAgICAgICAgICBmcm9tOiBgJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5fbW92ZWRCeUlkID0ge1xuICAgICAgdG86IGlkLFxuICAgICAgZnJvbTogYCR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsXG4gICAgfTtcbiAgICB0aGlzLl9oYXNNb3ZlZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogTW92ZSB0aGUgcmVzb3VyY2UgY29ycmVzcG9uZGluZyB0byBcImlkXCIgdG8gdGhpcyByZXNvdXJjZS4gTm90ZSB0aGF0IHRoZSByZXNvdXJjZSBiZWluZyBtb3ZlZCBmcm9tIG11c3QgYmUgbWFya2VkIGFzIG1vdmVkIHVzaW5nIGl0J3MgaW5zdGFuY2UgZnVuY3Rpb24uXG4gICAqIEBwYXJhbSBpZCBGdWxsIGlkIG9mIHJlc291cmNlIGJlaW5nIG1vdmVkIGZyb20sIGUuZy4gXCJhd3NfczNfYnVja2V0LmV4YW1wbGVcIlxuICAgKi9cbiAgcHVibGljIG1vdmVGcm9tSWQoaWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9tb3ZlZEJ5SWQpIHtcbiAgICAgIHRocm93IHJlc291cmNlR2l2ZW5Ud29Nb3ZlT3BlcmF0aW9uc0J5SWQoXG4gICAgICAgIHRoaXMubm9kZS5pZCxcbiAgICAgICAgeyB0bzogdGhpcy5fbW92ZWRCeUlkLmZyb20sIGZyb206IHRoaXMuX21vdmVkQnlJZC50byB9LFxuICAgICAgICB7XG4gICAgICAgICAgdG86IGlkLFxuICAgICAgICAgIGZyb206IGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5fbW92ZWRCeUlkID0ge1xuICAgICAgdG86IGAke3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLFxuICAgICAgZnJvbTogaWQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -342,7 +342,7 @@ class TerraformStack extends constructs_1.Construct {
342
342
  }
343
343
  exports.TerraformStack = TerraformStack;
344
344
  _a = JSII_RTTI_SYMBOL_1;
345
- TerraformStack[_a] = { fqn: "cdktn.TerraformStack", version: "0.22.0" };
345
+ TerraformStack[_a] = { fqn: "cdktn.TerraformStack", version: "0.22.1" };
346
346
  // eslint-disable-next-line jsdoc/require-jsdoc
347
347
  function terraformElements(node, into = []) {
348
348
  if (terraform_element_1.TerraformElement.isTerraformElement(node)) {
@@ -29,7 +29,7 @@ class VariableType {
29
29
  }
30
30
  exports.VariableType = VariableType;
31
31
  _a = JSII_RTTI_SYMBOL_1;
32
- VariableType[_a] = { fqn: "cdktn.VariableType", version: "0.22.0" };
32
+ VariableType[_a] = { fqn: "cdktn.VariableType", version: "0.22.1" };
33
33
  VariableType.STRING = "string";
34
34
  VariableType.NUMBER = "number";
35
35
  VariableType.BOOL = "bool";
@@ -157,5 +157,5 @@ class TerraformVariable extends terraform_element_1.TerraformElement {
157
157
  }
158
158
  exports.TerraformVariable = TerraformVariable;
159
159
  _b = JSII_RTTI_SYMBOL_1;
160
- TerraformVariable[_b] = { fqn: "cdktn.TerraformVariable", version: "0.22.0" };
160
+ TerraformVariable[_b] = { fqn: "cdktn.TerraformVariable", version: "0.22.1" };
161
161
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLXZhcmlhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtLXZhcmlhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsMkRBQXVEO0FBQ3ZELGlDQUFvRDtBQUNwRCxxQ0FBaUM7QUFDakMsaURBQXFDO0FBS3JDLCtDQUErQztBQUMvQyxNQUFzQixZQUFZO0lBc0J6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQVk7UUFDN0IsT0FBTyxRQUFRLElBQUksR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDNUIsT0FBTyxPQUFPLElBQUksR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVk7UUFDNUIsT0FBTyxPQUFPLElBQUksR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBa0I7UUFDdkMsT0FBTyxTQUFTLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFxQztRQUN4RCxPQUFPLFdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNwQixDQUFDOztBQTFDSCxvQ0EyQ0M7OztBQTFDd0IsbUJBQU0sR0FBRyxRQUFRLENBQUM7QUFDbEIsbUJBQU0sR0FBRyxRQUFRLENBQUM7QUFDbEIsaUJBQUksR0FBRyxNQUFNLENBQUM7QUFDZCxnQkFBRyxHQUFHLEtBQUssQ0FBQztBQUVaLGlCQUFJLEdBQUcsTUFBTSxDQUFDO0FBQ2QsZ0JBQUcsR0FB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bkIsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBQSxzQkFBZSxFQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEVBQy9DLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDaEMsSUFBQSxzQkFBZSxFQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEVBQzVDLElBQUksQ0FBQyxZQUFZLENBQ2xCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDOztBQTdJSCw4Q0E4SUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsga2V5c1RvU25ha2VDYXNlLCBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSBcIi4vdGZFeHByZXNzaW9uXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSB9IGZyb20gXCIuL3Rva2Vucy9yZXNvbHZhYmxlXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtQWRkcmVzc2FibGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tYWRkcmVzc2FibGVcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVZhcmlhYmxlVmFsaWRhdGlvbkNvbmZpZyB9IGZyb20gXCIuL3RlcnJhZm9ybS1jb25kaXRpb25zXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmFyaWFibGVUeXBlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVFJJTkcgPSBcInN0cmluZ1wiO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5VTUJFUiA9IFwibnVtYmVyXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQk9PTCA9IFwiYm9vbFwiO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFOWSA9IFwiYW55XCI7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSVNUID0gXCJsaXN0XCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFQID0gXCJtYXBcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVQgPSBcInNldFwiO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElTVF9TVFJJTkcgPSBcImxpc3Qoc3RyaW5nKVwiO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExJU1RfTlVNQkVSID0gXCJsaXN0KG51bWJlcilcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMSVNUX0JPT0wgPSBcImxpc3QoYm9vbClcIjtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1BUF9TVFJJTkcgPSBcIm1hcChzdHJpbmcpXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTUFQX05VTUJFUiA9IFwibWFwKG51bWJlcilcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNQVBfQk9PTCA9IFwibWFwKGJvb2wpXCI7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVRfU1RSSU5HID0gXCJzZXQoc3RyaW5nKVwiO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFVF9OVU1CRVIgPSBcInNldChudW1iZXIpXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VUX0JPT0wgPSBcInNldChib29sKVwiO1xuXG4gIHB1YmxpYyBzdGF0aWMgbGlzdCh0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYGxpc3QoJHt0eXBlfSlgO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBtYXAodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBtYXAoJHt0eXBlfSlgO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXQodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGBzZXQoJHt0eXBlfSlgO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0dXBsZSguLi5lbGVtZW50czogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gYHR1cGxlKCR7ZWxlbWVudHMuam9pbihcIiwgXCIpfSlgO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBvYmplY3QoYXR0cmlidXRlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiBgb2JqZWN0KHske09iamVjdC5rZXlzKGF0dHJpYnV0ZXMpXG4gICAgICAubWFwKChrKSA9PiBrICsgXCI9XCIgKyBhdHRyaWJ1dGVzW2tdKVxuICAgICAgLmpvaW4oXCIsIFwiKX19KWA7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1WYXJpYWJsZUNvbmZpZyB7XG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBhbnk7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBhcmd1bWVudCBpbiBhIHZhcmlhYmxlIGJsb2NrIGFsbG93cyB5b3UgdG8gcmVzdHJpY3QgdGhlIHR5cGUgb2YgdmFsdWUgdGhhdCB3aWxsIGJlIGFjY2VwdGVkIGFzIHRoZSB2YWx1ZSBmb3IgYSB2YXJpYWJsZS4gSWYgbm8gdHlwZSBjb25zdHJhaW50IGlzIHNldCB0aGVuIGEgdmFsdWUgb2YgYW55IHR5cGUgaXMgYWNjZXB0ZWQuXG4gICAqXG4gICAqIFdoaWxlIHR5cGUgY29uc3RyYWludHMgYXJlIG9wdGlvbmFsLCB3ZSByZWNvbW1lbmQgc3BlY2lmeWluZyB0aGVtOyB0aGV5IHNlcnZlIGFzIGVhc3kgcmVtaW5kZXJzIGZvciB1c2VycyBvZiB0aGUgbW9kdWxlLCBhbmQgYWxsb3cgVGVycmFmb3JtIHRvIHJldHVybiBhIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSBpZiB0aGUgd3JvbmcgdHlwZSBpcyB1c2VkLlxuICAgKlxuICAgKiBUeXBlIGNvbnN0cmFpbnRzIGFyZSBjcmVhdGVkIGZyb20gYSBtaXh0dXJlIG9mIHR5cGUga2V5d29yZHMgYW5kIHR5cGUgY29uc3RydWN0b3JzLiBUaGUgc3VwcG9ydGVkIHR5cGUga2V5d29yZHMgYXJlOlxuICAgKlxuICAgKiAtIHN0cmluZ1xuICAgKiAtIG51bWJlclxuICAgKiAtIGJvb2xcbiAgICpcbiAgICogVGhlIHR5cGUgY29uc3RydWN0b3JzIGFsbG93IHlvdSB0byBzcGVjaWZ5IGNvbXBsZXggdHlwZXMgc3VjaCBhcyBjb2xsZWN0aW9uczpcbiAgICpcbiAgICogLSBsaXN0KFxcPFRZUEVcXD4pXG4gICAqIC0gc2V0KFxcPFRZUEVcXD4pXG4gICAqIC0gbWFwKFxcPFRZUEVcXD4pXG4gICAqIC0gb2JqZWN0KHtcXDxBVFRSIE5BTUVcXD4gPSBcXDxUWVBFXFw+LCAuLi4gfSlcbiAgICogLSB0dXBsZShbXFw8VFlQRVxcPiwgLi4uXSlcbiAgICpcbiAgICogVGhlIGtleXdvcmQgYW55IG1heSBiZSB1c2VkIHRvIGluZGljYXRlIHRoYXQgYW55IHR5cGUgaXMgYWNjZXB0YWJsZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIG1lYW5pbmcgYW5kIGJlaGF2aW9yIG9mIHRoZXNlIGRpZmZlcmVudCB0eXBlcywgYXMgd2VsbCBhcyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhdXRvbWF0aWMgY29udmVyc2lvbiBvZiBjb21wbGV4IHR5cGVzLCByZWZlciB0byB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvdHlwZS1jb25zdHJhaW50cyBUeXBlIENvbnN0cmFpbnRzfS5cbiAgICpcbiAgICogSWYgYm90aCB0aGUgdHlwZSBhbmQgZGVmYXVsdCBhcmd1bWVudHMgYXJlIHNwZWNpZmllZCwgdGhlIGdpdmVuIGRlZmF1bHQgdmFsdWUgbXVzdCBiZSBjb252ZXJ0aWJsZSB0byB0aGUgc3BlY2lmaWVkIHR5cGUuXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHNlbnNpdGl2ZT86IGJvb2xlYW47XG5cbiAgLypcbiAgICogVGhlIG51bGxhYmxlIGFyZ3VtZW50IGluIGEgdmFyaWFibGUgYmxvY2sgY29udHJvbHMgd2hldGhlciB0aGUgbW9kdWxlIGNhbGxlciBtYXkgYXNzaWduIHRoZSB2YWx1ZSBudWxsIHRvIHRoZSB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IG51bGxhYmxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmeSBhcmJpdHJhcnkgY3VzdG9tIHZhbGlkYXRpb24gcnVsZXMgZm9yIGEgcGFydGljdWxhciB2YXJpYWJsZSB1c2luZyBhIHZhbGlkYXRpb24gYmxvY2sgbmVzdGVkIHdpdGhpbiB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBibG9ja1xuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IFRlcnJhZm9ybVZhcmlhYmxlVmFsaWRhdGlvbkNvbmZpZ1tdO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybVZhcmlhYmxlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1BZGRyZXNzYWJsZVxue1xuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdD86IGFueTtcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNlbnNpdGl2ZT86IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBudWxsYWJsZT86IGJvb2xlYW47XG4gIHByaXZhdGUgX3ZhbGlkYXRpb24/OiBUZXJyYWZvcm1WYXJpYWJsZVZhbGlkYXRpb25Db25maWdbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IFRlcnJhZm9ybVZhcmlhYmxlQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBcInZhclwiKTtcblxuICAgIHRoaXMuZGVmYXVsdCA9IGNvbmZpZy5kZWZhdWx0O1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBjb25maWcuZGVzY3JpcHRpb247XG4gICAgdGhpcy50eXBlID0gY29uZmlnLnR5cGU7XG4gICAgdGhpcy5zZW5zaXRpdmUgPSBjb25maWcuc2Vuc2l0aXZlO1xuICAgIHRoaXMubnVsbGFibGUgPSBjb25maWcubnVsbGFibGU7XG4gICAgdGhpcy5fdmFsaWRhdGlvbiA9IGNvbmZpZy52YWxpZGF0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBzdHJpbmdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGlzdFZhbHVlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYm9vbGVhblZhbHVlKCk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHRoaXMuaW50ZXJwb2xhdGlvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBUZXJyYWZvcm1WYXJpYWJsZVZhbGlkYXRpb25Db25maWdbXSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb247XG4gIH1cblxuICBwdWJsaWMgYWRkVmFsaWRhdGlvbih2YWxpZGF0aW9uOiBUZXJyYWZvcm1WYXJpYWJsZVZhbGlkYXRpb25Db25maWcpIHtcbiAgICBpZiAoIXRoaXMuX3ZhbGlkYXRpb24pIHtcbiAgICAgIHRoaXMuX3ZhbGlkYXRpb24gPSBbXTtcbiAgICB9XG5cbiAgICB0aGlzLl92YWxpZGF0aW9uLnB1c2godmFsaWRhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGludGVycG9sYXRpb24oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiByZWYoYHZhci4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gLCB0aGlzLmNka3RmU3RhY2spO1xuICB9XG5cbiAgcHVibGljIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgZGVmYXVsdDoge1xuICAgICAgICB2YWx1ZTogdGhpcy5kZWZhdWx0LFxuICAgICAgICB0eXBlOiBcImFueVwiLFxuICAgICAgfSxcblxuICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAgdHlwZToge1xuICAgICAgICB2YWx1ZTogdGhpcy50eXBlLFxuICAgICAgICB0eXBlOiBcInR5cGVcIixcbiAgICAgIH0sXG4gICAgICBzZW5zaXRpdmU6IHtcbiAgICAgICAgdmFsdWU6IHRoaXMuc2Vuc2l0aXZlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcImJvb2xlYW5cIixcbiAgICAgIH0sXG4gICAgICBudWxsYWJsZToge1xuICAgICAgICB2YWx1ZTogdGhpcy5udWxsYWJsZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJib29sZWFuXCIsXG4gICAgICB9LFxuICAgICAgdmFsaWRhdGlvbjoge1xuICAgICAgICB2YWx1ZTogdGhpcy52YWxpZGF0aW9uPy5tYXAoKHZhbGlkYXRpb24pID0+ICh7XG4gICAgICAgICAgZXJyb3JfbWVzc2FnZTogdmFsaWRhdGlvbi5lcnJvck1lc3NhZ2UsXG4gICAgICAgICAgY29uZGl0aW9uOiB2YWxpZGF0aW9uLmNvbmRpdGlvbixcbiAgICAgICAgfSkpLFxuICAgICAgICBpc0Jsb2NrOiB0cnVlLFxuICAgICAgICB0eXBlOiBcImxpc3RcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJvYmplY3RMaXN0XCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gISF2YWx1ZT8udmFsdWUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlZmF1bHQ6IHRoaXMuZGVmYXVsdCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgc2Vuc2l0aXZlOiB0aGlzLnNlbnNpdGl2ZSxcbiAgICAgIG51bGxhYmxlOiB0aGlzLm51bGxhYmxlLFxuICAgICAgdmFsaWRhdGlvbjogdGhpcy52YWxpZGF0aW9uPy5tYXAoKHZhbGlkYXRpb24pID0+ICh7XG4gICAgICAgIGVycm9yX21lc3NhZ2U6IHZhbGlkYXRpb24uZXJyb3JNZXNzYWdlLFxuICAgICAgICBjb25kaXRpb246IHZhbGlkYXRpb24uY29uZGl0aW9uLFxuICAgICAgfSkpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdmFyaWFibGU6IHtcbiAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGRlZXBNZXJnZShcbiAgICAgICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpKSxcbiAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB2YXJpYWJsZToge1xuICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogZGVlcE1lcmdlKFxuICAgICAgICAgIGtleXNUb1NuYWtlQ2FzZSh0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCkpLFxuICAgICAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRva2VuIHJlZmVyZW5jaW5nIHRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0cmluZ1ZhbHVlO1xuICB9XG59XG4iXX0=
@@ -170,5 +170,5 @@ class Testing {
170
170
  }
171
171
  exports.Testing = Testing;
172
172
  _a = JSII_RTTI_SYMBOL_1;
173
- Testing[_a] = { fqn: "cdktn.Testing", version: "0.22.0" };
173
+ Testing[_a] = { fqn: "cdktn.Testing", version: "0.22.1" };
174
174
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFFbkMsMERBQTBEO0FBQzFELHlCQUEwQjtBQUMxQiw2QkFBOEI7QUFDOUIseUJBQTBCO0FBQzFCLG1EQUFvRDtBQUNwRCwwQkFBeUM7QUFDekMsMENBQXVDO0FBQ3ZDLDBDQUEyQztBQUUzQywwQ0FBNEM7QUFDNUMsMkRBQTBEO0FBQzFELHlDQUtvQjtBQWVwQixNQUFNLHVCQUF1QixHQUFxQjtJQUNoRCxXQUFXLEVBQUUsS0FBSztJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGlCQUFpQixFQUFFLEtBQUs7Q0FDekIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBYSxPQUFPO0lBQ2xCOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBNEIsRUFBRTtRQUM5QyxNQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsdUJBQXVCLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQ3hDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFHLENBQUM7WUFDbEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVztZQUNsQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFH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Q0FDMUIsUUFBZ0IsRUFDaEIsWUFBb0I7UUFFcEIsT0FBTyxJQUFBLDBDQUErQixHQUFFLENBQ3RDLFFBQVEsRUFDUixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsRUFDaEMsRUFBRSxDQUNILENBQUMsSUFBSSxDQUFDO0lBQ1QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFnQjtRQUMvQyxPQUFPLElBQUEsNkJBQWtCLEVBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUztRQUNyQixJQUFBLGdCQUFTLEdBQUUsQ0FBQztJQUNkLENBQUM7O0FBek9ILDBCQTBPQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHMgKi9cbmltcG9ydCBmcyA9IHJlcXVpcmUoXCJmc1wiKTtcbmltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5pbXBvcnQgb3MgPSByZXF1aXJlKFwib3NcIik7XG5pbXBvcnQgc3RyaW5naWZ5ID0gcmVxdWlyZShcImpzb24tc3RhYmxlLXN0cmluZ2lmeVwiKTtcbmltcG9ydCB7IEFwcCwgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IE1hbmlmZXN0IH0gZnJvbSBcIi4uL21hbmlmZXN0XCI7XG5pbXBvcnQgeyBGVVRVUkVfRkxBR1MgfSBmcm9tIFwiLi4vZmVhdHVyZXNcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QsIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBzZXR1cEplc3QgfSBmcm9tIFwiLi9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBpbnZva2VBc3BlY3RzIH0gZnJvbSBcIi4uL3N5bnRoZXNpemUvc3ludGhlc2l6ZXJcIjtcbmltcG9ydCB7XG4gIGdldFRvSGF2ZVJlc291cmNlV2l0aFByb3BlcnRpZXMsXG4gIGdldFRvSGF2ZURhdGFTb3VyY2VXaXRoUHJvcGVydGllcyxcbiAgZ2V0VG9IYXZlUHJvdmlkZXJXaXRoUHJvcGVydGllcyxcbiAgdG9CZVZhbGlkVGVycmFmb3JtLFxufSBmcm9tIFwiLi9tYXRjaGVyc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTY29wZUNhbGxiYWNrIHtcbiAgKHNjb3BlOiBDb25zdHJ1Y3QpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRlc3RpbmdBcHBDb25maWcge1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrVHJhY2VzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3R1YlZlcnNpb24/OiBib29sZWFuO1xuICByZWFkb25seSBlbmFibGVGdXR1cmVGbGFncz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGZha2VDZGt0Zkpzb25QYXRoPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY29udGV4dD86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmNvbnN0IERlZmF1bHRUZXN0aW5nQXBwQ29uZmlnOiBUZXN0aW5nQXBwQ29uZmlnID0ge1xuICBzdGFja1RyYWNlczogZmFsc2UsXG4gIHN0dWJWZXJzaW9uOiB0cnVlLFxuICBlbmFibGVGdXR1cmVGbGFnczogdHJ1ZSxcbiAgZmFrZUNka3RmSnNvblBhdGg6IGZhbHNlLFxufTtcblxuLyoqXG4gKiBUZXN0aW5nIHV0aWxpdGllcyBmb3IgY2RrdGYgYXBwbGljYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgVGVzdGluZyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGFwcCBmb3IgdGVzdGluZyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICogLSBPdXRwdXQgZGlyZWN0b3J5IGlzIGEgdGVtcCBkaXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcChvcHRpb25zOiBUZXN0aW5nQXBwQ29uZmlnID0ge30pOiBBcHAge1xuICAgIGNvbnN0IGFwcENvbmZpZyA9IHsgLi4uRGVmYXVsdFRlc3RpbmdBcHBDb25maWcsIC4uLm9wdGlvbnMgfTtcbiAgICBpZiAoIWFwcENvbmZpZy5vdXRkaXIpIHtcbiAgICAgIGFwcENvbmZpZy5vdXRkaXIgPSBmcy5ta2R0ZW1wU3luYyhcbiAgICAgICAgcGF0aC5qb2luKG9zLnRtcGRpcigpLCBcImNka3RmLm91dGRpci5cIiksXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGFwcCA9IG5ldyBBcHAoe1xuICAgICAgb3V0ZGlyOiBhcHBDb25maWcub3V0ZGlyLFxuICAgICAgc3RhY2tUcmFjZXM6IGFwcENvbmZpZy5zdGFja1RyYWNlcyxcbiAgICAgIGNvbnRleHQ6IG9wdGlvbnMuY29udGV4dCxcbiAgICB9KTtcblxuICAgIGlmIChhcHBDb25maWcuc3R1YlZlcnNpb24pIHtcbiAgICAgIHRoaXMuc3R1YlZlcnNpb24oYXBwKTtcbiAgICB9XG4gICAgaWYgKGFwcENvbmZpZy5lbmFibGVGdXR1cmVGbGFncykge1xuICAgICAgdGhpcy5lbmFibGVGdXR1cmVGbGFncyhhcHApO1xuICAgIH1cbiAgICBpZiAoYXBwQ29uZmlnLmZha2VDZGt0Zkpzb25QYXRoKSB7XG4gICAgICB0aGlzLmZha2VDZGt0Zkpzb25QYXRoKGFwcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFwcDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc3R1YlZlcnNpb24oYXBwOiBBcHApOiBBcHAge1xuICAgIGFwcC5ub2RlLnNldENvbnRleHQoXCJjZGt0ZlZlcnNpb25cIiwgXCJzdHViYmVkXCIpO1xuICAgIChhcHAubWFuaWZlc3QudmVyc2lvbiBhcyBzdHJpbmcpID0gXCJzdHViYmVkXCI7XG4gICAgcmV0dXJuIGFwcDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZmFrZUNka3RmSnNvblBhdGgoYXBwOiBBcHApOiBBcHAge1xuICAgIGFwcC5ub2RlLnNldENvbnRleHQoXCJjZGt0Zkpzb25QYXRoXCIsIGAke3Byb2Nlc3MuY3dkKCl9L2Nka3RmLmpzb25gKTtcbiAgICBhcHAubm9kZS5zZXRDb250ZXh0KFwiY2RrdGZSZWxhdGl2ZU1vZHVsZXNcIiwgW1wiLi9cIl0pO1xuICAgIHJldHVybiBhcHA7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVuYWJsZUZ1dHVyZUZsYWdzKGFwcDogQXBwKTogQXBwIHtcbiAgICBjb25zdCBub2RlID0gYXBwLm5vZGU7XG4gICAgT2JqZWN0LmVudHJpZXMoRlVUVVJFX0ZMQUdTKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+XG4gICAgICBub2RlLnNldENvbnRleHQoa2V5LCB2YWx1ZSksXG4gICAgKTtcbiAgICByZXR1cm4gYXBwO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzeW50aFNjb3BlKGZuOiBJU2NvcGVDYWxsYmFjaykge1xuICAgIGNvbnN0IHN0YWNrID0gbmV3IFRlcnJhZm9ybVN0YWNrKFRlc3RpbmcuYXBwKCksIFwic3RhY2tcIik7XG4gICAgZm4oc3RhY2spO1xuICAgIHJldHVybiBUZXN0aW5nLnN5bnRoKHN0YWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBUZXJyYWZvcm0gc3ludGhlc2l6ZWQgSlNPTi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3ludGgoc3RhY2s6IFRlcnJhZm9ybVN0YWNrLCBydW5WYWxpZGF0aW9ucyA9IGZhbHNlKSB7XG4gICAgaW52b2tlQXNwZWN0cyhzdGFjayk7XG4gICAgaWYgKHJ1blZhbGlkYXRpb25zKSB7XG4gICAgICBzdGFjay5ydW5BbGxWYWxpZGF0aW9ucygpO1xuICAgIH1cblxuICAgIGNvbnN0IHRmQ29uZmlnID0gc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZnVuY3Rpb24gcmVtb3ZlTWV0YWRhdGEoaXRlbTogYW55KTogYW55IHtcbiAgICAgIGlmIChpdGVtICE9PSBudWxsICYmIHR5cGVvZiBpdGVtID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW0ubWFwKHJlbW92ZU1ldGFkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsZWFuZWRJdGVtID0gT2JqZWN0LmVudHJpZXMoaXRlbSlcbiAgICAgICAgICAvLyBvcmRlciBhbHBoYWJldGljYWxseVxuICAgICAgICAgIC5zb3J0KChbYV0sIFtiXSkgPT4gYS5sb2NhbGVDb21wYXJlKGIpKVxuICAgICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBba2V5LCB2YWx1ZV0pID0+ICh7IC4uLmFjYywgW2tleV06IHJlbW92ZU1ldGFkYXRhKHZhbHVlKSB9KSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIG1ldGFkYXRhXG4gICAgICAgIGRlbGV0ZSAoY2xlYW5lZEl0ZW0gYXMgYW55KVtcIi8vXCJdO1xuICAgICAgICByZXR1cm4gY2xlYW5lZEl0ZW07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgICBjb25zdCBjbGVhbmVkID0gcmVtb3ZlTWV0YWRhdGEodGZDb25maWcpO1xuXG4gICAgcmV0dXJuIHN0cmluZ2lmeShjbGVhbmVkLCB7IHNwYWNlOiAyIH0pIGFzIHN0cmluZztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBUZXJyYWZvcm0gc3ludGhlc2l6ZWQgSlNPTi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3ludGhIY2woXG4gICAgc3RhY2s6IFRlcnJhZm9ybVN0YWNrLFxuICAgIHJ1blZhbGlkYXRpb25zID0gZmFsc2UsXG4gICAgcmV0dXJuTWV0YWRhdGEgPSBmYWxzZSxcbiAgKSB7XG4gICAgaW52b2tlQXNwZWN0cyhzdGFjayk7XG4gICAgaWYgKHJ1blZhbGlkYXRpb25zKSB7XG4gICAgICBzdGFjay5ydW5BbGxWYWxpZGF0aW9ucygpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZyA9IHN0YWNrLnRvSGNsVGVycmFmb3JtKCk7XG5cbiAgICBpZiAocmV0dXJuTWV0YWRhdGEpIHJldHVybiBjb25maWcubWV0YWRhdGE7XG5cbiAgICByZXR1cm4gY29uZmlnLmhjbDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnVsbFN5bnRoKHN0YWNrOiBUZXJyYWZvcm1TdGFjayk6IHN0cmluZyB7XG4gICAgY29uc3Qgb3V0ZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCBcImNka3RmLm91dGRpci5cIikpO1xuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBuZXcgTWFuaWZlc3QoXCJzdHViYmVkXCIsIG91dGRpciwgZmFsc2UpO1xuXG4gICAgc3RhY2suc3ludGhlc2l6ZXIuc3ludGhlc2l6ZSh7XG4gICAgICBvdXRkaXIsXG4gICAgICBtYW5pZmVzdCxcbiAgICB9KTtcblxuICAgIG1hbmlmZXN0LndyaXRlVG9GaWxlKCk7XG5cbiAgICByZXR1cm4gb3V0ZGlyO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZW5kZXJDb25zdHJ1Y3RUcmVlKGNvbnN0cnVjdDogSUNvbnN0cnVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlbmRlcihjb25zdHJ1Y3QsIDAsIGZhbHNlKTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgZnVuY3Rpb24gcmVuZGVyKFxuICAgICAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICAgICAgbGV2ZWw6IG51bWJlcixcbiAgICAgIGlzTGFzdDogYm9vbGVhbixcbiAgICApOiBzdHJpbmcge1xuICAgICAgbGV0IHByZWZpeCA9IFwiXCI7XG4gICAgICBpZiAobGV2ZWwgPiAwKSB7XG4gICAgICAgIGNvbnN0IHNwYWNlcyA9IFwiIFwiLnJlcGVhdCgobGV2ZWwgLSAxKSAqIDQpO1xuICAgICAgICBjb25zdCBzeW1ib2wgPSBpc0xhc3QgPyBcIuKUlFwiIDogXCLilJxcIjtcbiAgICAgICAgcHJlZml4ID0gYCR7c3BhY2VzfSR7c3ltYm9sfeKUgOKUgCBgO1xuICAgICAgfVxuICAgICAgY29uc3QgbmFtZSA9IEFwcC5pc0FwcChjb25zdHJ1Y3QpXG4gICAgICAgID8gXCJBcHBcIlxuICAgICAgICA6IGAke2NvbnN0cnVjdC5ub2RlLmlkfSAoJHtjb25zdHJ1Y3QuY29uc3RydWN0b3IubmFtZX0pYDtcbiAgICAgIHJldHVybiBgJHtwcmVmaXh9JHtuYW1lfVxcbiR7Y29uc3RydWN0Lm5vZGUuY2hpbGRyZW5cbiAgICAgICAgLm1hcCgoY2hpbGQsIGlkeCwgYXJyKSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNMYXN0ID0gaWR4ID09PSBhcnIubGVuZ3RoIC0gMTtcbiAgICAgICAgICByZXR1cm4gcmVuZGVyKGNoaWxkLCBsZXZlbCArIDEsIGlzTGFzdCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKFwiXCIpfWA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0hhdmVEYXRhU291cmNlV2l0aFByb3BlcnRpZXMoXG4gICAgcmVjZWl2ZWQ6IHN0cmluZyxcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICBwcm9wZXJ0aWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBnZXRUb0hhdmVEYXRhU291cmNlV2l0aFByb3BlcnRpZXMoKShcbiAgICAgIHJlY2VpdmVkLFxuICAgICAgeyB0ZlJlc291cmNlVHlwZTogcmVzb3VyY2VUeXBlIH0sXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICkucGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9IYXZlRGF0YVNvdXJjZShcbiAgICByZWNlaXZlZDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2V0VG9IYXZlRGF0YVNvdXJjZVdpdGhQcm9wZXJ0aWVzKCkoXG4gICAgICByZWNlaXZlZCxcbiAgICAgIHsgdGZSZXNvdXJjZVR5cGU6IHJlc291cmNlVHlwZSB9LFxuICAgICAge30sXG4gICAgKS5wYXNzO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0hhdmVSZXNvdXJjZVdpdGhQcm9wZXJ0aWVzKFxuICAgIHJlY2VpdmVkOiBzdHJpbmcsXG4gICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2V0VG9IYXZlUmVzb3VyY2VXaXRoUHJvcGVydGllcygpKFxuICAgICAgcmVjZWl2ZWQsXG4gICAgICB7IHRmUmVzb3VyY2VUeXBlOiByZXNvdXJjZVR5cGUgfSxcbiAgICAgIHByb3BlcnRpZXMsXG4gICAgKS5wYXNzO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0hhdmVSZXNvdXJjZShcbiAgICByZWNlaXZlZDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICApOiBib29sZWFuIHtcbiAgICByZXR1cm4gZ2V0VG9IYXZlUmVzb3VyY2VXaXRoUHJvcGVydGllcygpKFxuICAgICAgcmVjZWl2ZWQsXG4gICAgICB7IHRmUmVzb3VyY2VUeXBlOiByZXNvdXJjZVR5cGUgfSxcbiAgICAgIHt9LFxuICAgICkucGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9IYXZlUHJvdmlkZXJXaXRoUHJvcGVydGllcyhcbiAgICByZWNlaXZlZDogc3RyaW5nLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGdldFRvSGF2ZVByb3ZpZGVyV2l0aFByb3BlcnRpZXMoKShcbiAgICAgIHJlY2VpdmVkLFxuICAgICAgeyB0ZlJlc291cmNlVHlwZTogcmVzb3VyY2VUeXBlIH0sXG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICkucGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9IYXZlUHJvdmlkZXIoXG4gICAgcmVjZWl2ZWQ6IHN0cmluZyxcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGdldFRvSGF2ZVByb3ZpZGVyV2l0aFByb3BlcnRpZXMoKShcbiAgICAgIHJlY2VpdmVkLFxuICAgICAgeyB0ZlJlc291cmNlVHlwZTogcmVzb3VyY2VUeXBlIH0sXG4gICAgICB7fSxcbiAgICApLnBhc3M7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvQmVWYWxpZFRlcnJhZm9ybShyZWNlaXZlZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRvQmVWYWxpZFRlcnJhZm9ybShyZWNlaXZlZCkucGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0dXBKZXN0KCkge1xuICAgIHNldHVwSmVzdCgpO1xuICB9XG59XG4iXX0=
@@ -33,7 +33,7 @@ class AssertionReturn {
33
33
  }
34
34
  exports.AssertionReturn = AssertionReturn;
35
35
  _a = JSII_RTTI_SYMBOL_1;
36
- AssertionReturn[_a] = { fqn: "cdktn.testingMatchers.AssertionReturn", version: "0.22.0" };
36
+ AssertionReturn[_a] = { fqn: "cdktn.testingMatchers.AssertionReturn", version: "0.22.1" };
37
37
  /**
38
38
  * Reformats the contents of the base testing matcher return type AssertionReturn into type useable by jest
39
39
  * @param toReturn
@@ -49,7 +49,7 @@ class Lazy {
49
49
  }
50
50
  exports.Lazy = Lazy;
51
51
  _a = JSII_RTTI_SYMBOL_1;
52
- Lazy[_a] = { fqn: "cdktn.Lazy", version: "0.22.0" };
52
+ Lazy[_a] = { fqn: "cdktn.Lazy", version: "0.22.1" };
53
53
  // eslint-disable-next-line jsdoc/require-jsdoc
54
54
  class LazyBase {
55
55
  constructor() {
@@ -77,7 +77,7 @@ class LazyBase {
77
77
  }
78
78
  exports.LazyBase = LazyBase;
79
79
  _b = JSII_RTTI_SYMBOL_1;
80
- LazyBase[_b] = { fqn: "cdktn.LazyBase", version: "0.22.0" };
80
+ LazyBase[_b] = { fqn: "cdktn.LazyBase", version: "0.22.1" };
81
81
  // eslint-disable-next-line jsdoc/require-jsdoc
82
82
  class LazyString extends LazyBase {
83
83
  constructor(producer) {
@@ -27,7 +27,7 @@ class StringConcat {
27
27
  }
28
28
  exports.StringConcat = StringConcat;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- StringConcat[_a] = { fqn: "cdktn.StringConcat", version: "0.22.0" };
30
+ StringConcat[_a] = { fqn: "cdktn.StringConcat", version: "0.22.1" };
31
31
  /**
32
32
  * Default resolver implementation
33
33
  *
@@ -119,5 +119,5 @@ class DefaultTokenResolver {
119
119
  }
120
120
  exports.DefaultTokenResolver = DefaultTokenResolver;
121
121
  _b = JSII_RTTI_SYMBOL_1;
122
- DefaultTokenResolver[_b] = { fqn: "cdktn.DefaultTokenResolver", version: "0.22.0" };
122
+ DefaultTokenResolver[_b] = { fqn: "cdktn.DefaultTokenResolver", version: "0.22.1" };
123
123
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlc29sdmFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxpREFBaUQ7QUFDakQsbURBQStDO0FBRS9DLHNDQU1tQjtBQXlJbkI7Ozs7R0FJRztBQUNILE1BQWEsWUFBWTtJQUN2Qjs7T0FFRztJQUNJLElBQUksQ0FBQyxJQUFxQixFQUFFLEtBQXNCO1FBQ3ZELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7QUFaSCxvQ0FhQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsb0JBQW9CO0lBQy9COztPQUVHO0lBQ0gsWUFBNkIsTUFBNkI7UUFBN0IsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7SUFBRyxDQUFDO0lBRTlEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUNqQixDQUFjLEVBQ2QsT0FBd0IsRUFDeEIsYUFBNkI7UUFFN0IsSUFBSSxDQUFDO1lBQ0gsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQyx5RUFBeUU7WUFDekUsUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lB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UyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUEsK0NBQXNDLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDakQsQ0FBQzs7QUFwR0gsb0RBcUdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbi8vIENvcGllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvY29uc3RydWN0cy9ibG9iL2UwMWU0N2Y3OGVmMWU5YjYwMGVmY2QyM2ZmNzcwNWFhOGQzODQwMTcvbGliL3Jlc29sdmFibGUudHNcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVG9rZW5TdHJpbmcgfSBmcm9tIFwiLi9wcml2YXRlL2VuY29kaW5nXCI7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gXCIuL3ByaXZhdGUvdG9rZW4tbWFwXCI7XG5pbXBvcnQgeyBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMgfSBmcm9tIFwiLi9zdHJpbmctZnJhZ21lbnRzXCI7XG5pbXBvcnQge1xuICBjYW5ub3RDb25jYXRlbmF0ZVN0cmluZ3NJblRva2VuaXplZE1hcCxcbiAgY2Fubm90Q29uY2F0ZW5hdGVTdHJpbmdzSW5Ub2tlbml6ZWRTdHJpbmdBcnJheSxcbiAgbWFwVmFsdWVBZGRlZFRvUmVmZXJlbmNlTGlzdCxcbiAgbnVtYmVyVmFsdWVBZGRlZFRvUmVmZXJlbmNlTGlzdCxcbiAgc3RyaW5nVmFsdWVBZGRlZFRvUmVmZXJlbmNlTGlzdCxcbn0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuXG4vKipcbiAqIEN1cnJlbnQgcmVzb2x1dGlvbiBjb250ZXh0IGZvciB0b2tlbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzb2x2ZUNvbnRleHQge1xuICAvKipcbiAgICogVGhlIHNjb3BlIGZyb20gd2hpY2ggcmVzb2x1dGlvbiBoYXMgYmVlbiBpbml0aWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBJQ29uc3RydWN0O1xuXG4gIC8qKlxuICAgKiBUcnVlIHdoZW4gd2UgYXJlIHN0aWxsIHByZXBhcmluZywgZmFsc2UgaWYgd2UncmUgcmVuZGVyaW5nIHRoZSBmaW5hbCBvdXRwdXRcbiAgICovXG4gIHJlYWRvbmx5IHByZXBhcmluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVHJ1ZSB3aGVuICR7fSBzaG91bGQgYmUgb21taXR0ZWQgKGJlY2F1c2UgYWxyZWFkeSBpbnNpZGUgdGhlbSksIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgc3VwcHJlc3NCcmFjZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUcnVlIHdoZW4gJHt9IHNob3VsZCBub3QgYmUgcGFyc2VkLCBhbmQgdHJlYXRlZCBhcyBsaXRlcmFsc1xuICAgKi9cbiAgaWdub3JlRXNjYXBlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRydWUgd2hlbiAke30gc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgc3RyaW5nIHRvIGJlIHJlc29sdmVkLCBvdXRwdXRzIGEgd2FybmluZy5cbiAgICogRGVmYXVsdDogZmFsc2VcbiAgICovXG4gIHdhcm5Fc2NhcGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGVycmFmb3JtSXRlcmF0b3JzIGNhbiBiZSBwYXNzZWQgZm9yIGJsb2NrIGF0dHJpYnV0ZXMgYW5kIG5vcm1hbCBsaXN0IGF0dHJpYnV0ZXNcbiAgICogYm90aCByZXF1aXJlIGRpZmZlcmVudCBoYW5kbGluZyB3aGVuIHRoZSBpdGVyYWJsZSB2YXJpYWJsZSBpcyBhY2Nlc3NlZFxuICAgKiBlLmcuIGEgZHluYW1pYyBibG9jayBuZWVkcyBlYWNoLmtleSB3aGlsZSBhIGZvciBleHByZXNzaW9uIGp1c3QgbmVlZHMga2V5XG4gICAqL1xuICBpdGVyYXRvckNvbnRleHQ/OiBcIkRZTkFNSUNfQkxPQ0tcIiB8IFwiRk9SX0VYUFJFU1NJT05cIjtcblxuICAvKipcbiAgICogUmVzb2x2ZSBhbiBpbm5lciBvYmplY3RcbiAgICovXG4gIHJlc29sdmUoeDogYW55KTogYW55O1xuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyBwb3N0cHJvY2Vzc29yIGFmdGVyIHRoZSBlbnRpcmUgdG9rZW4gc3RydWN0dXJlIGhhcyBiZWVuIHJlc29sdmVkXG4gICAqL1xuICByZWdpc3RlclBvc3RQcm9jZXNzb3IocG9zdFByb2Nlc3NvcjogSVBvc3RQcm9jZXNzb3IpOiB2b2lkO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgdmFsdWVzIHRoYXQgY2FuIGJlIHJlc29sdmFibGUgbGF0ZXJcbiAqXG4gKiBUb2tlbnMgYXJlIHNwZWNpYWwgb2JqZWN0cyB0aGF0IHBhcnRpY2lwYXRlIGluIHN5bnRoZXNpcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzb2x2YWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgY3JlYXRpb24gc3RhY2sgb2YgdGhpcyByZXNvbHZhYmxlIHdoaWNoIHdpbGwgYmUgYXBwZW5kZWQgdG8gZXJyb3JzXG4gICAqIHRocm93biBkdXJpbmcgcmVzb2x1dGlvbi5cbiAgICpcbiAgICogSWYgdGhpcyByZXR1cm5zIGFuIGVtcHR5IGFycmF5IHRoZSBzdGFjayB3aWxsIG5vdCBiZSBhdHRhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcm9kdWNlIHRoZSBUb2tlbidzIHZhbHVlIGF0IHJlc29sdXRpb24gdGltZVxuICAgKi9cbiAgcmVzb2x2ZShjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpOiBhbnk7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHJlc29sdmFibGUgb2JqZWN0LlxuICAgKlxuICAgKiBSZXR1cm5zIGEgcmV2ZXJzaWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBUb2tlbiB0aGF0IGNhbiBwb3N0LXByb2Nlc3MgdGhlIGNvbXBsZXRlIHJlc29sdmVkIHZhbHVlLCBhZnRlciByZXNvbHZlKCkgaGFzIHJlY3Vyc2VkIG92ZXIgaXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUG9zdFByb2Nlc3NvciB7XG4gIC8qKlxuICAgKiBQcm9jZXNzIHRoZSBjb21wbGV0ZWx5IHJlc29sdmVkIHZhbHVlLCBhZnRlciBmdWxsIHJlY3Vyc2lvbi9yZXNvbHV0aW9uIGhhcyBoYXBwZW5lZFxuICAgKi9cbiAgcG9zdFByb2Nlc3MoaW5wdXQ6IGFueSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KTogYW55O1xufVxuXG4vKipcbiAqIEhvdyB0byByZXNvbHZlIHRva2Vuc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlblJlc29sdmVyIHtcbiAgLyoqXG4gICAqIFJlc29sdmUgYSBzaW5nbGUgdG9rZW5cbiAgICovXG4gIHJlc29sdmVUb2tlbihcbiAgICB0OiBJUmVzb2x2YWJsZSxcbiAgICBjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQsXG4gICAgcG9zdFByb2Nlc3NvcjogSVBvc3RQcm9jZXNzb3IsXG4gICk6IGFueTtcblxuICAvKipcbiAgICogUmVzb2x2ZSBhIHN0cmluZyB3aXRoIGF0IGxlYXN0IG9uZSBzdHJpbmdpZmllZCB0b2tlbiBpbiBpdFxuICAgKlxuICAgKiAoTWF5IHVzZSBjb25jYXRlbmF0aW9uKVxuICAgKi9cbiAgcmVzb2x2ZVN0cmluZyhzOiBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMsIGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCk6IGFueTtcblxuICAvKipcbiAgICogUmVzb2x2ZSBhIHRva2VuaXplZCBsaXN0XG4gICAqL1xuICByZXNvbHZlTGlzdChsOiBzdHJpbmdbXSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KTogYW55O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlIGEgdG9rZW5pemVkIG51bWJlciBsaXN0XG4gICAqL1xuICByZXNvbHZlTnVtYmVyTGlzdChsOiBudW1iZXJbXSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KTogYW55O1xuXG4gIC8qKlxuICAgKiBSZXNvbHZlIGEgdG9rZW5pemVkIG1hcFxuICAgKi9cbiAgcmVzb2x2ZU1hcChtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpOiBhbnk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdXNlZCB0byBjb25jYXRlbmF0ZSBzeW1ib2xzIGluIHRoZSB0YXJnZXQgZG9jdW1lbnQgbGFuZ3VhZ2VcbiAqXG4gKiBJbnRlcmZhY2Ugc28gaXQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwb3NlZCBvdmVyIGpzaWkuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGcmFnbWVudENvbmNhdGVuYXRvciB7XG4gIC8qKlxuICAgKiBKb2luIHRoZSBmcmFnbWVudCBvbiB0aGUgbGVmdCBhbmQgb24gdGhlIHJpZ2h0XG4gICAqL1xuICBqb2luKGxlZnQ6IGFueSB8IHVuZGVmaW5lZCwgcmlnaHQ6IGFueSB8IHVuZGVmaW5lZCk6IGFueTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbGwgZnJhZ21lbnRzIHRvIHN0cmluZ3MgYW5kIGNvbmNhdHMgdGhvc2VcbiAqXG4gKiBEcm9wcyAndW5kZWZpbmVkJ3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdDb25jYXQgaW1wbGVtZW50cyBJRnJhZ21lbnRDb25jYXRlbmF0b3Ige1xuICAvKipcbiAgICogQ29uY2F0ZW5hdGVzIHN0cmluZyBmcmFnbWVudHNcbiAgICovXG4gIHB1YmxpYyBqb2luKGxlZnQ6IGFueSB8IHVuZGVmaW5lZCwgcmlnaHQ6IGFueSB8IHVuZGVmaW5lZCk6IGFueSB7XG4gICAgaWYgKGxlZnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHJpZ2h0ICE9PSB1bmRlZmluZWQgPyBgJHtyaWdodH1gIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAocmlnaHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGAke2xlZnR9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2xlZnR9JHtyaWdodH1gO1xuICB9XG59XG5cbi8qKlxuICogRGVmYXVsdCByZXNvbHZlciBpbXBsZW1lbnRhdGlvblxuICpcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHRUb2tlblJlc29sdmVyIGltcGxlbWVudHMgSVRva2VuUmVzb2x2ZXIge1xuICAvKipcbiAgICogUmVzb2x2ZXMgdG9rZW5zXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmNhdDogSUZyYWdtZW50Q29uY2F0ZW5hdG9yKSB7fVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IFRva2VuIHJlc29sdXRpb25cbiAgICpcbiAgICogUmVzb2x2ZSB0aGUgVG9rZW4sIHJlY3Vyc2UgaW50byB3aGF0ZXZlciBpdCByZXR1cm5zLFxuICAgKiB0aGVuIGZpbmFsbHkgcG9zdC1wcm9jZXNzIGl0LlxuICAgKi9cbiAgcHVibGljIHJlc29sdmVUb2tlbihcbiAgICB0OiBJUmVzb2x2YWJsZSxcbiAgICBjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQsXG4gICAgcG9zdFByb2Nlc3NvcjogSVBvc3RQcm9jZXNzb3IsXG4gICkge1xuICAgIHRyeSB7XG4gICAgICBsZXQgcmVzb2x2ZWQgPSB0LnJlc29sdmUoY29udGV4dCk7XG5cbiAgICAgIC8vIFRoZSB0b2tlbiBtaWdodCBoYXZlIHJldHVybmVkIG1vcmUgdmFsdWVzIHRoYXQgbmVlZCByZXNvbHZpbmcsIHJlY3Vyc2VcbiAgICAgIHJlc29sdmVkID0gY29udGV4dC5yZXNvbHZlKHJlc29sdmVkKTtcbiAgICAgIHJlc29sdmVkID0gcG9zdFByb2Nlc3Nvci5wb3N0UHJvY2VzcyhyZXNvbHZlZCwgY29udGV4dCk7XG4gICAgICByZXR1cm4gcmVzb2x2ZWQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgZXJyID0gZSBhcyBhbnk7XG4gICAgICBsZXQgbWVzc2FnZSA9IGBSZXNvbHV0aW9uIGVycm9yOiAke2Vyci5tZXNzYWdlfS5gO1xuICAgICAgaWYgKHQuY3JlYXRpb25TdGFjayAmJiB0LmNyZWF0aW9uU3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgICBtZXNzYWdlICs9IGBcXG5PYmplY3QgY3JlYXRpb24gc3RhY2s6XFxuICBhdCAke3QuY3JlYXRpb25TdGFjay5qb2luKFxuICAgICAgICAgIFwiXFxuICBhdCBcIixcbiAgICAgICAgKX1gO1xuICAgICAgfVxuXG4gICAgICBlcnIubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgc3RyaW5nIGZyYWdtZW50cyB0byBUb2tlbnNcbiAgICovXG4gIHB1YmxpYyByZXNvbHZlU3RyaW5nKFxuICAgIGZyYWdtZW50czogVG9rZW5pemVkU3RyaW5nRnJhZ21lbnRzLFxuICAgIGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCxcbiAgKSB7XG4gICAgcmV0dXJuIGZyYWdtZW50cy5tYXBUb2tlbnMoY29udGV4dCkuam9pbih0aGlzLmNvbmNhdCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYSBsaXN0IG9mIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIHJlc29sdmVMaXN0KHhzOiBzdHJpbmdbXSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KSB7XG4gICAgLy8gTXVzdCBiZSBhIHNpbmdsZXRvbiBsaXN0IHRva2VuLCBiZWNhdXNlIGNvbmNhdGVuYXRpb24gaXMgbm90IGFsbG93ZWQuXG4gICAgaWYgKHhzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgc3RyaW5nVmFsdWVBZGRlZFRvUmVmZXJlbmNlTGlzdCh4cyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyID0gVG9rZW5TdHJpbmcuZm9yTGlzdFRva2VuKHhzWzBdKTtcbiAgICBjb25zdCB0b2tlbk1hcCA9IFRva2VuTWFwLmluc3RhbmNlKCk7XG4gICAgY29uc3QgZnJhZ21lbnRzID0gc3RyLnNwbGl0KHRva2VuTWFwLmxvb2t1cFRva2VuLmJpbmQodG9rZW5NYXApKTtcbiAgICBpZiAoZnJhZ21lbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgY2Fubm90Q29uY2F0ZW5hdGVTdHJpbmdzSW5Ub2tlbml6ZWRTdHJpbmdBcnJheSh4c1swXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYWdtZW50cy5tYXBUb2tlbnMoY29udGV4dCkuZmlyc3RWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhIGxpc3Qgb2YgbnVtYmVyc1xuICAgKi9cbiAgcHVibGljIHJlc29sdmVOdW1iZXJMaXN0KHhzOiBudW1iZXJbXSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KSB7XG4gICAgLy8gTXVzdCBiZSBhIHNpbmdsZXRvbiBsaXN0IHRva2VuLCBiZWNhdXNlIGNvbmNhdGVuYXRpb24gaXMgbm90IGFsbG93ZWQuXG4gICAgaWYgKHhzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbnVtYmVyVmFsdWVBZGRlZFRvUmVmZXJlbmNlTGlzdCh4cyk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW4gPSBUb2tlbk1hcC5pbnN0YW5jZSgpLmxvb2t1cE51bWJlckxpc3QoeHMpO1xuICAgIGlmICh0b2tlbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4geHM7XG4gICAgfVxuICAgIHJldHVybiBjb250ZXh0LnJlc29sdmUodG9rZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGEgbWFwIHRva2VuXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZU1hcCh4czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSwgY29udGV4dDogSVJlc29sdmVDb250ZXh0KSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHhzKTtcbiAgICBpZiAoa2V5cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG1hcFZhbHVlQWRkZWRUb1JlZmVyZW5jZUxpc3QoSlNPTi5zdHJpbmdpZnkoeHMpKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHIgPSBUb2tlblN0cmluZy5mb3JNYXBUb2tlbihrZXlzWzBdKTtcbiAgICBjb25zdCB0b2tlbk1hcCA9IFRva2VuTWFwLmluc3RhbmNlKCk7XG4gICAgY29uc3QgZnJhZ21lbnRzID0gc3RyLnNwbGl0KHRva2VuTWFwLmxvb2t1cFRva2VuLmJpbmQodG9rZW5NYXApKTtcbiAgICBpZiAoZnJhZ21lbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgY2Fubm90Q29uY2F0ZW5hdGVTdHJpbmdzSW5Ub2tlbml6ZWRNYXAoeHNbMF0pO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFnbWVudHMubWFwVG9rZW5zKGNvbnRleHQpLmZpcnN0VmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -178,7 +178,7 @@ class TokenizedStringFragments {
178
178
  }
179
179
  exports.TokenizedStringFragments = TokenizedStringFragments;
180
180
  _a = JSII_RTTI_SYMBOL_1;
181
- TokenizedStringFragments[_a] = { fqn: "cdktn.TokenizedStringFragments", version: "0.22.0" };
181
+ TokenizedStringFragments[_a] = { fqn: "cdktn.TokenizedStringFragments", version: "0.22.1" };
182
182
  /**
183
183
  * Resolve the value from a single fragment
184
184
  *
@@ -134,7 +134,7 @@ class Token {
134
134
  }
135
135
  exports.Token = Token;
136
136
  _a = JSII_RTTI_SYMBOL_1;
137
- Token[_a] = { fqn: "cdktn.Token", version: "0.22.0" };
137
+ Token[_a] = { fqn: "cdktn.Token", version: "0.22.1" };
138
138
  /**
139
139
  * String Map token value representation
140
140
  */
@@ -256,5 +256,5 @@ class Tokenization {
256
256
  }
257
257
  exports.Tokenization = Tokenization;
258
258
  _b = JSII_RTTI_SYMBOL_1;
259
- Tokenization[_b] = { fqn: "cdktn.Tokenization", version: "0.22.0" };
259
+ Tokenization[_b] = { fqn: "cdktn.Tokenization", version: "0.22.1" };
260
260
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLGlDQUE4QjtBQUM5QixpREFBZ0Q7QUFDaEQsbURBQWdEO0FBQ2hELCtDQUE0QztBQUM1QyxtREFBK0M7QUFJL0M7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFLO0lBQ2hCOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVE7UUFDakMsT0FBTyxJQUFBLHFCQUFVLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVUsRUFBRSxVQUEyQixFQUFFO1FBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FDdkMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDbEIsT0FBTyxDQUFDLFdBQVcsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVTtRQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sb0JBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBVSxFQUFFLFVBQTJCLEVBQUU7UUFDNUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFD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QyxDQUFDLEtBQUs7U0FDdkUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBUTtRQUNqQyxPQUFPLENBQ0wsT0FBTyxHQUFHLEtBQUssUUFBUTtZQUN2QixHQUFHLEtBQUssSUFBSTtZQUNaLE9BQU8sR0FBRyxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQ2xDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQVM7UUFDckMsMEhBQTBIO1FBRTFILElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sV0FBSSxDQUFDLFdBQVcsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQ25CLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BDLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7Z0JBQ2pFLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7O0FBbEhILG9DQW1IQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4vLyBjb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2NvbnN0cnVjdHMvYmxvYi9lMDFlNDdmNzhlZjFlOWI2MDBlZmNkMjNmZjc3MDVhYThkMzg0MDE3L2xpYi90b2tlbi50c1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBMYXp5IH0gZnJvbSBcIi4vbGF6eVwiO1xuaW1wb3J0IHsgdW5yZXNvbHZlZCB9IGZyb20gXCIuL3ByaXZhdGUvZW5jb2RpbmdcIjtcbmltcG9ydCB7IEludHJpbnNpYyB9IGZyb20gXCIuL3ByaXZhdGUvaW50cmluc2ljXCI7XG5pbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcIi4vcHJpdmF0ZS9yZXNvbHZlXCI7XG5pbXBvcnQgeyBUb2tlbk1hcCB9IGZyb20gXCIuL3ByaXZhdGUvdG9rZW4tbWFwXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgSVRva2VuUmVzb2x2ZXIgfSBmcm9tIFwiLi9yZXNvbHZhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMgfSBmcm9tIFwiLi9zdHJpbmctZnJhZ21lbnRzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNwZWNpYWwgb3IgbGF6aWx5LWV2YWx1YXRlZCB2YWx1ZS5cbiAqXG4gKiBDYW4gYmUgdXNlZCB0byBkZWxheSBldmFsdWF0aW9uIG9mIGEgY2VydGFpbiB2YWx1ZSBpbiBjYXNlLCBmb3IgZXhhbXBsZSxcbiAqIHRoYXQgaXQgcmVxdWlyZXMgc29tZSBjb250ZXh0IG9yIGxhdGUtYm91bmQgZGF0YS4gQ2FuIGFsc28gYmUgdXNlZCB0b1xuICogbWFyayB2YWx1ZXMgdGhhdCBuZWVkIHNwZWNpYWwgcHJvY2Vzc2luZyBhdCBkb2N1bWVudCByZW5kZXJpbmcgdGltZS5cbiAqXG4gKiBUb2tlbnMgY2FuIGJlIGVtYmVkZGVkIGludG8gc3RyaW5ncyB3aGlsZSByZXRhaW5pbmcgdGhlaXIgb3JpZ2luYWxcbiAqIHNlbWFudGljcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBvYmogcmVwcmVzZW50cyBhbiB1bnJlc29sdmVkIHZhbHVlXG4gICAqXG4gICAqIE9uZSBvZiB0aGVzZSBtdXN0IGJlIHRydWU6XG4gICAqXG4gICAqIC0gYG9iamAgaXMgYW4gSVJlc29sdmFibGVcbiAgICogLSBgb2JqYCBpcyBhIHN0cmluZyBjb250YWluaW5nIGF0IGxlYXN0IG9uZSBlbmNvZGVkIGBJUmVzb2x2YWJsZWBcbiAgICogLSBgb2JqYCBpcyBlaXRoZXIgYW4gZW5jb2RlZCBudW1iZXIgb3IgbGlzdFxuICAgKlxuICAgKiBUaGlzIGRvZXMgTk9UIHJlY3Vyc2UgaW50byBsaXN0cyBvciBvYmplY3RzIHRvIHNlZSBpZiB0aGV5XG4gICAqIGNvbnRhaW5pbmcgcmVzb2x2YWJsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byB0ZXN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc1VucmVzb2x2ZWQob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdW5yZXNvbHZlZChvYmopO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICpcbiAgICogSWYgdGhlIFRva2VuIGlzIGluaXRpYWxpemVkIHdpdGggYSBsaXRlcmFsLCB0aGUgc3RyaW5naWZpZWQgdmFsdWUgb2YgdGhlXG4gICAqIGxpdGVyYWwgaXMgcmV0dXJuZWQuIE90aGVyd2lzZSwgYSBzcGVjaWFsIHF1b3RlZCBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICogb2YgdGhlIFRva2VuIGlzIHJldHVybmVkIHRoYXQgY2FuIGJlIGVtYmVkZGVkIGludG8gb3RoZXIgc3RyaW5ncy5cbiAgICpcbiAgICogU3RyaW5ncyB3aXRoIHF1b3RlZCBUb2tlbnMgaW4gdGhlbSBjYW4gYmUgcmVzdG9yZWQgYmFjayBpbnRvXG4gICAqIGNvbXBsZXggdmFsdWVzIHdpdGggdGhlIFRva2VucyByZXN0b3JlZCBieSBjYWxsaW5nIGByZXNvbHZlKClgXG4gICAqIG9uIHRoZSBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzU3RyaW5nKHZhbHVlOiBhbnksIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9KTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkucmVnaXN0ZXJTdHJpbmcoXG4gICAgICBUb2tlbi5hc0FueSh2YWx1ZSksXG4gICAgICBvcHRpb25zLmRpc3BsYXlIaW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBudW1iZXIgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc051bWJlcih2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnJlZ2lzdGVyTnVtYmVyKFRva2VuLmFzQW55KHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBsaXN0IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNMaXN0KHZhbHVlOiBhbnksIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9KTogc3RyaW5nW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5ldmVyeSgoeCkgPT4gdHlwZW9mIHggPT09IFwic3RyaW5nXCIpKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnJlZ2lzdGVyTGlzdChcbiAgICAgIFRva2VuLmFzQW55KHZhbHVlKSxcbiAgICAgIG9wdGlvbnMuZGlzcGxheUhpbnQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIGxpc3QgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc051bWJlckxpc3QodmFsdWU6IGFueSk6IG51bWJlcltdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUuZXZlcnkoKHgpID0+IHR5cGVvZiB4ID09PSBcIm51bWJlclwiKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5yZWdpc3Rlck51bWJlckxpc3QoVG9rZW4uYXNBbnkodmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG1hcCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzTWFwKFxuICAgIHZhbHVlOiBhbnksXG4gICAgbWFwVmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSxcbiAgKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgLy8gc2luY2UgdGhlIHJldHVybiB2YWx1ZSBpcyBiYXNpY2FsbHkgYW4gb2JqZWN0LCBqdXN0IGVuY29kZSBhbHdheXNcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5yZWdpc3Rlck1hcChcbiAgICAgIFRva2VuLmFzQW55KHZhbHVlKSxcbiAgICAgIG1hcFZhbHVlLFxuICAgICAgb3B0aW9ucy5kaXNwbGF5SGludCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmluZyBNYXAgdG9rZW4gdmFsdWUgcmVwcmVzZW50YXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RSSU5HX01BUF9UT0tFTl9WQUxVRSA9IFwiU3RyaW5nIE1hcCBUb2tlbiBWYWx1ZVwiO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG1hcCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzU3RyaW5nTWFwKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30sXG4gICk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB0aGlzLmFzTWFwKHZhbHVlLCBUb2tlbi5TVFJJTkdfTUFQX1RPS0VOX1ZBTFVFLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOdW1iZXIgTWFwIHRva2VuIHZhbHVlIHJlcHJlc2VudGF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5VTUJFUl9NQVBfVE9LRU5fVkFMVUUgPSAtMTIzNDU2Nzg5O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG1hcCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzTnVtYmVyTWFwKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30sXG4gICk6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0ge1xuICAgIHJldHVybiB0aGlzLmFzTWFwKHZhbHVlLCBUb2tlbi5OVU1CRVJfTUFQX1RPS0VOX1ZBTFVFLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG1hcCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzQm9vbGVhbk1hcChcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9LFxuICApOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIHRoaXMuYXNNYXAodmFsdWUsIHRydWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFueSBtYXAgdG9rZW4gcmVwcmVzZW50YXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQU5ZX01BUF9UT0tFTl9WQUxVRSA9IFwiQW55IE1hcCBUb2tlbiBWYWx1ZVwiO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG1hcCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzQW55TWFwKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30sXG4gICk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB0aGlzLmFzTWFwKHZhbHVlLCBUb2tlbi5BTllfTUFQX1RPS0VOX1ZBTFVFLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXNvbHZhYmxlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBnaXZlbiB2YWx1ZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc0FueSh2YWx1ZTogYW55KTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbml6YXRpb24uaXNSZXNvbHZhYmxlKHZhbHVlKSA/IHZhbHVlIDogbmV3IEludHJpbnNpYyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgVG9rZW4gY29udGFpbmluZyBhIGBudWxsYCB2YWx1ZVxuICAgKlxuICAgKiBOb3RlOiBUaGlzIGlzIGRpZmZlcmVudCB0aGFuIGB1bmRlZmluZWRgLCBgbmlsYCwgYE5vbmVgIG9yIHNpbWlsYXJcbiAgICogYXMgaXQgd2lsbCBlbmQgdXAgaW4gdGhlIFRlcnJhZm9ybSBjb25maWcgYW5kIGNhbiBiZSB1c2VkIHRvIGV4cGxpY2l0bHlcbiAgICogbm90IHNldCBhbiBhdHRyaWJ1dGUgKHdoaWNoIGlzIHNvbWV0aW1lcyByZXF1aXJlZCBieSBUZXJyYWZvcm0gcHJvdmlkZXJzKVxuICAgKlxuICAgKiBAcmV0dXJucyBhIFRva2VuIHJlc29sdmluZyB0byBgbnVsbGAgYXMgdW5kZXJzdG9vZCBieSBUZXJyYWZvcm1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbnVsbFZhbHVlKCk6IElSZXNvbHZhYmxlIHtcbiAgICAvLyBwYXNzaW5nIG51bGwgd29ya3MgaW4gVHlwZXNjcmlwdCwgdGhpcyBpcyB3aHkgd2UgY2FuIGRvIHRoaXMgaGVyZVxuICAgIC8vIGJ1dCB1c2VycyB3b3VsZG4ndCBiZSBhYmxlIHRvIGNhbGwgZS5nLiBUb2tlbi5hc19hbnkoTm9uZSkgaW4gUHl0aG9uXG4gICAgcmV0dXJuIFRva2VuLmFzQW55KG51bGwpO1xuICB9XG59XG5cbi8qKlxuICogTGVzcyBvZnQtbmVlZGVkIGZ1bmN0aW9ucyB0byBtYW5pcHVsYXRlIFRva2Vuc1xuICovXG5leHBvcnQgY2xhc3MgVG9rZW5pemF0aW9uIHtcbiAgLyoqXG4gICAqIFJldmVyc2UgYW55IHZhbHVlIGludG8gUmVzb2x2YWJsZXMsIGlmIHBvc3NpYmxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2UoeDogYW55KTogSVJlc29sdmFibGVbXSB7XG4gICAgaWYgKFRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoeCkpIHtcbiAgICAgIHJldHVybiBbeF07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgeCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uc3QgcmV2ZXJzZWRTdHJpbmcgPSBUb2tlbml6YXRpb24ucmV2ZXJzZVN0cmluZyh4KTtcbiAgICAgIHJldHVybiBbLi4ucmV2ZXJzZWRTdHJpbmcudG9rZW5zLCAuLi5yZXZlcnNlZFN0cmluZy5pbnRyaW5zaWNdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh4KSkge1xuICAgICAgY29uc3QgcmV2ZXJzZWRMaXN0ID0gVG9rZW5pemF0aW9uLnJldmVyc2VMaXN0KHgpO1xuICAgICAgaWYgKHJldmVyc2VkTGlzdCkge1xuICAgICAgICByZXR1cm4gW3JldmVyc2VkTGlzdF07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJldmVyc2VkTnVtYmVyTGlzdCA9IFRva2VuaXphdGlvbi5yZXZlcnNlTnVtYmVyTGlzdCh4KTtcbiAgICAgIHJldHVybiByZXZlcnNlZE51bWJlckxpc3QgPyBbcmV2ZXJzZWROdW1iZXJMaXN0XSA6IFtdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIGNvbnN0IHJldmVyc2VkTnVtYmVyID0gVG9rZW5pemF0aW9uLnJldmVyc2VOdW1iZXIoeCk7XG4gICAgICByZXR1cm4gcmV2ZXJzZWROdW1iZXIgPyBbcmV2ZXJzZWROdW1iZXJdIDogW107XG4gICAgfVxuICAgIGlmICh0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiB4ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCByZXZlcnNlZE1hcCA9IFRva2VuaXphdGlvbi5yZXZlcnNlTWFwKHgpO1xuICAgICAgcmV0dXJuIHJldmVyc2VkTWFwID8gW3JldmVyc2VkTWFwXSA6IFtdO1xuICAgIH1cblxuICAgIHJldHVybiBbXTsgLy8gbnVsbCBvciB1bmRlZmluZWQgY2Fubm90IGJlIHJldmVyc2VkXG4gIH1cblxuICAvKipcbiAgICogVW4tZW5jb2RlIGEgc3RyaW5nIHBvdGVudGlhbGx5IGNvbnRhaW5pbmcgZW5jb2RlZCB0b2tlbnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZVN0cmluZyhzOiBzdHJpbmcpOiBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMge1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnNwbGl0U3RyaW5nKHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuLWVuY29kZSBhIFRva2VuaXplZCB2YWx1ZSBmcm9tIGEgbnVtYmVyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2VOdW1iZXIobjogbnVtYmVyKTogSVJlc29sdmFibGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLmxvb2t1cE51bWJlclRva2VuKG4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuLWVuY29kZSBhIFRva2VuaXplZCB2YWx1ZSBmcm9tIGEgbGlzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlTGlzdChsOiBzdHJpbmdbXSk6IElSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5sb29rdXBMaXN0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuLWVuY29kZSBhIFRva2VuaXplZCB2YWx1ZSBmcm9tIGEgbGlzdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlTnVtYmVyTGlzdChsOiBudW1iZXJbXSk6IElSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5sb29rdXBOdW1iZXJMaXN0KGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuLWVuY29kZSBhIFRva2VuaXplZCB2YWx1ZSBmcm9tIGEgbWFwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2VNYXAobTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IElSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5sb29rdXBNYXAobSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgYW4gb2JqZWN0IGJ5IGV2YWx1YXRpbmcgYWxsIHRva2VucyBhbmQgcmVtb3ZpbmcgYW55IHVuZGVmaW5lZCBvciBlbXB0eSBvYmplY3RzIG9yIGFycmF5cy5cbiAgICogVmFsdWVzIGNhbiBvbmx5IGJlIHByaW1pdGl2ZXMsIGFycmF5cyBvciB0b2tlbnMuIE90aGVyIG9iamVjdHMgKGkuZS4gd2l0aCBtZXRob2RzKSB3aWxsIGJlIHJlamVjdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gcmVzb2x2ZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgUHJlZml4IGtleSBwYXRoIGNvbXBvbmVudHMgZm9yIGRpYWdub3N0aWNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXNvbHZlKG9iajogYW55LCBvcHRpb25zOiBSZXNvbHZlT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHJlc29sdmUob2JqLCB7XG4gICAgICBzY29wZTogb3B0aW9ucy5zY29wZSxcbiAgICAgIHJlc29sdmVyOiBvcHRpb25zLnJlc29sdmVyLFxuICAgICAgcHJlcGFyaW5nOiBvcHRpb25zLnByZXBhcmluZyAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5wcmVwYXJpbmcgOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFuIElSZXNvbHZhYmxlIG9iamVjdFxuICAgKlxuICAgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIFRva2VuLmlzVW5yZXNvbHZlZCgpIHdoaWNoIHdpbGwgYWxzbyBjaGVjayBmb3JcbiAgICogZW5jb2RlZCBUb2tlbnMsIHdoZXJlYXMgdGhpcyBtZXRob2Qgd2lsbCBvbmx5IGRvIGEgdHlwZSBjaGVjayBvbiB0aGUgZ2l2ZW5cbiAgICogb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc1Jlc29sdmFibGUob2JqOiBhbnkpOiBvYmogaXMgSVJlc29sdmFibGUge1xuICAgIHJldHVybiAoXG4gICAgICB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiICYmXG4gICAgICBvYmogIT09IG51bGwgJiZcbiAgICAgIHR5cGVvZiBvYmoucmVzb2x2ZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmdpZnkgYSBudW1iZXIgZGlyZWN0bHkgb3IgbGF6aWx5IGlmIGl0J3MgYSBUb2tlbi4gSWYgaXQgaXMgYW4gb2JqZWN0IChpLmUuLCB7IFJlZjogJ1NvbWVMb2dpY2FsSWQnIH0pLCByZXR1cm4gaXQgYXMtaXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHN0cmluZ2lmeU51bWJlcih4OiBudW1iZXIpIHtcbiAgICAvLyBvbmx5IGNvbnZlcnQgbnVtYmVycyB0byBzdHJpbmdzIHNvIHRoYXQgUmVmcywgY29uZGl0aW9ucywgYW5kIG90aGVyIHRoaW5ncyBkb24ndCBlbmQgdXAgc3ludGhlc2l6aW5nIGFzIFtvYmplY3Qgb2JqZWN0XVxuXG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZCh4KSkge1xuICAgICAgcmV0dXJuIExhenkuc3RyaW5nVmFsdWUoe1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gY29udGV4dC5yZXNvbHZlKHgpO1xuICAgICAgICAgIHJldHVybiB0eXBlb2YgcmVzb2x2ZWQgIT09IFwibnVtYmVyXCIgPyByZXNvbHZlZCA6IGAke3Jlc29sdmVkfWA7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHR5cGVvZiB4ICE9PSBcIm51bWJlclwiID8geCA6IGAke3h9YDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIHRoZSByZXNvbHZlKCkgb3BlcmF0aW9uXG4gKlxuICogTk9UIHRoZSBzYW1lIGFzIHRoZSBSZXNvbHZlQ29udGV4dDsgUmVzb2x2ZUNvbnRleHQgaXMgZXhwb3NlZCB0byBUb2tlblxuICogaW1wbGVtZW50b3JzIGFuZCByZXNvbHV0aW9uIGhvb2tzLCB3aGVyZWFzIHRoaXMgc3RydWN0IGlzIGp1c3QgdG8gYnVuZGxlXG4gKiBhIG51bWJlciBvZiB0aGluZ3MgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgYXJndW1lbnRzIHRvIHJlc29sdmUoKSBpbiBhXG4gKiByZWFkYWJsZSB3YXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNjb3BlIGZyb20gd2hpY2ggcmVzb2x1dGlvbiBpcyBwZXJmb3JtZWRcbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBJQ29uc3RydWN0O1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb2x2ZXIgdG8gYXBwbHkgdG8gYW55IHJlc29sdmFibGUgdG9rZW5zIGZvdW5kXG4gICAqL1xuICByZWFkb25seSByZXNvbHZlcjogSVRva2VuUmVzb2x2ZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJlc29sdXRpb24gaXMgYmVpbmcgZXhlY3V0ZWQgZHVyaW5nIHRoZSBwcmVwYXJlIHBoYXNlIG9yIG5vdC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByZXBhcmluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBzdHJpbmcgZW5jb2RpbmdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5jb2RpbmdPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgaGludCBmb3IgdGhlIFRva2VuJ3MgcHVycG9zZSB3aGVuIHN0cmluZ2lmeWluZyBpdFxuICAgKiBAZGVmYXVsdCAtIG5vIGRpc3BsYXkgaGludFxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheUhpbnQ/OiBzdHJpbmc7XG59XG4iXX0=