cdktn 0.25.0-pre.2 → 0.25.0-pre.21

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 (86) hide show
  1. package/.jsii +927 -107
  2. package/lib/annotations.js +4 -4
  3. package/lib/app.js +54 -5
  4. package/lib/aspect.js +3 -4
  5. package/lib/asset-hash.d.ts +75 -0
  6. package/lib/asset-hash.js +129 -0
  7. package/lib/assets.d.ts +168 -0
  8. package/lib/assets.js +128 -0
  9. package/lib/backends/azurerm-backend.js +4 -6
  10. package/lib/backends/cloud-backend.js +10 -10
  11. package/lib/backends/consul-backend.js +4 -6
  12. package/lib/backends/cos-backend.js +4 -6
  13. package/lib/backends/gcs-backend.js +4 -6
  14. package/lib/backends/http-backend.js +4 -6
  15. package/lib/backends/local-backend.js +38 -7
  16. package/lib/backends/oss-backend.js +4 -6
  17. package/lib/backends/pg-backend.js +4 -6
  18. package/lib/backends/remote-backend.js +8 -10
  19. package/lib/backends/s3-backend.js +4 -6
  20. package/lib/backends/swift-backend.js +4 -6
  21. package/lib/complex-computed-list.js +114 -65
  22. package/lib/errors.d.ts +6 -0
  23. package/lib/errors.js +24 -3
  24. package/lib/functions/provider-function.js +2 -4
  25. package/lib/functions/terraform-functions.generated.js +2 -4
  26. package/lib/ignore-strategy.d.ts +82 -0
  27. package/lib/ignore-strategy.js +29 -0
  28. package/lib/importable-resource.js +3 -4
  29. package/lib/index.d.ts +3 -0
  30. package/lib/index.js +27 -2
  31. package/lib/manifest.js +56 -14
  32. package/lib/private/fs.d.ts +74 -2
  33. package/lib/private/fs.js +129 -17
  34. package/lib/private/unique.js +35 -2
  35. package/lib/resource.js +3 -4
  36. package/lib/synthesize/synthesizer.js +43 -4
  37. package/lib/terraform-asset.d.ts +33 -2
  38. package/lib/terraform-asset.js +118 -34
  39. package/lib/terraform-backend.js +3 -4
  40. package/lib/terraform-count.js +3 -4
  41. package/lib/terraform-data-resource.js +12 -10
  42. package/lib/terraform-data-source.js +10 -4
  43. package/lib/terraform-dynamic-block.js +5 -2
  44. package/lib/terraform-dynamic-expression.js +4 -1
  45. package/lib/terraform-element.js +34 -6
  46. package/lib/terraform-ephemeral-resource.js +10 -4
  47. package/lib/terraform-functions.js +2 -4
  48. package/lib/terraform-hcl-module.js +3 -4
  49. package/lib/terraform-iterator.js +11 -12
  50. package/lib/terraform-local.js +3 -4
  51. package/lib/terraform-module-asset.js +45 -5
  52. package/lib/terraform-module.js +8 -4
  53. package/lib/terraform-operators.js +2 -4
  54. package/lib/terraform-output.js +7 -4
  55. package/lib/terraform-provider.js +5 -4
  56. package/lib/terraform-provisioner.js +2 -4
  57. package/lib/terraform-remote-state.js +5 -5
  58. package/lib/terraform-resource-targets.js +3 -7
  59. package/lib/terraform-resource.js +16 -5
  60. package/lib/terraform-stack.js +38 -38
  61. package/lib/terraform-variable.js +25 -22
  62. package/lib/testing/index.js +42 -8
  63. package/lib/testing/matchers.js +39 -6
  64. package/lib/tfExpression.js +25 -8
  65. package/lib/tokens/lazy.js +11 -7
  66. package/lib/tokens/private/dependency.js +2 -2
  67. package/lib/tokens/private/encoding.js +6 -1
  68. package/lib/tokens/private/intrinsic.js +6 -1
  69. package/lib/tokens/private/resolve.js +2 -5
  70. package/lib/tokens/private/token-map.js +4 -6
  71. package/lib/tokens/private/uniqueid.js +35 -2
  72. package/lib/tokens/resolvable.js +4 -6
  73. package/lib/tokens/string-fragments.js +6 -10
  74. package/lib/tokens/token.js +15 -18
  75. package/lib/upgrade-id-aspect.js +37 -6
  76. package/lib/validations/target-versions.js +39 -2
  77. package/lib/validations/validate-binary-version.js +39 -2
  78. package/lib/validations/validate-function-version-support.js +2 -1
  79. package/lib/validations/validate-provider-function-target-support.js +2 -1
  80. package/lib/validations/validate-provider-presence.js +10 -9
  81. package/lib/validations/validate-terraform-version.js +3 -1
  82. package/package.json +5 -5
  83. package/scripts/pack.mjs +57 -15
  84. package/lib/tsconfig.tsbuildinfo +0 -1
  85. package/tsconfig.json +0 -40
  86. package/tsconfig.test.json +0 -12
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.TokenizedStringFragments = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -9,12 +8,11 @@ const token_1 = require("./token");
9
8
  * @experimental
10
9
  */
11
10
  class TokenizedStringFragments {
12
- constructor() {
13
- /**
14
- * Fragments in the tokenized string
15
- */
16
- this.fragments = new Array();
17
- }
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.TokenizedStringFragments", version: "0.25.0-pre.21" };
12
+ /**
13
+ * Fragments in the tokenized string
14
+ */
15
+ fragments = new Array();
18
16
  /**
19
17
  * Returns the first token.
20
18
  */
@@ -177,8 +175,6 @@ class TokenizedStringFragments {
177
175
  }
178
176
  }
179
177
  exports.TokenizedStringFragments = TokenizedStringFragments;
180
- _a = JSII_RTTI_SYMBOL_1;
181
- TokenizedStringFragments[_a] = { fqn: "cdktn.TokenizedStringFragments", version: "0.25.0-pre.2" };
182
178
  /**
183
179
  * Resolve the value from a single fragment
184
180
  *
@@ -196,4 +192,4 @@ function fragmentValue(fragment) {
196
192
  return fragment.value;
197
193
  }
198
194
  }
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZyYWdtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbnMvc3RyaW5nLWZyYWdtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLG1DQUF1QztBQWlCdkM7OztHQUdHO0FBQ0gsTUFBYSx3QkFBd0I7SUFBckM7UUFDRTs7V0FFRztRQUNjLGNBQVMsR0FBRyxJQUFJLEtBQUssRUFBWSxDQUFDO0tBaUxwRDtJQS9LQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLEdBQVE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxLQUFrQjtRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksWUFBWSxDQUFDLEtBQVU7UUFD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U0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDekIsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpELE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQzs7QUFwTEgsNERBcUxDOzs7QUFjRDs7OztHQUlHO0FBQ0gsU0FBUyxhQUFhLENBQUMsUUFBa0I7SUFDdkMsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsS0FBSyxTQUFTO1lBQ1osT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3RCLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9DLEtBQUssT0FBTztZQUNWLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxLQUFLLFdBQVc7WUFDZCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzL2Jsb2IvZTAxZTQ3Zjc4ZWYxZTliNjAwZWZjZDIzZmY3NzA1YWE4ZDM4NDAxNy9saWIvc3RyaW5nLWZyYWdtZW50cy50c1xuaW1wb3J0IHtcbiAgSUZyYWdtZW50Q29uY2F0ZW5hdG9yLFxuICBJUmVzb2x2YWJsZSxcbiAgSVJlc29sdmVDb250ZXh0LFxufSBmcm9tIFwiLi9yZXNvbHZhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbml6YXRpb24gfSBmcm9tIFwiLi90b2tlblwiO1xuXG4vKipcbiAqIFJlc3VsdCBvZiB0aGUgc3BsaXQgb2YgYSBzdHJpbmcgd2l0aCBUb2tlbnNcbiAqXG4gKiBFaXRoZXIgYSBsaXRlcmFsIHBhcnQgb2YgdGhlIHN0cmluZywgb3IgYW4gdW5yZXNvbHZlZCBUb2tlbi5cbiAqL1xudHlwZSBMaXRlcmFsRnJhZ21lbnQgPSB7IHR5cGU6IFwibGl0ZXJhbFwiOyBsaXQ6IGFueSB9O1xudHlwZSBUb2tlbkZyYWdtZW50ID0geyB0eXBlOiBcInRva2VuXCI7IHRva2VuOiBJUmVzb2x2YWJsZSB9O1xudHlwZSBJbnRyaW5zaWNGcmFnbWVudCA9IHsgdHlwZTogXCJpbnRyaW5zaWNcIjsgdmFsdWU6IGFueSB9O1xudHlwZSBFc2NhcGVGcmFnbWVudCA9IHsgdHlwZTogXCJlc2NhcGVcIjsga2luZDogXCJvcGVuXCIgfCBcImNsb3NlXCIgfTtcbnR5cGUgRnJhZ21lbnQgPVxuICB8IExpdGVyYWxGcmFnbWVudFxuICB8IFRva2VuRnJhZ21lbnRcbiAgfCBJbnRyaW5zaWNGcmFnbWVudFxuICB8IEVzY2FwZUZyYWdtZW50O1xuXG4vKipcbiAqIEZyYWdtZW50cyBvZiBhIGNvbmNhdGVuYXRlZCBzdHJpbmcgY29udGFpbmluZyBzdHJpbmdpZmllZCBUb2tlbnNcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuaXplZFN0cmluZ0ZyYWdtZW50cyB7XG4gIC8qKlxuICAgKiBGcmFnbWVudHMgaW4gdGhlIHRva2VuaXplZCBzdHJpbmdcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZnJhZ21lbnRzID0gbmV3IEFycmF5PEZyYWdtZW50PigpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaXJzdCB0b2tlbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgZmlyc3RUb2tlbigpOiBJUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgZmlyc3QgPSB0aGlzLmZyYWdtZW50c1swXTtcbiAgICBpZiAoZmlyc3QudHlwZSA9PT0gXCJ0b2tlblwiKSB7XG4gICAgICByZXR1cm4gZmlyc3QudG9rZW47XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmlyc3QgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZpcnN0VmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gZnJhZ21lbnRWYWx1ZSh0aGlzLmZyYWdtZW50c1swXSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgbGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmZyYWdtZW50cy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGxpdGVyYWwgZnJhZ21lbnRcbiAgICogQHBhcmFtIGxpdCB0aGUgbGl0ZXJhbCB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRMaXRlcmFsKGxpdDogYW55KSB7XG4gICAgdGhpcy5mcmFnbWVudHMucHVzaCh7IHR5cGU6IFwibGl0ZXJhbFwiLCBsaXQgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHRva2VuIGZyYWdtZW50XG4gICAqIEBwYXJhbSB0b2tlbiB0aGUgdG9rZW4gdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYWRkVG9rZW4odG9rZW46IElSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5mcmFnbWVudHMucHVzaCh7IHR5cGU6IFwidG9rZW5cIiwgdG9rZW4gfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBpbnRyaW5zaWMgZnJhZ21lbnRcbiAgICogQHBhcmFtIHZhbHVlIHRoZSBpbnRyaW5zaWMgdmFsdWUgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYWRkSW50cmluc2ljKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZyYWdtZW50cy5wdXNoKHsgdHlwZTogXCJpbnRyaW5zaWNcIiwgdmFsdWUgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkRXNjYXBlKGtpbmQ6IFwib3BlblwiIHwgXCJjbG9zZVwiKSB7XG4gICAgdGhpcy5mcmFnbWVudHMucHVzaCh7IHR5cGU6IFwiZXNjYXBlXCIsIGtpbmQgfSk7XG4gIH1cblxuICBwdWJsaWMgY29uY2F0KG90aGVyOiBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMpOiB2b2lkIHtcbiAgICB0aGlzLmZyYWdtZW50cy5wdXNoKC4uLm90aGVyLmZyYWdtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBUb2tlbnMgZnJvbSB0aGlzIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIGdldCB0b2tlbnMoKTogSVJlc29sdmFibGVbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElSZXNvbHZhYmxlPigpO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLmZyYWdtZW50cykge1xuICAgICAgaWYgKGYudHlwZSA9PT0gXCJ0b2tlblwiKSB7XG4gICAgICAgIHJldC5wdXNoKGYudG9rZW4pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgbGl0ZXJhbHMgZnJvbSB0aGlzIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIGdldCBsaXRlcmFscygpOiBJUmVzb2x2YWJsZVtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8SVJlc29sdmFibGU+KCk7XG4gICAgZm9yIChjb25zdCBmIG9mIHRoaXMuZnJhZ21lbnRzKSB7XG4gICAgICBpZiAoZi50eXBlID09PSBcImxpdGVyYWxcIikge1xuICAgICAgICByZXQucHVzaChmLmxpdCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBpbnRyaW5zaWMgZnJhZ21lbnRzIGZyb20gdGhpcyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBnZXQgaW50cmluc2ljKCk6IElSZXNvbHZhYmxlW10ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxJUmVzb2x2YWJsZT4oKTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5mcmFnbWVudHMpIHtcbiAgICAgIGlmIChmLnR5cGUgPT09IFwiaW50cmluc2ljXCIpIHtcbiAgICAgICAgcmV0LnB1c2goZi52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGFsbCBlc2NhcGUgZnJhZ21lbnRzIGZyb20gdGhpcyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBnZXQgZXNjYXBlcygpOiBJUmVzb2x2YWJsZVtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8SVJlc29sdmFibGU+KCk7XG4gICAgZm9yIChjb25zdCBmIG9mIHRoaXMuZnJhZ21lbnRzKSB7XG4gICAgICBpZiAoZi50eXBlID09PSBcImVzY2FwZVwiKSB7XG4gICAgICAgIGlmIChmLmtpbmQgPT09IFwib3BlblwiKSByZXQucHVzaChcIiR7XCIgYXMgYW55KTtcbiAgICAgICAgZWxzZSByZXQucHVzaChcIn1cIiBhcyBhbnkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gdG8gYWxsIHRva2VucyBpbiB0aGUgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgbWFwVG9rZW5zKGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCk6IFRva2VuaXplZFN0cmluZ0ZyYWdtZW50cyB7XG4gICAgY29uc3QgcmV0ID0gbmV3IFRva2VuaXplZFN0cmluZ0ZyYWdtZW50cygpO1xuICAgIGNvbnN0IG9yaWdpbmFsU3VwcmVzc0JyYWNlcyA9IGNvbnRleHQuc3VwcHJlc3NCcmFjZXM7XG5cbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5mcmFnbWVudHMpIHtcbiAgICAgIHN3aXRjaCAoZi50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICAgICAgcmV0LmFkZExpdGVyYWwoZi5saXQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiZXNjYXBlXCI6XG4gICAgICAgICAgaWYgKGNvbnRleHQuaWdub3JlRXNjYXBlcykge1xuICAgICAgICAgICAgcmV0LmFkZExpdGVyYWwoZi5raW5kID09PSBcIm9wZW5cIiA/IFwiJHtcIiA6IFwifVwiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldC5hZGRFc2NhcGUoZi5raW5kKTtcbiAgICAgICAgICBpZiAoZi5raW5kID09PSBcIm9wZW5cIikge1xuICAgICAgICAgICAgY29udGV4dC5zdXBwcmVzc0JyYWNlcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRleHQuc3VwcHJlc3NCcmFjZXMgPSBvcmlnaW5hbFN1cHJlc3NCcmFjZXM7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwidG9rZW5cIjpcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY2FzZS1kZWNsYXJhdGlvbnNcbiAgICAgICAgICBjb25zdCBtYXBwZWQgPSBjb250ZXh0LnJlc29sdmUoZi50b2tlbik7XG4gICAgICAgICAgaWYgKFRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUobWFwcGVkKSkge1xuICAgICAgICAgICAgcmV0LmFkZFRva2VuKG1hcHBlZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldC5hZGRJbnRyaW5zaWMobWFwcGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJpbnRyaW5zaWNcIjpcbiAgICAgICAgICByZXQuYWRkSW50cmluc2ljKGYudmFsdWUpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZSB0aGUgc3RyaW5nIGZyYWdtZW50cyB1c2luZyB0aGUgZ2l2ZW4gam9pbmVyLlxuICAgKlxuICAgKiBJZiB0aGVyZSBhcmUgYW55XG4gICAqL1xuICBwdWJsaWMgam9pbihjb25jYXQ6IElGcmFnbWVudENvbmNhdGVuYXRvcik6IGFueSB7XG4gICAgaWYgKHRoaXMuZnJhZ21lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGNvbmNhdC5qb2luKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZnJhZ21lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlyc3RWYWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmZyYWdtZW50cy5tYXAoZnJhZ21lbnRWYWx1ZSk7XG5cbiAgICB3aGlsZSAodmFsdWVzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHZhbHVlcy5zcGxpY2UoMCwgMik7XG4gICAgICB2YWx1ZXMuc3BsaWNlKDAsIDAsIGNvbmNhdC5qb2luKHByZWZpeFswXSwgcHJlZml4WzFdKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlc1swXTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSB0byBhcHBseSBvcGVyYXRpb24gdG8gdG9rZW5zIGluIGEgc3RyaW5nXG4gKlxuICogSW50ZXJmYWNlIHNvIGl0IGNhbiBiZSBleHBvcnRlZCB2aWEganNpaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9rZW5NYXBwZXIge1xuICAvKipcbiAgICogUmVwbGFjZSBhIHNpbmdsZSB0b2tlblxuICAgKi9cbiAgbWFwVG9rZW4odDogSVJlc29sdmFibGUpOiBhbnk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgdmFsdWUgZnJvbSBhIHNpbmdsZSBmcmFnbWVudFxuICpcbiAqIElmIHRoZSBmcmFnbWVudCBpcyBhIFRva2VuLCByZXR1cm4gdGhlIHN0cmluZyBlbmNvZGluZyBvZiB0aGUgVG9rZW4uXG4gKi9cbmZ1bmN0aW9uIGZyYWdtZW50VmFsdWUoZnJhZ21lbnQ6IEZyYWdtZW50KTogYW55IHtcbiAgc3dpdGNoIChmcmFnbWVudC50eXBlKSB7XG4gICAgY2FzZSBcImxpdGVyYWxcIjpcbiAgICAgIHJldHVybiBmcmFnbWVudC5saXQ7XG4gICAgY2FzZSBcImVzY2FwZVwiOlxuICAgICAgcmV0dXJuIGZyYWdtZW50LmtpbmQgPT09IFwib3BlblwiID8gXCIke1wiIDogXCJ9XCI7XG4gICAgY2FzZSBcInRva2VuXCI6XG4gICAgICByZXR1cm4gZnJhZ21lbnQudG9rZW4udG9TdHJpbmcoKTtcbiAgICBjYXNlIFwiaW50cmluc2ljXCI6XG4gICAgICByZXR1cm4gZnJhZ21lbnQudmFsdWU7XG4gIH1cbn1cbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZyYWdtZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2tlbnMvc3RyaW5nLWZyYWdtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBUUEsbUNBQXVDO0FBY3ZDOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCOztJQUNuQzs7T0FFRztJQUNjLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBWSxDQUFDO0lBRW5EOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsR0FBUTtRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxDQUFDLEtBQWtCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBVTtRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sU0FBUyxDQUFDLElBQXNCO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBK0I7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFNBQVM7UUFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBVyxDQUFDLENBQUM7O29CQUN4QyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQVUsQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsT0FBd0I7UUFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQzNDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVyRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQixRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZixLQUFLLFNBQVM7b0JBQ1osR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RCLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO3dCQUMxQixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMvQyxNQUFNO29CQUNSLENBQUM7b0JBRUQsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQzt3QkFDdEIsT0FBTyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7b0JBQ2hDLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixPQUFPLENBQUMsY0FBYyxHQUFHLHFCQUFxQixDQUFDO29CQUNqRCxDQUFDO29CQUNELE1BQU07Z0JBQ1IsS0FBSyxPQUFPO29CQUNWLGdEQUFnRDtvQkFDaEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3hDLElBQUksb0JBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDdEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdkIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzNCLENBQUM7b0JBQ0QsTUFBTTtnQkFDUixLQUFLLFdBQVc7b0JBQ2QsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzFCLE1BQU07WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxJQUFJLENBQUMsTUFBNkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFakQsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDOztBQXBMSCw0REFxTEM7QUFjRDs7OztHQUlHO0FBQ0gsU0FBUyxhQUFhLENBQUMsUUFBa0I7SUFDdkMsUUFBUSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsS0FBSyxTQUFTO1lBQ1osT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3RCLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQy9DLEtBQUssT0FBTztZQUNWLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxLQUFLLFdBQVc7WUFDZCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzL2Jsb2IvZTAxZTQ3Zjc4ZWYxZTliNjAwZWZjZDIzZmY3NzA1YWE4ZDM4NDAxNy9saWIvc3RyaW5nLWZyYWdtZW50cy50c1xuaW1wb3J0IHtcbiAgSUZyYWdtZW50Q29uY2F0ZW5hdG9yLFxuICBJUmVzb2x2YWJsZSxcbiAgSVJlc29sdmVDb250ZXh0LFxufSBmcm9tIFwiLi9yZXNvbHZhYmxlXCI7XG5pbXBvcnQgeyBUb2tlbml6YXRpb24gfSBmcm9tIFwiLi90b2tlblwiO1xuXG4vKipcbiAqIFJlc3VsdCBvZiB0aGUgc3BsaXQgb2YgYSBzdHJpbmcgd2l0aCBUb2tlbnNcbiAqXG4gKiBFaXRoZXIgYSBsaXRlcmFsIHBhcnQgb2YgdGhlIHN0cmluZywgb3IgYW4gdW5yZXNvbHZlZCBUb2tlbi5cbiAqL1xudHlwZSBMaXRlcmFsRnJhZ21lbnQgPSB7IHR5cGU6IFwibGl0ZXJhbFwiOyBsaXQ6IGFueSB9O1xudHlwZSBUb2tlbkZyYWdtZW50ID0geyB0eXBlOiBcInRva2VuXCI7IHRva2VuOiBJUmVzb2x2YWJsZSB9O1xudHlwZSBJbnRyaW5zaWNGcmFnbWVudCA9IHsgdHlwZTogXCJpbnRyaW5zaWNcIjsgdmFsdWU6IGFueSB9O1xudHlwZSBFc2NhcGVGcmFnbWVudCA9IHsgdHlwZTogXCJlc2NhcGVcIjsga2luZDogXCJvcGVuXCIgfCBcImNsb3NlXCIgfTtcbnR5cGUgRnJhZ21lbnQgPVxuICBMaXRlcmFsRnJhZ21lbnQgfCBUb2tlbkZyYWdtZW50IHwgSW50cmluc2ljRnJhZ21lbnQgfCBFc2NhcGVGcmFnbWVudDtcblxuLyoqXG4gKiBGcmFnbWVudHMgb2YgYSBjb25jYXRlbmF0ZWQgc3RyaW5nIGNvbnRhaW5pbmcgc3RyaW5naWZpZWQgVG9rZW5zXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMge1xuICAvKipcbiAgICogRnJhZ21lbnRzIGluIHRoZSB0b2tlbml6ZWQgc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZyYWdtZW50cyA9IG5ldyBBcnJheTxGcmFnbWVudD4oKTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmlyc3QgdG9rZW4uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZpcnN0VG9rZW4oKTogSVJlc29sdmFibGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5mcmFnbWVudHNbMF07XG4gICAgaWYgKGZpcnN0LnR5cGUgPT09IFwidG9rZW5cIikge1xuICAgICAgcmV0dXJuIGZpcnN0LnRva2VuO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpcnN0IHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGdldCBmaXJzdFZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIGZyYWdtZW50VmFsdWUodGhpcy5mcmFnbWVudHNbMF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBmcmFnbWVudHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5mcmFnbWVudHMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBsaXRlcmFsIGZyYWdtZW50XG4gICAqIEBwYXJhbSBsaXQgdGhlIGxpdGVyYWwgdG8gYWRkXG4gICAqL1xuICBwdWJsaWMgYWRkTGl0ZXJhbChsaXQ6IGFueSkge1xuICAgIHRoaXMuZnJhZ21lbnRzLnB1c2goeyB0eXBlOiBcImxpdGVyYWxcIiwgbGl0IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB0b2tlbiBmcmFnbWVudFxuICAgKiBAcGFyYW0gdG9rZW4gdGhlIHRva2VuIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIGFkZFRva2VuKHRva2VuOiBJUmVzb2x2YWJsZSkge1xuICAgIHRoaXMuZnJhZ21lbnRzLnB1c2goeyB0eXBlOiBcInRva2VuXCIsIHRva2VuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gaW50cmluc2ljIGZyYWdtZW50XG4gICAqIEBwYXJhbSB2YWx1ZSB0aGUgaW50cmluc2ljIHZhbHVlIHRvIGFkZFxuICAgKi9cbiAgcHVibGljIGFkZEludHJpbnNpYyh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5mcmFnbWVudHMucHVzaCh7IHR5cGU6IFwiaW50cmluc2ljXCIsIHZhbHVlIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEVzY2FwZShraW5kOiBcIm9wZW5cIiB8IFwiY2xvc2VcIikge1xuICAgIHRoaXMuZnJhZ21lbnRzLnB1c2goeyB0eXBlOiBcImVzY2FwZVwiLCBraW5kIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbmNhdChvdGhlcjogVG9rZW5pemVkU3RyaW5nRnJhZ21lbnRzKTogdm9pZCB7XG4gICAgdGhpcy5mcmFnbWVudHMucHVzaCguLi5vdGhlci5mcmFnbWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgVG9rZW5zIGZyb20gdGhpcyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBnZXQgdG9rZW5zKCk6IElSZXNvbHZhYmxlW10ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxJUmVzb2x2YWJsZT4oKTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5mcmFnbWVudHMpIHtcbiAgICAgIGlmIChmLnR5cGUgPT09IFwidG9rZW5cIikge1xuICAgICAgICByZXQucHVzaChmLnRva2VuKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYWxsIGxpdGVyYWxzIGZyb20gdGhpcyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBnZXQgbGl0ZXJhbHMoKTogSVJlc29sdmFibGVbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElSZXNvbHZhYmxlPigpO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLmZyYWdtZW50cykge1xuICAgICAgaWYgKGYudHlwZSA9PT0gXCJsaXRlcmFsXCIpIHtcbiAgICAgICAgcmV0LnB1c2goZi5saXQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgaW50cmluc2ljIGZyYWdtZW50cyBmcm9tIHRoaXMgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgZ2V0IGludHJpbnNpYygpOiBJUmVzb2x2YWJsZVtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8SVJlc29sdmFibGU+KCk7XG4gICAgZm9yIChjb25zdCBmIG9mIHRoaXMuZnJhZ21lbnRzKSB7XG4gICAgICBpZiAoZi50eXBlID09PSBcImludHJpbnNpY1wiKSB7XG4gICAgICAgIHJldC5wdXNoKGYudmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgZXNjYXBlIGZyYWdtZW50cyBmcm9tIHRoaXMgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVzY2FwZXMoKTogSVJlc29sdmFibGVbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElSZXNvbHZhYmxlPigpO1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLmZyYWdtZW50cykge1xuICAgICAgaWYgKGYudHlwZSA9PT0gXCJlc2NhcGVcIikge1xuICAgICAgICBpZiAoZi5raW5kID09PSBcIm9wZW5cIikgcmV0LnB1c2goXCIke1wiIGFzIGFueSk7XG4gICAgICAgIGVsc2UgcmV0LnB1c2goXCJ9XCIgYXMgYW55KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIGFsbCB0b2tlbnMgaW4gdGhlIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIG1hcFRva2Vucyhjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpOiBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMge1xuICAgIGNvbnN0IHJldCA9IG5ldyBUb2tlbml6ZWRTdHJpbmdGcmFnbWVudHMoKTtcbiAgICBjb25zdCBvcmlnaW5hbFN1cHJlc3NCcmFjZXMgPSBjb250ZXh0LnN1cHByZXNzQnJhY2VzO1xuXG4gICAgZm9yIChjb25zdCBmIG9mIHRoaXMuZnJhZ21lbnRzKSB7XG4gICAgICBzd2l0Y2ggKGYudHlwZSkge1xuICAgICAgICBjYXNlIFwibGl0ZXJhbFwiOlxuICAgICAgICAgIHJldC5hZGRMaXRlcmFsKGYubGl0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcImVzY2FwZVwiOlxuICAgICAgICAgIGlmIChjb250ZXh0Lmlnbm9yZUVzY2FwZXMpIHtcbiAgICAgICAgICAgIHJldC5hZGRMaXRlcmFsKGYua2luZCA9PT0gXCJvcGVuXCIgPyBcIiR7XCIgOiBcIn1cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXQuYWRkRXNjYXBlKGYua2luZCk7XG4gICAgICAgICAgaWYgKGYua2luZCA9PT0gXCJvcGVuXCIpIHtcbiAgICAgICAgICAgIGNvbnRleHQuc3VwcHJlc3NCcmFjZXMgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LnN1cHByZXNzQnJhY2VzID0gb3JpZ2luYWxTdXByZXNzQnJhY2VzO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcInRva2VuXCI6XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICAgICAgY29uc3QgbWFwcGVkID0gY29udGV4dC5yZXNvbHZlKGYudG9rZW4pO1xuICAgICAgICAgIGlmIChUb2tlbml6YXRpb24uaXNSZXNvbHZhYmxlKG1hcHBlZCkpIHtcbiAgICAgICAgICAgIHJldC5hZGRUb2tlbihtYXBwZWQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXQuYWRkSW50cmluc2ljKG1hcHBlZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiaW50cmluc2ljXCI6XG4gICAgICAgICAgcmV0LmFkZEludHJpbnNpYyhmLnZhbHVlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbWJpbmUgdGhlIHN0cmluZyBmcmFnbWVudHMgdXNpbmcgdGhlIGdpdmVuIGpvaW5lci5cbiAgICpcbiAgICogSWYgdGhlcmUgYXJlIGFueVxuICAgKi9cbiAgcHVibGljIGpvaW4oY29uY2F0OiBJRnJhZ21lbnRDb25jYXRlbmF0b3IpOiBhbnkge1xuICAgIGlmICh0aGlzLmZyYWdtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBjb25jYXQuam9pbih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZyYWdtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpcnN0VmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy5mcmFnbWVudHMubWFwKGZyYWdtZW50VmFsdWUpO1xuXG4gICAgd2hpbGUgKHZhbHVlcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSB2YWx1ZXMuc3BsaWNlKDAsIDIpO1xuICAgICAgdmFsdWVzLnNwbGljZSgwLCAwLCBjb25jYXQuam9pbihwcmVmaXhbMF0sIHByZWZpeFsxXSkpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZXNbMF07XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gYXBwbHkgb3BlcmF0aW9uIHRvIHRva2VucyBpbiBhIHN0cmluZ1xuICpcbiAqIEludGVyZmFjZSBzbyBpdCBjYW4gYmUgZXhwb3J0ZWQgdmlhIGpzaWkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRva2VuTWFwcGVyIHtcbiAgLyoqXG4gICAqIFJlcGxhY2UgYSBzaW5nbGUgdG9rZW5cbiAgICovXG4gIG1hcFRva2VuKHQ6IElSZXNvbHZhYmxlKTogYW55O1xufVxuXG4vKipcbiAqIFJlc29sdmUgdGhlIHZhbHVlIGZyb20gYSBzaW5nbGUgZnJhZ21lbnRcbiAqXG4gKiBJZiB0aGUgZnJhZ21lbnQgaXMgYSBUb2tlbiwgcmV0dXJuIHRoZSBzdHJpbmcgZW5jb2Rpbmcgb2YgdGhlIFRva2VuLlxuICovXG5mdW5jdGlvbiBmcmFnbWVudFZhbHVlKGZyYWdtZW50OiBGcmFnbWVudCk6IGFueSB7XG4gIHN3aXRjaCAoZnJhZ21lbnQudHlwZSkge1xuICAgIGNhc2UgXCJsaXRlcmFsXCI6XG4gICAgICByZXR1cm4gZnJhZ21lbnQubGl0O1xuICAgIGNhc2UgXCJlc2NhcGVcIjpcbiAgICAgIHJldHVybiBmcmFnbWVudC5raW5kID09PSBcIm9wZW5cIiA/IFwiJHtcIiA6IFwifVwiO1xuICAgIGNhc2UgXCJ0b2tlblwiOlxuICAgICAgcmV0dXJuIGZyYWdtZW50LnRva2VuLnRvU3RyaW5nKCk7XG4gICAgY2FzZSBcImludHJpbnNpY1wiOlxuICAgICAgcmV0dXJuIGZyYWdtZW50LnZhbHVlO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a, _b;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Tokenization = exports.Token = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -19,6 +18,7 @@ const token_map_1 = require("./private/token-map");
19
18
  * semantics.
20
19
  */
