@cdktn/provider-generator 0.24.0-pre.87 → 0.24.0-pre.89

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 (66) hide show
  1. package/build/__tests__/edge-provider-schema/builder.d.ts +9 -3
  2. package/build/__tests__/edge-provider-schema/builder.js +6 -3
  3. package/build/__tests__/edge-provider-schema/index.js +119 -1
  4. package/build/__tests__/provider.test.js +4 -1
  5. package/build/get/__tests__/generator/ephemeral-resources.test.d.ts +2 -0
  6. package/build/get/__tests__/generator/ephemeral-resources.test.js +49 -0
  7. package/build/get/__tests__/generator/provider-functions.test.d.ts +2 -0
  8. package/build/get/__tests__/generator/provider-functions.test.js +176 -0
  9. package/build/get/__tests__/generator/provider.test.js +9 -1
  10. package/build/get/__tests__/generator/write-only.test.d.ts +2 -0
  11. package/build/get/__tests__/generator/write-only.test.js +65 -0
  12. package/build/get/__tests__/target-versions.test.d.ts +2 -0
  13. package/build/get/__tests__/target-versions.test.js +171 -0
  14. package/build/get/constructs-maker.d.ts +8 -1
  15. package/build/get/constructs-maker.js +13 -4
  16. package/build/get/generator/emitter/attributes-emitter.d.ts +12 -2
  17. package/build/get/generator/emitter/attributes-emitter.js +47 -5
  18. package/build/get/generator/emitter/index.d.ts +1 -0
  19. package/build/get/generator/emitter/index.js +2 -1
  20. package/build/get/generator/emitter/provider-functions-emitter.d.ts +11 -0
  21. package/build/get/generator/emitter/provider-functions-emitter.js +94 -0
  22. package/build/get/generator/emitter/resource-emitter.d.ts +5 -1
  23. package/build/get/generator/emitter/resource-emitter.js +83 -7
  24. package/build/get/generator/models/attribute-model.d.ts +2 -0
  25. package/build/get/generator/models/attribute-model.js +2 -1
  26. package/build/get/generator/models/index.d.ts +1 -0
  27. package/build/get/generator/models/index.js +2 -1
  28. package/build/get/generator/models/provider-function-model.d.ts +102 -0
  29. package/build/get/generator/models/provider-function-model.js +667 -0
  30. package/build/get/generator/models/resource-model.d.ts +3 -0
  31. package/build/get/generator/models/resource-model.js +13 -4
  32. package/build/get/generator/models/struct.d.ts +2 -0
  33. package/build/get/generator/models/struct.js +6 -2
  34. package/build/get/generator/provider-generator.d.ts +2 -0
  35. package/build/get/generator/provider-generator.js +31 -3
  36. package/build/get/generator/resource-parser.js +3 -1
  37. package/package.json +5 -5
  38. package/src/__tests__/__snapshots__/edge-provider-schema.test.ts.snap +4 -0
  39. package/src/__tests__/edge-provider-schema/builder.ts +17 -1
  40. package/src/__tests__/edge-provider-schema/index.ts +124 -1
  41. package/src/__tests__/provider.test.ts +3 -0
  42. package/src/get/__tests__/generator/__snapshots__/ephemeral-resources.test.ts.snap +524 -0
  43. package/src/get/__tests__/generator/__snapshots__/provider-functions.test.ts.snap +444 -0
  44. package/src/get/__tests__/generator/__snapshots__/write-only.test.ts.snap +262 -0
  45. package/src/get/__tests__/generator/ephemeral-resources.test.ts +46 -0
  46. package/src/get/__tests__/generator/fixtures/ephemeral-resources.test.fixture.json +160 -0
  47. package/src/get/__tests__/generator/fixtures/provider-functions-collision.test.fixture.json +31 -0
  48. package/src/get/__tests__/generator/fixtures/provider-functions-synthetic.test.fixture.json +192 -0
  49. package/src/get/__tests__/generator/fixtures/provider-functions.test.fixture.json +170 -0
  50. package/src/get/__tests__/generator/fixtures/write-only.test.fixture.json +58 -0
  51. package/src/get/__tests__/generator/provider-functions.test.ts +262 -0
  52. package/src/get/__tests__/generator/provider.test.ts +8 -0
  53. package/src/get/__tests__/generator/write-only.test.ts +71 -0
  54. package/src/get/__tests__/target-versions.test.ts +206 -0
  55. package/src/get/constructs-maker.ts +43 -3
  56. package/src/get/generator/emitter/attributes-emitter.ts +61 -6
  57. package/src/get/generator/emitter/index.ts +1 -0
  58. package/src/get/generator/emitter/provider-functions-emitter.ts +117 -0
  59. package/src/get/generator/emitter/resource-emitter.ts +110 -6
  60. package/src/get/generator/models/attribute-model.ts +3 -0
  61. package/src/get/generator/models/index.ts +1 -0
  62. package/src/get/generator/models/provider-function-model.ts +872 -0
  63. package/src/get/generator/models/resource-model.ts +25 -3
  64. package/src/get/generator/models/struct.ts +9 -1
  65. package/src/get/generator/provider-generator.ts +70 -4
  66. package/src/get/generator/resource-parser.ts +2 -0
@@ -1,22 +1,28 @@
1
- import { ProviderSchema, Schema, AttributeType, Block } from "@cdktn/commons";
1
+ import { ProviderSchema, Schema, AttributeType, Block, FunctionSignature } from "@cdktn/commons";
2
2
  type ResourceSchema = {
3
3
  [type: string]: Schema;
4
4
  };