21
20
  class Token {
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Token", version: "0.25.0-pre.21" };
22
22
  /**
23
23
  * Returns true if obj represents an unresolved value
24
24
  *
@@ -87,12 +87,20 @@ class Token {
87
87
  // since the return value is basically an object, just encode always
88
88
  return token_map_1.TokenMap.instance().registerMap(Token.asAny(value), mapValue, options.displayHint);
89
89
  }
90
+ /**
91
+ * String Map token value representation
92
+ */
93
+ static STRING_MAP_TOKEN_VALUE = "String Map Token Value";
90
94
  /**
91
95
  * Return a reversible map representation of this token
92
96
  */
93
97
  static asStringMap(value, options = {}) {
94
98
  return this.asMap(value, Token.STRING_MAP_TOKEN_VALUE, options);
95
99
  }
100
+ /**
101
+ * Number Map token value representation
102
+ */
103
+ static NUMBER_MAP_TOKEN_VALUE = -123456789;
96
104
  /**
97
105
  * Return a reversible map representation of this token
98
106
  */
@@ -105,6 +113,10 @@ class Token {
105
113
  static asBooleanMap(value, options = {}) {
106
114
  return this.asMap(value, true, options);
107
115
  }
116
+ /**
117
+ * Any map token representation
118
+ */
119
+ static ANY_MAP_TOKEN_VALUE = "Any Map Token Value";
108
120
  /**
109
121
  * Return a reversible map representation of this token
110
122
  */
@@ -133,24 +145,11 @@ class Token {
133
145
  }
134
146
  }
135
147
  exports.Token = Token;
136
- _a = JSII_RTTI_SYMBOL_1;
137
- Token[_a] = { fqn: "cdktn.Token", version: "0.25.0-pre.2" };
138
- /**
139
- * String Map token value representation
140
- */
141
- Token.STRING_MAP_TOKEN_VALUE = "String Map Token Value";
142
- /**
143
- * Number Map token value representation
144
- */
145
- Token.NUMBER_MAP_TOKEN_VALUE = -123456789;
146
- /**
147
- * Any map token representation
148
- */
149
- Token.ANY_MAP_TOKEN_VALUE = "Any Map Token Value";
150
148
  /**
151
149
  * Less oft-needed functions to manipulate Tokens
152
150
  */
153
151
  class Tokenization {
152
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.Tokenization", version: "0.25.0-pre.21" };
154
153
  /**
155
154
  * Reverse any value into Resolvables, if possible
156
155
  */
@@ -255,6 +254,4 @@ class Tokenization {
255
254
  }
256
255
  }
257
256
  exports.Tokenization = Tokenization;
258
- _b = JSII_RTTI_SYMBOL_1;
259
- Tokenization[_b] = { fqn: "cdktn.Tokenization", version: "0.25.0-pre.2" };
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW5zL3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsaUNBQThCO0FBQzlCLGlEQUFnRDtBQUNoRCxtREFBZ0Q7QUFDaEQsK0NBQTRDO0FBQzVDLG1EQUErQztBQUkvQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQUs7SUFDaEI7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBUTtRQUNqQyxPQUFPLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVSxFQUFFLFVBQTJCLEVBQUU7UUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsY0FBYyxDQUN2QyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNsQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQy9CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsVUFBMkIsRUFBRTtRQUM1RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtB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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSztTQUN2RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFRO1FBQ2pDLE9BQU8sQ0FDTCxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQ3ZCLEdBQUcsS0FBSyxJQUFJO1lBQ1osT0FBTyxHQUFHLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBUztRQUNyQywwSEFBMEg7UUFFMUgsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxXQUFJLENBQUMsV0FBVyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtvQkFDbkIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsT0FBTyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQztnQkFDakUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQzs7QUFsSEgsb0NBbUhDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbi8vIGNvcGllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvY29uc3RydWN0cy9ibG9iL2UwMWU0N2Y3OGVmMWU5YjYwMGVmY2QyM2ZmNzcwNWFhOGQzODQwMTcvbGliL3Rva2VuLnRzXG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IExhenkgfSBmcm9tIFwiLi9sYXp5XCI7XG5pbXBvcnQgeyB1bnJlc29sdmVkIH0gZnJvbSBcIi4vcHJpdmF0ZS9lbmNvZGluZ1wiO1xuaW1wb3J0IHsgSW50cmluc2ljIH0gZnJvbSBcIi4vcHJpdmF0ZS9pbnRyaW5zaWNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwiLi9wcml2YXRlL3Jlc29sdmVcIjtcbmltcG9ydCB7IFRva2VuTWFwIH0gZnJvbSBcIi4vcHJpdmF0ZS90b2tlbi1tYXBcIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBJVG9rZW5SZXNvbHZlciB9IGZyb20gXCIuL3Jlc29sdmFibGVcIjtcbmltcG9ydCB7IFRva2VuaXplZFN0cmluZ0ZyYWdtZW50cyB9IGZyb20gXCIuL3N0cmluZy1mcmFnbWVudHNcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3BlY2lhbCBvciBsYXppbHktZXZhbHVhdGVkIHZhbHVlLlxuICpcbiAqIENhbiBiZSB1c2VkIHRvIGRlbGF5IGV2YWx1YXRpb24gb2YgYSBjZXJ0YWluIHZhbHVlIGluIGNhc2UsIGZvciBleGFtcGxlLFxuICogdGhhdCBpdCByZXF1aXJlcyBzb21lIGNvbnRleHQgb3IgbGF0ZS1ib3VuZCBkYXRhLiBDYW4gYWxzbyBiZSB1c2VkIHRvXG4gKiBtYXJrIHZhbHVlcyB0aGF0IG5lZWQgc3BlY2lhbCBwcm9jZXNzaW5nIGF0IGRvY3VtZW50IHJlbmRlcmluZyB0aW1lLlxuICpcbiAqIFRva2VucyBjYW4gYmUgZW1iZWRkZWQgaW50byBzdHJpbmdzIHdoaWxlIHJldGFpbmluZyB0aGVpciBvcmlnaW5hbFxuICogc2VtYW50aWNzLlxuICovXG5leHBvcnQgY2xhc3MgVG9rZW4ge1xuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIG9iaiByZXByZXNlbnRzIGFuIHVucmVzb2x2ZWQgdmFsdWVcbiAgICpcbiAgICogT25lIG9mIHRoZXNlIG11c3QgYmUgdHJ1ZTpcbiAgICpcbiAgICogLSBgb2JqYCBpcyBhbiBJUmVzb2x2YWJsZVxuICAgKiAtIGBvYmpgIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYXQgbGVhc3Qgb25lIGVuY29kZWQgYElSZXNvbHZhYmxlYFxuICAgKiAtIGBvYmpgIGlzIGVpdGhlciBhbiBlbmNvZGVkIG51bWJlciBvciBsaXN0XG4gICAqXG4gICAqIFRoaXMgZG9lcyBOT1QgcmVjdXJzZSBpbnRvIGxpc3RzIG9yIG9iamVjdHMgdG8gc2VlIGlmIHRoZXlcbiAgICogY29udGFpbmluZyByZXNvbHZhYmxlcy5cbiAgICpcbiAgICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIHRlc3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzVW5yZXNvbHZlZChvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB1bnJlc29sdmVkKG9iaik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKlxuICAgKiBJZiB0aGUgVG9rZW4gaXMgaW5pdGlhbGl6ZWQgd2l0aCBhIGxpdGVyYWwsIHRoZSBzdHJpbmdpZmllZCB2YWx1ZSBvZiB0aGVcbiAgICogbGl0ZXJhbCBpcyByZXR1cm5lZC4gT3RoZXJ3aXNlLCBhIHNwZWNpYWwgcXVvdGVkIHN0cmluZyByZXByZXNlbnRhdGlvblxuICAgKiBvZiB0aGUgVG9rZW4gaXMgcmV0dXJuZWQgdGhhdCBjYW4gYmUgZW1iZWRkZWQgaW50byBvdGhlciBzdHJpbmdzLlxuICAgKlxuICAgKiBTdHJpbmdzIHdpdGggcXVvdGVkIFRva2VucyBpbiB0aGVtIGNhbiBiZSByZXN0b3JlZCBiYWNrIGludG9cbiAgICogY29tcGxleCB2YWx1ZXMgd2l0aCB0aGUgVG9rZW5zIHJlc3RvcmVkIGJ5IGNhbGxpbmcgYHJlc29sdmUoKWBcbiAgICogb24gdGhlIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNTdHJpbmcodmFsdWU6IGFueSwgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30pOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5yZWdpc3RlclN0cmluZyhcbiAgICAgIFRva2VuLmFzQW55KHZhbHVlKSxcbiAgICAgIG9wdGlvbnMuZGlzcGxheUhpbnQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIG51bWJlciByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzTnVtYmVyKHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkucmVnaXN0ZXJOdW1iZXIoVG9rZW4uYXNBbnkodmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIGxpc3QgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc0xpc3QodmFsdWU6IGFueSwgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30pOiBzdHJpbmdbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KCh4KSA9PiB0eXBlb2YgeCA9PT0gXCJzdHJpbmdcIikpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkucmVnaXN0ZXJMaXN0KFxuICAgICAgVG9rZW4uYXNBbnkodmFsdWUpLFxuICAgICAgb3B0aW9ucy5kaXNwbGF5SGludCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbGlzdCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzTnVtYmVyTGlzdCh2YWx1ZTogYW55KTogbnVtYmVyW10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5ldmVyeSgoeCkgPT4gdHlwZW9mIHggPT09IFwibnVtYmVyXCIpKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnJlZ2lzdGVyTnVtYmVyTGlzdChUb2tlbi5hc0FueSh2YWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbWFwIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNNYXAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBtYXBWYWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9LFxuICApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAvLyBzaW5jZSB0aGUgcmV0dXJuIHZhbHVlIGlzIGJhc2ljYWxseSBhbiBvYmplY3QsIGp1c3QgZW5jb2RlIGFsd2F5c1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnJlZ2lzdGVyTWFwKFxuICAgICAgVG9rZW4uYXNBbnkodmFsdWUpLFxuICAgICAgbWFwVmFsdWUsXG4gICAgICBvcHRpb25zLmRpc3BsYXlIaW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaW5nIE1hcCB0b2tlbiB2YWx1ZSByZXByZXNlbnRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVFJJTkdfTUFQX1RPS0VOX1ZBTFVFID0gXCJTdHJpbmcgTWFwIFRva2VuIFZhbHVlXCI7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbWFwIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNTdHJpbmdNYXAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSxcbiAgKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHRoaXMuYXNNYXAodmFsdWUsIFRva2VuLlNUUklOR19NQVBfVE9LRU5fVkFMVUUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIE51bWJlciBNYXAgdG9rZW4gdmFsdWUgcmVwcmVzZW50YXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTlVNQkVSX01BUF9UT0tFTl9WQUxVRSA9IC0xMjM0NTY3ODk7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbWFwIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNOdW1iZXJNYXAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSxcbiAgKTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuYXNNYXAodmFsdWUsIFRva2VuLk5VTUJFUl9NQVBfVE9LRU5fVkFMVUUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbWFwIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNCb29sZWFuTWFwKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30sXG4gICk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4gdGhpcy5hc01hcCh2YWx1ZSwgdHJ1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQW55IG1hcCB0b2tlbiByZXByZXNlbnRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBTllfTUFQX1RPS0VOX1ZBTFVFID0gXCJBbnkgTWFwIFRva2VuIFZhbHVlXCI7XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbWFwIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNBbnlNYXAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSxcbiAgKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRoaXMuYXNNYXAodmFsdWUsIFRva2VuLkFOWV9NQVBfVE9LRU5fVkFMVUUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJlc29sdmFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdpdmVuIHZhbHVlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzQW55KHZhbHVlOiBhbnkpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUodmFsdWUpID8gdmFsdWUgOiBuZXcgSW50cmluc2ljKHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBUb2tlbiBjb250YWluaW5nIGEgYG51bGxgIHZhbHVlXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgaXMgZGlmZmVyZW50IHRoYW4gYHVuZGVmaW5lZGAsIGBuaWxgLCBgTm9uZWAgb3Igc2ltaWxhclxuICAgKiBhcyBpdCB3aWxsIGVuZCB1cCBpbiB0aGUgVGVycmFmb3JtIGNvbmZpZyBhbmQgY2FuIGJlIHVzZWQgdG8gZXhwbGljaXRseVxuICAgKiBub3Qgc2V0IGFuIGF0dHJpYnV0ZSAod2hpY2ggaXMgc29tZXRpbWVzIHJlcXVpcmVkIGJ5IFRlcnJhZm9ybSBwcm92aWRlcnMpXG4gICAqXG4gICAqIEByZXR1cm5zIGEgVG9rZW4gcmVzb2x2aW5nIHRvIGBudWxsYCBhcyB1bmRlcnN0b29kIGJ5IFRlcnJhZm9ybVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudWxsVmFsdWUoKTogSVJlc29sdmFibGUge1xuICAgIC8vIHBhc3NpbmcgbnVsbCB3b3JrcyBpbiBUeXBlc2NyaXB0LCB0aGlzIGlzIHdoeSB3ZSBjYW4gZG8gdGhpcyBoZXJlXG4gICAgLy8gYnV0IHVzZXJzIHdvdWxkbid0IGJlIGFibGUgdG8gY2FsbCBlLmcuIFRva2VuLmFzX2FueShOb25lKSBpbiBQeXRob25cbiAgICByZXR1cm4gVG9rZW4uYXNBbnkobnVsbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMZXNzIG9mdC1uZWVkZWQgZnVuY3Rpb25zIHRvIG1hbmlwdWxhdGUgVG9rZW5zXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2tlbml6YXRpb24ge1xuICAvKipcbiAgICogUmV2ZXJzZSBhbnkgdmFsdWUgaW50byBSZXNvbHZhYmxlcywgaWYgcG9zc2libGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZSh4OiBhbnkpOiBJUmVzb2x2YWJsZVtdIHtcbiAgICBpZiAoVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZSh4KSkge1xuICAgICAgcmV0dXJuIFt4XTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB4ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCByZXZlcnNlZFN0cmluZyA9IFRva2VuaXphdGlvbi5yZXZlcnNlU3RyaW5nKHgpO1xuICAgICAgcmV0dXJuIFsuLi5yZXZlcnNlZFN0cmluZy50b2tlbnMsIC4uLnJldmVyc2VkU3RyaW5nLmludHJpbnNpY107XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHgpKSB7XG4gICAgICBjb25zdCByZXZlcnNlZExpc3QgPSBUb2tlbml6YXRpb24ucmV2ZXJzZUxpc3QoeCk7XG4gICAgICBpZiAocmV2ZXJzZWRMaXN0KSB7XG4gICAgICAgIHJldHVybiBbcmV2ZXJzZWRMaXN0XTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmV2ZXJzZWROdW1iZXJMaXN0ID0gVG9rZW5pemF0aW9uLnJldmVyc2VOdW1iZXJMaXN0KHgpO1xuICAgICAgcmV0dXJuIHJldmVyc2VkTnVtYmVyTGlzdCA/IFtyZXZlcnNlZE51bWJlckxpc3RdIDogW107XG4gICAgfVxuICAgIGlmICh0eXBlb2YgeCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgY29uc3QgcmV2ZXJzZWROdW1iZXIgPSBUb2tlbml6YXRpb24ucmV2ZXJzZU51bWJlcih4KTtcbiAgICAgIHJldHVybiByZXZlcnNlZE51bWJlciA/IFtyZXZlcnNlZE51bWJlcl0gOiBbXTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIHggIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJldmVyc2VkTWFwID0gVG9rZW5pemF0aW9uLnJldmVyc2VNYXAoeCk7XG4gICAgICByZXR1cm4gcmV2ZXJzZWRNYXAgPyBbcmV2ZXJzZWRNYXBdIDogW107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdOyAvLyBudWxsIG9yIHVuZGVmaW5lZCBjYW5ub3QgYmUgcmV2ZXJzZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBVbi1lbmNvZGUgYSBzdHJpbmcgcG90ZW50aWFsbHkgY29udGFpbmluZyBlbmNvZGVkIHRva2Vuc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlU3RyaW5nKHM6IHN0cmluZyk6IFRva2VuaXplZFN0cmluZ0ZyYWdtZW50cyB7XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkuc3BsaXRTdHJpbmcocyk7XG4gIH1cblxuICAvKipcbiAgICogVW4tZW5jb2RlIGEgVG9rZW5pemVkIHZhbHVlIGZyb20gYSBudW1iZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZU51bWJlcihuOiBudW1iZXIpOiBJUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkubG9va3VwTnVtYmVyVG9rZW4obik7XG4gIH1cblxuICAvKipcbiAgICogVW4tZW5jb2RlIGEgVG9rZW5pemVkIHZhbHVlIGZyb20gYSBsaXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2VMaXN0KGw6IHN0cmluZ1tdKTogSVJlc29sdmFibGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLmxvb2t1cExpc3QobCk7XG4gIH1cblxuICAvKipcbiAgICogVW4tZW5jb2RlIGEgVG9rZW5pemVkIHZhbHVlIGZyb20gYSBsaXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2VOdW1iZXJMaXN0KGw6IG51bWJlcltdKTogSVJlc29sdmFibGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLmxvb2t1cE51bWJlckxpc3QobCk7XG4gIH1cblxuICAvKipcbiAgICogVW4tZW5jb2RlIGEgVG9rZW5pemVkIHZhbHVlIGZyb20gYSBtYXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZU1hcChtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogSVJlc29sdmFibGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLmxvb2t1cE1hcChtKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBhbiBvYmplY3QgYnkgZXZhbHVhdGluZyBhbGwgdG9rZW5zIGFuZCByZW1vdmluZyBhbnkgdW5kZWZpbmVkIG9yIGVtcHR5IG9iamVjdHMgb3IgYXJyYXlzLlxuICAgKiBWYWx1ZXMgY2FuIG9ubHkgYmUgcHJpbWl0aXZlcywgYXJyYXlzIG9yIHRva2Vucy4gT3RoZXIgb2JqZWN0cyAoaS5lLiB3aXRoIG1ldGhvZHMpIHdpbGwgYmUgcmVqZWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byByZXNvbHZlLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBQcmVmaXgga2V5IHBhdGggY29tcG9uZW50cyBmb3IgZGlhZ25vc3RpY3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlc29sdmUob2JqOiBhbnksIG9wdGlvbnM6IFJlc29sdmVPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gcmVzb2x2ZShvYmosIHtcbiAgICAgIHNjb3BlOiBvcHRpb25zLnNjb3BlLFxuICAgICAgcmVzb2x2ZXI6IG9wdGlvbnMucmVzb2x2ZXIsXG4gICAgICBwcmVwYXJpbmc6IG9wdGlvbnMucHJlcGFyaW5nICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLnByZXBhcmluZyA6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgYW4gSVJlc29sdmFibGUgb2JqZWN0XG4gICAqXG4gICAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gVG9rZW4uaXNVbnJlc29sdmVkKCkgd2hpY2ggd2lsbCBhbHNvIGNoZWNrIGZvclxuICAgKiBlbmNvZGVkIFRva2Vucywgd2hlcmVhcyB0aGlzIG1ldGhvZCB3aWxsIG9ubHkgZG8gYSB0eXBlIGNoZWNrIG9uIHRoZSBnaXZlblxuICAgKiBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzUmVzb2x2YWJsZShvYmo6IGFueSk6IG9iaiBpcyBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGVvZiBvYmogPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIG9iaiAhPT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIG9iai5yZXNvbHZlID09PSBcImZ1bmN0aW9uXCJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmluZ2lmeSBhIG51bWJlciBkaXJlY3RseSBvciBsYXppbHkgaWYgaXQncyBhIFRva2VuLiBJZiBpdCBpcyBhbiBvYmplY3QgKGkuZS4sIHsgUmVmOiAnU29tZUxvZ2ljYWxJZCcgfSksIHJldHVybiBpdCBhcy1pcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5naWZ5TnVtYmVyKHg6IG51bWJlcikge1xuICAgIC8vIG9ubHkgY29udmVydCBudW1iZXJzIHRvIHN0cmluZ3Mgc28gdGhhdCBSZWZzLCBjb25kaXRpb25zLCBhbmQgb3RoZXIgdGhpbmdzIGRvbid0IGVuZCB1cCBzeW50aGVzaXppbmcgYXMgW29iamVjdCBvYmplY3RdXG5cbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHgpKSB7XG4gICAgICByZXR1cm4gTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBjb250ZXh0LnJlc29sdmUoeCk7XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiByZXNvbHZlZCAhPT0gXCJudW1iZXJcIiA/IHJlc29sdmVkIDogYCR7cmVzb2x2ZWR9YDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHggIT09IFwibnVtYmVyXCIgPyB4IDogYCR7eH1gO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgdG8gdGhlIHJlc29sdmUoKSBvcGVyYXRpb25cbiAqXG4gKiBOT1QgdGhlIHNhbWUgYXMgdGhlIFJlc29sdmVDb250ZXh0OyBSZXNvbHZlQ29udGV4dCBpcyBleHBvc2VkIHRvIFRva2VuXG4gKiBpbXBsZW1lbnRvcnMgYW5kIHJlc29sdXRpb24gaG9va3MsIHdoZXJlYXMgdGhpcyBzdHJ1Y3QgaXMganVzdCB0byBidW5kbGVcbiAqIGEgbnVtYmVyIG9mIHRoaW5ncyB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBhcmd1bWVudHMgdG8gcmVzb2x2ZSgpIGluIGFcbiAqIHJlYWRhYmxlIHdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgZnJvbSB3aGljaCByZXNvbHV0aW9uIGlzIHBlcmZvcm1lZFxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU6IElDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvbHZlciB0byBhcHBseSB0byBhbnkgcmVzb2x2YWJsZSB0b2tlbnMgZm91bmRcbiAgICovXG4gIHJlYWRvbmx5IHJlc29sdmVyOiBJVG9rZW5SZXNvbHZlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVzb2x1dGlvbiBpcyBiZWluZyBleGVjdXRlZCBkdXJpbmcgdGhlIHByZXBhcmUgcGhhc2Ugb3Igbm90LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJlcGFyaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHRvIHN0cmluZyBlbmNvZGluZ3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmNvZGluZ09wdGlvbnMge1xuICAvKipcbiAgICogQSBoaW50IGZvciB0aGUgVG9rZW4ncyBwdXJwb3NlIHdoZW4gc3RyaW5naWZ5aW5nIGl0XG4gICAqIEBkZWZhdWx0IC0gbm8gZGlzcGxheSBoaW50XG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5SGludD86IHN0cmluZztcbn1cbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW5zL3Rva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxpQ0FBOEI7QUFDOUIsaURBQWdEO0FBQ2hELG1EQUFnRDtBQUNoRCwrQ0FBNEM7QUFDNUMsbURBQStDO0FBSS9DOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBSzs7SUFDaEI7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBUTtRQUNqQyxPQUFPLElBQUEscUJBQVUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVSxFQUFFLFVBQTJCLEVBQUU7UUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsY0FBYyxDQUN2QyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNsQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFVO1FBQy9CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVLEVBQUUsVUFBMkIsRUFBRTtRQUM1RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN0RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUNyQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNsQixPQUFPLENBQUMsV0FBVyxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFVO1FBQ25DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sb0JBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FDakIsS0FBVSxFQUNWLFFBQWEsRUFDYixVQUEyQixFQUFFO1FBRTdCLG9FQUFvRTtRQUNwRSxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUNwQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUNsQixRQUFRLEVBQ1IsT0FBTyxDQUFDLFdBQVcsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyx3QkFBd0IsQ0FBQztJQUV6RTs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLEtBQVUsRUFDVixVQUEyQixFQUFFO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxzQkFBc0IsR0FBRyxDQUFDLFNBQVMsQ0FBQztJQUUzRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLEtBQVUsRUFDVixVQUEyQixFQUFFO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQ3hCLEtBQVUsRUFDVixVQUEyQixFQUFFO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBQztJQUVuRTs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQ3BCLEtBQVUsRUFDVixVQUEyQixFQUFFO1FBRTdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBVTtRQUM1QixPQUFPLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxTQUFTO1FBQ3JCLG9FQUFvRTtRQUNwRSx1RUFBdUU7UUFDdkUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7O0FBcktILHNCQXNLQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFZOztJQUN2Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBTTtRQUMxQixJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDYixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hCLENBQUM7WUFFRCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxPQUFPLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQixNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUVELE9BQU8sRUFBRSxDQUFDLENBQUMsdUNBQXVDO0lBQ3BELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBUztRQUNuQyxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBUztRQUNuQyxPQUFPLG9CQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFXO1FBQ25DLE9BQU8sb0JBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQVc7UUFDekMsT0FBTyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBeUI7UUFDaEQsT0FBTyxvQkFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFRLEVBQUUsT0FBdUI7UUFDckQsT0FBTyxJQUFBLGlCQUFPLEVBQUMsR0FBRyxFQUFFO1lBQ2xCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDMUIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQ3ZFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVE7UUFDakMsT0FBTyxDQUNMLE9BQU8sR0FBRyxLQUFLLFFBQVE7WUFDdkIsR0FBRyxLQUFLLElBQUk7WUFDWixPQUFPLEdBQUcsQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFTO1FBQ3JDLDBIQUEwSDtRQUUxSCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLFdBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUNuQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDO2dCQUNqRSxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDOztBQWxISCxvQ0FtSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuLy8gY29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzL2Jsb2IvZTAxZTQ3Zjc4ZWYxZTliNjAwZWZjZDIzZmY3NzA1YWE4ZDM4NDAxNy9saWIvdG9rZW4udHNcbmltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTGF6eSB9IGZyb20gXCIuL2xhenlcIjtcbmltcG9ydCB7IHVucmVzb2x2ZWQgfSBmcm9tIFwiLi9wcml2YXRlL2VuY29kaW5nXCI7XG5pbXBvcnQgeyBJbnRyaW5zaWMgfSBmcm9tIFwiLi9wcml2YXRlL2ludHJpbnNpY1wiO1xuaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gXCIuL3ByaXZhdGUvcmVzb2x2ZVwiO1xuaW1wb3J0IHsgVG9rZW5NYXAgfSBmcm9tIFwiLi9wcml2YXRlL3Rva2VuLW1hcFwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElUb2tlblJlc29sdmVyIH0gZnJvbSBcIi4vcmVzb2x2YWJsZVwiO1xuaW1wb3J0IHsgVG9rZW5pemVkU3RyaW5nRnJhZ21lbnRzIH0gZnJvbSBcIi4vc3RyaW5nLWZyYWdtZW50c1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzcGVjaWFsIG9yIGxhemlseS1ldmFsdWF0ZWQgdmFsdWUuXG4gKlxuICogQ2FuIGJlIHVzZWQgdG8gZGVsYXkgZXZhbHVhdGlvbiBvZiBhIGNlcnRhaW4gdmFsdWUgaW4gY2FzZSwgZm9yIGV4YW1wbGUsXG4gKiB0aGF0IGl0IHJlcXVpcmVzIHNvbWUgY29udGV4dCBvciBsYXRlLWJvdW5kIGRhdGEuIENhbiBhbHNvIGJlIHVzZWQgdG9cbiAqIG1hcmsgdmFsdWVzIHRoYXQgbmVlZCBzcGVjaWFsIHByb2Nlc3NpbmcgYXQgZG9jdW1lbnQgcmVuZGVyaW5nIHRpbWUuXG4gKlxuICogVG9rZW5zIGNhbiBiZSBlbWJlZGRlZCBpbnRvIHN0cmluZ3Mgd2hpbGUgcmV0YWluaW5nIHRoZWlyIG9yaWdpbmFsXG4gKiBzZW1hbnRpY3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2tlbiB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgb2JqIHJlcHJlc2VudHMgYW4gdW5yZXNvbHZlZCB2YWx1ZVxuICAgKlxuICAgKiBPbmUgb2YgdGhlc2UgbXVzdCBiZSB0cnVlOlxuICAgKlxuICAgKiAtIGBvYmpgIGlzIGFuIElSZXNvbHZhYmxlXG4gICAqIC0gYG9iamAgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhdCBsZWFzdCBvbmUgZW5jb2RlZCBgSVJlc29sdmFibGVgXG4gICAqIC0gYG9iamAgaXMgZWl0aGVyIGFuIGVuY29kZWQgbnVtYmVyIG9yIGxpc3RcbiAgICpcbiAgICogVGhpcyBkb2VzIE5PVCByZWN1cnNlIGludG8gbGlzdHMgb3Igb2JqZWN0cyB0byBzZWUgaWYgdGhleVxuICAgKiBjb250YWluaW5nIHJlc29sdmFibGVzLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gdGVzdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNVbnJlc29sdmVkKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHVucmVzb2x2ZWQob2JqKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZXZlcnNpYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqXG4gICAqIElmIHRoZSBUb2tlbiBpcyBpbml0aWFsaXplZCB3aXRoIGEgbGl0ZXJhbCwgdGhlIHN0cmluZ2lmaWVkIHZhbHVlIG9mIHRoZVxuICAgKiBsaXRlcmFsIGlzIHJldHVybmVkLiBPdGhlcndpc2UsIGEgc3BlY2lhbCBxdW90ZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uXG4gICAqIG9mIHRoZSBUb2tlbiBpcyByZXR1cm5lZCB0aGF0IGNhbiBiZSBlbWJlZGRlZCBpbnRvIG90aGVyIHN0cmluZ3MuXG4gICAqXG4gICAqIFN0cmluZ3Mgd2l0aCBxdW90ZWQgVG9rZW5zIGluIHRoZW0gY2FuIGJlIHJlc3RvcmVkIGJhY2sgaW50b1xuICAgKiBjb21wbGV4IHZhbHVlcyB3aXRoIHRoZSBUb2tlbnMgcmVzdG9yZWQgYnkgY2FsbGluZyBgcmVzb2x2ZSgpYFxuICAgKiBvbiB0aGUgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc1N0cmluZyh2YWx1ZTogYW55LCBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBUb2tlbk1hcC5pbnN0YW5jZSgpLnJlZ2lzdGVyU3RyaW5nKFxuICAgICAgVG9rZW4uYXNBbnkodmFsdWUpLFxuICAgICAgb3B0aW9ucy5kaXNwbGF5SGludCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbnVtYmVyIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNOdW1iZXIodmFsdWU6IGFueSk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5yZWdpc3Rlck51bWJlcihUb2tlbi5hc0FueSh2YWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHJldmVyc2libGUgbGlzdCByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHRva2VuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzTGlzdCh2YWx1ZTogYW55LCBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUuZXZlcnkoKHgpID0+IHR5cGVvZiB4ID09PSBcInN0cmluZ1wiKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5yZWdpc3Rlckxpc3QoXG4gICAgICBUb2tlbi5hc0FueSh2YWx1ZSksXG4gICAgICBvcHRpb25zLmRpc3BsYXlIaW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBsaXN0IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdG9rZW5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNOdW1iZXJMaXN0KHZhbHVlOiBhbnkpOiBudW1iZXJbXSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KCh4KSA9PiB0eXBlb2YgeCA9PT0gXCJudW1iZXJcIikpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkucmVnaXN0ZXJOdW1iZXJMaXN0KFRva2VuLmFzQW55KHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBtYXAgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc01hcChcbiAgICB2YWx1ZTogYW55LFxuICAgIG1hcFZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogRW5jb2RpbmdPcHRpb25zID0ge30sXG4gICk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIC8vIHNpbmNlIHRoZSByZXR1cm4gdmFsdWUgaXMgYmFzaWNhbGx5IGFuIG9iamVjdCwganVzdCBlbmNvZGUgYWx3YXlzXG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkucmVnaXN0ZXJNYXAoXG4gICAgICBUb2tlbi5hc0FueSh2YWx1ZSksXG4gICAgICBtYXBWYWx1ZSxcbiAgICAgIG9wdGlvbnMuZGlzcGxheUhpbnQsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmcgTWFwIHRva2VuIHZhbHVlIHJlcHJlc2VudGF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNUUklOR19NQVBfVE9LRU5fVkFMVUUgPSBcIlN0cmluZyBNYXAgVG9rZW4gVmFsdWVcIjtcblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBtYXAgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc1N0cmluZ01hcChcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9LFxuICApOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5hc01hcCh2YWx1ZSwgVG9rZW4uU1RSSU5HX01BUF9UT0tFTl9WQUxVRSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTnVtYmVyIE1hcCB0b2tlbiB2YWx1ZSByZXByZXNlbnRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOVU1CRVJfTUFQX1RPS0VOX1ZBTFVFID0gLTEyMzQ1Njc4OTtcblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBtYXAgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc051bWJlck1hcChcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9LFxuICApOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9IHtcbiAgICByZXR1cm4gdGhpcy5hc01hcCh2YWx1ZSwgVG9rZW4uTlVNQkVSX01BUF9UT0tFTl9WQUxVRSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBtYXAgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc0Jvb2xlYW5NYXAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvcHRpb25zOiBFbmNvZGluZ09wdGlvbnMgPSB7fSxcbiAgKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB0aGlzLmFzTWFwKHZhbHVlLCB0cnVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbnkgbWFwIHRva2VuIHJlcHJlc2VudGF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFOWV9NQVBfVE9LRU5fVkFMVUUgPSBcIkFueSBNYXAgVG9rZW4gVmFsdWVcIjtcblxuICAvKipcbiAgICogUmV0dXJuIGEgcmV2ZXJzaWJsZSBtYXAgcmVwcmVzZW50YXRpb24gb2YgdGhpcyB0b2tlblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc0FueU1hcChcbiAgICB2YWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IEVuY29kaW5nT3B0aW9ucyA9IHt9LFxuICApOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gdGhpcy5hc01hcCh2YWx1ZSwgVG9rZW4uQU5ZX01BUF9UT0tFTl9WQUxVRSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgcmVzb2x2YWJsZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgZ2l2ZW4gdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXNBbnkodmFsdWU6IGFueSk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZSh2YWx1ZSkgPyB2YWx1ZSA6IG5ldyBJbnRyaW5zaWModmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIFRva2VuIGNvbnRhaW5pbmcgYSBgbnVsbGAgdmFsdWVcbiAgICpcbiAgICogTm90ZTogVGhpcyBpcyBkaWZmZXJlbnQgdGhhbiBgdW5kZWZpbmVkYCwgYG5pbGAsIGBOb25lYCBvciBzaW1pbGFyXG4gICAqIGFzIGl0IHdpbGwgZW5kIHVwIGluIHRoZSBUZXJyYWZvcm0gY29uZmlnIGFuZCBjYW4gYmUgdXNlZCB0byBleHBsaWNpdGx5XG4gICAqIG5vdCBzZXQgYW4gYXR0cmlidXRlICh3aGljaCBpcyBzb21ldGltZXMgcmVxdWlyZWQgYnkgVGVycmFmb3JtIHByb3ZpZGVycylcbiAgICpcbiAgICogQHJldHVybnMgYSBUb2tlbiByZXNvbHZpbmcgdG8gYG51bGxgIGFzIHVuZGVyc3Rvb2QgYnkgVGVycmFmb3JtXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG51bGxWYWx1ZSgpOiBJUmVzb2x2YWJsZSB7XG4gICAgLy8gcGFzc2luZyBudWxsIHdvcmtzIGluIFR5cGVzY3JpcHQsIHRoaXMgaXMgd2h5IHdlIGNhbiBkbyB0aGlzIGhlcmVcbiAgICAvLyBidXQgdXNlcnMgd291bGRuJ3QgYmUgYWJsZSB0byBjYWxsIGUuZy4gVG9rZW4uYXNfYW55KE5vbmUpIGluIFB5dGhvblxuICAgIHJldHVybiBUb2tlbi5hc0FueShudWxsKTtcbiAgfVxufVxuXG4vKipcbiAqIExlc3Mgb2Z0LW5lZWRlZCBmdW5jdGlvbnMgdG8gbWFuaXB1bGF0ZSBUb2tlbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRva2VuaXphdGlvbiB7XG4gIC8qKlxuICAgKiBSZXZlcnNlIGFueSB2YWx1ZSBpbnRvIFJlc29sdmFibGVzLCBpZiBwb3NzaWJsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlKHg6IGFueSk6IElSZXNvbHZhYmxlW10ge1xuICAgIGlmIChUb2tlbml6YXRpb24uaXNSZXNvbHZhYmxlKHgpKSB7XG4gICAgICByZXR1cm4gW3hdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHggPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGNvbnN0IHJldmVyc2VkU3RyaW5nID0gVG9rZW5pemF0aW9uLnJldmVyc2VTdHJpbmcoeCk7XG4gICAgICByZXR1cm4gWy4uLnJldmVyc2VkU3RyaW5nLnRva2VucywgLi4ucmV2ZXJzZWRTdHJpbmcuaW50cmluc2ljXTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoeCkpIHtcbiAgICAgIGNvbnN0IHJldmVyc2VkTGlzdCA9IFRva2VuaXphdGlvbi5yZXZlcnNlTGlzdCh4KTtcbiAgICAgIGlmIChyZXZlcnNlZExpc3QpIHtcbiAgICAgICAgcmV0dXJuIFtyZXZlcnNlZExpc3RdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXZlcnNlZE51bWJlckxpc3QgPSBUb2tlbml6YXRpb24ucmV2ZXJzZU51bWJlckxpc3QoeCk7XG4gICAgICByZXR1cm4gcmV2ZXJzZWROdW1iZXJMaXN0ID8gW3JldmVyc2VkTnVtYmVyTGlzdF0gOiBbXTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB4ID09PSBcIm51bWJlclwiKSB7XG4gICAgICBjb25zdCByZXZlcnNlZE51bWJlciA9IFRva2VuaXphdGlvbi5yZXZlcnNlTnVtYmVyKHgpO1xuICAgICAgcmV0dXJuIHJldmVyc2VkTnVtYmVyID8gW3JldmVyc2VkTnVtYmVyXSA6IFtdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgeCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcmV2ZXJzZWRNYXAgPSBUb2tlbml6YXRpb24ucmV2ZXJzZU1hcCh4KTtcbiAgICAgIHJldHVybiByZXZlcnNlZE1hcCA/IFtyZXZlcnNlZE1hcF0gOiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107IC8vIG51bGwgb3IgdW5kZWZpbmVkIGNhbm5vdCBiZSByZXZlcnNlZFxuICB9XG5cbiAgLyoqXG4gICAqIFVuLWVuY29kZSBhIHN0cmluZyBwb3RlbnRpYWxseSBjb250YWluaW5nIGVuY29kZWQgdG9rZW5zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJldmVyc2VTdHJpbmcoczogc3RyaW5nKTogVG9rZW5pemVkU3RyaW5nRnJhZ21lbnRzIHtcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5zcGxpdFN0cmluZyhzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbi1lbmNvZGUgYSBUb2tlbml6ZWQgdmFsdWUgZnJvbSBhIG51bWJlclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlTnVtYmVyKG46IG51bWJlcik6IElSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gVG9rZW5NYXAuaW5zdGFuY2UoKS5sb29rdXBOdW1iZXJUb2tlbihuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbi1lbmNvZGUgYSBUb2tlbml6ZWQgdmFsdWUgZnJvbSBhIGxpc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZUxpc3QobDogc3RyaW5nW10pOiBJUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkubG9va3VwTGlzdChsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbi1lbmNvZGUgYSBUb2tlbml6ZWQgdmFsdWUgZnJvbSBhIGxpc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmV2ZXJzZU51bWJlckxpc3QobDogbnVtYmVyW10pOiBJUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkubG9va3VwTnVtYmVyTGlzdChsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbi1lbmNvZGUgYSBUb2tlbml6ZWQgdmFsdWUgZnJvbSBhIG1hcFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZXZlcnNlTWFwKG06IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJUmVzb2x2YWJsZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFRva2VuTWFwLmluc3RhbmNlKCkubG9va3VwTWFwKG0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGFuIG9iamVjdCBieSBldmFsdWF0aW5nIGFsbCB0b2tlbnMgYW5kIHJlbW92aW5nIGFueSB1bmRlZmluZWQgb3IgZW1wdHkgb2JqZWN0cyBvciBhcnJheXMuXG4gICAqIFZhbHVlcyBjYW4gb25seSBiZSBwcmltaXRpdmVzLCBhcnJheXMgb3IgdG9rZW5zLiBPdGhlciBvYmplY3RzIChpLmUuIHdpdGggbWV0aG9kcykgd2lsbCBiZSByZWplY3RlZC5cbiAgICpcbiAgICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIHJlc29sdmUuXG4gICAqIEBwYXJhbSBvcHRpb25zIFByZWZpeCBrZXkgcGF0aCBjb21wb25lbnRzIGZvciBkaWFnbm9zdGljcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZShvYmo6IGFueSwgb3B0aW9uczogUmVzb2x2ZU9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiByZXNvbHZlKG9iaiwge1xuICAgICAgc2NvcGU6IG9wdGlvbnMuc2NvcGUsXG4gICAgICByZXNvbHZlcjogb3B0aW9ucy5yZXNvbHZlcixcbiAgICAgIHByZXBhcmluZzogb3B0aW9ucy5wcmVwYXJpbmcgIT09IHVuZGVmaW5lZCA/IG9wdGlvbnMucHJlcGFyaW5nIDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhlIGdpdmVuIG9iamVjdCBpcyBhbiBJUmVzb2x2YWJsZSBvYmplY3RcbiAgICpcbiAgICogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBUb2tlbi5pc1VucmVzb2x2ZWQoKSB3aGljaCB3aWxsIGFsc28gY2hlY2sgZm9yXG4gICAqIGVuY29kZWQgVG9rZW5zLCB3aGVyZWFzIHRoaXMgbWV0aG9kIHdpbGwgb25seSBkbyBhIHR5cGUgY2hlY2sgb24gdGhlIGdpdmVuXG4gICAqIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNSZXNvbHZhYmxlKG9iajogYW55KTogb2JqIGlzIElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gKFxuICAgICAgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgb2JqICE9PSBudWxsICYmXG4gICAgICB0eXBlb2Ygb2JqLnJlc29sdmUgPT09IFwiZnVuY3Rpb25cIlxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3RyaW5naWZ5IGEgbnVtYmVyIGRpcmVjdGx5IG9yIGxhemlseSBpZiBpdCdzIGEgVG9rZW4uIElmIGl0IGlzIGFuIG9iamVjdCAoaS5lLiwgeyBSZWY6ICdTb21lTG9naWNhbElkJyB9KSwgcmV0dXJuIGl0IGFzLWlzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdHJpbmdpZnlOdW1iZXIoeDogbnVtYmVyKSB7XG4gICAgLy8gb25seSBjb252ZXJ0IG51bWJlcnMgdG8gc3RyaW5ncyBzbyB0aGF0IFJlZnMsIGNvbmRpdGlvbnMsIGFuZCBvdGhlciB0aGluZ3MgZG9uJ3QgZW5kIHVwIHN5bnRoZXNpemluZyBhcyBbb2JqZWN0IG9iamVjdF1cblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoeCkpIHtcbiAgICAgIHJldHVybiBMYXp5LnN0cmluZ1ZhbHVlKHtcbiAgICAgICAgcHJvZHVjZTogKGNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IGNvbnRleHQucmVzb2x2ZSh4KTtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIHJlc29sdmVkICE9PSBcIm51bWJlclwiID8gcmVzb2x2ZWQgOiBgJHtyZXNvbHZlZH1gO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0eXBlb2YgeCAhPT0gXCJudW1iZXJcIiA/IHggOiBgJHt4fWA7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byB0aGUgcmVzb2x2ZSgpIG9wZXJhdGlvblxuICpcbiAqIE5PVCB0aGUgc2FtZSBhcyB0aGUgUmVzb2x2ZUNvbnRleHQ7IFJlc29sdmVDb250ZXh0IGlzIGV4cG9zZWQgdG8gVG9rZW5cbiAqIGltcGxlbWVudG9ycyBhbmQgcmVzb2x1dGlvbiBob29rcywgd2hlcmVhcyB0aGlzIHN0cnVjdCBpcyBqdXN0IHRvIGJ1bmRsZVxuICogYSBudW1iZXIgb2YgdGhpbmdzIHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIGFyZ3VtZW50cyB0byByZXNvbHZlKCkgaW4gYVxuICogcmVhZGFibGUgd2F5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzY29wZSBmcm9tIHdoaWNoIHJlc29sdXRpb24gaXMgcGVyZm9ybWVkXG4gICAqL1xuICByZWFkb25seSBzY29wZTogSUNvbnN0cnVjdDtcblxuICAvKipcbiAgICogVGhlIHJlc29sdmVyIHRvIGFwcGx5IHRvIGFueSByZXNvbHZhYmxlIHRva2VucyBmb3VuZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZXI6IElUb2tlblJlc29sdmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByZXNvbHV0aW9uIGlzIGJlaW5nIGV4ZWN1dGVkIGR1cmluZyB0aGUgcHJlcGFyZSBwaGFzZSBvciBub3QuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcmVwYXJpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gc3RyaW5nIGVuY29kaW5nc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuY29kaW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGhpbnQgZm9yIHRoZSBUb2tlbidzIHB1cnBvc2Ugd2hlbiBzdHJpbmdpZnlpbmcgaXRcbiAgICogQGRlZmF1bHQgLSBubyBkaXNwbGF5IGhpbnRcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlIaW50Pzogc3RyaW5nO1xufVxuIl19
@@ -1,14 +1,46 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.MigrateIds = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
38
  // Copyright (c) HashiCorp, Inc
7
39
  // SPDX-License-Identifier: MPL-2.0
8
40
  const _1 = require(".");
9
- const crypto = require("crypto");
41
+ const crypto = __importStar(require("crypto"));
10
42
  const errors_1 = require("./errors");
11
- const path = require("path");
43
+ const path = __importStar(require("path"));
12
44
  /**
13
45
  * We have to copy this from the old CDKTN version for now, so that we can
14
46
  * calculate the old logical IDs for now and for later for the migration.
@@ -140,6 +172,7 @@ function allocateLogicalIdOldVersion(tfElement) {
140
172
  * For migrating past 0.17 where the feature flag for the old id generation logic was removed after being deprecated since 0.15
141
173
  */
142
174
  class MigrateIds {
175
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdktn.MigrateIds", version: "0.25.0-pre.21" };
143
176
  visit(node) {
144
177
  // eslint-disable-next-line no-instanceof/no-instanceof
145
178
  if (node instanceof _1.TerraformResource) {
@@ -160,6 +193,4 @@ Refer to the following page for more information: https://cdktn.io/docs/examples
160
193
  }
161
194
  }
162
195
  exports.MigrateIds = MigrateIds;
163
- _a = JSII_RTTI_SYMBOL_1;
164
- MigrateIds[_a] = { fqn: "cdktn.MigrateIds", version: "0.25.0-pre.2" };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1pZC1hc3BlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXBncmFkZS1pZC1hc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBRW5DLHdCQU9XO0FBR1gsaUNBQWlDO0FBQ2pDLHFDQUErRDtBQUMvRCw2QkFBNkI7QUFFN0I7OztHQUdHO0FBRUg7Ozs7O0dBS0c7QUFDSCxNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUU1QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDckIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBRXZCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztBQUNuQixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxvQkFBb0I7QUFDL0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBRXZCOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FBQyxVQUFvQixFQUFFLGFBQXNCO0lBQzFFLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBQSw0Q0FBbUMsR0FBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCwyRUFBMkU7SUFDM0UsMkVBQTJFO0lBQzNFLGdDQUFnQztJQUNoQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIscUVBQXFFO1FBQ3JFLHlFQUF5RTtRQUN6RSx3RUFBd0U7UUFDeEUscUVBQXFFO1FBQ3JFLDZDQUE2QztRQUM3QyxNQUFNLFNBQVMsR0FBRywwQkFBMEIsQ0FBQyxVQUFVLENBQUMsQ0FB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dCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQge1xuICBBbm5vdGF0aW9ucyxcbiAgQXBwLFxuICBUZXJyYWZvcm1FbGVtZW50LFxuICBUZXJyYWZvcm1Nb2R1bGUsXG4gIFRlcnJhZm9ybVJlc291cmNlLFxuICBUZXJyYWZvcm1TdGFjayxcbn0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IElBc3BlY3QgfSBmcm9tIFwiLi9hc3BlY3RcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IGNhbm5vdENhbGNJZEZvckVtcHR5U2V0T2ZDb21wb25lbnRzIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbi8qKlxuICogV2UgaGF2ZSB0byBjb3B5IHRoaXMgZnJvbSB0aGUgb2xkIENES1ROIHZlcnNpb24gZm9yIG5vdywgc28gdGhhdCB3ZSBjYW5cbiAqIGNhbGN1bGF0ZSB0aGUgb2xkIGxvZ2ljYWwgSURzIGZvciBub3cgYW5kIGZvciBsYXRlciBmb3IgdGhlIG1pZ3JhdGlvbi5cbiAqL1xuXG4vKipcbiAqIFJlc291cmNlcyB3aXRoIHRoaXMgSUQgYXJlIGhpZGRlbiBmcm9tIGh1bWFuc1xuICpcbiAqIFRoZXkgZG8gbm90IGFwcGVhciBpbiB0aGUgaHVtYW4tcmVhZGFibGUgcGFydCBvZiB0aGUgbG9naWNhbCBJRCxcbiAqIGJ1dCB0aGV5IGFyZSBpbmNsdWRlZCBpbiB0aGUgaGFzaCBjYWxjdWxhdGlvbi5cbiAqL1xuY29uc3QgSElEREVOX0ZST01fSFVNQU5fSUQgPSBcIlJlc291cmNlXCI7XG5cbi8qKlxuICogUmVzb3VyY2VzIHdpdGggdGhpcyBJRCBhcmUgY29tcGxldGUgaGlkZGVuIGZyb20gdGhlIGxvZ2ljYWwgSUQgY2FsY3VsYXRpb24uXG4gKi9cbmNvbnN0IEhJRERFTl9JRCA9IFwiRGVmYXVsdFwiO1xuXG5jb25zdCBQQVRIX1NFUCA9IFwiL1wiO1xuY29uc3QgVU5JUVVFX1NFUCA9IFwiX1wiO1xuXG5jb25zdCBIQVNIX0xFTiA9IDg7XG5jb25zdCBNQVhfSFVNQU5fTEVOID0gMjQwOyAvLyBtYXggSUQgbGVuIGlzIDI1NVxuY29uc3QgTUFYX0lEX0xFTiA9IDI1NTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIGEgdW5pcXVlIElEIGZvciBhIHNldCBvZiB0ZXh0dWFsIGNvbXBvbmVudHMuXG4gKlxuICogVGhpcyBpcyBkb25lIGJ5IGNhbGN1bGF0aW5nIGEgaGFzaCBvbiB0aGUgZnVsbCBwYXRoIGFuZCB1c2luZyBpdCBhcyBhIHN1ZmZpeFxuICogb2YgYSBsZW5ndGgtbGltaXRlZCBcImh1bWFuXCIgcmVuZGl0aW9uIG9mIHRoZSBwYXRoIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudHMgVGhlIHBhdGggY29tcG9uZW50c1xuICogQHJldHVybnMgYSB1bmlxdWUgYWxwaGEtbnVtZXJpYyBpZGVudGlmaWVyIHdpdGggYSBtYXhpbXVtIGxlbmd0aCBvZiAyNTVcbiAqL1xuZnVuY3Rpb24gbWFrZVVuaXF1ZUlkT2xkVmVyc2lvbihjb21wb25lbnRzOiBzdHJpbmdbXSwgYWxsb3dTZXBDaGFyczogYm9vbGVhbikge1xuICBjb21wb25lbnRzID0gY29tcG9uZW50cy5maWx0ZXIoKHgpID0+IHggIT09IEhJRERFTl9JRCk7XG5cbiAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgY2Fubm90Q2FsY0lkRm9yRW1wdHlTZXRPZkNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIC8vIHRvcC1sZXZlbCByZXNvdXJjZXMgd2lsbCBzaW1wbHkgdXNlIHRoZSBgbmFtZWAgYXMtaXMgaW4gb3JkZXIgdG8gc3VwcG9ydFxuICAvLyB0cmFuc3BhcmVudCBtaWdyYXRpb24gb2YgY2xvdWRmb3JtYXRpb24gdGVtcGxhdGVzIHRvIHRoZSBDREsgd2l0aG91dCB0aGVcbiAgLy8gbmVlZCB0byByZW5hbWUgYWxsIHJlc291cmNlcy5cbiAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgLy8gd2UgZmlsdGVyIG91dCBub24tYWxwaGEgY2hhcmFjdGVycyBidXQgdGhhdCBpcyBhY3R1YWxseSBhIGJhZCBpZGVhXG4gICAgLy8gYmVjYXVzZSBpdCBjb3VsZCBjcmVhdGUgY29uZmxpY3RzIChcIkEtQlwiIGFuZCBcIkFCXCIgd2lsbCByZW5kZXIgdGhlIHNhbWVcbiAgICAvLyBsb2dpY2FsIElEKS4gc2FkbHksIGNoYW5naW5nIGl0IGluIHRoZSAxLnggdmVyc2lvbiBsaW5lIGlzIGltcG9zc2libGVcbiAgICAvLyBiZWNhdXNlIGl0IHdpbGwgYmUgYSBicmVha2luZyBjaGFuZ2UuIHdlIHNob3VsZCBjb25zaWRlciBmb3IgdjIuMC5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzY0MjFcbiAgICBjb25zdCBjYW5kaWRhdGUgPSByZW1vdmVEaXNhbGxvd2VkQ2hhcmFjdGVycyhjb21wb25lbnRzWzBdLCBhbGxvd1NlcENoYXJzKTtcblxuICAgIC8vIGlmIG91ciBjYW5kaWRhdGUgaXMgc2hvcnQgZW5vdWdoLCB1c2UgaXQgYXMgaXMuIG90aGVyd2lzZSwgZmFsbCBiYWNrIHRvXG4gICAgLy8gdGhlIG5vcm1hbCBtb2RlLlxuICAgIGlmIChjYW5kaWRhdGUubGVuZ3RoIDw9IE1BWF9JRF9MRU4pIHtcbiAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFzaCA9IHBhdGhIYXNoKGNvbXBvbmVudHMpO1xuICBjb25zdCBodW1hbiA9IHJlbW92ZUR1cGVzKGNvbXBvbmVudHMpXG4gICAgLmZpbHRlcigoeCkgPT4geCAhPT0gSElEREVOX0ZST01fSFVNQU5fSUQpXG4gICAgLm1hcCgocykgPT4gcmVtb3ZlRGlzYWxsb3dlZENoYXJhY3RlcnMocywgYWxsb3dTZXBDaGFycykpXG4gICAgLmpvaW4oVU5JUVVFX1NFUClcbiAgICAuc2xpY2UoMCwgTUFYX0hVTUFOX0xFTik7XG5cbiAgcmV0dXJuIGh1bWFuICsgVU5JUVVFX1NFUCArIGhhc2g7XG59XG5cbi8qKlxuICogVGFrZSBhIGhhc2ggb2YgdGhlIGdpdmVuIHBhdGguXG4gKlxuICogVGhlIGhhc2ggaXMgbGltaXRlZCBpbiBzaXplLlxuICovXG5mdW5jdGlvbiBwYXRoSGFzaChwYXRoOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGNvbnN0IG1kNSA9IGNyeXB0b1xuICAgIC5jcmVhdGVIYXNoKFwibWQ1XCIpXG4gICAgLnVwZGF0ZShwYXRoLmpvaW4oUEFUSF9TRVApKVxuICAgIC5kaWdlc3QoXCJoZXhcIik7XG4gIHJldHVybiBtZDUuc2xpY2UoMCwgSEFTSF9MRU4pLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBzXG4gKiBAcGFyYW0gYWxsb3dTZXBDaGFyc1xuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gcmVtb3ZlRGlzYWxsb3dlZENoYXJhY3RlcnMoczogc3RyaW5nLCBhbGxvd1NlcENoYXJzOiBib29sZWFuKSB7XG4gIGlmIChhbGxvd1NlcENoYXJzKSB7XG4gICAgcmV0dXJuIHJlbW92ZU5vbkFscGhhbnVtZXJpY1NlcChzKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVtb3ZlTm9uQWxwaGFudW1lcmljKHMpO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nLlxuICovXG5mdW5jdGlvbiByZW1vdmVOb25BbHBoYW51bWVyaWMoczogc3RyaW5nKSB7XG4gIHJldHVybiBzLnJlcGxhY2UoL1teQS1aYS16MC05XS9nLCBcIlwiKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZU5vbkFscGhhbnVtZXJpY1NlcChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHMucmVwbGFjZSgvW15BLVphLXowLTlfLV0vZywgXCJcIik7XG59XG5cbi8qKlxuICogUmVtb3ZlIGR1cGxpY2F0ZSBcInRlcm1zXCIgZnJvbSB0aGUgcGF0aCBsaXN0XG4gKlxuICogSWYgdGhlIHByZXZpb3VzIHBhdGggY29tcG9uZW50IG5hbWUgZW5kcyB3aXRoIHRoaXMgY29tcG9uZW50IG5hbWUsIHNraXAgdGhlXG4gKiBjdXJyZW50IGNvbXBvbmVudC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlRHVwZXMocGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgcGF0aCkge1xuICAgIGlmIChyZXQubGVuZ3RoID09PSAwIHx8ICFyZXRbcmV0Lmxlbmd0aCAtIDFdLmVuZHNXaXRoKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldC5wdXNoKGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHRmRWxlbWVudFxuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKFxuICB0ZkVsZW1lbnQ6IFRlcnJhZm9ybUVsZW1lbnQgfCBOb2RlLFxuKTogc3RyaW5nIHtcbiAgY29uc3Qgbm9kZSA9IFRlcnJhZm9ybUVsZW1lbnQuaXNUZXJyYWZvcm1FbGVtZW50KHRmRWxlbWVudClcbiAgICA/IHRmRWxlbWVudC5ub2RlXG4gICAgOiB0ZkVsZW1lbnQ7XG5cbiAgLy8gVGhpcyBpcyB0aGUgcHJldmlvdXMgYmVoYXZpb3IsIHdoaWNoIHdlIHdhbnQgZm9yIG5vdy5cbiAgY29uc3Qgc3RhY2tJbmRleCA9IDA7XG5cbiAgY29uc3QgY29tcG9uZW50cyA9IG5vZGUuc2NvcGVzLnNsaWNlKHN0YWNrSW5kZXggKyAxKS5tYXAoKGMpID0+IGMubm9kZS5pZCk7XG4gIHJldHVybiBjb21wb25lbnRzLmxlbmd0aCA+IDAgPyBtYWtlVW5pcXVlSWRPbGRWZXJzaW9uKGNvbXBvbmVudHMsIGZhbHNlKSA6IFwiXCI7XG59XG5cbi8qKlxuICogRm9yIG1pZ3JhdGluZyBwYXN0IDAuMTcgd2hlcmUgdGhlIGZlYXR1cmUgZmxhZyBmb3IgdGhlIG9sZCBpZCBnZW5lcmF0aW9uIGxvZ2ljIHdhcyByZW1vdmVkIGFmdGVyIGJlaW5nIGRlcHJlY2F0ZWQgc2luY2UgMC4xNVxuICovXG5leHBvcnQgY2xhc3MgTWlncmF0ZUlkcyBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWluc3RhbmNlb2Yvbm8taW5zdGFuY2VvZlxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICAgIGNvbnN0IG9sZElkID0gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKG5vZGUpO1xuICAgICAgbm9kZS5tb3ZlRnJvbUlkKGAke25vZGUudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke29sZElkfWApO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW5zdGFuY2VvZi9uby1pbnN0YW5jZW9mXG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBUZXJyYWZvcm1Nb2R1bGUpIHtcbiAgICAgIGNvbnN0IG9sZElkID0gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKG5vZGUpO1xuICAgICAgY29uc3QgYXBwTWFuaWZlc3QgPSBBcHAub2Yobm9kZSkubWFuaWZlc3Q7XG4gICAgICBjb25zdCBzdGFja01hbmlmZXN0ID0gYXBwTWFuaWZlc3QuZm9yU3RhY2soVGVycmFmb3JtU3RhY2sub2Yobm9kZSkpO1xuICAgICAgY29uc3Qgc3RhY2tPdXRkaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGFwcE1hbmlmZXN0Lm91dGRpcixcbiAgICAgICAgc3RhY2tNYW5pZmVzdC53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgKTtcbiAgICAgIEFubm90YXRpb25zLm9mKG5vZGUpXG4gICAgICAgIC5hZGRXYXJuaW5nKGBGb3VuZCBtb2R1bGUgd2l0aCBuZXcgaWQgJHtub2RlLmZyaWVuZGx5VW5pcXVlSWR9LiBNb3ZpbmcgdGhpcyBtb2R1bGUgcmVxdWlyZXMgYSBtYW51YWwgc3RhdGUgbWlncmF0aW9uLlxuSWYgdGhpcyBtb2R1bGUgaGFzIG5vdCBiZWVuIG1vdmVkIHlldCwgcnVuIFwidGVycmFmb3JtIHN0YXRlIG12IG1vZHVsZS4ke29sZElkfSBtb2R1bGUuJHtub2RlLmZyaWVuZGx5VW5pcXVlSWR9XCIgaW4gdGhlIG91dHB1dCBkaXJlY3RvcnkgXCIke3N0YWNrT3V0ZGlyfVwiIHRvIG1pZ3JhdGUgdGhlIGV4aXN0aW5nIHN0YXRlIHRvIGl0cyBuZXcgaWQuXG5SZWZlciB0byB0aGUgZm9sbG93aW5nIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9leGFtcGxlcy1hbmQtZ3VpZGVzL3JlZmFjdG9yaW5nI21vdmluZy1vci1yZW5hbWluZy1tb2R1bGVzYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBncmFkZS1pZC1hc3BlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXBncmFkZS1pZC1hc3BlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFFbkMsd0JBT1c7QUFHWCwrQ0FBaUM7QUFDakMscUNBQStEO0FBQy9ELDJDQUE2QjtBQUU3Qjs7O0dBR0c7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBRTVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQUNyQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFFdkIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQjtBQUMvQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFFdkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLFVBQW9CLEVBQUUsYUFBc0I7SUFDMUUsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztJQUV2RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFBLDRDQUFtQyxHQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELDJFQUEyRTtJQUMzRSwyRUFBMkU7SUFDM0UsZ0NBQWdDO0lBQ2hDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixxRUFBcUU7UUFDckUseUVBQXlFO1FBQ3pFLHdFQUF3RTtRQUN4RSxxRUFBcUU7UUFDckUsNkNBQTZDO1FBQzdDLE1BQU0sU0FB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QUFDOztBQXJCSCxnQ0FzQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuXG5pbXBvcnQge1xuICBBbm5vdGF0aW9ucyxcbiAgQXBwLFxuICBUZXJyYWZvcm1FbGVtZW50LFxuICBUZXJyYWZvcm1Nb2R1bGUsXG4gIFRlcnJhZm9ybVJlc291cmNlLFxuICBUZXJyYWZvcm1TdGFjayxcbn0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IElBc3BlY3QgfSBmcm9tIFwiLi9hc3BlY3RcIjtcbmltcG9ydCB7IElDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJjcnlwdG9cIjtcbmltcG9ydCB7IGNhbm5vdENhbGNJZEZvckVtcHR5U2V0T2ZDb21wb25lbnRzIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbi8qKlxuICogV2UgaGF2ZSB0byBjb3B5IHRoaXMgZnJvbSB0aGUgb2xkIENES1ROIHZlcnNpb24gZm9yIG5vdywgc28gdGhhdCB3ZSBjYW5cbiAqIGNhbGN1bGF0ZSB0aGUgb2xkIGxvZ2ljYWwgSURzIGZvciBub3cgYW5kIGZvciBsYXRlciBmb3IgdGhlIG1pZ3JhdGlvbi5cbiAqL1xuXG4vKipcbiAqIFJlc291cmNlcyB3aXRoIHRoaXMgSUQgYXJlIGhpZGRlbiBmcm9tIGh1bWFuc1xuICpcbiAqIFRoZXkgZG8gbm90IGFwcGVhciBpbiB0aGUgaHVtYW4tcmVhZGFibGUgcGFydCBvZiB0aGUgbG9naWNhbCBJRCxcbiAqIGJ1dCB0aGV5IGFyZSBpbmNsdWRlZCBpbiB0aGUgaGFzaCBjYWxjdWxhdGlvbi5cbiAqL1xuY29uc3QgSElEREVOX0ZST01fSFVNQU5fSUQgPSBcIlJlc291cmNlXCI7XG5cbi8qKlxuICogUmVzb3VyY2VzIHdpdGggdGhpcyBJRCBhcmUgY29tcGxldGUgaGlkZGVuIGZyb20gdGhlIGxvZ2ljYWwgSUQgY2FsY3VsYXRpb24uXG4gKi9cbmNvbnN0IEhJRERFTl9JRCA9IFwiRGVmYXVsdFwiO1xuXG5jb25zdCBQQVRIX1NFUCA9IFwiL1wiO1xuY29uc3QgVU5JUVVFX1NFUCA9IFwiX1wiO1xuXG5jb25zdCBIQVNIX0xFTiA9IDg7XG5jb25zdCBNQVhfSFVNQU5fTEVOID0gMjQwOyAvLyBtYXggSUQgbGVuIGlzIDI1NVxuY29uc3QgTUFYX0lEX0xFTiA9IDI1NTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIGEgdW5pcXVlIElEIGZvciBhIHNldCBvZiB0ZXh0dWFsIGNvbXBvbmVudHMuXG4gKlxuICogVGhpcyBpcyBkb25lIGJ5IGNhbGN1bGF0aW5nIGEgaGFzaCBvbiB0aGUgZnVsbCBwYXRoIGFuZCB1c2luZyBpdCBhcyBhIHN1ZmZpeFxuICogb2YgYSBsZW5ndGgtbGltaXRlZCBcImh1bWFuXCIgcmVuZGl0aW9uIG9mIHRoZSBwYXRoIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudHMgVGhlIHBhdGggY29tcG9uZW50c1xuICogQHJldHVybnMgYSB1bmlxdWUgYWxwaGEtbnVtZXJpYyBpZGVudGlmaWVyIHdpdGggYSBtYXhpbXVtIGxlbmd0aCBvZiAyNTVcbiAqL1xuZnVuY3Rpb24gbWFrZVVuaXF1ZUlkT2xkVmVyc2lvbihjb21wb25lbnRzOiBzdHJpbmdbXSwgYWxsb3dTZXBDaGFyczogYm9vbGVhbikge1xuICBjb21wb25lbnRzID0gY29tcG9uZW50cy5maWx0ZXIoKHgpID0+IHggIT09IEhJRERFTl9JRCk7XG5cbiAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgY2Fubm90Q2FsY0lkRm9yRW1wdHlTZXRPZkNvbXBvbmVudHMoKTtcbiAgfVxuXG4gIC8vIHRvcC1sZXZlbCByZXNvdXJjZXMgd2lsbCBzaW1wbHkgdXNlIHRoZSBgbmFtZWAgYXMtaXMgaW4gb3JkZXIgdG8gc3VwcG9ydFxuICAvLyB0cmFuc3BhcmVudCBtaWdyYXRpb24gb2YgY2xvdWRmb3JtYXRpb24gdGVtcGxhdGVzIHRvIHRoZSBDREsgd2l0aG91dCB0aGVcbiAgLy8gbmVlZCB0byByZW5hbWUgYWxsIHJlc291cmNlcy5cbiAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgLy8gd2UgZmlsdGVyIG91dCBub24tYWxwaGEgY2hhcmFjdGVycyBidXQgdGhhdCBpcyBhY3R1YWxseSBhIGJhZCBpZGVhXG4gICAgLy8gYmVjYXVzZSBpdCBjb3VsZCBjcmVhdGUgY29uZmxpY3RzIChcIkEtQlwiIGFuZCBcIkFCXCIgd2lsbCByZW5kZXIgdGhlIHNhbWVcbiAgICAvLyBsb2dpY2FsIElEKS4gc2FkbHksIGNoYW5naW5nIGl0IGluIHRoZSAxLnggdmVyc2lvbiBsaW5lIGlzIGltcG9zc2libGVcbiAgICAvLyBiZWNhdXNlIGl0IHdpbGwgYmUgYSBicmVha2luZyBjaGFuZ2UuIHdlIHNob3VsZCBjb25zaWRlciBmb3IgdjIuMC5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzY0MjFcbiAgICBjb25zdCBjYW5kaWRhdGUgPSByZW1vdmVEaXNhbGxvd2VkQ2hhcmFjdGVycyhjb21wb25lbnRzWzBdLCBhbGxvd1NlcENoYXJzKTtcblxuICAgIC8vIGlmIG91ciBjYW5kaWRhdGUgaXMgc2hvcnQgZW5vdWdoLCB1c2UgaXQgYXMgaXMuIG90aGVyd2lzZSwgZmFsbCBiYWNrIHRvXG4gICAgLy8gdGhlIG5vcm1hbCBtb2RlLlxuICAgIGlmIChjYW5kaWRhdGUubGVuZ3RoIDw9IE1BWF9JRF9MRU4pIHtcbiAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFzaCA9IHBhdGhIYXNoKGNvbXBvbmVudHMpO1xuICBjb25zdCBodW1hbiA9IHJlbW92ZUR1cGVzKGNvbXBvbmVudHMpXG4gICAgLmZpbHRlcigoeCkgPT4geCAhPT0gSElEREVOX0ZST01fSFVNQU5fSUQpXG4gICAgLm1hcCgocykgPT4gcmVtb3ZlRGlzYWxsb3dlZENoYXJhY3RlcnMocywgYWxsb3dTZXBDaGFycykpXG4gICAgLmpvaW4oVU5JUVVFX1NFUClcbiAgICAuc2xpY2UoMCwgTUFYX0hVTUFOX0xFTik7XG5cbiAgcmV0dXJuIGh1bWFuICsgVU5JUVVFX1NFUCArIGhhc2g7XG59XG5cbi8qKlxuICogVGFrZSBhIGhhc2ggb2YgdGhlIGdpdmVuIHBhdGguXG4gKlxuICogVGhlIGhhc2ggaXMgbGltaXRlZCBpbiBzaXplLlxuICovXG5mdW5jdGlvbiBwYXRoSGFzaChwYXRoOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIGNvbnN0IG1kNSA9IGNyeXB0b1xuICAgIC5jcmVhdGVIYXNoKFwibWQ1XCIpXG4gICAgLnVwZGF0ZShwYXRoLmpvaW4oUEFUSF9TRVApKVxuICAgIC5kaWdlc3QoXCJoZXhcIik7XG4gIHJldHVybiBtZDUuc2xpY2UoMCwgSEFTSF9MRU4pLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBzXG4gKiBAcGFyYW0gYWxsb3dTZXBDaGFyc1xuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gcmVtb3ZlRGlzYWxsb3dlZENoYXJhY3RlcnMoczogc3RyaW5nLCBhbGxvd1NlcENoYXJzOiBib29sZWFuKSB7XG4gIGlmIChhbGxvd1NlcENoYXJzKSB7XG4gICAgcmV0dXJuIHJlbW92ZU5vbkFscGhhbnVtZXJpY1NlcChzKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcmVtb3ZlTm9uQWxwaGFudW1lcmljKHMpO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nLlxuICovXG5mdW5jdGlvbiByZW1vdmVOb25BbHBoYW51bWVyaWMoczogc3RyaW5nKSB7XG4gIHJldHVybiBzLnJlcGxhY2UoL1teQS1aYS16MC05XS9nLCBcIlwiKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHNcbiAqIEByZXR1cm5zXG4gKi9cbmZ1bmN0aW9uIHJlbW92ZU5vbkFscGhhbnVtZXJpY1NlcChzOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHMucmVwbGFjZSgvW15BLVphLXowLTlfLV0vZywgXCJcIik7XG59XG5cbi8qKlxuICogUmVtb3ZlIGR1cGxpY2F0ZSBcInRlcm1zXCIgZnJvbSB0aGUgcGF0aCBsaXN0XG4gKlxuICogSWYgdGhlIHByZXZpb3VzIHBhdGggY29tcG9uZW50IG5hbWUgZW5kcyB3aXRoIHRoaXMgY29tcG9uZW50IG5hbWUsIHNraXAgdGhlXG4gKiBjdXJyZW50IGNvbXBvbmVudC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlRHVwZXMocGF0aDogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgcGF0aCkge1xuICAgIGlmIChyZXQubGVuZ3RoID09PSAwIHx8ICFyZXRbcmV0Lmxlbmd0aCAtIDFdLmVuZHNXaXRoKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldC5wdXNoKGNvbXBvbmVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIHRmRWxlbWVudFxuICogQHJldHVybnNcbiAqL1xuZnVuY3Rpb24gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKFxuICB0ZkVsZW1lbnQ6IFRlcnJhZm9ybUVsZW1lbnQgfCBOb2RlLFxuKTogc3RyaW5nIHtcbiAgY29uc3Qgbm9kZSA9IFRlcnJhZm9ybUVsZW1lbnQuaXNUZXJyYWZvcm1FbGVtZW50KHRmRWxlbWVudClcbiAgICA/IHRmRWxlbWVudC5ub2RlXG4gICAgOiB0ZkVsZW1lbnQ7XG5cbiAgLy8gVGhpcyBpcyB0aGUgcHJldmlvdXMgYmVoYXZpb3IsIHdoaWNoIHdlIHdhbnQgZm9yIG5vdy5cbiAgY29uc3Qgc3RhY2tJbmRleCA9IDA7XG5cbiAgY29uc3QgY29tcG9uZW50cyA9IG5vZGUuc2NvcGVzLnNsaWNlKHN0YWNrSW5kZXggKyAxKS5tYXAoKGMpID0+IGMubm9kZS5pZCk7XG4gIHJldHVybiBjb21wb25lbnRzLmxlbmd0aCA+IDAgPyBtYWtlVW5pcXVlSWRPbGRWZXJzaW9uKGNvbXBvbmVudHMsIGZhbHNlKSA6IFwiXCI7XG59XG5cbi8qKlxuICogRm9yIG1pZ3JhdGluZyBwYXN0IDAuMTcgd2hlcmUgdGhlIGZlYXR1cmUgZmxhZyBmb3IgdGhlIG9sZCBpZCBnZW5lcmF0aW9uIGxvZ2ljIHdhcyByZW1vdmVkIGFmdGVyIGJlaW5nIGRlcHJlY2F0ZWQgc2luY2UgMC4xNVxuICovXG5leHBvcnQgY2xhc3MgTWlncmF0ZUlkcyBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWluc3RhbmNlb2Yvbm8taW5zdGFuY2VvZlxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICAgIGNvbnN0IG9sZElkID0gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKG5vZGUpO1xuICAgICAgbm9kZS5tb3ZlRnJvbUlkKGAke25vZGUudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke29sZElkfWApO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8taW5zdGFuY2VvZi9uby1pbnN0YW5jZW9mXG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBUZXJyYWZvcm1Nb2R1bGUpIHtcbiAgICAgIGNvbnN0IG9sZElkID0gYWxsb2NhdGVMb2dpY2FsSWRPbGRWZXJzaW9uKG5vZGUpO1xuICAgICAgY29uc3QgYXBwTWFuaWZlc3QgPSBBcHAub2Yobm9kZSkubWFuaWZlc3Q7XG4gICAgICBjb25zdCBzdGFja01hbmlmZXN0ID0gYXBwTWFuaWZlc3QuZm9yU3RhY2soVGVycmFmb3JtU3RhY2sub2Yobm9kZSkpO1xuICAgICAgY29uc3Qgc3RhY2tPdXRkaXIgPSBwYXRoLmpvaW4oXG4gICAgICAgIGFwcE1hbmlmZXN0Lm91dGRpcixcbiAgICAgICAgc3RhY2tNYW5pZmVzdC53b3JraW5nRGlyZWN0b3J5LFxuICAgICAgKTtcbiAgICAgIEFubm90YXRpb25zLm9mKG5vZGUpXG4gICAgICAgIC5hZGRXYXJuaW5nKGBGb3VuZCBtb2R1bGUgd2l0aCBuZXcgaWQgJHtub2RlLmZyaWVuZGx5VW5pcXVlSWR9LiBNb3ZpbmcgdGhpcyBtb2R1bGUgcmVxdWlyZXMgYSBtYW51YWwgc3RhdGUgbWlncmF0aW9uLlxuSWYgdGhpcyBtb2R1bGUgaGFzIG5vdCBiZWVuIG1vdmVkIHlldCwgcnVuIFwidGVycmFmb3JtIHN0YXRlIG12IG1vZHVsZS4ke29sZElkfSBtb2R1bGUuJHtub2RlLmZyaWVuZGx5VW5pcXVlSWR9XCIgaW4gdGhlIG91dHB1dCBkaXJlY3RvcnkgXCIke3N0YWNrT3V0ZGlyfVwiIHRvIG1pZ3JhdGUgdGhlIGV4aXN0aW5nIHN0YXRlIHRvIGl0cyBuZXcgaWQuXG5SZWZlciB0byB0aGUgZm9sbG93aW5nIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9leGFtcGxlcy1hbmQtZ3VpZGVzL3JlZmFjdG9yaW5nI21vdmluZy1vci1yZW5hbWluZy1tb2R1bGVzYCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,9 +1,42 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ValidateFeatureTargetSupport = exports.TARGET_PRODUCTS = exports.DEFAULT_TARGET_VERSIONS = exports.TARGET_VERSIONS_CONTEXT_KEY = void 0;
4
37
  exports.resolveTargetVersions = resolveTargetVersions;
5
38
  exports.checkFeatureSupportedByTargets = checkFeatureSupportedByTargets;
6
- const semver = require("semver");
39
+ const semver = __importStar(require("semver"));
7
40
  /**
8
41
  * Context key carrying the project's declared Terraform-compatible runtime
9
42
  * targets (set from the `targetVersions` field in cdktf.json by the CLI, or
@@ -114,6 +147,10 @@ function checkFeatureSupportedByTargets(featureName, supportedIn, targets, hint)
114
147
  * that execute the binary.
115
148
  */
116
149
  class ValidateFeatureTargetSupport {
150
+ scope;
151
+ featureName;
152
+ supportedIn;
153
+ hint;
117
154
  constructor(scope, featureName, supportedIn, hint) {
118
155
  this.scope = scope;
119
156
  this.featureName = featureName;
@@ -129,4 +166,4 @@ class ValidateFeatureTargetSupport {
129
166
  }
130
167
  }
131
168
  exports.ValidateFeatureTargetSupport = ValidateFeatureTargetSupport;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFrREEsc0RBeURDO0FBWUQsd0VBZ0NDO0FBcEpELGlDQUFpQztBQUdqQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBWTVEOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFpQjtJQUlyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBMkIsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsK0JBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUNFLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsUUFBUSxLQUFLLElBQUk7UUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdkIsQ0FBQztRQUNELE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sNkdBQTZHO2FBQzlHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPO1lBQ0wsTUFBTSxFQUFFO2dCQUNOLHFH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QUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sOEJBQThCLENBQ25DLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLE9BQU8sRUFDUCxJQUFJLENBQUMsSUFBSSxDQUNWLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQkQsb0VBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElDb25zdHJ1Y3QsIElWYWxpZGF0aW9uIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzIH0gZnJvbSBcIi4vdmFsaWRhdGUtdGVycmFmb3JtLWZlYXR1cmUtdmVyc2lvblwiO1xuXG4vKipcbiAqIENvbnRleHQga2V5IGNhcnJ5aW5nIHRoZSBwcm9qZWN0J3MgZGVjbGFyZWQgVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZVxuICogdGFyZ2V0cyAoc2V0IGZyb20gdGhlIGB0YXJnZXRWZXJzaW9uc2AgZmllbGQgaW4gY2RrdGYuanNvbiBieSB0aGUgQ0xJLCBvclxuICogZGlyZWN0bHkgdmlhIEFwcCBjb250ZXh0IC8gQ0RLVEZfQ09OVEVYVF9KU09OIGZvciBzdGFuZGFsb25lIHN5bnRoKS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBjYW5vbmljYWwgZGVmaW5pdGlvbi4gYEBjZGt0bi9jb21tb25zYCBpbXBvcnRzIGl0IGZyb20gaGVyZVxuICogKGNvbW1vbnMgZGVwZW5kcyBvbiBjZGt0bjsgY2RrdG4gbXVzdCBub3QgZGVwZW5kIG9uIGNvbW1vbnMpLCBzbyB0aGUgQ0xJXG4gKiB3cml0ZXMgYW5kIHRoZSBjb25zdHJ1Y3QgbGlicmFyeSByZWFkcyB0aGUgZXhhY3Qgc2FtZSBrZXkuIEl0IGlzIGFuXG4gKiBpbnRlcm5hbCB3aXJpbmcgZGV0YWlsLCBkZWxpYmVyYXRlbHkgbm90IHBhcnQgb2YgY2RrdG4ncyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgY29uc3QgVEFSR0VUX1ZFUlNJT05TX0NPTlRFWFRfS0VZID0gXCJ0YXJnZXRWZXJzaW9uc1wiO1xuXG4vKipcbiAqIFRoZSBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lcyBhIHByb2plY3QgZGVjbGFyZXMgaXQgc3VwcG9ydHMsIGFzIG5wbVxuICogc2VtdmVyIHJhbmdlcyBwZXIgcHJvZHVjdC4gQSBtaXNzaW5nIHByb2R1Y3QgbWVhbnMgdGhlIHByb2plY3QgZG9lcyBub3RcbiAqIHRhcmdldCB0aGF0IHByb2R1Y3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMge1xuICByZWFkb25seSB0ZXJyYWZvcm0/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wZW50b2Z1Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFVzZWQgd2hlbiBhIHByb2plY3QgZGVjbGFyZXMgbm8gYHRhcmdldFZlcnNpb25zYDogdGhlIHByb2plY3QgaXMgYXNzdW1lZFxuICogdG8gdGFyZ2V0IGV2ZXJ5IHN1cHBvcnRlZCByZWxlYXNlIG9mIGJvdGggcHJvZHVjdHMsIHdoaWNoIGlzIHRoZSBzdHJpY3Rlc3RcbiAqIChtb3N0IHBvcnRhYmxlKSBpbnRlcnByZXRhdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyA9IHtcbiAgdGVycmFmb3JtOiBcIj49MS41LjdcIixcbiAgb3BlbnRvZnU6IFwiPj0xLjYuMFwiLFxufTtcblxuLyoqXG4gKiBUaGUgcHJvZHVjdCBrZXlzIGEgcHJvamVjdCBtYXkgZGVjbGFyZSB0YXJnZXRzIGZvci4gRXhwb3J0ZWQgZm9yIHJldXNlIGJ5XG4gKiBgQGNka3RuL2NvbW1vbnNgIChpbXBvcnRlZCB2aWEgc3VicGF0aCksIG5vdCBwYXJ0IG9mIGNka3RuJ3MgcHVibGljIEFQSS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRBUkdFVF9QUk9EVUNUUyA9IFtcInRlcnJhZm9ybVwiLCBcIm9wZW50b2Z1XCJdIGFzIGNvbnN0O1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBkZWNsYXJlZCB0YXJnZXQgdmVyc2lvbnMgZnJvbSBjb25zdHJ1Y3QgY29udGV4dCwgZmFsbGluZyBiYWNrXG4gKiB0byBERUZBVUxUX1RBUkdFVF9WRVJTSU9OUy4gUmV0dXJucyBlcnJvcnMgaW5zdGVhZCBvZiB0YXJnZXRzIHdoZW4gdGhlXG4gKiBkZWNsYXJlZCB2YWx1ZSBpcyBtYWxmb3JtZWQgKHdoaWNoIGNhbiBoYXBwZW4gd2hlbiBjb250ZXh0IGlzIHNldCBkaXJlY3RseVxuICogb24gdGhlIEFwcCByYXRoZXIgdGhhbiBnb2luZyB0aHJvdWdoIGNka3RmLmpzb24gdmFsaWRhdGlvbikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVGFyZ2V0VmVyc2lvbnMoc2NvcGU6IElDb25zdHJ1Y3QpOiB7XG4gIHRhcmdldHM/OiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucztcbiAgZXJyb3JzOiBzdHJpbmdbXTtcbn0ge1xuICBjb25zdCBkZWNsYXJlZCA9IHNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dChUQVJHRVRfVkVSU0lPTlNfQ09OVEVYVF9LRVkpO1xuICBpZiAoZGVjbGFyZWQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IHRhcmdldHM6IERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLCBlcnJvcnM6IFtdIH07XG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIGRlY2xhcmVkICE9PSBcIm9iamVjdFwiIHx8XG4gICAgZGVjbGFyZWQgPT09IG51bGwgfHxcbiAgICBBcnJheS5pc0FycmF5KGRlY2xhcmVkKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3JzOiBbXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBjb250ZXh0IG11c3QgYmUgYW4gb2JqZWN0IG1hcHBpbmcgcHJvZHVjdHMgdG8gc2VtdmVyIHJhbmdlcywgZS5nLiB7IFwidGVycmFmb3JtXCI6IFwiPj0xLjUuN1wiIH1gLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKGRlY2xhcmVkKTtcbiAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yczogW1xuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgbXVzdCBkZWNsYXJlIGF0IGxlYXN0IG9uZSBwcm9kdWN0IChcInRlcnJhZm9ybVwiIG9yIFwib3BlbnRvZnVcIikgb3IgYmUgb21pdHRlZCBlbnRpcmVseWAsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgW3Byb2R1Y3QsIHJhbmdlXSBvZiBlbnRyaWVzKSB7XG4gICAgaWYgKCFUQVJHRVRfUFJPRFVDVFMuaW5jbHVkZXMocHJvZHVjdCBhcyBhbnkpKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIGhhcyB1bmtub3duIHByb2R1Y3QgXCIke3Byb2R1Y3R9XCIgKGV4cGVjdGVkIFwidGVycmFmb3JtXCIgb3IgXCJvcGVudG9mdVwiKWAsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJhbmdlID09PSBcInN0cmluZ1wiICYmIHJhbmdlLmluY2x1ZGVzKFwifj5cIikpIHtcbiAgICAgIC8vIG5wbSBzZW12ZXIgaGFwcGVucyB0byBwYXJzZSBcIn4+XCIgYXMgXCJ+XCIsIHdoaWNoIGhhcyBkaWZmZXJlbnRcbiAgICAgIC8vIHNlbWFudGljcyB0aGFuIFRlcnJhZm9ybSdzIFwifj5cIiBwZXNzaW1pc3RpYyBjb25zdHJhaW50IOKAlCByZWplY3QgaXRcbiAgICAgIC8vIGluc3RlYWQgb2Ygc2lsZW50bHkgbWVhbmluZyBzb21ldGhpbmcgZWxzZVxuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucy4ke3Byb2R1Y3R9IFwiJHtyYW5nZX1cIiB1c2VzIFRlcnJhZm9ybSBwcm92aWRlciBjb25zdHJhaW50IHN5bnRheDsgdXNlIG5wbSBzZW12ZXIgcmFuZ2VzIGluc3RlYWQgKGUuZy4gXCI+PTEuNS43XCIgb3IgXCJ+MS41LjdcIilgLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByYW5nZSAhPT0gXCJzdHJpbmdcIiB8fCBzZW12ZXIudmFsaWRSYW5nZShyYW5nZSkgPT09IG51bGwpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMuJHtwcm9kdWN0fSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHJhbmdlLFxuICAgICAgICApfSBpcyBub3QgYSB2YWxpZCBzZW12ZXIgcmFuZ2VgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4geyBlcnJvcnMgfTtcbiAgfVxuXG4gIHJldHVybiB7IHRhcmdldHM6IGRlY2xhcmVkIGFzIFRlcnJhZm9ybVRhcmdldFZlcnNpb25zLCBlcnJvcnM6IFtdIH07XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBmZWF0dXJlIGlzIHN1cHBvcnRlZCBhY3Jvc3MgdGhlIGVudGlyZSBkZWNsYXJlZCB0YXJnZXRcbiAqIHJhbmdlIG9mIGV2ZXJ5IHRhcmdldGVkIHByb2R1Y3QuXG4gKlxuICogYHN1cHBvcnRlZEluYCBmb2xsb3dzIHRoZSBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzIHNlbWFudGljczogYVxuICogbWlzc2luZyBwcm9kdWN0IGtleSBtZWFucyB0aGUgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoYXQgcHJvZHVjdCBhdFxuICogYW55IHZlcnNpb24uIFRoZSBjaGVjayBpcyBhIHNlbXZlciByYW5nZSBzdWJzZXQ6IGRlY2xhcmluZ1xuICogYHRlcnJhZm9ybTogXCI+PTEuNS43XCJgIHdoaWxlIGEgZmVhdHVyZSByZXF1aXJlcyBgPj0xLjguMGAgZmFpbHMsIGJlY2F1c2VcbiAqIHRoZSBwcm9qZWN0IGNsYWltcyB0byBzdXBwb3J0IDEuNS43Li4xLjguMCB3aGVyZSB0aGUgZmVhdHVyZSBpcyBtaXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tGZWF0dXJlU3VwcG9ydGVkQnlUYXJnZXRzKFxuICBmZWF0dXJlTmFtZTogc3RyaW5nLFxuICBzdXBwb3J0ZWRJbjogVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyxcbiAgdGFyZ2V0czogVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsXG4gIGhpbnQ/OiBzdHJpbmcsXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHByb2R1Y3Qgb2YgVEFSR0VUX1BST0RVQ1RTKSB7XG4gICAgY29uc3QgdGFyZ2V0UmFuZ2UgPSB0YXJnZXRzW3Byb2R1Y3RdO1xuICAgIGlmICghdGFyZ2V0UmFuZ2UpIGNvbnRpbnVlOyAvLyBwcm9kdWN0IG5vdCB0YXJnZXRlZCBieSB0aGUgcHJvamVjdFxuXG4gICAgY29uc3Qgc3VwcG9ydGVkUmFuZ2UgPSBzdXBwb3J0ZWRJbltwcm9kdWN0XTtcbiAgICBpZiAoIXN1cHBvcnRlZFJhbmdlKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYCR7ZmVhdHVyZU5hbWV9IGlzIG5vdCBzdXBwb3J0ZWQgYnkgJHtwcm9kdWN0fSwgYnV0IHRoZSBwcm9qZWN0IHRhcmdldHMgJHtwcm9kdWN0fSAke3RhcmdldFJhbmdlfS4gJHtcbiAgICAgICAgICBoaW50IHx8IFwiXCJcbiAgICAgICAgfWAudHJpbUVuZCgpLFxuICAgICAgKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghc2VtdmVyLnN1YnNldCh0YXJnZXRSYW5nZSwgc3VwcG9ydGVkUmFuZ2UpKSB7XG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYCR7ZmVhdHVyZU5hbWV9IHJlcXVpcmVzICR7cHJvZHVjdH0gJHtzdXBwb3J0ZWRSYW5nZX0sIGJ1dCB0aGUgcHJvamVjdCB0YXJnZXRzICR7cHJvZHVjdH0gJHt0YXJnZXRSYW5nZX0uICR7XG4gICAgICAgICAgaGludCB8fCBcIlwiXG4gICAgICAgIH1gLnRyaW1FbmQoKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCBhIGZlYXR1cmUgaXMgc3VwcG9ydGVkIGJ5IHRoZSBwcm9qZWN0J3MgZGVjbGFyZWRcbiAqIFRlcnJhZm9ybS1jb21wYXRpYmxlIHJ1bnRpbWUgdGFyZ2V0cyAoY2RrdGYuanNvbiBgdGFyZ2V0VmVyc2lvbnNgKSxcbiAqIHdpdGhvdXQgcHJvYmluZyBhbnkgbG9jYWxseSBpbnN0YWxsZWQgYmluYXJ5LlxuICpcbiAqIFZlcmlmeWluZyB0aGUgYWN0dWFsbHkgaW5zdGFsbGVkIGJpbmFyeSBpcyBhIHNlcGFyYXRlLCBleHBsaWNpdCBzdGVwOlxuICogdGhlIG9wdC1pbiBgdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnlgIGNvbmZpZyBoYW5kbGVkIGJ5IHRoZSBDTEkgY29tbWFuZHNcbiAqIHRoYXQgZXhlY3V0ZSB0aGUgYmluYXJ5LlxuICovXG5leHBvcnQgY2xhc3MgVmFsaWRhdGVGZWF0dXJlVGFyZ2V0U3VwcG9ydCBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHNjb3BlOiBJQ29uc3RydWN0LFxuICAgIHByb3RlY3RlZCBmZWF0dXJlTmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBzdXBwb3J0ZWRJbjogVGVycmFmb3JtRmVhdHVyZVZlcnNpb25Db25zdHJhaW50cyxcbiAgICBwcm90ZWN0ZWQgaGludD86IHN0cmluZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgeyB0YXJnZXRzLCBlcnJvcnMgfSA9IHJlc29sdmVUYXJnZXRWZXJzaW9ucyh0aGlzLnNjb3BlKTtcbiAgICBpZiAoIXRhcmdldHMpIHtcbiAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoZWNrRmVhdHVyZVN1cHBvcnRlZEJ5VGFyZ2V0cyhcbiAgICAgIHRoaXMuZmVhdHVyZU5hbWUsXG4gICAgICB0aGlzLnN1cHBvcnRlZEluLFxuICAgICAgdGFyZ2V0cyxcbiAgICAgIHRoaXMuaGludCxcbiAgICApO1xuICB9XG59XG4iXX0=
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFyZ2V0LXZlcnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb25zL3RhcmdldC12ZXJzaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsc0RBeURDO0FBWUQsd0VBZ0NDO0FBcEpELCtDQUFpQztBQUdqQzs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBWTVEOzs7O0dBSUc7QUFDVSxRQUFBLHVCQUF1QixHQUE0QjtJQUM5RCxTQUFTLEVBQUUsU0FBUztJQUNwQixRQUFRLEVBQUUsU0FBUztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFbEU7Ozs7O0dBS0c7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxLQUFpQjtJQUlyRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBMkIsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sRUFBRSxPQUFPLEVBQUUsK0JBQXVCLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUNFLE9BQU8sUUFBUSxLQUFLLFFBQVE7UUFDNUIsUUFBUSxLQUFLLElBQUk7UUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdkIsQ0FBQztRQUNELE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ04sNkdBQTZHO2FBQzlHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztR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QUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyw4QkFBOEIsQ0FDbkMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsT0FBTyxFQUNQLElBQUksQ0FBQyxJQUFJLENBQ1YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJCRCxvRUFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgSUNvbnN0cnVjdCwgSVZhbGlkYXRpb24gfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMgfSBmcm9tIFwiLi92YWxpZGF0ZS10ZXJyYWZvcm0tZmVhdHVyZS12ZXJzaW9uXCI7XG5cbi8qKlxuICogQ29udGV4dCBrZXkgY2FycnlpbmcgdGhlIHByb2plY3QncyBkZWNsYXJlZCBUZXJyYWZvcm0tY29tcGF0aWJsZSBydW50aW1lXG4gKiB0YXJnZXRzIChzZXQgZnJvbSB0aGUgYHRhcmdldFZlcnNpb25zYCBmaWVsZCBpbiBjZGt0Zi5qc29uIGJ5IHRoZSBDTEksIG9yXG4gKiBkaXJlY3RseSB2aWEgQXBwIGNvbnRleHQgLyBDREtURl9DT05URVhUX0pTT04gZm9yIHN0YW5kYWxvbmUgc3ludGgpLlxuICpcbiAqIFRoaXMgaXMgdGhlIGNhbm9uaWNhbCBkZWZpbml0aW9uLiBgQGNka3RuL2NvbW1vbnNgIGltcG9ydHMgaXQgZnJvbSBoZXJlXG4gKiAoY29tbW9ucyBkZXBlbmRzIG9uIGNka3RuOyBjZGt0biBtdXN0IG5vdCBkZXBlbmQgb24gY29tbW9ucyksIHNvIHRoZSBDTElcbiAqIHdyaXRlcyBhbmQgdGhlIGNvbnN0cnVjdCBsaWJyYXJ5IHJlYWRzIHRoZSBleGFjdCBzYW1lIGtleS4gSXQgaXMgYW5cbiAqIGludGVybmFsIHdpcmluZyBkZXRhaWwsIGRlbGliZXJhdGVseSBub3QgcGFydCBvZiBjZGt0bidzIHB1YmxpYyBBUEkuXG4gKi9cbmV4cG9ydCBjb25zdCBUQVJHRVRfVkVSU0lPTlNfQ09OVEVYVF9LRVkgPSBcInRhcmdldFZlcnNpb25zXCI7XG5cbi8qKlxuICogVGhlIFRlcnJhZm9ybS1jb21wYXRpYmxlIHJ1bnRpbWVzIGEgcHJvamVjdCBkZWNsYXJlcyBpdCBzdXBwb3J0cywgYXMgbnBtXG4gKiBzZW12ZXIgcmFuZ2VzIHBlciBwcm9kdWN0LiBBIG1pc3NpbmcgcHJvZHVjdCBtZWFucyB0aGUgcHJvamVjdCBkb2VzIG5vdFxuICogdGFyZ2V0IHRoYXQgcHJvZHVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyB7XG4gIHJlYWRvbmx5IHRlcnJhZm9ybT86IHN0cmluZztcbiAgcmVhZG9ubHkgb3BlbnRvZnU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXNlZCB3aGVuIGEgcHJvamVjdCBkZWNsYXJlcyBubyBgdGFyZ2V0VmVyc2lvbnNgOiB0aGUgcHJvamVjdCBpcyBhc3N1bWVkXG4gKiB0byB0YXJnZXQgZXZlcnkgc3VwcG9ydGVkIHJlbGVhc2Ugb2YgYm90aCBwcm9kdWN0cywgd2hpY2ggaXMgdGhlIHN0cmljdGVzdFxuICogKG1vc3QgcG9ydGFibGUpIGludGVycHJldGF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9UQVJHRVRfVkVSU0lPTlM6IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zID0ge1xuICB0ZXJyYWZvcm06IFwiPj0xLjUuN1wiLFxuICBvcGVudG9mdTogXCI+PTEuNi4wXCIsXG59O1xuXG4vKipcbiAqIFRoZSBwcm9kdWN0IGtleXMgYSBwcm9qZWN0IG1heSBkZWNsYXJlIHRhcmdldHMgZm9yLiBFeHBvcnRlZCBmb3IgcmV1c2UgYnlcbiAqIGBAY2RrdG4vY29tbW9uc2AgKGltcG9ydGVkIHZpYSBzdWJwYXRoKSwgbm90IHBhcnQgb2YgY2RrdG4ncyBwdWJsaWMgQVBJLlxuICovXG5leHBvcnQgY29uc3QgVEFSR0VUX1BST0RVQ1RTID0gW1widGVycmFmb3JtXCIsIFwib3BlbnRvZnVcIl0gYXMgY29uc3Q7XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlY2xhcmVkIHRhcmdldCB2ZXJzaW9ucyBmcm9tIGNvbnN0cnVjdCBjb250ZXh0LCBmYWxsaW5nIGJhY2tcbiAqIHRvIERFRkFVTFRfVEFSR0VUX1ZFUlNJT05TLiBSZXR1cm5zIGVycm9ycyBpbnN0ZWFkIG9mIHRhcmdldHMgd2hlbiB0aGVcbiAqIGRlY2xhcmVkIHZhbHVlIGlzIG1hbGZvcm1lZCAod2hpY2ggY2FuIGhhcHBlbiB3aGVuIGNvbnRleHQgaXMgc2V0IGRpcmVjdGx5XG4gKiBvbiB0aGUgQXBwIHJhdGhlciB0aGFuIGdvaW5nIHRocm91Z2ggY2RrdGYuanNvbiB2YWxpZGF0aW9uKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUYXJnZXRWZXJzaW9ucyhzY29wZTogSUNvbnN0cnVjdCk6IHtcbiAgdGFyZ2V0cz86IFRlcnJhZm9ybVRhcmdldFZlcnNpb25zO1xuICBlcnJvcnM6IHN0cmluZ1tdO1xufSB7XG4gIGNvbnN0IGRlY2xhcmVkID0gc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KFRBUkdFVF9WRVJTSU9OU19DT05URVhUX0tFWSk7XG4gIGlmIChkZWNsYXJlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHsgdGFyZ2V0czogREVGQVVMVF9UQVJHRVRfVkVSU0lPTlMsIGVycm9yczogW10gfTtcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgZGVjbGFyZWQgIT09IFwib2JqZWN0XCIgfHxcbiAgICBkZWNsYXJlZCA9PT0gbnVsbCB8fFxuICAgIEFycmF5LmlzQXJyYXkoZGVjbGFyZWQpXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnM6IFtcbiAgICAgICAgYHRhcmdldFZlcnNpb25zIGNvbnRleHQgbXVzdCBiZSBhbiBvYmplY3QgbWFwcGluZyBwcm9kdWN0cyB0byBzZW12ZXIgcmFuZ2VzLCBlLmcuIHsgXCJ0ZXJyYWZvcm1cIjogXCI+PTEuNS43XCIgfWAsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMoZGVjbGFyZWQpO1xuICBpZiAoZW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3JzOiBbXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucyBtdXN0IGRlY2xhcmUgYXQgbGVhc3Qgb25lIHByb2R1Y3QgKFwidGVycmFmb3JtXCIgb3IgXCJvcGVudG9mdVwiKSBvciBiZSBvbWl0dGVkIGVudGlyZWx5YCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBbcHJvZHVjdCwgcmFuZ2VdIG9mIGVudHJpZXMpIHtcbiAgICBpZiAoIVRBUkdFVF9QUk9EVUNUUy5pbmNsdWRlcyhwcm9kdWN0IGFzIGFueSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgdGFyZ2V0VmVyc2lvbnMgaGFzIHVua25vd24gcHJvZHVjdCBcIiR7cHJvZHVjdH1cIiAoZXhwZWN0ZWQgXCJ0ZXJyYWZvcm1cIiBvciBcIm9wZW50b2Z1XCIpYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmFuZ2UgPT09IFwic3RyaW5nXCIgJiYgcmFuZ2UuaW5jbHVkZXMoXCJ+PlwiKSkge1xuICAgICAgLy8gbnBtIHNlbXZlciBoYXBwZW5zIHRvIHBhcnNlIFwifj5cIiBhcyBcIn5cIiwgd2hpY2ggaGFzIGRpZmZlcmVudFxuICAgICAgLy8gc2VtYW50aWNzIHRoYW4gVGVycmFmb3JtJ3MgXCJ+PlwiIHBlc3NpbWlzdGljIGNvbnN0cmFpbnQg4oCUIHJlamVjdCBpdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzaWxlbnRseSBtZWFuaW5nIHNvbWV0aGluZyBlbHNlXG4gICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgYHRhcmdldFZlcnNpb25zLiR7cHJvZHVjdH0gXCIke3JhbmdlfVwiIHVzZXMgVGVycmFmb3JtIHByb3ZpZGVyIGNvbnN0cmFpbnQgc3ludGF4OyB1c2UgbnBtIHNlbXZlciByYW5nZXMgaW5zdGVhZCAoZS5nLiBcIj49MS41LjdcIiBvciBcIn4xLjUuN1wiKWAsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJhbmdlICE9PSBcInN0cmluZ1wiIHx8IHNlbXZlci52YWxpZFJhbmdlKHJhbmdlKSA9PT0gbnVsbCkge1xuICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgIGB0YXJnZXRWZXJzaW9ucy4ke3Byb2R1Y3R9ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgcmFuZ2UsXG4gICAgICAgICl9IGlzIG5vdCBhIHZhbGlkIHNlbXZlciByYW5nZWAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7IGVycm9ycyB9O1xuICB9XG5cbiAgcmV0dXJuIHsgdGFyZ2V0czogZGVjbGFyZWQgYXMgVGVycmFmb3JtVGFyZ2V0VmVyc2lvbnMsIGVycm9yczogW10gfTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGZlYXR1cmUgaXMgc3VwcG9ydGVkIGFjcm9zcyB0aGUgZW50aXJlIGRlY2xhcmVkIHRhcmdldFxuICogcmFuZ2Ugb2YgZXZlcnkgdGFyZ2V0ZWQgcHJvZHVjdC5cbiAqXG4gKiBgc3VwcG9ydGVkSW5gIGZvbGxvd3MgdGhlIFRlcnJhZm9ybUZlYXR1cmVWZXJzaW9uQ29uc3RyYWludHMgc2VtYW50aWNzOiBhXG4gKiBtaXNzaW5nIHByb2R1Y3Qga2V5IG1lYW5zIHRoZSBmZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhhdCBwcm9kdWN0IGF0XG4gKiBhbnkgdmVyc2lvbi4gVGhlIGNoZWNrIGlzIGEgc2VtdmVyIHJhbmdlIHN1YnNldDogZGVjbGFyaW5nXG4gKiBgdGVycmFmb3JtOiBcIj49MS41LjdcImAgd2hpbGUgYSBmZWF0dXJlIHJlcXVpcmVzIGA+PTEuOC4wYCBmYWlscywgYmVjYXVzZVxuICogdGhlIHByb2plY3QgY2xhaW1zIHRvIHN1cHBvcnQgMS41LjcuLjEuOC4wIHdoZXJlIHRoZSBmZWF0dXJlIGlzIG1pc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZlYXR1cmVTdXBwb3J0ZWRCeVRhcmdldHMoXG4gIGZlYXR1cmVOYW1lOiBzdHJpbmcsXG4gIHN1cHBvcnRlZEluOiBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzLFxuICB0YXJnZXRzOiBUZXJyYWZvcm1UYXJnZXRWZXJzaW9ucyxcbiAgaGludD86IHN0cmluZyxcbik6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcHJvZHVjdCBvZiBUQVJHRVRfUFJPRFVDVFMpIHtcbiAgICBjb25zdCB0YXJnZXRSYW5nZSA9IHRhcmdldHNbcHJvZHVjdF07XG4gICAgaWYgKCF0YXJnZXRSYW5nZSkgY29udGludWU7IC8vIHByb2R1Y3Qgbm90IHRhcmdldGVkIGJ5IHRoZSBwcm9qZWN0XG5cbiAgICBjb25zdCBzdXBwb3J0ZWRSYW5nZSA9IHN1cHBvcnRlZEluW3Byb2R1Y3RdO1xuICAgIGlmICghc3VwcG9ydGVkUmFuZ2UpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgJHtmZWF0dXJlTmFtZX0gaXMgbm90IHN1cHBvcnRlZCBieSAke3Byb2R1Y3R9LCBidXQgdGhlIHByb2plY3QgdGFyZ2V0cyAke3Byb2R1Y3R9ICR7dGFyZ2V0UmFuZ2V9LiAke1xuICAgICAgICAgIGhpbnQgfHwgXCJcIlxuICAgICAgICB9YC50cmltRW5kKCksXG4gICAgICApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKCFzZW12ZXIuc3Vic2V0KHRhcmdldFJhbmdlLCBzdXBwb3J0ZWRSYW5nZSkpIHtcbiAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICBgJHtmZWF0dXJlTmFtZX0gcmVxdWlyZXMgJHtwcm9kdWN0fSAke3N1cHBvcnRlZFJhbmdlfSwgYnV0IHRoZSBwcm9qZWN0IHRhcmdldHMgJHtwcm9kdWN0fSAke3RhcmdldFJhbmdlfS4gJHtcbiAgICAgICAgICBoaW50IHx8IFwiXCJcbiAgICAgICAgfWAudHJpbUVuZCgpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGF0IGEgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgYnkgdGhlIHByb2plY3QncyBkZWNsYXJlZFxuICogVGVycmFmb3JtLWNvbXBhdGlibGUgcnVudGltZSB0YXJnZXRzIChjZGt0Zi5qc29uIGB0YXJnZXRWZXJzaW9uc2ApLFxuICogd2l0aG91dCBwcm9iaW5nIGFueSBsb2NhbGx5IGluc3RhbGxlZCBiaW5hcnkuXG4gKlxuICogVmVyaWZ5aW5nIHRoZSBhY3R1YWxseSBpbnN0YWxsZWQgYmluYXJ5IGlzIGEgc2VwYXJhdGUsIGV4cGxpY2l0IHN0ZXA6XG4gKiB0aGUgb3B0LWluIGB2YWxpZGF0ZUluc3RhbGxlZEJpbmFyeWAgY29uZmlnIGhhbmRsZWQgYnkgdGhlIENMSSBjb21tYW5kc1xuICogdGhhdCBleGVjdXRlIHRoZSBiaW5hcnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IGltcGxlbWVudHMgSVZhbGlkYXRpb24ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc2NvcGU6IElDb25zdHJ1Y3QsXG4gICAgcHJvdGVjdGVkIGZlYXR1cmVOYW1lOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHN1cHBvcnRlZEluOiBUZXJyYWZvcm1GZWF0dXJlVmVyc2lvbkNvbnN0cmFpbnRzLFxuICAgIHByb3RlY3RlZCBoaW50Pzogc3RyaW5nLFxuICApIHt9XG5cbiAgcHVibGljIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCB7IHRhcmdldHMsIGVycm9ycyB9ID0gcmVzb2x2ZVRhcmdldFZlcnNpb25zKHRoaXMuc2NvcGUpO1xuICAgIGlmICghdGFyZ2V0cykge1xuICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICByZXR1cm4gY2hlY2tGZWF0dXJlU3VwcG9ydGVkQnlUYXJnZXRzKFxuICAgICAgdGhpcy5mZWF0dXJlTmFtZSxcbiAgICAgIHRoaXMuc3VwcG9ydGVkSW4sXG4gICAgICB0YXJnZXRzLFxuICAgICAgdGhpcy5oaW50LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.ValidateBinaryVersion = void 0;
4
37
  const child_process_1 = require("child_process");
5
- const semver = require("semver");
38
+ const semver = __importStar(require("semver"));
6
39
  /**
7
40
  * A validation that can be applied to a construct that will error if the
8
41
  * construct is being used in an environment with a version of a binary lower than the specified version.
@@ -18,6 +51,10 @@ const semver = require("semver");
18
51
  * public-API break.
19
52
  */
20
53
  class ValidateBinaryVersion {
54
+ binary;
55
+ versionConstraint;
56
+ versionCommand;
57
+ hint;
21
58
  constructor(binary, versionConstraint, versionCommand, hint) {
22
59
  this.binary = binary;
23
60
  this.versionConstraint = versionConstraint;
@@ -51,4 +88,4 @@ class ValidateBinaryVersion {
51
88
  }
52
89
  }
53
90
  exports.ValidateBinaryVersion = ValidateBinaryVersion;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtYmluYXJ5LXZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtYmluYXJ5LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsaURBQXlDO0FBQ3pDLGlDQUFpQztBQUVqQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxxQkFBcUI7SUFDaEMsWUFDWSxNQUFjLEVBQ2QsaUJBQXlCLEVBQ3pCLGNBQXNCLEVBQ3RCLElBQWE7UUFIYixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFRO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQVM7SUFDdEIsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUM7WUFDSCxNQUFNLGdCQUFnQixHQUFHLElBQUEsd0JBQVEsRUFBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyRCxLQUFLLEVBQUUsTUFBTTthQUNkLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUVkLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUNwQyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU87b0JBQ0wsa0NBQWtDLElBQUksQ0FBQyxNQUFNLGFBQWEsSUFBSSxDQUFDLGNBQWMsR0FBRztpQkFDakYsQ0FBQztZQUNKLENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDMUQsT0FBTztvQkFDTCxHQUFHLElBQUksQ0FBQyxNQUFNLFlBQ1osT0FBTyxDQUFDLENBQUMsQ0FDWCx1Q0FDRSxJQUFJLENBQUMsaUJBQ1Asd0JBQXdCLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO2lCQUMxQyxDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPO2dCQUNMLGtDQUFrQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLFlBQVksQ0FBQyxFQUFFO2FBQ3JGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdENELHNEQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBJVmFsaWRhdGlvbiB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuXG4vKipcbiAqIEEgdmFsaWRhdGlvbiB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGEgY29uc3RydWN0IHRoYXQgd2lsbCBlcnJvciBpZiB0aGVcbiAqIGNvbnN0cnVjdCBpcyBiZWluZyB1c2VkIGluIGFuIGVudmlyb25tZW50IHdpdGggYSB2ZXJzaW9uIG9mIGEgYmluYXJ5IGxvd2VyIHRoYW4gdGhlIHNwZWNpZmllZCB2ZXJzaW9uLlxuICpcbiAqIFRPRE8odGFyZ2V0LXZlcnNpb25zKTogbGVnYWN5IHN5bnRoLXRpbWUgYmluYXJ5IHByb2JlIHRoYXQgcHJlZGF0ZXNcbiAqIE9wZW5Ub2Z1IHN1cHBvcnQgYW5kIHRoZSBkZWNsYXJlZCBgdGFyZ2V0VmVyc2lvbnNgIG1vZGVsLiBFeGlzdGluZ1xuICogY29uc3VtZXJzIChlLmcuIFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiBmb3IgcmVzb3VyY2UgbW92ZXMpIHNob3VsZFxuICogbWlncmF0ZSB0byBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0LCBsZWF2aW5nIGluc3RhbGxlZC1iaW5hcnlcbiAqIHZlcmlmaWNhdGlvbiB0byB0aGUgb3B0LWluIHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5IENMSSBiZWhhdmlvci4gTGVmdFxuICogdW5jaGFuZ2VkIGhlcmUgb25seSB0byBrZWVwIHRoaXMgUFIgc21hbGw7IHRoZSBtaWdyYXRpb24gaXMgdHJhY2tlZCBpblxuICogIzI3NS4gTm90ZSB0aGlzIGNsYXNzIGlzIG5vdCBleHBvcnRlZCBmcm9tIHRoZSBjZGt0biBwYWNrYWdlIHJvb3QsIHNvIHRoZVxuICogY2hhbmdlIGlzIGJlaGF2aW9yYWwgKHN5bnRoIG5vIGxvbmdlciBzaGVsbGluZyBvdXQpLCBub3QgYSBzeW1ib2wtbGV2ZWxcbiAqIHB1YmxpYy1BUEkgYnJlYWsuXG4gKi9cbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZUJpbmFyeVZlcnNpb24gaW1wbGVtZW50cyBJVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBiaW5hcnk6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgdmVyc2lvbkNvbnN0cmFpbnQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgdmVyc2lvbkNvbW1hbmQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgaGludD86IHN0cmluZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZSgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdmVyc2lvbk9mQ29tbWFuZCA9IGV4ZWNTeW5jKHRoaXMudmVyc2lvbkNvbW1hbmQsIHtcbiAgICAgICAgc3RkaW86IFwicGlwZVwiLFxuICAgICAgfSkudG9TdHJpbmcoKTtcblxuICAgICAgY29uc3Qgc2VtdmVyUmVnZXggPSAvXFxkK1xcLlxcZCtcXC5cXGQrLztcbiAgICAgIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uT2ZDb21tYW5kLm1hdGNoKHNlbXZlclJlZ2V4KTtcbiAgICAgIGlmICghdmVyc2lvbikge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGBDb3VsZCBub3QgZGV0ZXJtaW5lIHZlcnNpb24gb2YgJHt0aGlzLmJpbmFyeX0gKHJ1bm5pbmcgJHt0aGlzLnZlcnNpb25Db21tYW5kfSlgLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXNlbXZlci5zYXRpc2ZpZXModmVyc2lvblswXSwgdGhpcy52ZXJzaW9uQ29uc3RyYWludCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBgJHt0aGlzLmJpbmFyeX0gdmVyc2lvbiAke1xuICAgICAgICAgICAgdmVyc2lvblswXVxuICAgICAgICAgIH0gaXMgbG93ZXIgdGhhbiB0aGUgcmVxdWlyZWQgdmVyc2lvbiAke1xuICAgICAgICAgICAgdGhpcy52ZXJzaW9uQ29uc3RyYWludFxuICAgICAgICAgIH0gZm9yIHRoaXMgY29uc3RydWN0LiAke3RoaXMuaGludCB8fCBcIlwifWAsXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgYENvdWxkIG5vdCBkZXRlcm1pbmUgdmVyc2lvbiBvZiAke3RoaXMuYmluYXJ5fSwgJHt0aGlzLnZlcnNpb25Db21tYW5kfSBmYWlsZWQ6ICR7ZX1gLFxuICAgICAgXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtYmluYXJ5LXZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbnMvdmFsaWRhdGUtYmluYXJ5LXZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsaURBQXlDO0FBQ3pDLCtDQUFpQztBQUVqQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBYSxxQkFBcUI7SUFFcEI7SUFDQTtJQUNBO0lBQ0E7SUFKWixZQUNZLE1BQWMsRUFDZCxpQkFBeUIsRUFDekIsY0FBc0IsRUFDdEIsSUFBYTtRQUhiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUN0QixDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQztZQUNILE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx3QkFBUSxFQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JELEtBQUssRUFBRSxNQUFNO2FBQ2QsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRWQsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTztvQkFDTCxrQ0FBa0MsSUFBSSxDQUFDLE1BQU0sYUFBYSxJQUFJLENBQUMsY0FBYyxHQUFHO2lCQUNqRixDQUFDO1lBQ0osQ0FBQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUMxRCxPQUFPO29CQUNMLEdBQUcsSUFBSSxDQUFDLE1BQU0sWUFDWixPQUFPLENBQUMsQ0FBQyxDQUNYLHVDQUNFLElBQUksQ0FBQyxpQkFDUCx3QkFBd0IsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUU7aUJBQzFDLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU87Z0JBQ0wsa0NBQWtDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGNBQWMsWUFBWSxDQUFDLEVBQUU7YUFDckYsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF0Q0Qsc0RBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElWYWxpZGF0aW9uIH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5cbi8qKlxuICogQSB2YWxpZGF0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgdG8gYSBjb25zdHJ1Y3QgdGhhdCB3aWxsIGVycm9yIGlmIHRoZVxuICogY29uc3RydWN0IGlzIGJlaW5nIHVzZWQgaW4gYW4gZW52aXJvbm1lbnQgd2l0aCBhIHZlcnNpb24gb2YgYSBiaW5hcnkgbG93ZXIgdGhhbiB0aGUgc3BlY2lmaWVkIHZlcnNpb24uXG4gKlxuICogVE9ETyh0YXJnZXQtdmVyc2lvbnMpOiBsZWdhY3kgc3ludGgtdGltZSBiaW5hcnkgcHJvYmUgdGhhdCBwcmVkYXRlc1xuICogT3BlblRvZnUgc3VwcG9ydCBhbmQgdGhlIGRlY2xhcmVkIGB0YXJnZXRWZXJzaW9uc2AgbW9kZWwuIEV4aXN0aW5nXG4gKiBjb25zdW1lcnMgKGUuZy4gVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIGZvciByZXNvdXJjZSBtb3Zlcykgc2hvdWxkXG4gKiBtaWdyYXRlIHRvIFZhbGlkYXRlRmVhdHVyZVRhcmdldFN1cHBvcnQsIGxlYXZpbmcgaW5zdGFsbGVkLWJpbmFyeVxuICogdmVyaWZpY2F0aW9uIHRvIHRoZSBvcHQtaW4gdmFsaWRhdGVJbnN0YWxsZWRCaW5hcnkgQ0xJIGJlaGF2aW9yLiBMZWZ0XG4gKiB1bmNoYW5nZWQgaGVyZSBvbmx5IHRvIGtlZXAgdGhpcyBQUiBzbWFsbDsgdGhlIG1pZ3JhdGlvbiBpcyB0cmFja2VkIGluXG4gKiAjMjc1LiBOb3RlIHRoaXMgY2xhc3MgaXMgbm90IGV4cG9ydGVkIGZyb20gdGhlIGNka3RuIHBhY2thZ2Ugcm9vdCwgc28gdGhlXG4gKiBjaGFuZ2UgaXMgYmVoYXZpb3JhbCAoc3ludGggbm8gbG9uZ2VyIHNoZWxsaW5nIG91dCksIG5vdCBhIHN5bWJvbC1sZXZlbFxuICogcHVibGljLUFQSSBicmVhay5cbiAqL1xuZXhwb3J0IGNsYXNzIFZhbGlkYXRlQmluYXJ5VmVyc2lvbiBpbXBsZW1lbnRzIElWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGJpbmFyeTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCB2ZXJzaW9uQ29uc3RyYWludDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCB2ZXJzaW9uQ29tbWFuZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBoaW50Pzogc3RyaW5nLFxuICApIHt9XG5cbiAgcHVibGljIHZhbGlkYXRlKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2ZXJzaW9uT2ZDb21tYW5kID0gZXhlY1N5bmModGhpcy52ZXJzaW9uQ29tbWFuZCwge1xuICAgICAgICBzdGRpbzogXCJwaXBlXCIsXG4gICAgICB9KS50b1N0cmluZygpO1xuXG4gICAgICBjb25zdCBzZW12ZXJSZWdleCA9IC9cXGQrXFwuXFxkK1xcLlxcZCsvO1xuICAgICAgY29uc3QgdmVyc2lvbiA9IHZlcnNpb25PZkNvbW1hbmQubWF0Y2goc2VtdmVyUmVnZXgpO1xuICAgICAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgYENvdWxkIG5vdCBkZXRlcm1pbmUgdmVyc2lvbiBvZiAke3RoaXMuYmluYXJ5fSAocnVubmluZyAke3RoaXMudmVyc2lvbkNvbW1hbmR9KWAsXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIGlmICghc2VtdmVyLnNhdGlzZmllcyh2ZXJzaW9uWzBdLCB0aGlzLnZlcnNpb25Db25zdHJhaW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGAke3RoaXMuYmluYXJ5fSB2ZXJzaW9uICR7XG4gICAgICAgICAgICB2ZXJzaW9uWzBdXG4gICAgICAgICAgfSBpcyBsb3dlciB0aGFuIHRoZSByZXF1aXJlZCB2ZXJzaW9uICR7XG4gICAgICAgICAgICB0aGlzLnZlcnNpb25Db25zdHJhaW50XG4gICAgICAgICAgfSBmb3IgdGhpcyBjb25zdHJ1Y3QuICR7dGhpcy5oaW50IHx8IFwiXCJ9YCxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBgQ291bGQgbm90IGRldGVybWluZSB2ZXJzaW9uIG9mICR7dGhpcy5iaW5hcnl9LCAke3RoaXMudmVyc2lvbkNvbW1hbmR9IGZhaWxlZDogJHtlfWAsXG4gICAgICBdO1xuICAgIH1cbiAgfVxufVxuIl19