5
- export declare function schema({ name, provider, resources, dataSources, }: {
5
+ type FunctionSchema = {
6
+ [name: string]: FunctionSignature;
7
+ };
8
+ export declare function schema({ name, provider, resources, dataSources, ephemeralResources, functions, }: {
6
9
  name: string;
7
10
  provider: Schema;
8
11
  resources: ResourceSchema;
9
12
  dataSources: ResourceSchema;
13
+ ephemeralResources?: ResourceSchema;
14
+ functions?: FunctionSchema;
10
15
  }): ProviderSchema;
11
16
  export declare class SchemaBuilder {
12
17
  private schema;
13
18
  constructor();
14
- attribute({ name, type, required, computed, optional, }: {
19
+ attribute({ name, type, required, computed, optional, writeOnly, }: {
15
20
  name: string;
16
21
  type: AttributeType;
17
22
  required?: boolean;
18
23
  computed?: boolean;
19
24
  optional?: boolean;
25
+ writeOnly?: boolean;
20
26
  }): SchemaBuilder;
21
27
  listBlock({ name, block, minItems, maxItems, }: {
22
28
  name: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SchemaBuilder = exports.schema = void 0;
4
- function schema({ name, provider, resources = {}, dataSources = {}, }) {
4
+ function schema({ name, provider, resources = {}, dataSources = {}, ephemeralResources = {}, functions = {}, }) {
5
5
  return {
6
6
  format_version: "0.2",
7
7
  provider_schemas: {
@@ -9,6 +9,8 @@ function schema({ name, provider, resources = {}, dataSources = {}, }) {
9
9
  provider: provider,
10
10
  resource_schemas: resources,
11
11
  data_source_schemas: dataSources,
12
+ ephemeral_resource_schemas: ephemeralResources,
13
+ functions: functions,
12
14
  },
13
15
  },
14
16
  };
@@ -24,12 +26,13 @@ class SchemaBuilder {
24
26
  },
25
27
  };
26
28
  }
27
- attribute({ name, type, required = false, computed = false, optional = !required, }) {
29
+ attribute({ name, type, required = false, computed = false, optional = !required, writeOnly = false, }) {
28
30
  this.schema.block.attributes[name] = {
29
31
  type,
30
32
  optional,
31
33
  computed,
32
34
  required,
35
+ write_only: writeOnly,
33
36
  };
34
37
  return this;
35
38
  }
@@ -103,4 +106,4 @@ class SchemaBuilder {
103
106
  }
104
107
  }
105
108
  exports.SchemaBuilder = SchemaBuilder;
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxTQUFnQixNQUFNLENBQUMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxFQUFFLEdBTWpCO0lBQ0MsT0FBTztRQUNMLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFO1lBQ2hCLENBQUMsK0JBQStCLElBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixtQkFBbUIsRUFBRSxXQUFXO2FBQ2pDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXJCRCx3QkFxQkM7QUFFRCxNQUFhLGFBQWE7SUFHeEI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osT0FBTyxFQUFFLENBQUM7WUFDVixLQUFLLEVBQUU7Z0JBQ0wsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLEVBQUU7YUFDaEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUNmLElBQUksRUFDSixJQUFJLEVBQ0osUUFBUSxHQUFHLEtBQUssRUFDaEIsUUFBUSxHQUFHLEtBQUssRUFDaEIsUUFBUSxHQUFHLENBQUMsUUFBUSxHQU9yQjtRQUNDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNuQyxJQUFJO1lBQ0osUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUNmLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLFFBQVEsR0FNVDtRQUNDLElBQUks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LFFBQVE7U0FDVCxDQUFDO2FBQ0QsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLE1BQU0sR0FBRyxVQUFVO1lBQ3pCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDdEIsUUFBUTtZQUNSLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQTVKRCxzQ0E0SkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEsIFNjaGVtYSwgQXR0cmlidXRlVHlwZSwgQmxvY2sgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxudHlwZSBSZXNvdXJjZVNjaGVtYSA9IHsgW3R5cGU6IHN0cmluZ106IFNjaGVtYSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm92aWRlcjogU2NoZW1hO1xuICByZXNvdXJjZXM6IFJlc291cmNlU2NoZW1hO1xuICBkYXRhU291cmNlczogUmVzb3VyY2VTY2hlbWE7XG59KTogUHJvdmlkZXJTY2hlbWEge1xuICByZXR1cm4ge1xuICAgIGZvcm1hdF92ZXJzaW9uOiBcIjAuMlwiLFxuICAgIHByb3ZpZGVyX3NjaGVtYXM6IHtcbiAgICAgIFtgcmVnaXN0cnkudGVycmFmb3JtLmlvL2Nka3RmLyR7bmFtZX1gXToge1xuICAgICAgICBwcm92aWRlcjogcHJvdmlkZXIsXG4gICAgICAgIHJlc291cmNlX3NjaGVtYXM6IHJlc291cmNlcyxcbiAgICAgICAgZGF0YV9zb3VyY2Vfc2NoZW1hczogZGF0YVNvdXJjZXMsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBTY2hlbWFCdWlsZGVyIHtcbiAgcHJpdmF0ZSBzY2hlbWE6IFNjaGVtYTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNjaGVtYSA9IHtcbiAgICAgIHZlcnNpb246IDAsXG4gICAgICBibG9jazoge1xuICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgICAgYmxvY2tfdHlwZXM6IHt9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGF0dHJpYnV0ZSh7XG4gICAgbmFtZSxcbiAgICB0eXBlLFxuICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgY29tcHV0ZWQgPSBmYWxzZSxcbiAgICBvcHRpb25hbCA9ICFyZXF1aXJlZCxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBjb21wdXRlZD86IGJvb2xlYW47XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYXR0cmlidXRlc1tuYW1lXSA9IHtcbiAgICAgIHR5cGUsXG4gICAgICBvcHRpb25hbCxcbiAgICAgIGNvbXB1dGVkLFxuICAgICAgcmVxdWlyZWQsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBsaXN0QmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gICAgbWluSXRlbXMsXG4gICAgbWF4SXRlbXMsXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICAgIG1pbkl0ZW1zOiBudW1iZXI7XG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0ge1xuICAgICAgbmVzdGluZ19tb2RlOiBcImxpc3RcIixcbiAgICAgIGJsb2NrLFxuICAgICAgbWluX2l0ZW1zOiBtaW5JdGVtcyxcbiAgICAgIG1heF9pdGVtczogbWF4SXRlbXMsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtYXBCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcIm1hcFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0geyBuZXN0aW5nX21vZGU6IFwic2V0XCIsIGJsb2NrIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgcHVibGljIHNpbmdsZUJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0geyBuZXN0aW5nX21vZGU6IFwic2luZ2xlXCIsIGJsb2NrIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYnVpbGQoKTogU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWE7XG4gIH1cblxuICBwdWJsaWMgYXNCbG9jaygpOiBCbG9jayB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hLmJsb2NrO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICByZXF1aXJlZCxcbiAgICBjb21wdXRlZCxcbiAgICBwcmVmaXggPSBcIlwiLFxuICB9OiB7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgY29tcHV0ZWQ6IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcInN0clwiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcImJvb2xcIiwgdHlwZTogXCJib29sXCIsIHJlcXVpcmVkLCBjb21wdXRlZCB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgIHByZWZpeDogXCJvcHRcIixcbiAgICB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IHRydWUsIGNvbXB1dGVkOiBmYWxzZSwgcHJlZml4OiBcInJlcVwiIH0pXG4gICAgICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoe1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgICAgICBwcmVmaXg6IFwiY29tcHV0ZWRcIixcbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHtcbiAgICAgIG5hbWU6IHByZWZpeCArIFwic3RyTGlzdFwiLFxuICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiXSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgY29tcHV0ZWQsXG4gICAgfSlcbiAgICAgIC5hdHRyaWJ1dGUoe1xuICAgICAgICBuYW1lOiBwcmVmaXggKyBcIm51bUxpc3RcIixcbiAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcIm51bWJlclwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSlcbiAgICAgIC5hdHRyaWJ1dGUoe1xuICAgICAgICBuYW1lOiBwcmVmaXggKyBcImJvb2xMaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJib29sXCJdLFxuICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgY29tcHV0ZWQsXG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSxTQUFnQixNQUFNLENBQUMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxFQUFFLEVBQ2hCLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsU0FBUyxHQUFHLEVBQUUsR0FRZjtJQUNDLE9BQU87UUFDTCxjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRTtZQUNoQixDQUFDLCtCQUErQixJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsZ0JBQWdCLEVBQUUsU0FBUztnQkFDM0IsbUJBQW1CLEVBQUUsV0FBVztnQkFDaEMsMEJBQTBCLEVBQUUsa0JBQWtCO2dCQUM5QyxTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUEzQkQsd0JBMkJDO0FBRUQsTUFBYSxhQUFhO0lBR3hCO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxFQUFFO2dCQUNkLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxTQUFTLENBQUMsRUFDZixJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFFBQVEsR0FBRyxDQUFDLFFBQVEsRUFDcEIsU0FBUyxHQUFHLEtBQUssR0FRbEI7UUFDQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbkMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1lBQ1IsUUFB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O1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNDLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsU0FBUztZQUN4QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQ3hCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQzthQUNELFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxNQUFNLEdBQUcsVUFBVTtZQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ3RCLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBRUwsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUEvSkQsc0NBK0pDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7XG4gIFByb3ZpZGVyU2NoZW1hLFxuICBTY2hlbWEsXG4gIEF0dHJpYnV0ZVR5cGUsXG4gIEJsb2NrLFxuICBGdW5jdGlvblNpZ25hdHVyZSxcbn0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbnR5cGUgUmVzb3VyY2VTY2hlbWEgPSB7IFt0eXBlOiBzdHJpbmddOiBTY2hlbWEgfTtcbnR5cGUgRnVuY3Rpb25TY2hlbWEgPSB7IFtuYW1lOiBzdHJpbmddOiBGdW5jdGlvblNpZ25hdHVyZSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbiAgZXBoZW1lcmFsUmVzb3VyY2VzID0ge30sXG4gIGZ1bmN0aW9ucyA9IHt9LFxufToge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3ZpZGVyOiBTY2hlbWE7XG4gIHJlc291cmNlczogUmVzb3VyY2VTY2hlbWE7XG4gIGRhdGFTb3VyY2VzOiBSZXNvdXJjZVNjaGVtYTtcbiAgZXBoZW1lcmFsUmVzb3VyY2VzPzogUmVzb3VyY2VTY2hlbWE7XG4gIGZ1bmN0aW9ucz86IEZ1bmN0aW9uU2NoZW1hO1xufSk6IFByb3ZpZGVyU2NoZW1hIHtcbiAgcmV0dXJuIHtcbiAgICBmb3JtYXRfdmVyc2lvbjogXCIwLjJcIixcbiAgICBwcm92aWRlcl9zY2hlbWFzOiB7XG4gICAgICBbYHJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9jZGt0Zi8ke25hbWV9YF06IHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZV9zY2hlbWFzOiByZXNvdXJjZXMsXG4gICAgICAgIGRhdGFfc291cmNlX3NjaGVtYXM6IGRhdGFTb3VyY2VzLFxuICAgICAgICBlcGhlbWVyYWxfcmVzb3VyY2Vfc2NoZW1hczogZXBoZW1lcmFsUmVzb3VyY2VzLFxuICAgICAgICBmdW5jdGlvbnM6IGZ1bmN0aW9ucyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYUJ1aWxkZXIge1xuICBwcml2YXRlIHNjaGVtYTogU2NoZW1hO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2NoZW1hID0ge1xuICAgICAgdmVyc2lvbjogMCxcbiAgICAgIGJsb2NrOiB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICBibG9ja190eXBlczoge30sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXR0cmlidXRlKHtcbiAgICBuYW1lLFxuICAgIHR5cGUsXG4gICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICBjb21wdXRlZCA9IGZhbHNlLFxuICAgIG9wdGlvbmFsID0gIXJlcXVpcmVkLFxuICAgIHdyaXRlT25seSA9IGZhbHNlLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIGNvbXB1dGVkPzogYm9vbGVhbjtcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgd3JpdGVPbmx5PzogYm9vbGVhbjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmF0dHJpYnV0ZXNbbmFtZV0gPSB7XG4gICAgICB0eXBlLFxuICAgICAgb3B0aW9uYWwsXG4gICAgICBjb21wdXRlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgd3JpdGVfb25seTogd3JpdGVPbmx5LFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbGlzdEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICAgIG1pbkl0ZW1zLFxuICAgIG1heEl0ZW1zLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgICBtaW5JdGVtczogbnVtYmVyO1xuICAgIG1heEl0ZW1zOiBudW1iZXI7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHtcbiAgICAgIG5lc3RpbmdfbW9kZTogXCJsaXN0XCIsXG4gICAgICBibG9jayxcbiAgICAgIG1pbl9pdGVtczogbWluSXRlbXMsXG4gICAgICBtYXhfaXRlbXM6IG1heEl0ZW1zLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgbWFwQmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYmxvY2tfdHlwZXNbbmFtZV0gPSB7IG5lc3RpbmdfbW9kZTogXCJtYXBcIiwgYmxvY2sgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNldFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHB1YmxpYyBzaW5nbGVCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcInNpbmdsZVwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkKCk6IFNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hO1xuICB9XG5cbiAgcHVibGljIGFzQmxvY2soKTogQmxvY2sge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5ibG9jaztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJzdHJcIiwgdHlwZTogXCJzdHJpbmdcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJudW1cIiwgdHlwZTogXCJudW1iZXJcIiwgcmVxdWlyZWQsIGNvbXB1dGVkIH0pXG4gICAgICAuYXR0cmlidXRlKHsgbmFtZTogcHJlZml4ICsgXCJib29sXCIsIHR5cGU6IFwiYm9vbFwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hZGRBbGxQcmltaXRpdmVUeXBlcyh7XG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICBwcmVmaXg6IFwib3B0XCIsXG4gICAgfSlcbiAgICAgIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UsIHByZWZpeDogXCJyZXFcIiB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICAgICAgcHJlZml4OiBcImNvbXB1dGVkXCIsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoe1xuICAgIHJlcXVpcmVkLFxuICAgIGNvbXB1dGVkLFxuICAgIHByZWZpeCA9IFwiXCIsXG4gIH06IHtcbiAgICByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBjb21wdXRlZDogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmF0dHJpYnV0ZSh7XG4gICAgICBuYW1lOiBwcmVmaXggKyBcInN0ckxpc3RcIixcbiAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJzdHJpbmdcIl0sXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGNvbXB1dGVkLFxuICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJudW1MaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJudW1iZXJcIl0sXG4gICAgICAgIHJlcXVpcmVkLFxuICAgICAgICBjb21wdXRlZCxcbiAgICAgIH0pXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgbmFtZTogcHJlZml4ICsgXCJib29sTGlzdFwiLFxuICAgICAgICB0eXBlOiBbXCJsaXN0XCIsIFwiYm9vbFwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -9,6 +9,19 @@ const required_attribute_resource = new builder_1.SchemaBuilder()
9
9
  const optional_attribute_resource = new builder_1.SchemaBuilder()
10
10
  .addAllPrimitiveTypes({ required: false, computed: false })
11
11
  .addAllPrimitiveListTypes({ required: false, computed: false })
12
+ // Write-only attribute (RFC-04 / protocol v6): exercises the deprecated
13
+ // getter + the resolve-time `markWriteOnlyAttribute` wrapping in
14
+ // synthesizeAttributes()/synthesizeHclAttributes() on an existing managed
15
+ // resource. Left optional so no existing usage of
16
+ // OptionalAttributeResource across the edge test suite needs updating
17
+ // (and so it also generates a reset method).
18
+ .attribute({
19
+ name: "secretWo",
20
+ type: "string",
21
+ required: false,
22
+ computed: false,
23
+ writeOnly: true,
24
+ })
12
25
  .build();
13
26
  const optional_computed_attribute_resource = new builder_1.SchemaBuilder()
14
27
  .addAllPrimitiveTypes({ required: false, computed: true })
@@ -137,6 +150,107 @@ const set_block_resource = new builder_1.SchemaBuilder()
137
150
  block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
138
151
  })
139
152
  .build();
153
+ // A modest ephemeral resource (plugin protocol v6 / RFC-04): a required
154
+ // string, an optional number, a computed attribute, and a nested single
155
+ // block - consistent with the primitive/nested-block conventions used by
156
+ // the resources above.
157
+ const cached_secret = new builder_1.SchemaBuilder()
158
+ .attribute({ name: "str", type: "string", required: true })
159
+ .attribute({ name: "num", type: "number", required: false })
160
+ .attribute({
161
+ name: "computedStr",
162
+ type: "string",
163
+ computed: true,
164
+ optional: false,
165
+ })
166
+ .singleBlock({
167
+ name: "nested",
168
+ block: new builder_1.SchemaBuilder()
169
+ .attribute({ name: "str", type: "string", required: false })
170
+ .attribute({ name: "num", type: "number", required: false })
171
+ .asBlock(),
172
+ })
173
+ .build();
174
+ // Provider-defined functions (Terraform >=1.8 / protocol v6), each
175
+ // exercising a distinct generator branch of `provider-function-model.ts`.
176
+ // Reuses shapes from `provider-functions-synthetic.test.fixture.json` where
177
+ // sensible, renamed to fit the edge fixture's naming.
178
+ const functions = {
179
+ // Simple string -> string function.
180
+ greet: {
181
+ description: "Returns a friendly greeting for the given name.",
182
+ summary: "Greet a name",
183
+ return_type: "string",
184
+ parameters: [{ name: "name", type: "string" }],
185
+ },
186
+ // Nullable TRAILING fixed param: becomes jsii-optional.
187
+ greet_with_title: {
188
+ description: "Greets the given name, optionally with a title.",
189
+ summary: "Greet with an optional title",
190
+ return_type: "string",
191
+ parameters: [
192
+ { name: "name", type: "string" },
193
+ { name: "title", type: "string", is_nullable: true },
194
+ ],
195
+ },
196
+ // Nullable MID-POSITION fixed param followed by a required param: stays
197
+ // positional, widens to `any` so a caller can still pass an explicit null.
198
+ join_prefixed: {
199
+ description: "Joins a possibly-null prefix with a required suffix.",
200
+ summary: "Join with a nullable prefix",
201
+ return_type: "string",
202
+ parameters: [
203
+ { name: "prefix", type: "string", is_nullable: true },
204
+ { name: "suffix", type: "string" },
205
+ ],
206
+ },
207
+ // Nullable VARIADIC param: rest parameter widens to `any[]`.
208
+ describe_items: {
209
+ description: "Joins a label with any number of possibly-null items.",
210
+ summary: "Describe items with a label",
211
+ return_type: "string",
212
+ parameters: [{ name: "label", type: "string" }],
213
+ variadic_parameter: { name: "items", type: "string", is_nullable: true },
214
+ },
215
+ // Variadic of bool: union element type -> Array<boolean | IResolvable>
216
+ // rest param.
217
+ all_true: {
218
+ description: "Returns true if every given flag is true.",
219
+ summary: "All flags true",
220
+ return_type: "bool",
221
+ variadic_parameter: { name: "flags", type: "bool" },
222
+ },
223
+ // deprecation_message present (Terraform >=1.8 only, see FunctionSignature
224
+ // docstring) -> surfaced as an `@deprecated` JSDoc tag.
225
+ legacy_greet: {
226
+ description: "A deprecated greeting helper kept for backwards compatibility.",
227
+ summary: "Legacy greet",
228
+ deprecation_message: "Use greet instead.",
229
+ return_type: "string",
230
+ parameters: [{ name: "name", type: "string" }],
231
+ },
232
+ // Returns ["object", {...}].
233
+ build_info: {
234
+ description: "Returns an object describing the build that produced the given seed.",
235
+ summary: "Build info",
236
+ return_type: ["object", { version: "string", revision: "string" }],
237
+ parameters: [{ name: "seed", type: "string" }],
238
+ },
239
+ // Returns ["list", "number"].
240
+ list_squares: {
241
+ description: "Returns the squares of the numbers from 1 to the given count.",
242
+ summary: "List squares",
243
+ return_type: ["list", "number"],
244
+ parameters: [{ name: "count", type: "number" }],
245
+ },
246
+ // A ["map", "string"] param.
247
+ render_tags: {
248
+ description: "Renders the given map of string tags as a single string.",
249
+ summary: "Render tags",
250
+ return_type: "string",
251
+ parameters: [{ name: "tags", type: ["map", "string"] }],
252
+ },
253
+ };
140
254
  exports.edgeSchema = (0, builder_1.schema)({
141
255
  name: "edge",
142
256
  provider: new builder_1.SchemaBuilder().addAllPrimitivePermutations().build(),
@@ -150,5 +264,9 @@ exports.edgeSchema = (0, builder_1.schema)({
150
264
  map_list_resource,
151
265
  },
152
266
  dataSources: {},
267
+ ephemeralResources: {
268
+ cached_secret,
269
+ },
270
+ functions,
153
271
  });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDOUQsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG9DQUFvQyxHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG1CQUFtQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNoQyxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsS0FBSztJQUNYLEtBQUssRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUN0RCxRQUFRLEVBQUUsQ0FBQztJQUNY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UyxDQUFDO0lBQ1QsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDL0IsUUFBUSxDQUFDO0lBQ1IsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDdkQsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHNjaGVtYSwgU2NoZW1hQnVpbGRlciBhcyBTIH0gZnJvbSBcIi4vYnVpbGRlclwiO1xuXG5jb25zdCByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IGZhbHNlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmV4cG9ydCBjb25zdCBlZGdlU2NoZW1hOiBQcm92aWRlclNjaGVtYSA9IHNjaGVtYSh7XG4gIG5hbWU6IFwiZWRnZVwiLFxuICBwcm92aWRlcjogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5idWlsZCgpLFxuICByZXNvdXJjZXM6IHtcbiAgICByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgb3B0aW9uYWxfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2NvbXB1dGVkX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBsaXN0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9yZXNvdXJjZSxcbiAgICBzZXRfYmxvY2tfcmVzb3VyY2UsXG4gICAgbWFwX2xpc3RfcmVzb3VyY2UsXG4gIH0sXG4gIGRhdGFTb3VyY2VzOiB7fSxcbn0pO1xuIl19
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDL0Qsd0VBQXdFO0lBQ3hFLGlFQUFpRTtJQUNqRSwwRUFBMEU7SUFDMUUsa0RBQWtEO0lBQ2xELHNFQUFzRTtJQUN0RSw2Q0FBNkM7S0FDNUMsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxLQUFLO0lBQ2YsU0FBUyxFQUFFLElBQUk7Q0FDaEIsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxvQ0FBb0MsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDakQsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUN6RCx3QkFBd0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFB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QVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7S0FDL0M7SUFDRCw4QkFBOEI7SUFDOUIsWUFBWSxFQUFFO1FBQ1osV0FBVyxFQUNULCtEQUErRDtRQUNqRSxPQUFPLEVBQUUsY0FBYztRQUN2QixXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQy9CLFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7S0FDaEQ7SUFDRCw2QkFBNkI7SUFDN0IsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLDBEQUEwRDtRQUN2RSxPQUFPLEVBQUUsYUFBYTtRQUN0QixXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7S0FDeEQ7Q0FDRixDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtJQUNmLGtCQUFrQixFQUFFO1FBQ2xCLGFBQWE7S0FDZDtJQUNELFNBQVM7Q0FDVixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEsIEZ1bmN0aW9uU2lnbmF0dXJlIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBzY2hlbWEsIFNjaGVtYUJ1aWxkZXIgYXMgUyB9IGZyb20gXCIuL2J1aWxkZXJcIjtcblxuY29uc3QgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogdHJ1ZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5hZGRBbGxQcmltaXRpdmVMaXN0VHlwZXMoeyByZXF1aXJlZDogZmFsc2UsIGNvbXB1dGVkOiBmYWxzZSB9KVxuICAvLyBXcml0ZS1vbmx5IGF0dHJpYnV0ZSAoUkZDLTA0IC8gcHJvdG9jb2wgdjYpOiBleGVyY2lzZXMgdGhlIGRlcHJlY2F0ZWRcbiAgLy8gZ2V0dGVyICsgdGhlIHJlc29sdmUtdGltZSBgbWFya1dyaXRlT25seUF0dHJpYnV0ZWAgd3JhcHBpbmcgaW5cbiAgLy8gc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKS9zeW50aGVzaXplSGNsQXR0cmlidXRlcygpIG9uIGFuIGV4aXN0aW5nIG1hbmFnZWRcbiAgLy8gcmVzb3VyY2UuIExlZnQgb3B0aW9uYWwgc28gbm8gZXhpc3RpbmcgdXNhZ2Ugb2ZcbiAgLy8gT3B0aW9uYWxBdHRyaWJ1dGVSZXNvdXJjZSBhY3Jvc3MgdGhlIGVkZ2UgdGVzdCBzdWl0ZSBuZWVkcyB1cGRhdGluZ1xuICAvLyAoYW5kIHNvIGl0IGFsc28gZ2VuZXJhdGVzIGEgcmVzZXQgbWV0aG9kKS5cbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJzZWNyZXRXb1wiLFxuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICB3cml0ZU9ubHk6IHRydWUsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbi8vIEEgbW9kZXN0IGVwaGVtZXJhbCByZXNvdXJjZSAocGx1Z2luIHByb3RvY29sIHY2IC8gUkZDLTA0KTogYSByZXF1aXJlZFxuLy8gc3RyaW5nLCBhbiBvcHRpb25hbCBudW1iZXIsIGEgY29tcHV0ZWQgYXR0cmlidXRlLCBhbmQgYSBuZXN0ZWQgc2luZ2xlXG4vLyBibG9jayAtIGNvbnNpc3RlbnQgd2l0aCB0aGUgcHJpbWl0aXZlL25lc3RlZC1ibG9jayBjb252ZW50aW9ucyB1c2VkIGJ5XG4vLyB0aGUgcmVzb3VyY2VzIGFib3ZlLlxuY29uc3QgY2FjaGVkX3NlY3JldCA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7IG5hbWU6IFwic3RyXCIsIHR5cGU6IFwic3RyaW5nXCIsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIC5hdHRyaWJ1dGUoeyBuYW1lOiBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJjb21wdXRlZFN0clwiLFxuICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuc2luZ2xlQmxvY2soe1xuICAgIG5hbWU6IFwibmVzdGVkXCIsXG4gICAgYmxvY2s6IG5ldyBTKClcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBcInN0clwiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZDogZmFsc2UgfSlcbiAgICAgIC5hc0Jsb2NrKCksXG4gIH0pXG4gIC5idWlsZCgpO1xuXG4vLyBQcm92aWRlci1kZWZpbmVkIGZ1bmN0aW9ucyAoVGVycmFmb3JtID49MS44IC8gcHJvdG9jb2wgdjYpLCBlYWNoXG4vLyBleGVyY2lzaW5nIGEgZGlzdGluY3QgZ2VuZXJhdG9yIGJyYW5jaCBvZiBgcHJvdmlkZXItZnVuY3Rpb24tbW9kZWwudHNgLlxuLy8gUmV1c2VzIHNoYXBlcyBmcm9tIGBwcm92aWRlci1mdW5jdGlvbnMtc3ludGhldGljLnRlc3QuZml4dHVyZS5qc29uYCB3aGVyZVxuLy8gc2Vuc2libGUsIHJlbmFtZWQgdG8gZml0IHRoZSBlZGdlIGZpeHR1cmUncyBuYW1pbmcuXG5jb25zdCBmdW5jdGlvbnM6IHsgW25hbWU6IHN0cmluZ106IEZ1bmN0aW9uU2lnbmF0dXJlIH0gPSB7XG4gIC8vIFNpbXBsZSBzdHJpbmcgLT4gc3RyaW5nIGZ1bmN0aW9uLlxuICBncmVldDoge1xuICAgIGRlc2NyaXB0aW9uOiBcIlJldHVybnMgYSBmcmllbmRseSBncmVldGluZyBmb3IgdGhlIGdpdmVuIG5hbWUuXCIsXG4gICAgc3VtbWFyeTogXCJHcmVldCBhIG5hbWVcIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9XSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgVFJBSUxJTkcgZml4ZWQgcGFyYW06IGJlY29tZXMganNpaS1vcHRpb25hbC5cbiAgZ3JlZXRfd2l0aF90aXRsZToge1xuICAgIGRlc2NyaXB0aW9uOiBcIkdyZWV0cyB0aGUgZ2l2ZW4gbmFtZSwgb3B0aW9uYWxseSB3aXRoIGEgdGl0bGUuXCIsXG4gICAgc3VtbWFyeTogXCJHcmVldCB3aXRoIGFuIG9wdGlvbmFsIHRpdGxlXCIsXG4gICAgcmV0dXJuX3R5cGU6IFwic3RyaW5nXCIsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9LFxuICAgICAgeyBuYW1lOiBcInRpdGxlXCIsIHR5cGU6IFwic3RyaW5nXCIsIGlzX251bGxhYmxlOiB0cnVlIH0sXG4gICAgXSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgTUlELVBPU0lUSU9OIGZpeGVkIHBhcmFtIGZvbGxvd2VkIGJ5IGEgcmVxdWlyZWQgcGFyYW06IHN0YXlzXG4gIC8vIHBvc2l0aW9uYWwsIHdpZGVucyB0byBgYW55YCBzbyBhIGNhbGxlciBjYW4gc3RpbGwgcGFzcyBhbiBleHBsaWNpdCBudWxsLlxuICBqb2luX3ByZWZpeGVkOiB7XG4gICAgZGVzY3JpcHRpb246IFwiSm9pbnMgYSBwb3NzaWJseS1udWxsIHByZWZpeCB3aXRoIGEgcmVxdWlyZWQgc3VmZml4LlwiLFxuICAgIHN1bW1hcnk6IFwiSm9pbiB3aXRoIGEgbnVsbGFibGUgcHJlZml4XCIsXG4gICAgcmV0dXJuX3R5cGU6IFwic3RyaW5nXCIsXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgeyBuYW1lOiBcInByZWZpeFwiLCB0eXBlOiBcInN0cmluZ1wiLCBpc19udWxsYWJsZTogdHJ1ZSB9LFxuICAgICAgeyBuYW1lOiBcInN1ZmZpeFwiLCB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgXSxcbiAgfSxcbiAgLy8gTnVsbGFibGUgVkFSSUFESUMgcGFyYW06IHJlc3QgcGFyYW1ldGVyIHdpZGVucyB0byBgYW55W11gLlxuICBkZXNjcmliZV9pdGVtczoge1xuICAgIGRlc2NyaXB0aW9uOiBcIkpvaW5zIGEgbGFiZWwgd2l0aCBhbnkgbnVtYmVyIG9mIHBvc3NpYmx5LW51bGwgaXRlbXMuXCIsXG4gICAgc3VtbWFyeTogXCJEZXNjcmliZSBpdGVtcyB3aXRoIGEgbGFiZWxcIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcImxhYmVsXCIsIHR5cGU6IFwic3RyaW5nXCIgfV0sXG4gICAgdmFyaWFkaWNfcGFyYW1ldGVyOiB7IG5hbWU6IFwiaXRlbXNcIiwgdHlwZTogXCJzdHJpbmdcIiwgaXNfbnVsbGFibGU6IHRydWUgfSxcbiAgfSxcbiAgLy8gVmFyaWFkaWMgb2YgYm9vbDogdW5pb24gZWxlbWVudCB0eXBlIC0+IEFycmF5PGJvb2xlYW4gfCBJUmVzb2x2YWJsZT5cbiAgLy8gcmVzdCBwYXJhbS5cbiAgYWxsX3RydWU6IHtcbiAgICBkZXNjcmlwdGlvbjogXCJSZXR1cm5zIHRydWUgaWYgZXZlcnkgZ2l2ZW4gZmxhZyBpcyB0cnVlLlwiLFxuICAgIHN1bW1hcnk6IFwiQWxsIGZsYWdzIHRydWVcIixcbiAgICByZXR1cm5fdHlwZTogXCJib29sXCIsXG4gICAgdmFyaWFkaWNfcGFyYW1ldGVyOiB7IG5hbWU6IFwiZmxhZ3NcIiwgdHlwZTogXCJib29sXCIgfSxcbiAgfSxcbiAgLy8gZGVwcmVjYXRpb25fbWVzc2FnZSBwcmVzZW50IChUZXJyYWZvcm0gPj0xLjggb25seSwgc2VlIEZ1bmN0aW9uU2lnbmF0dXJlXG4gIC8vIGRvY3N0cmluZykgLT4gc3VyZmFjZWQgYXMgYW4gYEBkZXByZWNhdGVkYCBKU0RvYyB0YWcuXG4gIGxlZ2FjeV9ncmVldDoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBIGRlcHJlY2F0ZWQgZ3JlZXRpbmcgaGVscGVyIGtlcHQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlwiLFxuICAgIHN1bW1hcnk6IFwiTGVnYWN5IGdyZWV0XCIsXG4gICAgZGVwcmVjYXRpb25fbWVzc2FnZTogXCJVc2UgZ3JlZXQgaW5zdGVhZC5cIixcbiAgICByZXR1cm5fdHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcIm5hbWVcIiwgdHlwZTogXCJzdHJpbmdcIiB9XSxcbiAgfSxcbiAgLy8gUmV0dXJucyBbXCJvYmplY3RcIiwgey4uLn1dLlxuICBidWlsZF9pbmZvOiB7XG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlJldHVybnMgYW4gb2JqZWN0IGRlc2NyaWJpbmcgdGhlIGJ1aWxkIHRoYXQgcHJvZHVjZWQgdGhlIGdpdmVuIHNlZWQuXCIsXG4gICAgc3VtbWFyeTogXCJCdWlsZCBpbmZvXCIsXG4gICAgcmV0dXJuX3R5cGU6IFtcIm9iamVjdFwiLCB7IHZlcnNpb246IFwic3RyaW5nXCIsIHJldmlzaW9uOiBcInN0cmluZ1wiIH1dLFxuICAgIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwic2VlZFwiLCB0eXBlOiBcInN0cmluZ1wiIH1dLFxuICB9LFxuICAvLyBSZXR1cm5zIFtcImxpc3RcIiwgXCJudW1iZXJcIl0uXG4gIGxpc3Rfc3F1YXJlczoge1xuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJSZXR1cm5zIHRoZSBzcXVhcmVzIG9mIHRoZSBudW1iZXJzIGZyb20gMSB0byB0aGUgZ2l2ZW4gY291bnQuXCIsXG4gICAgc3VtbWFyeTogXCJMaXN0IHNxdWFyZXNcIixcbiAgICByZXR1cm5fdHlwZTogW1wibGlzdFwiLCBcIm51bWJlclwiXSxcbiAgICBwYXJhbWV0ZXJzOiBbeyBuYW1lOiBcImNvdW50XCIsIHR5cGU6IFwibnVtYmVyXCIgfV0sXG4gIH0sXG4gIC8vIEEgW1wibWFwXCIsIFwic3RyaW5nXCJdIHBhcmFtLlxuICByZW5kZXJfdGFnczoge1xuICAgIGRlc2NyaXB0aW9uOiBcIlJlbmRlcnMgdGhlIGdpdmVuIG1hcCBvZiBzdHJpbmcgdGFncyBhcyBhIHNpbmdsZSBzdHJpbmcuXCIsXG4gICAgc3VtbWFyeTogXCJSZW5kZXIgdGFnc1wiLFxuICAgIHJldHVybl90eXBlOiBcInN0cmluZ1wiLFxuICAgIHBhcmFtZXRlcnM6IFt7IG5hbWU6IFwidGFnc1wiLCB0eXBlOiBbXCJtYXBcIiwgXCJzdHJpbmdcIl0gfV0sXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgZWRnZVNjaGVtYTogUHJvdmlkZXJTY2hlbWEgPSBzY2hlbWEoe1xuICBuYW1lOiBcImVkZ2VcIixcbiAgcHJvdmlkZXI6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYnVpbGQoKSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcmVxdWlyZWRfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgbGlzdF9ibG9ja19yZXNvdXJjZSxcbiAgICBtYXBfcmVzb3VyY2UsXG4gICAgc2V0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9saXN0X3Jlc291cmNlLFxuICB9LFxuICBkYXRhU291cmNlczoge30sXG4gIGVwaGVtZXJhbFJlc291cmNlczoge1xuICAgIGNhY2hlZF9zZWNyZXQsXG4gIH0sXG4gIGZ1bmN0aW9ucyxcbn0pO1xuIl19
@@ -46,6 +46,9 @@ function directorySnapshot(root) {
46
46
  content = fs.readJsonSync(filePath);
47
47
  if (path.basename(filePath) === "constraints.json") {
48
48
  delete content.cdktf;
49
+ // cli identity depends on the terraform/opentofu binary installed
50
+ // on the test runner - not deterministic, so excluded like cdktf.
51
+ delete content.cli;
49
52
  }
50
53
  }
51
54
  else {
@@ -155,4 +158,4 @@ describe("Provider", () => {
155
158
  });
156
159
  }, 600000);
157
160
  });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLDhCQUE4QixDQUNyQyxRQUFxQixFQUNyQixrQkFBMEI7SUFFMUIsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0lBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUN0QixjQUFjLGtCQUFrQixrQkFBa0IsQ0FDbkQsQ0FBQztRQUNGLDZDQUE2QztRQUM3QyxJQUNFLEtBQUs7WUFDTCxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDM0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUM5QixDQUFDO1lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtJQUN4QixFQUFFLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQ0FBMkIsQ0FDaEQsMEJBQTBCLENBQzNCLENBQUM7UUFDRixPQUFPLE1BQU0sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTthQUNwQyxFQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQzFELENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxNQUFPLENBQUMsQ0FBQztJQUVaLEVBQUUsQ0FBQyw4REFBOEQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM1RSxNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUEyQixDQUNoRCwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNGLE9BQU8sTUFBTSxJQUFBLGlCQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksa0NBQWUsQ0FBQztnQkFDaEMsZUFBZSxFQUFFLE9BQU87Z0JBQ3hCLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixjQUFjLEVBQUUsa0JBQVEsQ0FBQyxVQUFVO2FBQ3BDLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFNUMsTUFBTSw2QkFBNkIsR0FDakMsOEJBQThCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRXRELDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqRCxJQUFJLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQy9DLHFCQUFxQixHQUFHLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztnQkFDN0QsQ0FBQztnQkFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixRQUFRLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRSx5SUFBeUksQ0FDMUksQ0FBQztnQkFDRixNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixRQUFRLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNsRSxvRkFBb0YscUJBQXFCLHlDQUF5QyxDQUNuSixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsRUFBRSxNQUFPLENBQUMsQ0FBQztJQUVaLEVBQUUsQ0FBQyxrRUFBa0UsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRixNQUFNLFVBQVUsR0FBRyxJQUFJLHFDQUEyQixDQUFDO1lBQ2pELElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLDBDQUEwQztZQUNsRCxPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLGtDQUFlLENBQy9CO2dCQUNFLGVBQWUsRUFBRSxPQUFPO2dCQUN4QixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsY0FBYyxFQUFFLGtCQUFRLENBQUMsVUFBVTthQUNwQyxFQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsNkNBQTZDLENBQzFELENBQUM7WUFDRixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25DLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTVDLE1BQU0sNkJBQTZCLEdBQ2pDLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV0RCw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDakQsTUFBTSxDQUNKLFFBQVEsQ0FBQyxxQkFBcUIsUUFBUSxXQUFXLENBQUMsQ0FDbkQsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBRVosRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3JFLE1BQU0sVUFBVSxHQUFHLElBQUkscUNBQTJCLENBQUM7WUFDakQsSUFBSSxFQUFFLFdBQVc7WUFDakIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLHFCQUFxQjtTQUM5QixDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFDQUEyQixDQUFDO1lBQ2xELElBQUksRUFBRSxZQUFZO1lBQ2xCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxzQkFBc0I7U0FDL0IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLElBQUEsaUJBQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxrQ0FBZSxDQUMvQjtnQkFDRSxlQUFlLEVBQUUsT0FBTztnQkFDeEIsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgb3V0cHV0W2ZpbGVdID0gY29udGVudDtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXQ7XG59XG5cbmZ1bmN0aW9uIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChcbiAgc25hcHNob3Q6IFN5bnRoT3V0cHV0LFxuICBwcm92aWRlck5hbWVJblBhdGg6IHN0cmluZyxcbikge1xuICBjb25zdCByZXNvdXJjZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZpbGVzID0gT2JqZWN0LmtleXMoc25hcHNob3QpO1xuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBtYXRjaCA9IGZpbGUubWF0Y2goXG4gICAgICBgL3Byb3ZpZGVycy8ke3Byb3ZpZGVyTmFtZUluUGF0aH0vKC4qPykvaW5kZXgudHMvYCxcbiAgICApO1xuICAgIC8vIGF2b2lkcyBhbnkgbm90IHJlc291cmNlcyBmcm9tIGJlaW5nIHB1c2hlZFxuICAgIGlmIChcbiAgICAgIG1hdGNoICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCIvXCIpICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCJkYXRhLVwiKSAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwicHJvdmlkZXJcIilcbiAgICApIHtcbiAgICAgIHJlc291cmNlcy5wdXNoKG1hdGNoWzFdKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc291cmNlcztcbn1cblxuZGVzY3JpYmUoXCJQcm92aWRlclwiLCAoKSA9PiB7XG4gIGl0KFwiZ2VuZXJhdGVzIGEgcHJvdmlkZXJcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFxuICAgICAgXCJEYXRhRG9nL2RhdGFkb2dAPSAzLjEyLjBcIixcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG4gICAgICBleHBlY3Qoc25hcHNob3QpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImhhcyBnZW5lcmF0ZWQgcHJvdmlkZXIgdGhhdCBpbmNsdWRlcyBzdGF0aWMgaW1wb3J0IGZ1bmN0aW9uc1wiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXG4gICAgICBcIkRhdGFEb2cvZGF0YWRvZ0A9IDMuMTIuMFwiLFxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoe1xuICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG5cbiAgICAgIGNvbnN0IHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50OiBzdHJpbmdbXSA9XG4gICAgICAgIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChzbmFwc2hvdCwgXCJkYXRhZG9nXCIpO1xuXG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudC5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICBsZXQgdGVycmFmb3JtUmVzb3VyY2VUeXBlID0gcmVzb3VyY2UucmVwbGFjZSgvLS9nLCBcIl9cIik7XG4gICAgICAgIGlmICghdGVycmFmb3JtUmVzb3VyY2VUeXBlLmluY2x1ZGVzKFwiZGF0YWRvZ1wiKSkge1xuICAgICAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZSA9IGBkYXRhZG9nXyR7dGVycmFmb3JtUmVzb3VyY2VUeXBlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZXhwZWN0KHNuYXBzaG90W2Bwcm92aWRlcnMvZGF0YWRvZy8ke3Jlc291cmNlfS9pbmRleC50c2BdKS50b0NvbnRhaW4oXG4gICAgICAgICAgYHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVDb25maWdGb3JJbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaW1wb3J0VG9JZDogc3RyaW5nLCBpbXBvcnRGcm9tSWQ6IHN0cmluZywgcHJvdmlkZXI/OiBjZGt0bi5UZXJyYWZvcm1Qcm92aWRlcikge2AsXG4gICAgICAgICk7XG4gICAgICAgIGV4cGVjdChzbmFwc2hvdFtgcHJvdmlkZXJzL2RhdGFkb2cvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSkudG9Db250YWluKFxuICAgICAgICAgIGByZXR1cm4gbmV3IGNka3RuLkltcG9ydGFibGVSZXNvdXJjZShzY29wZSwgaW1wb3J0VG9JZCwgeyB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IFwiJHt0ZXJyYWZvcm1SZXNvdXJjZVR5cGV9XCIsIGltcG9ydElkOiBpbXBvcnRGcm9tSWQsIHByb3ZpZGVyIH0pO2AsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJoYXMgbmFtZSBpbiBjb25zdHJhaW50IHRoYXQgZG9lcyBub3QgbWF0Y2ggcmVzb2x2ZWQgbmFtZSBpbiBmcXBuXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImRvY2tlcnJcIixcbiAgICAgIHNvdXJjZTogXCJyZWdpc3RyeS50ZXJyYWZvcm0uaW8va3JldXp3ZXJrZXIvZG9ja2VyXCIsXG4gICAgICB2ZXJzaW9uOiBcIjMuMC4yXCIsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcblxuICAgICAgY29uc3QgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQ6IHN0cmluZ1tdID1cbiAgICAgICAgcmVzb3VyY2VUeXBlc1ByZXNlbnRJblNuYXBzaG90KHNuYXBzaG90LCBcImRvY2tlcnJcIik7XG5cbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50LmZvckVhY2goKHJlc291cmNlKSA9PiB7XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBzbmFwc2hvdFtgcHJvdmlkZXJzL2RvY2tlcnIvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSxcbiAgICAgICAgKS50b0JlRGVmaW5lZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiZ2VuZXJhdGVzIGNvbnN0cnVjdHMgZm9yIHR3byBwcm92aWRlcnMgd2l0aCBzYW1lIG5hbWVcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiYml0YnVja2V0XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiRHJGYXVzdDkyXCIsXG4gICAgICB2ZXJzaW9uOiBcIjIuNTEuMFwiLFxuICAgICAgc291cmNlOiBcIkRyRmF1c3Q5Mi9iaXRidWNrZXRcIixcbiAgICB9KTtcbiAgICBjb25zdCBjb25zdHJhaW50MiA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJhYml0YnVja2V0XCIsXG4gICAgICBuYW1lc3BhY2U6IFwiYW5kc2FmZS1BR1wiLFxuICAgICAgdmVyc2lvbjogXCIyLjUuMFwiLFxuICAgICAgc291cmNlOiBcImFuZHNhZmUtQUcvYml0YnVja2V0XCIsXG4gICAgfSk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludCwgY29uc3RyYWludDJdKTtcbiAgICAgIGNvbnNvbGUubG9nKFwid29ya2RpclwiLCB3b3JrZGlyKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG4gICAgICBleHBlY3Qoc25hcHNob3QpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcbn0pO1xuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDckIsa0VBQWtFO2dCQUNsRSxrRUFBa0U7Z0JBQ2xFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQzth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LEdBQUcsSUFBSSxrQ0FBZSxDQUMvQjtnQkFDRSxlQUFlLEVBQUUsT0FBTztnQkFDeEIsVUFBVSxFQUFFLFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICAgIC8vIGNsaSBpZGVudGl0eSBkZXBlbmRzIG9uIHRoZSB0ZXJyYWZvcm0vb3BlbnRvZnUgYmluYXJ5IGluc3RhbGxlZFxuICAgICAgICAvLyBvbiB0aGUgdGVzdCBydW5uZXIgLSBub3QgZGV0ZXJtaW5pc3RpYywgc28gZXhjbHVkZWQgbGlrZSBjZGt0Zi5cbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2xpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuICAgIH1cblxuICAgIG91dHB1dFtmaWxlXSA9IGNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3QoXG4gIHNuYXBzaG90OiBTeW50aE91dHB1dCxcbiAgcHJvdmlkZXJOYW1lSW5QYXRoOiBzdHJpbmcsXG4pIHtcbiAgY29uc3QgcmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmaWxlcyA9IE9iamVjdC5rZXlzKHNuYXBzaG90KTtcbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBmaWxlLm1hdGNoKFxuICAgICAgYC9wcm92aWRlcnMvJHtwcm92aWRlck5hbWVJblBhdGh9LyguKj8pL2luZGV4LnRzL2AsXG4gICAgKTtcbiAgICAvLyBhdm9pZHMgYW55IG5vdCByZXNvdXJjZXMgZnJvbSBiZWluZyBwdXNoZWRcbiAgICBpZiAoXG4gICAgICBtYXRjaCAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiL1wiKSAmJlxuICAgICAgIW1hdGNoWzFdLmluY2x1ZGVzKFwiZGF0YS1cIikgJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpXG4gICAgKSB7XG4gICAgICByZXNvdXJjZXMucHVzaChtYXRjaFsxXSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNvdXJjZXM7XG59XG5cbmRlc2NyaWJlKFwiUHJvdmlkZXJcIiwgKCkgPT4ge1xuICBpdChcImdlbmVyYXRlcyBhIHByb3ZpZGVyXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChcbiAgICAgIFwiRGF0YURvZy9kYXRhZG9nQD0gMy4xMi4wXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJoYXMgZ2VuZXJhdGVkIHByb3ZpZGVyIHRoYXQgaW5jbHVkZXMgc3RhdGljIGltcG9ydCBmdW5jdGlvbnNcIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KFxuICAgICAgXCJEYXRhRG9nL2RhdGFkb2dAPSAzLjEyLjBcIixcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKHtcbiAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuXG4gICAgICBjb25zdCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudDogc3RyaW5nW10gPVxuICAgICAgICByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3Qoc25hcHNob3QsIFwiZGF0YWRvZ1wiKTtcblxuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgbGV0IHRlcnJhZm9ybVJlc291cmNlVHlwZSA9IHJlc291cmNlLnJlcGxhY2UoLy0vZywgXCJfXCIpO1xuICAgICAgICBpZiAoIXRlcnJhZm9ybVJlc291cmNlVHlwZS5pbmNsdWRlcyhcImRhdGFkb2dcIikpIHtcbiAgICAgICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBgZGF0YWRvZ18ke3RlcnJhZm9ybVJlc291cmNlVHlwZX1gO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdChzbmFwc2hvdFtgcHJvdmlkZXJzL2RhdGFkb2cvJHtyZXNvdXJjZX0vaW5kZXgudHNgXSkudG9Db250YWluKFxuICAgICAgICAgIGBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtgLFxuICAgICAgICApO1xuICAgICAgICBleHBlY3Qoc25hcHNob3RbYHByb3ZpZGVycy9kYXRhZG9nLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0pLnRvQ29udGFpbihcbiAgICAgICAgICBgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIiR7dGVycmFmb3JtUmVzb3VyY2VUeXBlfVwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtgLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiaGFzIG5hbWUgaW4gY29uc3RyYWludCB0aGF0IGRvZXMgbm90IG1hdGNoIHJlc29sdmVkIG5hbWUgaW4gZnFwblwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJkb2NrZXJyXCIsXG4gICAgICBzb3VyY2U6IFwicmVnaXN0cnkudGVycmFmb3JtLmlvL2tyZXV6d2Vya2VyL2RvY2tlclwiLFxuICAgICAgdmVyc2lvbjogXCIzLjAuMlwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnRdKTtcbiAgICAgIGNvbnN0IHNuYXBzaG90ID0gZGlyZWN0b3J5U25hcHNob3Qod29ya2Rpcik7XG5cbiAgICAgIGNvbnN0IHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50OiBzdHJpbmdbXSA9XG4gICAgICAgIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChzbmFwc2hvdCwgXCJkb2NrZXJyXCIpO1xuXG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudC5mb3JFYWNoKChyZXNvdXJjZSkgPT4ge1xuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgc25hcHNob3RbYHByb3ZpZGVycy9kb2NrZXJyLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0sXG4gICAgICAgICkudG9CZURlZmluZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImdlbmVyYXRlcyBjb25zdHJ1Y3RzIGZvciB0d28gcHJvdmlkZXJzIHdpdGggc2FtZSBuYW1lXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcIkRyRmF1c3Q5MlwiLFxuICAgICAgdmVyc2lvbjogXCIyLjUxLjBcIixcbiAgICAgIHNvdXJjZTogXCJEckZhdXN0OTIvYml0YnVja2V0XCIsXG4gICAgfSk7XG4gICAgY29uc3QgY29uc3RyYWludDIgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiYWJpdGJ1Y2tldFwiLFxuICAgICAgbmFtZXNwYWNlOiBcImFuZHNhZmUtQUdcIixcbiAgICAgIHZlcnNpb246IFwiMi41LjBcIixcbiAgICAgIHNvdXJjZTogXCJhbmRzYWZlLUFHL2JpdGJ1Y2tldFwiLFxuICAgIH0pO1xuICAgIHJldHVybiBhd2FpdCBta2R0ZW1wKGFzeW5jICh3b3JrZGlyKSA9PiB7XG4gICAgICBjb25zdCBqc2lpUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCBcIi5qc2lpXCIpO1xuICAgICAgY29uc3QgbWFrZXIgPSBuZXcgQ29uc3RydWN0c01ha2VyKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZU1ha2VyT3V0cHV0OiB3b3JrZGlyLFxuICAgICAgICAgIG91dHB1dEpzaWk6IGpzaWlQYXRoLFxuICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgICB9LFxuICAgICAgICBwcm9jZXNzLmVudi5DREtURl9FWFBFUklNRU5UQUxfUFJPVklERVJfU0NIRU1BX0NBQ0hFX1BBVEgsXG4gICAgICApO1xuICAgICAgYXdhaXQgbWFrZXIuZ2VuZXJhdGUoW2NvbnN0cmFpbnQsIGNvbnN0cmFpbnQyXSk7XG4gICAgICBjb25zb2xlLmxvZyhcIndvcmtkaXJcIiwgd29ya2Rpcik7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuICAgICAgZXhwZWN0KHNuYXBzaG90KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ephemeral-resources.test.d.ts.map
@@ -0,0 +1,49 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ // Copyright (c) HashiCorp, Inc
27
+ // SPDX-License-Identifier: MPL-2.0
28
+ const fs = __importStar(require("fs"));
29
+ const path = __importStar(require("path"));
30
+ const provider_generator_1 = require("../../generator/provider-generator");
31
+ const codemaker_1 = require("codemaker");
32
+ const util_1 = require("../util");
33
+ const tmp = (0, util_1.createTmpHelper)();
34
+ test("generate an ephemeral random_password resource alongside a regular random_uuid resource", async () => {
35
+ const code = new codemaker_1.CodeMaker();
36
+ const workdir = tmp("ephemeral.test");
37
+ const spec = JSON.parse(fs.readFileSync(path.join(__dirname, "fixtures", "ephemeral-resources.test.fixture.json"), "utf-8"));
38
+ new provider_generator_1.TerraformProviderGenerator(code, spec).generateAll();
39
+ await code.save(workdir);
40
+ const ephemeralOutput = fs.readFileSync(path.join(workdir, "providers/random/ephemeral-random-password/index.ts"), "utf-8");
41
+ expect(ephemeralOutput).toMatchSnapshot("ephemeral-random-password");
42
+ const resourceOutput = fs.readFileSync(path.join(workdir, "providers/random/uuid/index.ts"), "utf-8");
43
+ expect(resourceOutput).toMatchSnapshot("random-uuid");
44
+ const providerIndex = fs.readFileSync(path.join(workdir, "providers/random/index.ts"), "utf-8");
45
+ expect(providerIndex).toMatchSnapshot("provider-index");
46
+ const providerLazyIndex = fs.readFileSync(path.join(workdir, "providers/random/lazy-index.ts"), "utf-8");
47
+ expect(providerLazyIndex).toMatchSnapshot("provider-lazy-index");
48
+ });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBoZW1lcmFsLXJlc291cmNlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dldC9fX3Rlc3RzX18vZ2VuZXJhdG9yL2VwaGVtZXJhbC1yZXNvdXJjZXMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFDekIsMkNBQTZCO0FBQzdCLDJFQUFnRjtBQUNoRix5Q0FBc0M7QUFDdEMsa0NBQTBDO0FBRTFDLE1BQU0sR0FBRyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0FBRTlCLElBQUksQ0FBQyx5RkFBeUYsRUFBRSxLQUFLLElBQUksRUFBRTtJQUN6RyxNQUFNLElBQUksR0FBRyxJQUFJLHFCQUFTLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNyQixFQUFFLENBQUMsWUFBWSxDQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSx1Q0FBdUMsQ0FBQyxFQUN6RSxPQUFPLENBQ1IsQ0FDRixDQUFDO0lBQ0YsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpCLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHFEQUFxRCxDQUFDLEVBQ3pFLE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxDQUFDLEVBQ3BELE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUV0RCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxFQUMvQyxPQUFPLENBQ1IsQ0FBQztJQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxDQUFDLEVBQ3BELE9BQU8sQ0FDUixDQUFDO0lBQ0YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDbkUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvciB9IGZyb20gXCIuLi8uLi9nZW5lcmF0b3IvcHJvdmlkZXItZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tIFwiY29kZW1ha2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVUbXBIZWxwZXIgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG5jb25zdCB0bXAgPSBjcmVhdGVUbXBIZWxwZXIoKTtcblxudGVzdChcImdlbmVyYXRlIGFuIGVwaGVtZXJhbCByYW5kb21fcGFzc3dvcmQgcmVzb3VyY2UgYWxvbmdzaWRlIGEgcmVndWxhciByYW5kb21fdXVpZCByZXNvdXJjZVwiLCBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IGNvZGUgPSBuZXcgQ29kZU1ha2VyKCk7XG4gIGNvbnN0IHdvcmtkaXIgPSB0bXAoXCJlcGhlbWVyYWwudGVzdFwiKTtcbiAgY29uc3Qgc3BlYyA9IEpTT04ucGFyc2UoXG4gICAgZnMucmVhZEZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCJmaXh0dXJlc1wiLCBcImVwaGVtZXJhbC1yZXNvdXJjZXMudGVzdC5maXh0dXJlLmpzb25cIiksXG4gICAgICBcInV0Zi04XCIsXG4gICAgKSxcbiAgKTtcbiAgbmV3IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yKGNvZGUsIHNwZWMpLmdlbmVyYXRlQWxsKCk7XG4gIGF3YWl0IGNvZGUuc2F2ZSh3b3JrZGlyKTtcblxuICBjb25zdCBlcGhlbWVyYWxPdXRwdXQgPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgcGF0aC5qb2luKHdvcmtkaXIsIFwicHJvdmlkZXJzL3JhbmRvbS9lcGhlbWVyYWwtcmFuZG9tLXBhc3N3b3JkL2luZGV4LnRzXCIpLFxuICAgIFwidXRmLThcIixcbiAgKTtcbiAgZXhwZWN0KGVwaGVtZXJhbE91dHB1dCkudG9NYXRjaFNuYXBzaG90KFwiZXBoZW1lcmFsLXJhbmRvbS1wYXNzd29yZFwiKTtcblxuICBjb25zdCByZXNvdXJjZU91dHB1dCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvcmFuZG9tL3V1aWQvaW5kZXgudHNcIiksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xuICBleHBlY3QocmVzb3VyY2VPdXRwdXQpLnRvTWF0Y2hTbmFwc2hvdChcInJhbmRvbS11dWlkXCIpO1xuXG4gIGNvbnN0IHByb3ZpZGVySW5kZXggPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgcGF0aC5qb2luKHdvcmtkaXIsIFwicHJvdmlkZXJzL3JhbmRvbS9pbmRleC50c1wiKSxcbiAgICBcInV0Zi04XCIsXG4gICk7XG4gIGV4cGVjdChwcm92aWRlckluZGV4KS50b01hdGNoU25hcHNob3QoXCJwcm92aWRlci1pbmRleFwiKTtcblxuICBjb25zdCBwcm92aWRlckxhenlJbmRleCA9IGZzLnJlYWRGaWxlU3luYyhcbiAgICBwYXRoLmpvaW4od29ya2RpciwgXCJwcm92aWRlcnMvcmFuZG9tL2xhenktaW5kZXgudHNcIiksXG4gICAgXCJ1dGYtOFwiLFxuICApO1xuICBleHBlY3QocHJvdmlkZXJMYXp5SW5kZXgpLnRvTWF0Y2hTbmFwc2hvdChcInByb3ZpZGVyLWxhenktaW5kZXhcIik7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider-functions.test.d.ts.map