@nikovirtala/projen-constructs 0.2.156 → 0.3.0

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 (107) hide show
  1. package/.jsii +1077 -818
  2. package/.kiro/steering/product.md +1 -1
  3. package/.kiro/steering/tech.md +6 -4
  4. package/API.md +9711 -5492
  5. package/docs/api/assets/highlight.css +1 -1
  6. package/docs/api/assets/main.js +1 -1
  7. package/docs/api/assets/search.js +1 -1
  8. package/docs/api/assets/style.css +18 -3
  9. package/docs/api/classes/AwsCdkConstructLibraryProject.html +997 -162
  10. package/docs/api/classes/AwsCdkTypeScriptAppProject.html +1015 -157
  11. package/docs/api/classes/Bundler.html +267 -17
  12. package/docs/api/classes/Colima.html +221 -16
  13. package/docs/api/classes/Homebrew.html +244 -16
  14. package/docs/api/classes/JsiiProject.html +983 -150
  15. package/docs/api/classes/LambdaFunctionCodeBundle.html +222 -16
  16. package/docs/api/classes/LambdaFunctionCodeBundler.html +222 -16
  17. package/docs/api/classes/LambdaFunctionConstructGenerator.html +243 -16
  18. package/docs/api/classes/LocalStack.html +222 -16
  19. package/docs/api/classes/Mise.html +233 -16
  20. package/docs/api/classes/ProjectGenerator.html +229 -19
  21. package/docs/api/classes/TypeDoc.html +246 -19
  22. package/docs/api/classes/TypeScriptProject.html +983 -150
  23. package/docs/api/classes/Vitest.html +295 -16
  24. package/docs/api/enums/CommentStyle.html +74 -8
  25. package/docs/api/enums/CoverageProvider.html +65 -6
  26. package/docs/api/enums/CoverageReporter.html +72 -7
  27. package/docs/api/enums/EntryPointStrategy.html +74 -8
  28. package/docs/api/enums/Environment.html +79 -9
  29. package/docs/api/enums/LogLevel.html +79 -9
  30. package/docs/api/enums/Pool.html +75 -8
  31. package/docs/api/enums/ProjectType.html +149 -27
  32. package/docs/api/enums/Visibility.html +69 -7
  33. package/docs/api/functions/applyDefaults.html +41 -1
  34. package/docs/api/functions/convertToPosixPath.html +40 -1
  35. package/docs/api/functions/renderBundleName.html +40 -1
  36. package/docs/api/functions/toJson_TypeDocConfiguration.html +42 -2
  37. package/docs/api/hierarchy.html +29 -1
  38. package/docs/api/index.html +60 -2
  39. package/docs/api/interfaces/AwsCdkConstructLibraryProjectOptions.html +2404 -770
  40. package/docs/api/interfaces/AwsCdkTypeScriptAppProjectOptions.html +2302 -740
  41. package/docs/api/interfaces/Bundle.html +57 -2
  42. package/docs/api/interfaces/BundlerOptions.html +60 -2
  43. package/docs/api/interfaces/BundlingOptions.html +84 -2
  44. package/docs/api/interfaces/Component.html +70 -7
  45. package/docs/api/interfaces/ComponentOptions.html +66 -6
  46. package/docs/api/interfaces/HomebrewOptions.html +51 -2
  47. package/docs/api/interfaces/JsiiProjectOptions.html +2263 -713
  48. package/docs/api/interfaces/LambdaFunctionCodeBundleOptions.html +63 -2
  49. package/docs/api/interfaces/LambdaFunctionCodeBundlerOptions.html +57 -2
  50. package/docs/api/interfaces/LambdaFunctionConstructGeneratorOptions.html +72 -2
  51. package/docs/api/interfaces/LocalStackOptions.html +60 -2
  52. package/docs/api/interfaces/MiseOptions.html +51 -2
  53. package/docs/api/interfaces/ProjectGeneratorOptions.html +136 -20
  54. package/docs/api/interfaces/TypeDocConfiguration.html +469 -96
  55. package/docs/api/interfaces/TypeDocOptions.html +62 -5
  56. package/docs/api/interfaces/TypeScriptProjectOptions.html +2032 -638
  57. package/docs/api/interfaces/ValidationOptions.html +70 -7
  58. package/docs/api/interfaces/VitestConfigOptions.html +268 -57
  59. package/docs/api/interfaces/VitestOptions.html +71 -7
  60. package/docs/api/modules.html +52 -1
  61. package/docs/api/variables/defaultOptions.html +40 -1
  62. package/docs/api/variables/defaults.html +48 -1
  63. package/docs/api/variables/projectDefaultOptions.html +120 -1
  64. package/lib/bundle-vitest-define-config.js +37 -4
  65. package/lib/components/bundle-lambda-function-code.js +43 -9
  66. package/lib/components/colima.js +6 -4
  67. package/lib/components/homebrew.js +10 -4
  68. package/lib/components/lambda-function-construct-generator.js +47 -6
  69. package/lib/components/localstack.js +2 -4
  70. package/lib/components/mise.js +2 -4
  71. package/lib/components/typedoc.js +11 -4
  72. package/lib/components/vitest.d.ts +1 -1
  73. package/lib/components/vitest.js +58 -6
  74. package/lib/config.d.ts +52 -6
  75. package/lib/config.js +87 -10
  76. package/lib/errors.js +7 -1
  77. package/lib/project-generator.js +46 -9
  78. package/lib/project-type.d.ts +0 -8
  79. package/lib/project-type.js +1 -9
  80. package/lib/projects/awscdk-construct-library-options.generated.d.ts +72 -18
  81. package/lib/projects/awscdk-construct-library-options.generated.js +1 -1
  82. package/lib/projects/awscdk-construct-library.generated.d.ts +1 -1
  83. package/lib/projects/awscdk-construct-library.generated.js +2 -4
  84. package/lib/projects/awscdk-typescript-app-options.generated.d.ts +63 -17
  85. package/lib/projects/awscdk-typescript-app-options.generated.js +1 -1
  86. package/lib/projects/awscdk-typescript-app.generated.d.ts +1 -1
  87. package/lib/projects/awscdk-typescript-app.generated.js +2 -4
  88. package/lib/projects/jsii-options.generated.d.ts +72 -10
  89. package/lib/projects/jsii-options.generated.js +1 -1
  90. package/lib/projects/jsii.generated.d.ts +1 -1
  91. package/lib/projects/jsii.generated.js +2 -4
  92. package/lib/projects/typescript-options.generated.d.ts +63 -9
  93. package/lib/projects/typescript-options.generated.js +1 -1
  94. package/lib/projects/typescript.generated.d.ts +1 -1
  95. package/lib/projects/typescript.generated.js +2 -4
  96. package/lib/utils.d.ts +8 -0
  97. package/lib/utils.js +11 -2
  98. package/lib/versions.json +1 -1
  99. package/node_modules/@jsii/spec/lib/assembly-utils.js +36 -3
  100. package/node_modules/@jsii/spec/lib/validators.js +1 -1
  101. package/node_modules/@jsii/spec/package.json +4 -4
  102. package/package.json +19 -20
  103. package/pnpm-workspace.yaml +8 -0
  104. package/lib/components/vitest-bundled-define-config.d.ts +0 -1
  105. package/lib/components/vitest-bundled-define-config.js +0 -6
  106. package/lib/vitest-define-config-entry.d.ts +0 -1
  107. package/lib/vitest-define-config-entry.js +0 -6
@@ -1,11 +1,43 @@
1
1
  "use strict";
2
- var _a, _b, _c;
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.LambdaFunctionCodeBundler = exports.LambdaFunctionCodeBundle = exports.Bundler = void 0;
5
37
  exports.renderBundleName = renderBundleName;
6
38
  exports.convertToPosixPath = convertToPosixPath;
7
39
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
8
- const path = require("node:path");
40
+ const path = __importStar(require("node:path"));
9
41
  const node_path_1 = require("node:path");
10
42
  const case_1 = require("case");
11
43
  const projen_1 = require("projen");
@@ -23,10 +55,16 @@ function convertToPosixPath(p) {
23
55
  return p.split(node_path_1.sep).join(node_path_1.posix.sep);
24
56
  }
25
57
  class Bundler extends projen_1.Component {
58
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Bundler", version: "0.3.0" };
26
59
  static of(project) {
27
60
  const isBundler = (o) => o instanceof Bundler;
28
61
  return project.components.find(isBundler);
29
62
  }
63
+ esbuildVersion;
64
+ bundledir;
65
+ _task;
66
+ addToPreCompile;
67
+ loaders;
30
68
  constructor(project, options = {}) {
31
69
  super(project);
32
70
  this.esbuildVersion = options.esbuildVersion;
@@ -118,9 +156,8 @@ class Bundler extends projen_1.Component {
118
156
  }
119
157
  }
120
158
  exports.Bundler = Bundler;
121
- _a = JSII_RTTI_SYMBOL_1;
122
- Bundler[_a] = { fqn: "@nikovirtala/projen-constructs.Bundler", version: "0.2.156" };
123
159
  class LambdaFunctionCodeBundle extends projen_1.Component {
160
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundle", version: "0.3.0" };
124
161
  constructor(project, options) {
125
162
  super(project);
126
163
  const bundler = Bundler.of(project);
@@ -162,9 +199,8 @@ class LambdaFunctionCodeBundle extends projen_1.Component {
162
199
  }
163
200
  }
164
201
  exports.LambdaFunctionCodeBundle = LambdaFunctionCodeBundle;
165
- _b = JSII_RTTI_SYMBOL_1;
166
- LambdaFunctionCodeBundle[_b] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundle", version: "0.2.156" };
167
202
  class LambdaFunctionCodeBundler extends projen_1.Component {
203
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundler", version: "0.3.0" };
168
204
  constructor(project, options) {
169
205
  super(project);
170
206
  const entrypoints = [];
@@ -178,6 +214,4 @@ class LambdaFunctionCodeBundler extends projen_1.Component {
178
214
  }
179
215
  }
180
216
  exports.LambdaFunctionCodeBundler = LambdaFunctionCodeBundler;
181
- _c = JSII_RTTI_SYMBOL_1;
182
- LambdaFunctionCodeBundler[_c] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionCodeBundler", version: "0.2.156" };
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSw0Q0FTQztBQUVELGdEQUVDOztBQWxCRCxrQ0FBa0M7QUFDbEMseUNBQXlFO0FBQ3pFLCtCQUE4QjtBQUM5QixtQ0FBcUg7QUFFckgsU0FBZ0IsZ0JBQWdCLENBQUMsVUFBa0I7SUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQkFBSSxFQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFHLENBQUMsQ0FBQztJQUMxQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNyQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBRyxDQUFDLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBQSxtQkFBTyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVEsRUFBQyxDQUFDLEVBQUUsSUFBQSxtQkFBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckMsT0FBTyxJQUFBLGdCQUFJLEVBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxDQUFTO0lBQ3hDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBU0QsTUFBYSxPQUFRLFNBQVEsa0JBQVM7SUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVks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QUM7O0FBbERMLDREQW1EQzs7O0FBUUQsTUFBYSx5QkFBMEIsU0FBUSxrQkFBUztJQUNwRCxZQUFZLE9BQWdCLEVBQUUsT0FBeUM7UUFDbkUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBRWpDLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbkMsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxVQUFVLEVBQUUsVUFBVTtnQkFDdEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2dCQUM1QixHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQzNCLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDOztBQWJMLDhEQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgZXh0bmFtZSwgam9pbiwgcG9zaXgsIHNlcCB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IHBhc2NhbCB9IGZyb20gXCJjYXNlXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIERlcGVuZGVuY3lUeXBlLCBqYXZhc2NyaXB0LCB0eXBlIFByb2plY3QsIFNvdXJjZUNvZGUsIHR5cGUgVGFzaywgdHlwZSB0eXBlc2NyaXB0IH0gZnJvbSBcInByb2plblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJ0cyA9IGpvaW4oZW50cnlwb2ludCkuc3BsaXQoc2VwKTtcbiAgICBpZiAocGFydHNbMF0gPT09IFwic3JjXCIpIHtcbiAgICAgICAgcGFydHMuc2hpZnQoKTtcbiAgICB9XG4gICAgY29uc3QgcCA9IHBhcnRzLmpvaW4oc2VwKTtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKHApO1xuICAgIGNvbnN0IGJhc2UgPSBiYXNlbmFtZShwLCBleHRuYW1lKHApKTtcbiAgICByZXR1cm4gam9pbihkaXIsIGJhc2UpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvUG9zaXhQYXRoKHA6IHN0cmluZykge1xuICAgIHJldHVybiBwLnNwbGl0KHNlcCkuam9pbihwb3NpeC5zZXApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJPcHRpb25zIHtcbiAgICByZWFkb25seSBlc2J1aWxkVmVyc2lvbj86IHN0cmluZztcbiAgICByZWFkb25seSBhc3NldHNEaXI/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEJ1bmRsZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IEJ1bmRsZXIgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0J1bmRsZXIgPSAobzogQ29tcG9uZW50KTogbyBpcyBCdW5kbGVyID0+IG8gaW5zdGFuY2VvZiBCdW5kbGVyO1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNCdW5kbGVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZFZlcnNpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgYnVuZGxlZGlyOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF90YXNrOiBUYXNrIHwgdW5kZWZpbmVkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkVG9QcmVDb21waWxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9hZGVycz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBCdW5kbGVyT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuICAgICAgICB0aGlzLmVzYnVpbGRWZXJzaW9uID0gb3B0aW9ucy5lc2J1aWxkVmVyc2lvbjtcbiAgICAgICAgdGhpcy5idW5kbGVkaXIgPSBvcHRpb25zLmFzc2V0c0RpciA/PyBcImFzc2V0c1wiO1xuICAgICAgICB0aGlzLmFkZFRvUHJlQ29tcGlsZSA9IG9wdGlvbnMuYWRkVG9QcmVDb21waWxlID8/IHRydWU7XG4gICAgICAgIHRoaXMubG9hZGVycyA9IG9wdGlvbnMubG9hZGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJ1bmRsZVRhc2soKTogVGFzayB7XG4gICAgICAgIGlmICghdGhpcy5fdGFzaykge1xuICAgICAgICAgICAgdGhpcy5hZGRCdW5kbGluZ1N1cHBvcnQoKTtcbiAgICAgICAgICAgIHRoaXMuX3Rhc2sgPSB0aGlzLnByb2plY3QudGFza3MuYWRkVGFzayhcImJ1bmRsZVwiLCB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJlcGFyZSBhc3NldHNcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHRoaXMuYWRkVG9QcmVDb21waWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9qZWN0LnByZUNvbXBpbGVUYXNrLnNwYXduKHRoaXMuX3Rhc2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl90YXNrO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRCdW5kbGUoZW50cnlwb2ludDogc3RyaW5nLCBvcHRpb25zOiBCdW5kbGluZ09wdGlvbnMpOiBCdW5kbGUge1xuICAgICAgICBjb25zdCBuYW1lID0gcmVuZGVyQnVuZGxlTmFtZShlbnRyeXBvaW50KTtcbiAgICAgICAgY29uc3Qgb3V0ZGlyID0gcGF0aC5wb3NpeC5qb2luKHRoaXMuYnVuZGxlZGlyLCBuYW1lKTtcbiAgICAgICAgY29uc3Qgb3V0ZmlsZSA9IHBhdGgucG9zaXguam9pbihvdXRkaXIsIG9wdGlvbnMub3V0ZmlsZSA/PyBcImluZGV4Lm1qc1wiKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gb3B0aW9ucy50YXJnZXQgPz8gXCJlc25leHRcIjtcbiAgICAgICAgY29uc3QgcGxhdGZvcm0gPSBvcHRpb25zLnBsYXRmb3JtID8/IFwibm9kZVwiO1xuICAgICAgICBjb25zdCBmb3JtYXQgPSBvcHRpb25zLmZvcm1hdCA/PyBcImVzbVwiO1xuICAgICAgICBjb25zdCBzb3VyY2VtYXAgPSBvcHRpb25zLnNvdXJjZW1hcCA/PyB0cnVlO1xuICAgICAgICBjb25zdCBzb3VyY2VzQ29udGVudCA9IG9wdGlvbnMuc291cmNlc0NvbnRlbnQgPz8gZmFsc2U7XG4gICAgICAgIGNvbnN0IG1pbmlmeSA9IG9wdGlvbnMubWluaWZ5ID8/IHRydWU7XG4gICAgICAgIGNvbnN0IG1haW5GaWVsZHMgPSBvcHRpb25zLm1haW5GaWVsZHMgPz8gXCJtb2R1bGUsbWFpblwiO1xuICAgICAgICBjb25zdCBiYW5uZXIgPVxuICAgICAgICAgICAgb3B0aW9ucy5iYW5uZXIgPz9cbiAgICAgICAgICAgIFwiOmpzPWltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgYXMgdG9wTGV2ZWxDcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJztjb25zdCByZXF1aXJlID0gdG9wTGV2ZWxDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybClcIjtcblxuICAgICAgICBjb25zdCBhcmdzID0gW1xuICAgICAgICAgICAgXCJlc2J1aWxkXCIsXG4gICAgICAgICAgICBcIi0tYnVuZGxlXCIsXG4gICAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICAgICAgYC0tdGFyZ2V0PVwiJHt0YXJnZXR9XCJgLFxuICAgICAgICAgICAgYC0tcGxhdGZvcm09XCIke3BsYXRmb3JtfVwiYCxcbiAgICAgICAgICAgIGAtLW91dGZpbGU9XCIke291dGZpbGV9XCJgLFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRzY29uZmlnID0gb3B0aW9ucy50c2NvbmZpZ1BhdGggPz8gZmFsc2U7XG4gICAgICAgIGlmICh0c2NvbmZpZykge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLXRzY29uZmlnPVwiJHt0c2NvbmZpZ31cImApO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB4IG9mIG9wdGlvbnMuZXh0ZXJuYWxzID8/IFtdKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tZXh0ZXJuYWw6JHt4fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNvdXJjZW1hcCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKFwiLS1zb3VyY2VtYXBcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlc0NvbnRlbnQpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChgLS1zb3VyY2VzLWNvbnRlbnQ9JHtzb3VyY2VzQ29udGVudH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtaW5pZnkpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChcIi0tbWluaWZ5XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZvcm1hdCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWZvcm1hdD0ke2Zvcm1hdH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYWluRmllbGRzKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tbWFpbi1maWVsZHM9JHttYWluRmllbGRzfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhbm5lcikge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLWJhbm5lciR7YmFubmVyfWApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9hZGVycyA9IChvcHRpb25zLmxvYWRlcnMgPz8gZmFsc2UpID8gb3B0aW9ucy5sb2FkZXJzIDogKHRoaXMubG9hZGVycyA/PyBmYWxzZSk7XG4gICAgICAgIGlmIChsb2FkZXJzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtleHRlbnNpb24sIGxvYWRlcl0gb2YgT2JqZWN0LmVudHJpZXMobG9hZGVycykpIHtcbiAgICAgICAgICAgICAgICBhcmdzLnB1c2goYC0tbG9hZGVyOi4ke2V4dGVuc2lvbn09JHtsb2FkZXJ9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBidW5kbGVUYXNrID0gdGhpcy5wcm9qZWN0LmFkZFRhc2soYGJ1bmRsZToke25hbWV9YCwge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGBDcmVhdGUgYSBKYXZhU2NyaXB0IGJ1bmRsZSBmcm9tICR7ZW50cnlwb2ludH1gLFxuICAgICAgICAgICAgZXhlYzogYXJncy5qb2luKFwiIFwiKSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5idW5kbGVUYXNrLnNwYXduKGJ1bmRsZVRhc2spO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBidW5kbGVUYXNrOiBidW5kbGVUYXNrLFxuICAgICAgICAgICAgb3V0ZGlyOiBvdXRkaXIsXG4gICAgICAgICAgICBvdXRmaWxlOiBvdXRmaWxlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQnVuZGxpbmdTdXBwb3J0KCkge1xuICAgICAgICBjb25zdCBpZ25vcmVFbnRyeSA9IGAvJHt0aGlzLmJ1bmRsZWRpcn0vYDtcbiAgICAgICAgdGhpcy5wcm9qZWN0LmFkZEdpdElnbm9yZShpZ25vcmVFbnRyeSk7XG4gICAgICAgIHRoaXMucHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKGAhJHtpZ25vcmVFbnRyeX1gKTtcbiAgICAgICAgY29uc3QgZGVwID0gdGhpcy5lc2J1aWxkVmVyc2lvbiA/IGBlc2J1aWxkQCR7dGhpcy5lc2J1aWxkVmVyc2lvbn1gIDogXCJlc2J1aWxkXCI7XG4gICAgICAgIHRoaXMucHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koZGVwLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZSB7XG4gICAgcmVhZG9ubHkgYnVuZGxlVGFzazogVGFzaztcbiAgICByZWFkb25seSBvdXRmaWxlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgb3V0ZGlyOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxpbmdPcHRpb25zIHtcbiAgICByZWFkb25seSBleHRlcm5hbHM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBzb3VyY2VtYXA/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZztcbiAgICByZWFkb25seSBwbGF0Zm9ybT86IHN0cmluZztcbiAgICByZWFkb25seSBvdXRmaWxlPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRzY29uZmlnUGF0aD86IHN0cmluZztcbiAgICByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICByZWFkb25seSBmb3JtYXQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZztcbiAgICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV4dGVuc2lvbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGNvbnN0cnVjdEZpbGU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uc3RydWN0TmFtZT86IHN0cmluZztcbiAgICByZWFkb25seSBidW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgYnVuZGxlciA9IEJ1bmRsZXIub2YocHJvamVjdCk7XG4gICAgICAgIGlmICghYnVuZGxlcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gYnVuZGxlciBmb3VuZC4gUGxlYXNlIGFkZCBhIEJ1bmRsZXIgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlc2xpbnQgPSBqYXZhc2NyaXB0LkVzbGludC5vZihwcm9qZWN0KTtcbiAgICAgICAgZXNsaW50Py5hbGxvd0RldkRlcHMob3B0aW9ucy5lbnRyeXBvaW50KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50ID0gb3B0aW9ucy5lbnRyeXBvaW50O1xuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBvcHRpb25zLmV4dGVuc2lvbiA/PyBcIi5sYW1iZGEudHNcIjtcblxuICAgICAgICBpZiAoIWVudHJ5cG9pbnQuZW5kc1dpdGgoZXh0ZW5zaW9uKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2VudHJ5cG9pbnR9IG11c3QgaGF2ZSBhICR7ZXh0ZW5zaW9ufSBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gcGF0aC5wb3NpeC5qb2luKHBhdGguZGlybmFtZShlbnRyeXBvaW50KSwgcGF0aC5iYXNlbmFtZShlbnRyeXBvaW50LCBleHRlbnNpb24pKTtcbiAgICAgICAgY29uc3QgY29uc3RydWN0RmlsZSA9IG9wdGlvbnMuY29uc3RydWN0RmlsZSA/PyBgJHtiYXNlUGF0aH0tY29kZS50c2A7XG5cbiAgICAgICAgaWYgKHBhdGguZXh0bmFtZShjb25zdHJ1Y3RGaWxlKSAhPT0gXCIudHNcIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25zdHJ1Y3QgZmlsZSBuYW1lIFwiJHtjb25zdHJ1Y3RGaWxlfVwiIG11c3QgaGF2ZSBhIC50cyBleHRlbnNpb25gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdE5hbWUgPSBvcHRpb25zLmNvbnN0cnVjdE5hbWUgPz8gYCR7cGFzY2FsKHBhdGguYmFzZW5hbWUoYmFzZVBhdGgpKX1GdW5jdGlvbkNvZGVgO1xuXG4gICAgICAgIGNvbnN0IGJ1bmRsZSA9IGJ1bmRsZXIuYWRkQnVuZGxlKGVudHJ5cG9pbnQsIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxpbmdPcHRpb25zLFxuICAgICAgICAgICAgdHNjb25maWdQYXRoOiAocHJvamVjdCBhcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0KT8udHNjb25maWdEZXY/LmZpbGVOYW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdXRmaWxlQWJzID0gcGF0aC5qb2luKHByb2plY3Qub3V0ZGlyLCBidW5kbGUub3V0ZmlsZSk7XG4gICAgICAgIGNvbnN0IGNvbnN0cnVjdEFicyA9IHBhdGguam9pbihwcm9qZWN0Lm91dGRpciwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGNvbnN0IHJlbGF0aXZlT3V0ZmlsZSA9IHBhdGgucmVsYXRpdmUocGF0aC5kaXJuYW1lKGNvbnN0cnVjdEFicyksIHBhdGguZGlybmFtZShvdXRmaWxlQWJzKSk7XG5cbiAgICAgICAgY29uc3Qgc3JjID0gbmV3IFNvdXJjZUNvZGUocHJvamVjdCwgY29uc3RydWN0RmlsZSk7XG4gICAgICAgIGlmIChzcmMubWFya2VyKSB7XG4gICAgICAgICAgICBzcmMubGluZShgLy8gJHtzcmMubWFya2VyfWApO1xuICAgICAgICB9XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcIik7XG4gICAgICAgIHNyYy5saW5lKFwiaW1wb3J0IHsgYXdzX2xhbWJkYSB9IGZyb20gJ2F3cy1jZGstbGliJztcIik7XG4gICAgICAgIHNyYy5saW5lKCk7XG4gICAgICAgIHNyYy5vcGVuKGBleHBvcnQgY29uc3QgJHtjb25zdHJ1Y3ROYW1lfSA9IGF3c19sYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCk7XG4gICAgICAgIHNyYy5saW5lKGBwYXRoLmpvaW4oX19kaXJuYW1lLCAnJHtjb252ZXJ0VG9Qb3NpeFBhdGgocmVsYXRpdmVPdXRmaWxlKX0nKSxgKTtcbiAgICAgICAgc3JjLmNsb3NlKFwiKTtcIik7XG5cbiAgICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci52ZXJib3NlKGAke2Jhc2VQYXRofTogY29uc3RydWN0IFwiJHtjb25zdHJ1Y3ROYW1lfVwiIGdlbmVyYXRlZCB1bmRlciBcIiR7Y29uc3RydWN0RmlsZX1cImApO1xuICAgICAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoYCR7YmFzZVBhdGh9OiBidW5kbGUgdGFzayBcIiR7YnVuZGxlLmJ1bmRsZVRhc2submFtZX1cImApO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYnVuZGxlT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVyT3B0aW9ucykge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBlbnRyeXBvaW50czogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgICAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGUodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgICAgICAgICAgZW50cnlwb2ludDogZW50cnlwb2ludCxcbiAgICAgICAgICAgICAgICBleHRlbnNpb246IG9wdGlvbnMuZXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMuYnVuZGxlT3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvYnVuZGxlLWxhbWJkYS1mdW5jdGlvbi1jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUtBLDRDQVNDO0FBRUQsZ0RBRUM7O0FBbEJELGdEQUFrQztBQUNsQyx5Q0FBeUU7QUFDekUsK0JBQThCO0FBQzlCLG1DQUFxSDtBQUVySCxTQUFnQixnQkFBZ0IsQ0FBQyxVQUFrQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFBLGdCQUFJLEVBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQUcsQ0FBQyxDQUFDO0lBQzFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3JCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFHLENBQUMsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFBLG1CQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBQSxvQkFBUSxFQUFDLENBQUMsRUFBRSxJQUFBLG1CQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxPQUFPLElBQUEsZ0JBQUksRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLENBQVM7SUFDeEMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFTRCxNQUFhLE9BQVEsU0FBUSxrQkFBUzs7SUFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFn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QUM7UUFDNUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxrQkFBa0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7O0FBbERMLDREQW1EQztBQVFELE1BQWEseUJBQTBCLFNBQVEsa0JBQVM7O0lBQ3BELFlBQVksT0FBZ0IsRUFBRSxPQUF5QztRQUNuRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFdBQVcsR0FBYSxFQUFFLENBQUM7UUFFakMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3ZDLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7Z0JBQzVCLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDM0IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7O0FBYkwsOERBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGJhc2VuYW1lLCBkaXJuYW1lLCBleHRuYW1lLCBqb2luLCBwb3NpeCwgc2VwIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgcGFzY2FsIH0gZnJvbSBcImNhc2VcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRGVwZW5kZW5jeVR5cGUsIGphdmFzY3JpcHQsIHR5cGUgUHJvamVjdCwgU291cmNlQ29kZSwgdHlwZSBUYXNrLCB0eXBlIHR5cGVzY3JpcHQgfSBmcm9tIFwicHJvamVuXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJCdW5kbGVOYW1lKGVudHJ5cG9pbnQ6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcnRzID0gam9pbihlbnRyeXBvaW50KS5zcGxpdChzZXApO1xuICAgIGlmIChwYXJ0c1swXSA9PT0gXCJzcmNcIikge1xuICAgICAgICBwYXJ0cy5zaGlmdCgpO1xuICAgIH1cbiAgICBjb25zdCBwID0gcGFydHMuam9pbihzZXApO1xuICAgIGNvbnN0IGRpciA9IGRpcm5hbWUocCk7XG4gICAgY29uc3QgYmFzZSA9IGJhc2VuYW1lKHAsIGV4dG5hbWUocCkpO1xuICAgIHJldHVybiBqb2luKGRpciwgYmFzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9Qb3NpeFBhdGgocDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHAuc3BsaXQoc2VwKS5qb2luKHBvc2l4LnNlcCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGVzYnVpbGRWZXJzaW9uPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFzc2V0c0Rpcj86IHN0cmluZztcbiAgICByZWFkb25seSBhZGRUb1ByZUNvbXBpbGU/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGxvYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5leHBvcnQgY2xhc3MgQnVuZGxlciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogQnVuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGlzQnVuZGxlciA9IChvOiBDb21wb25lbnQpOiBvIGlzIEJ1bmRsZXIgPT4gbyBpbnN0YW5jZW9mIEJ1bmRsZXI7XG4gICAgICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc0J1bmRsZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWFkb25seSBlc2J1aWxkVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyByZWFkb25seSBidW5kbGVkaXI6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3Rhc2s6IFRhc2sgfCB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhZGRUb1ByZUNvbXBpbGU6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2FkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEJ1bmRsZXJPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG4gICAgICAgIHRoaXMuZXNidWlsZFZlcnNpb24gPSBvcHRpb25zLmVzYnVpbGRWZXJzaW9uO1xuICAgICAgICB0aGlzLmJ1bmRsZWRpciA9IG9wdGlvbnMuYXNzZXRzRGlyID8/IFwiYXNzZXRzXCI7XG4gICAgICAgIHRoaXMuYWRkVG9QcmVDb21waWxlID0gb3B0aW9ucy5hZGRUb1ByZUNvbXBpbGUgPz8gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2FkZXJzID0gb3B0aW9ucy5sb2FkZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYnVuZGxlVGFzaygpOiBUYXNrIHtcbiAgICAgICAgaWYgKCF0aGlzLl90YXNrKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEJ1bmRsaW5nU3VwcG9ydCgpO1xuICAgICAgICAgICAgdGhpcy5fdGFzayA9IHRoaXMucHJvamVjdC50YXNrcy5hZGRUYXNrKFwiYnVuZGxlXCIsIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQcmVwYXJlIGFzc2V0c1wiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodGhpcy5hZGRUb1ByZUNvbXBpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb2plY3QucHJlQ29tcGlsZVRhc2suc3Bhd24odGhpcy5fdGFzayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rhc2s7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZEJ1bmRsZShlbnRyeXBvaW50OiBzdHJpbmcsIG9wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyk6IEJ1bmRsZSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSByZW5kZXJCdW5kbGVOYW1lKGVudHJ5cG9pbnQpO1xuICAgICAgICBjb25zdCBvdXRkaXIgPSBwYXRoLnBvc2l4LmpvaW4odGhpcy5idW5kbGVkaXIsIG5hbWUpO1xuICAgICAgICBjb25zdCBvdXRmaWxlID0gcGF0aC5wb3NpeC5qb2luKG91dGRpciwgb3B0aW9ucy5vdXRmaWxlID8/IFwiaW5kZXgubWpzXCIpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBvcHRpb25zLnRhcmdldCA/PyBcImVzbmV4dFwiO1xuICAgICAgICBjb25zdCBwbGF0Zm9ybSA9IG9wdGlvbnMucGxhdGZvcm0gPz8gXCJub2RlXCI7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0ID8/IFwiZXNtXCI7XG4gICAgICAgIGNvbnN0IHNvdXJjZW1hcCA9IG9wdGlvbnMuc291cmNlbWFwID8/IHRydWU7XG4gICAgICAgIGNvbnN0IHNvdXJjZXNDb250ZW50ID0gb3B0aW9ucy5zb3VyY2VzQ29udGVudCA/PyBmYWxzZTtcbiAgICAgICAgY29uc3QgbWluaWZ5ID0gb3B0aW9ucy5taW5pZnkgPz8gdHJ1ZTtcbiAgICAgICAgY29uc3QgbWFpbkZpZWxkcyA9IG9wdGlvbnMubWFpbkZpZWxkcyA/PyBcIm1vZHVsZSxtYWluXCI7XG4gICAgICAgIGNvbnN0IGJhbm5lciA9XG4gICAgICAgICAgICBvcHRpb25zLmJhbm5lciA/P1xuICAgICAgICAgICAgXCI6anM9aW1wb3J0IHsgY3JlYXRlUmVxdWlyZSBhcyB0b3BMZXZlbENyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnO2NvbnN0IHJlcXVpcmUgPSB0b3BMZXZlbENyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKVwiO1xuXG4gICAgICAgIGNvbnN0IGFyZ3MgPSBbXG4gICAgICAgICAgICBcImVzYnVpbGRcIixcbiAgICAgICAgICAgIFwiLS1idW5kbGVcIixcbiAgICAgICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgICAgICBgLS10YXJnZXQ9XCIke3RhcmdldH1cImAsXG4gICAgICAgICAgICBgLS1wbGF0Zm9ybT1cIiR7cGxhdGZvcm19XCJgLFxuICAgICAgICAgICAgYC0tb3V0ZmlsZT1cIiR7b3V0ZmlsZX1cImAsXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgdHNjb25maWcgPSBvcHRpb25zLnRzY29uZmlnUGF0aCA/PyBmYWxzZTtcbiAgICAgICAgaWYgKHRzY29uZmlnKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tdHNjb25maWc9XCIke3RzY29uZmlnfVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHggb2Ygb3B0aW9ucy5leHRlcm5hbHMgPz8gW10pIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChgLS1leHRlcm5hbDoke3h9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc291cmNlbWFwKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goXCItLXNvdXJjZW1hcFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzb3VyY2VzQ29udGVudCkge1xuICAgICAgICAgICAgYXJncy5wdXNoKGAtLXNvdXJjZXMtY29udGVudD0ke3NvdXJjZXNDb250ZW50fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1pbmlmeSkge1xuICAgICAgICAgICAgYXJncy5wdXNoKFwiLS1taW5pZnlcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9ybWF0KSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tZm9ybWF0PSR7Zm9ybWF0fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1haW5GaWVsZHMpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChgLS1tYWluLWZpZWxkcz0ke21haW5GaWVsZHN9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYmFubmVyKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goYC0tYmFubmVyJHtiYW5uZXJ9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2FkZXJzID0gKG9wdGlvbnMubG9hZGVycyA/PyBmYWxzZSkgPyBvcHRpb25zLmxvYWRlcnMgOiAodGhpcy5sb2FkZXJzID8/IGZhbHNlKTtcbiAgICAgICAgaWYgKGxvYWRlcnMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2V4dGVuc2lvbiwgbG9hZGVyXSBvZiBPYmplY3QuZW50cmllcyhsb2FkZXJzKSkge1xuICAgICAgICAgICAgICAgIGFyZ3MucHVzaChgLS1sb2FkZXI6LiR7ZXh0ZW5zaW9ufT0ke2xvYWRlcn1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLnByb2plY3QuYWRkVGFzayhgYnVuZGxlOiR7bmFtZX1gLCB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYENyZWF0ZSBhIEphdmFTY3JpcHQgYnVuZGxlIGZyb20gJHtlbnRyeXBvaW50fWAsXG4gICAgICAgICAgICBleGVjOiBhcmdzLmpvaW4oXCIgXCIpLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJ1bmRsZVRhc2suc3Bhd24oYnVuZGxlVGFzayk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGJ1bmRsZVRhc2s6IGJ1bmRsZVRhc2ssXG4gICAgICAgICAgICBvdXRkaXI6IG91dGRpcixcbiAgICAgICAgICAgIG91dGZpbGU6IG91dGZpbGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCdW5kbGluZ1N1cHBvcnQoKSB7XG4gICAgICAgIGNvbnN0IGlnbm9yZUVudHJ5ID0gYC8ke3RoaXMuYnVuZGxlZGlyfS9gO1xuICAgICAgICB0aGlzLnByb2plY3QuYWRkR2l0SWdub3JlKGlnbm9yZUVudHJ5KTtcbiAgICAgICAgdGhpcy5wcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoYCEke2lnbm9yZUVudHJ5fWApO1xuICAgICAgICBjb25zdCBkZXAgPSB0aGlzLmVzYnVpbGRWZXJzaW9uID8gYGVzYnVpbGRAJHt0aGlzLmVzYnVpbGRWZXJzaW9ufWAgOiBcImVzYnVpbGRcIjtcbiAgICAgICAgdGhpcy5wcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeShkZXAsIERlcGVuZGVuY3lUeXBlLkJVSUxEKTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxlIHtcbiAgICByZWFkb25seSBidW5kbGVUYXNrOiBUYXNrO1xuICAgIHJlYWRvbmx5IG91dGZpbGU6IHN0cmluZztcbiAgICByZWFkb25seSBvdXRkaXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdW5kbGluZ09wdGlvbnMge1xuICAgIHJlYWRvbmx5IGV4dGVybmFscz86IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IHNvdXJjZW1hcD86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdHNjb25maWdQYXRoPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGxvYWRlcnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIHJlYWRvbmx5IGZvcm1hdD86IHN0cmluZztcbiAgICByZWFkb25seSBtaW5pZnk/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcbiAgICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvZGVCdW5kbGVPcHRpb25zIHtcbiAgICByZWFkb25seSBlbnRyeXBvaW50OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZXh0ZW5zaW9uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29uc3RydWN0RmlsZT86IHN0cmluZztcbiAgICByZWFkb25seSBjb25zdHJ1Y3ROYW1lPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJ1bmRsaW5nT3B0aW9ucz86IEJ1bmRsaW5nT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlT3B0aW9ucykge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBidW5kbGVyID0gQnVuZGxlci5vZihwcm9qZWN0KTtcbiAgICAgICAgaWYgKCFidW5kbGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBidW5kbGVyIGZvdW5kLiBQbGVhc2UgYWRkIGEgQnVuZGxlciBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0LlwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVzbGludCA9IGphdmFzY3JpcHQuRXNsaW50Lm9mKHByb2plY3QpO1xuICAgICAgICBlc2xpbnQ/LmFsbG93RGV2RGVwcyhvcHRpb25zLmVudHJ5cG9pbnQpO1xuXG4gICAgICAgIGNvbnN0IGVudHJ5cG9pbnQgPSBvcHRpb25zLmVudHJ5cG9pbnQ7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IG9wdGlvbnMuZXh0ZW5zaW9uID8/IFwiLmxhbWJkYS50c1wiO1xuXG4gICAgICAgIGlmICghZW50cnlwb2ludC5lbmRzV2l0aChleHRlbnNpb24pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZW50cnlwb2ludH0gbXVzdCBoYXZlIGEgJHtleHRlbnNpb259IGV4dGVuc2lvbmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLnBvc2l4LmpvaW4ocGF0aC5kaXJuYW1lKGVudHJ5cG9pbnQpLCBwYXRoLmJhc2VuYW1lKGVudHJ5cG9pbnQsIGV4dGVuc2lvbikpO1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RGaWxlID0gb3B0aW9ucy5jb25zdHJ1Y3RGaWxlID8/IGAke2Jhc2VQYXRofS1jb2RlLnRzYDtcblxuICAgICAgICBpZiAocGF0aC5leHRuYW1lKGNvbnN0cnVjdEZpbGUpICE9PSBcIi50c1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbnN0cnVjdCBmaWxlIG5hbWUgXCIke2NvbnN0cnVjdEZpbGV9XCIgbXVzdCBoYXZlIGEgLnRzIGV4dGVuc2lvbmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29uc3RydWN0TmFtZSA9IG9wdGlvbnMuY29uc3RydWN0TmFtZSA/PyBgJHtwYXNjYWwocGF0aC5iYXNlbmFtZShiYXNlUGF0aCkpfUZ1bmN0aW9uQ29kZWA7XG5cbiAgICAgICAgY29uc3QgYnVuZGxlID0gYnVuZGxlci5hZGRCdW5kbGUoZW50cnlwb2ludCwge1xuICAgICAgICAgICAgLi4ub3B0aW9ucy5idW5kbGluZ09wdGlvbnMsXG4gICAgICAgICAgICB0c2NvbmZpZ1BhdGg6IChwcm9qZWN0IGFzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3QpPy50c2NvbmZpZ0Rldj8uZmlsZU5hbWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG91dGZpbGVBYnMgPSBwYXRoLmpvaW4ocHJvamVjdC5vdXRkaXIsIGJ1bmRsZS5vdXRmaWxlKTtcbiAgICAgICAgY29uc3QgY29uc3RydWN0QWJzID0gcGF0aC5qb2luKHByb2plY3Qub3V0ZGlyLCBjb25zdHJ1Y3RGaWxlKTtcbiAgICAgICAgY29uc3QgcmVsYXRpdmVPdXRmaWxlID0gcGF0aC5yZWxhdGl2ZShwYXRoLmRpcm5hbWUoY29uc3RydWN0QWJzKSwgcGF0aC5kaXJuYW1lKG91dGZpbGVBYnMpKTtcblxuICAgICAgICBjb25zdCBzcmMgPSBuZXcgU291cmNlQ29kZShwcm9qZWN0LCBjb25zdHJ1Y3RGaWxlKTtcbiAgICAgICAgaWYgKHNyYy5tYXJrZXIpIHtcbiAgICAgICAgICAgIHNyYy5saW5lKGAvLyAke3NyYy5tYXJrZXJ9YCk7XG4gICAgICAgIH1cbiAgICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1wiKTtcbiAgICAgICAgc3JjLmxpbmUoXCJpbXBvcnQgeyBhd3NfbGFtYmRhIH0gZnJvbSAnYXdzLWNkay1saWInO1wiKTtcbiAgICAgICAgc3JjLmxpbmUoKTtcbiAgICAgICAgc3JjLm9wZW4oYGV4cG9ydCBjb25zdCAke2NvbnN0cnVjdE5hbWV9ID0gYXdzX2xhbWJkYS5Db2RlLmZyb21Bc3NldChgKTtcbiAgICAgICAgc3JjLmxpbmUoYHBhdGguam9pbihfX2Rpcm5hbWUsICcke2NvbnZlcnRUb1Bvc2l4UGF0aChyZWxhdGl2ZU91dGZpbGUpfScpLGApO1xuICAgICAgICBzcmMuY2xvc2UoXCIpO1wiKTtcblxuICAgICAgICB0aGlzLnByb2plY3QubG9nZ2VyLnZlcmJvc2UoYCR7YmFzZVBhdGh9OiBjb25zdHJ1Y3QgXCIke2NvbnN0cnVjdE5hbWV9XCIgZ2VuZXJhdGVkIHVuZGVyIFwiJHtjb25zdHJ1Y3RGaWxlfVwiYCk7XG4gICAgICAgIHRoaXMucHJvamVjdC5sb2dnZXIudmVyYm9zZShgJHtiYXNlUGF0aH06IGJ1bmRsZSB0YXNrIFwiJHtidW5kbGUuYnVuZGxlVGFzay5uYW1lfVwiYCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZXJPcHRpb25zIHtcbiAgICByZWFkb25seSBleHRlbnNpb246IHN0cmluZztcbiAgICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbiAgICByZWFkb25seSBidW5kbGVPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db2RlQnVuZGxlT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZXJPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgICAgIGNvbnN0IGVudHJ5cG9pbnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uQ29kZUJ1bmRsZSh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgICAgICAgICBlbnRyeXBvaW50OiBlbnRyeXBvaW50LFxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbjogb3B0aW9ucy5leHRlbnNpb24sXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucy5idW5kbGVPcHRpb25zLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Colima = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
5
  const component_1 = require("projen/lib/component");
6
+ const task_shell_1 = require("projen/lib/task-shell");
7
7
  const homebrew_1 = require("./homebrew");
8
8
  class Colima extends component_1.Component {
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Colima", version: "0.3.0" };
9
10
  constructor(scope) {
10
11
  super(scope);
11
12
  const project = this.project;
@@ -16,11 +17,12 @@ class Colima extends component_1.Component {
16
17
  homebrew.addPackage("colima");
17
18
  homebrew.addPackage("docker");
18
19
  project.addTask("colima", {
20
+ // multiple redirects are not supported by projen's built-in cross-platform
21
+ // shell, so run this through bash
22
+ shell: task_shell_1.TaskShell.bash(),
19
23
  exec: "colima status >/dev/null 2>&1 || colima start",
20
24
  });
21
25
  }
22
26
  }
23
27
  exports.Colima = Colima;
24
- _a = JSII_RTTI_SYMBOL_1;
25
- Colima[_a] = { fqn: "@nikovirtala/projen-constructs.Colima", version: "0.2.156" };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvY29saW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsb0RBQWlEO0FBQ2pELHlDQUFzQztBQUV0QyxNQUFhLE1BQU8sU0FBUSxxQkFBUztJQUNqQyxZQUFZLEtBQWlCO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFrQixDQUFDO1FBRXhDLElBQUksUUFBUSxHQUFHLG1CQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QixPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0QixJQUFJLEVBQUUsK0NBQStDO1NBQ3hELENBQUMsQ0FBQztJQUNQLENBQUM7O0FBakJMLHdCQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IEhvbWVicmV3IH0gZnJvbSBcIi4vaG9tZWJyZXdcIjtcblxuZXhwb3J0IGNsYXNzIENvbGltYSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IElDb25zdHJ1Y3QpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUpO1xuXG4gICAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLnByb2plY3QgYXMgUHJvamVjdDtcblxuICAgICAgICBsZXQgaG9tZWJyZXcgPSBIb21lYnJldy5vZihwcm9qZWN0KTtcbiAgICAgICAgaWYgKCFob21lYnJldykge1xuICAgICAgICAgICAgaG9tZWJyZXcgPSBuZXcgSG9tZWJyZXcocHJvamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwiY29saW1hXCIpO1xuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwiZG9ja2VyXCIpO1xuXG4gICAgICAgIHByb2plY3QuYWRkVGFzayhcImNvbGltYVwiLCB7XG4gICAgICAgICAgICBleGVjOiBcImNvbGltYSBzdGF0dXMgPi9kZXYvbnVsbCAyPiYxIHx8IGNvbGltYSBzdGFydFwiLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvY29saW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxvREFBaUQ7QUFDakQsc0RBQWtEO0FBQ2xELHlDQUFzQztBQUV0QyxNQUFhLE1BQU8sU0FBUSxxQkFBUzs7SUFDakMsWUFBWSxLQUFpQjtRQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBa0IsQ0FBQztRQUV4QyxJQUFJLFFBQVEsR0FBRyxtQkFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDdEIsMkVBQTJFO1lBQzNFLGtDQUFrQztZQUNsQyxLQUFLLEVBQUUsc0JBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxFQUFFLCtDQUErQztTQUN4RCxDQUFDLENBQUM7SUFDUCxDQUFDOztBQXBCTCx3QkFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plbi9saWIvY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUYXNrU2hlbGwgfSBmcm9tIFwicHJvamVuL2xpYi90YXNrLXNoZWxsXCI7XG5pbXBvcnQgeyBIb21lYnJldyB9IGZyb20gXCIuL2hvbWVicmV3XCI7XG5cbmV4cG9ydCBjbGFzcyBDb2xpbWEgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0KSB7XG4gICAgICAgIHN1cGVyKHNjb3BlKTtcblxuICAgICAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy5wcm9qZWN0IGFzIFByb2plY3Q7XG5cbiAgICAgICAgbGV0IGhvbWVicmV3ID0gSG9tZWJyZXcub2YocHJvamVjdCk7XG4gICAgICAgIGlmICghaG9tZWJyZXcpIHtcbiAgICAgICAgICAgIGhvbWVicmV3ID0gbmV3IEhvbWVicmV3KHByb2plY3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcImNvbGltYVwiKTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcImRvY2tlclwiKTtcblxuICAgICAgICBwcm9qZWN0LmFkZFRhc2soXCJjb2xpbWFcIiwge1xuICAgICAgICAgICAgLy8gbXVsdGlwbGUgcmVkaXJlY3RzIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHByb2plbidzIGJ1aWx0LWluIGNyb3NzLXBsYXRmb3JtXG4gICAgICAgICAgICAvLyBzaGVsbCwgc28gcnVuIHRoaXMgdGhyb3VnaCBiYXNoXG4gICAgICAgICAgICBzaGVsbDogVGFza1NoZWxsLmJhc2goKSxcbiAgICAgICAgICAgIGV4ZWM6IFwiY29saW1hIHN0YXR1cyA+L2Rldi9udWxsIDI+JjEgfHwgY29saW1hIHN0YXJ0XCIsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,19 +1,24 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Homebrew = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
5
  const component_1 = require("projen/lib/component");
6
+ const task_shell_1 = require("projen/lib/task-shell");
7
7
  const textfile_1 = require("projen/lib/textfile");
8
8
  class Homebrew extends component_1.Component {
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Homebrew", version: "0.3.0" };
9
10
  static of(project) {
10
11
  const isHomebrew = (c) => c instanceof Homebrew;
11
12
  return project.components.find(isHomebrew);
12
13
  }
14
+ packages;
13
15
  constructor(project, options = {}) {
14
16
  super(project);
15
17
  this.packages = new Set(options.packages ?? []);
16
18
  const brewInstallTask = project.addTask("install:homebrew", {
19
+ // brace groups, `eval` and multiple redirects are not supported by projen's
20
+ // built-in cross-platform shell, so run this through bash
21
+ shell: task_shell_1.TaskShell.bash(),
17
22
  exec: 'command -v brew >/dev/null 2>&1 || { NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv 2>/dev/null || /opt/homebrew/bin/brew shellenv 2>/dev/null)"; }',
18
23
  });
19
24
  project.defaultTask?.spawn(brewInstallTask);
@@ -47,6 +52,9 @@ class Homebrew extends component_1.Component {
47
52
  });
48
53
  const brewBundleTask = this.project.tasks.tryFind("homebrew:bundle") ??
49
54
  this.project.addTask("homebrew:bundle", {
55
+ // `eval` and multiple redirects are not supported by projen's built-in
56
+ // cross-platform shell, so run this through bash
57
+ shell: task_shell_1.TaskShell.bash(),
50
58
  exec: 'command -v brew >/dev/null 2>&1 || eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv 2>/dev/null || /opt/homebrew/bin/brew shellenv 2>/dev/null)" && brew bundle',
51
59
  });
52
60
  const brewInstallTask = this.project.tasks.tryFind("install:homebrew");
@@ -56,6 +64,4 @@ class Homebrew extends component_1.Component {
56
64
  }
57
65
  }
58
66
  exports.Homebrew = Homebrew;
59
- _a = JSII_RTTI_SYMBOL_1;
60
- Homebrew[_a] = { fqn: "@nikovirtala/projen-constructs.Homebrew", version: "0.2.156" };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZWJyZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9ob21lYnJldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUFpRDtBQUVqRCxrREFBK0M7QUFNL0MsTUFBYSxRQUFTLFNBQVEscUJBQVM7SUFDNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVksRUFBaUIsRUFBRSxDQUFDLENBQUMsWUFBWSxRQUFRLENBQUM7UUFDMUUsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBSUQsWUFBWSxPQUFnQixFQUFFLFVBQTJCLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEQsSUFBSSxFQUFFLCtRQUErUTtTQUN4UixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQUUsT0FBTztRQUVyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtnQkFDcEMsSUFBSSxFQUFFLHFLQUFxSzthQUM5SyxDQUFDLENBQUM7UUFFUCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUN2RixlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDOztBQWpFTCw0QkFrRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIb21lYnJld09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHBhY2thZ2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBIb21lYnJldyBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogSG9tZWJyZXcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0hvbWVicmV3ID0gKGM6IENvbXBvbmVudCk6IGMgaXMgSG9tZWJyZXcgPT4gYyBpbnN0YW5jZW9mIEhvbWVicmV3O1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNIb21lYnJldyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWNrYWdlczogU2V0PHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBIb21lYnJld09wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICB0aGlzLnBhY2thZ2VzID0gbmV3IFNldChvcHRpb25zLnBhY2thZ2VzID8/IFtdKTtcblxuICAgICAgICBjb25zdCBicmV3SW5zdGFsbFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJpbnN0YWxsOmhvbWVicmV3XCIsIHtcbiAgICAgICAgICAgIGV4ZWM6ICdjb21tYW5kIC12IGJyZXcgPi9kZXYvbnVsbCAyPiYxIHx8IHsgTk9OSU5URVJBQ1RJVkU9MSAvYmluL2Jhc2ggLWMgXCIkKGN1cmwgLWZzU0wgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0hvbWVicmV3L2luc3RhbGwvSEVBRC9pbnN0YWxsLnNoKVwiICYmIGV2YWwgXCIkKC9ob21lL2xpbnV4YnJldy8ubGludXhicmV3L2Jpbi9icmV3IHNoZWxsZW52IDI+L2Rldi9udWxsIHx8IC9vcHQvaG9tZWJyZXcvYmluL2JyZXcgc2hlbGxlbnYgMj4vZGV2L251bGwpXCI7IH0nLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5zcGF3bihicmV3SW5zdGFsbFRhc2spO1xuXG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUJyZXdmaWxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFBhY2thZ2UocGFja2FnZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhY2thZ2VzLmFkZChwYWNrYWdlTmFtZSk7XG4gICAgICAgIHRoaXMuc3ludGhlc2l6ZUJyZXdmaWxlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzeW50aGVzaXplQnJld2ZpbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhY2thZ2VzLnNpemUgPT09IDApIHJldHVybjtcblxuICAgICAgICB0aGlzLnByb2plY3QudHJ5UmVtb3ZlRmlsZShcIkJyZXdmaWxlXCIpO1xuXG4gICAgICAgIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjb25zdCB0YXBzID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBwa2cgb2YgdGhpcy5wYWNrYWdlcykge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwa2cuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFwID0gYCR7cGFydHNbMF19LyR7cGFydHNbMV19YDtcbiAgICAgICAgICAgICAgICB0YXBzLmFkZCh0YXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCB0YXAgb2YgQXJyYXkuZnJvbSh0YXBzKS5zb3J0KCkpIHtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goYHRhcCBcIiR7dGFwfVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBBcnJheS5mcm9tKHRoaXMucGFja2FnZXMpLnNvcnQoKSkge1xuICAgICAgICAgICAgbGluZXMucHVzaChgYnJldyBcIiR7cGtnfVwiYCk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXcgVGV4dEZpbGUodGhpcywgXCJCcmV3ZmlsZVwiLCB7XG4gICAgICAgICAgICBsaW5lcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYnJld0J1bmRsZVRhc2sgPVxuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJob21lYnJldzpidW5kbGVcIikgPz9cbiAgICAgICAgICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKFwiaG9tZWJyZXc6YnVuZGxlXCIsIHtcbiAgICAgICAgICAgICAgICBleGVjOiAnY29tbWFuZCAtdiBicmV3ID4vZGV2L251bGwgMj4mMSB8fCBldmFsIFwiJCgvaG9tZS9saW51eGJyZXcvLmxpbnV4YnJldy9iaW4vYnJldyBzaGVsbGVudiAyPi9kZXYvbnVsbCB8fCAvb3B0L2hvbWVicmV3L2Jpbi9icmV3IHNoZWxsZW52IDI+L2Rldi9udWxsKVwiICYmIGJyZXcgYnVuZGxlJyxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJyZXdJbnN0YWxsVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwiaW5zdGFsbDpob21lYnJld1wiKTtcbiAgICAgICAgaWYgKGJyZXdJbnN0YWxsVGFzayAmJiAhYnJld0luc3RhbGxUYXNrLnN0ZXBzLnNvbWUoKHMpID0+IHMuc3Bhd24gPT09IFwiaG9tZWJyZXc6YnVuZGxlXCIpKSB7XG4gICAgICAgICAgICBicmV3SW5zdGFsbFRhc2suc3Bhd24oYnJld0J1bmRsZVRhc2spO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZWJyZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9ob21lYnJldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsb0RBQWlEO0FBRWpELHNEQUFrRDtBQUNsRCxrREFBK0M7QUFNL0MsTUFBYSxRQUFTLFNBQVEscUJBQVM7O0lBQzVCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBZ0I7UUFDN0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFZLEVBQWlCLEVBQUUsQ0FBQyxDQUFDLFlBQVksUUFBUSxDQUFDO1FBQzFFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVnQixRQUFRLENBQWM7SUFFdkMsWUFBWSxPQUFnQixFQUFFLFVBQTJCLEVBQUU7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUU7WUFDeEQsNEVBQTRFO1lBQzVFLDBEQUEwRDtZQUMxRCxLQUFLLEVBQUUsc0JBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxFQUFFLCtRQUErUTtTQUN4UixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVSxDQUFDLFdBQW1CO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxrQkFBa0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQUUsT0FBTztRQUVyQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2QyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pELEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMzQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxjQUFjLEdBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtnQkFDcEMsdUVBQXVFO2dCQUN2RSxpREFBaUQ7Z0JBQ2pELEtBQUssRUFBRSxzQkFBUyxDQUFDLElBQUksRUFBRTtnQkFDdkIsSUFBSSxFQUFFLHFLQUFxSzthQUM5SyxDQUFDLENBQUM7UUFFUCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUN2RixlQUFlLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7SUFDTCxDQUFDOztBQXZFTCw0QkF3RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRhc2tTaGVsbCB9IGZyb20gXCJwcm9qZW4vbGliL3Rhc2stc2hlbGxcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBIb21lYnJld09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHBhY2thZ2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBIb21lYnJldyBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogSG9tZWJyZXcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCBpc0hvbWVicmV3ID0gKGM6IENvbXBvbmVudCk6IGMgaXMgSG9tZWJyZXcgPT4gYyBpbnN0YW5jZW9mIEhvbWVicmV3O1xuICAgICAgICByZXR1cm4gcHJvamVjdC5jb21wb25lbnRzLmZpbmQoaXNIb21lYnJldyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWNrYWdlczogU2V0PHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBIb21lYnJld09wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICB0aGlzLnBhY2thZ2VzID0gbmV3IFNldChvcHRpb25zLnBhY2thZ2VzID8/IFtdKTtcblxuICAgICAgICBjb25zdCBicmV3SW5zdGFsbFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJpbnN0YWxsOmhvbWVicmV3XCIsIHtcbiAgICAgICAgICAgIC8vIGJyYWNlIGdyb3VwcywgYGV2YWxgIGFuZCBtdWx0aXBsZSByZWRpcmVjdHMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgcHJvamVuJ3NcbiAgICAgICAgICAgIC8vIGJ1aWx0LWluIGNyb3NzLXBsYXRmb3JtIHNoZWxsLCBzbyBydW4gdGhpcyB0aHJvdWdoIGJhc2hcbiAgICAgICAgICAgIHNoZWxsOiBUYXNrU2hlbGwuYmFzaCgpLFxuICAgICAgICAgICAgZXhlYzogJ2NvbW1hbmQgLXYgYnJldyA+L2Rldi9udWxsIDI+JjEgfHwgeyBOT05JTlRFUkFDVElWRT0xIC9iaW4vYmFzaCAtYyBcIiQoY3VybCAtZnNTTCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vSG9tZWJyZXcvaW5zdGFsbC9IRUFEL2luc3RhbGwuc2gpXCIgJiYgZXZhbCBcIiQoL2hvbWUvbGludXhicmV3Ly5saW51eGJyZXcvYmluL2JyZXcgc2hlbGxlbnYgMj4vZGV2L251bGwgfHwgL29wdC9ob21lYnJldy9iaW4vYnJldyBzaGVsbGVudiAyPi9kZXYvbnVsbClcIjsgfScsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHByb2plY3QuZGVmYXVsdFRhc2s/LnNwYXduKGJyZXdJbnN0YWxsVGFzayk7XG5cbiAgICAgICAgdGhpcy5zeW50aGVzaXplQnJld2ZpbGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkUGFja2FnZShwYWNrYWdlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFja2FnZXMuYWRkKHBhY2thZ2VOYW1lKTtcbiAgICAgICAgdGhpcy5zeW50aGVzaXplQnJld2ZpbGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bnRoZXNpemVCcmV3ZmlsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFja2FnZXMuc2l6ZSA9PT0gMCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMucHJvamVjdC50cnlSZW1vdmVGaWxlKFwiQnJld2ZpbGVcIik7XG5cbiAgICAgICAgY29uc3QgbGluZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHRhcHMgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiB0aGlzLnBhY2thZ2VzKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHBrZy5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXAgPSBgJHtwYXJ0c1swXX0vJHtwYXJ0c1sxXX1gO1xuICAgICAgICAgICAgICAgIHRhcHMuYWRkKHRhcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHRhcCBvZiBBcnJheS5mcm9tKHRhcHMpLnNvcnQoKSkge1xuICAgICAgICAgICAgbGluZXMucHVzaChgdGFwIFwiJHt0YXB9XCJgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAoY29uc3QgcGtnIG9mIEFycmF5LmZyb20odGhpcy5wYWNrYWdlcykuc29ydCgpKSB7XG4gICAgICAgICAgICBsaW5lcy5wdXNoKGBicmV3IFwiJHtwa2d9XCJgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLCBcIkJyZXdmaWxlXCIsIHtcbiAgICAgICAgICAgIGxpbmVzLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBicmV3QnVuZGxlVGFzayA9XG4gICAgICAgICAgICB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcImhvbWVicmV3OmJ1bmRsZVwiKSA/P1xuICAgICAgICAgICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soXCJob21lYnJldzpidW5kbGVcIiwge1xuICAgICAgICAgICAgICAgIC8vIGBldmFsYCBhbmQgbXVsdGlwbGUgcmVkaXJlY3RzIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHByb2plbidzIGJ1aWx0LWluXG4gICAgICAgICAgICAgICAgLy8gY3Jvc3MtcGxhdGZvcm0gc2hlbGwsIHNvIHJ1biB0aGlzIHRocm91Z2ggYmFzaFxuICAgICAgICAgICAgICAgIHNoZWxsOiBUYXNrU2hlbGwuYmFzaCgpLFxuICAgICAgICAgICAgICAgIGV4ZWM6ICdjb21tYW5kIC12IGJyZXcgPi9kZXYvbnVsbCAyPiYxIHx8IGV2YWwgXCIkKC9ob21lL2xpbnV4YnJldy8ubGludXhicmV3L2Jpbi9icmV3IHNoZWxsZW52IDI+L2Rldi9udWxsIHx8IC9vcHQvaG9tZWJyZXcvYmluL2JyZXcgc2hlbGxlbnYgMj4vZGV2L251bGwpXCIgJiYgYnJldyBidW5kbGUnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYnJld0luc3RhbGxUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJpbnN0YWxsOmhvbWVicmV3XCIpO1xuICAgICAgICBpZiAoYnJld0luc3RhbGxUYXNrICYmICFicmV3SW5zdGFsbFRhc2suc3RlcHMuc29tZSgocykgPT4gcy5zcGF3biA9PT0gXCJob21lYnJldzpidW5kbGVcIikpIHtcbiAgICAgICAgICAgIGJyZXdJbnN0YWxsVGFzay5zcGF3bihicmV3QnVuZGxlVGFzayk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,11 +1,54 @@
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.LambdaFunctionConstructGenerator = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const path = require("node:path");
38
+ const path = __importStar(require("node:path"));
7
39
  const projen_1 = require("projen");
40
+ const utils_1 = require("../utils");
8
41
  class LambdaFunctionConstructGenerator extends projen_1.Component {
42
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionConstructGenerator", version: "0.3.0" };
43
+ sourceDir;
44
+ outputDir;
45
+ filePattern;
46
+ esbuildOptions;
47
+ baseConstructImport;
48
+ baseConstructClass;
49
+ baseConstructPackage;
50
+ nodeProject;
51
+ bundlerScriptPath;
9
52
  constructor(project, options) {
10
53
  super(project);
11
54
  this.nodeProject = project;
@@ -50,7 +93,7 @@ class LambdaFunctionConstructGenerator extends projen_1.Component {
50
93
  }
51
94
  const bundleTask = this.nodeProject.addTask(taskName, {
52
95
  description: `Generate Lambda Function Constructs from ${this.sourceDir}/${this.filePattern} and bundle their handlers`,
53
- exec: `tsx --tsconfig tsconfig.dev.json ${this.bundlerScriptPath} --source-dir ${this.sourceDir} --output-dir ${this.outputDir} --file-pattern "${this.filePattern}" --esbuild-options '${JSON.stringify(this.esbuildOptions)}'${baseConstructArgs}`,
96
+ exec: `tsx --tsconfig ${(0, utils_1.tsconfigDevPath)(this.nodeProject)} ${this.bundlerScriptPath} --source-dir ${this.sourceDir} --output-dir ${this.outputDir} --file-pattern "${this.filePattern}" --esbuild-options '${JSON.stringify(this.esbuildOptions)}'${baseConstructArgs}`,
54
97
  });
55
98
  this.createBundlerScript();
56
99
  return bundleTask;
@@ -194,6 +237,4 @@ main().catch(error => {
194
237
  }
195
238
  }
196
239
  exports.LambdaFunctionConstructGenerator = LambdaFunctionConstructGenerator;
197
- _a = JSII_RTTI_SYMBOL_1;
198
- LambdaFunctionConstructGenerator[_a] = { fqn: "@nikovirtala/projen-constructs.LambdaFunctionConstructGenerator", version: "0.2.156" };
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLWNvbnN0cnVjdC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9sYW1iZGEtZnVuY3Rpb24tY29uc3RydWN0LWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtDQUFrQztBQUVsQyxtQ0FBK0M7QUFjL0MsTUFBYSxnQ0FBaUMsU0FBUSxrQkFBUztJQVczRCxZQUFZLE9BQW9CLEVBQUUsT0FBaUQ7UUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksdUJBQXVCLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztRQUN0RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxFQUFFLG9CQUFvQixDQUFDO1FBRTFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHVCQUF1QixRQUFRLEtBQUssQ0FBQyxDQUFDO1FBRXBGLElBQUksT0FBTyxFQUFFLGVBQWUs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QWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5RCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RSxNQUFNLFFBQVEsR0FBRyx1QkFBdUIsUUFBUSxFQUFFLENBQUM7WUFDbkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7O0FBcE5MLDRFQXFOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBCdWlsZE9wdGlvbnMgfSBmcm9tIFwiQG1yZ3JhaW4vY2RrLWVzYnVpbGRcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgU291cmNlQ29kZSB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB0eXBlIHsgTm9kZVByb2plY3QgfSBmcm9tIFwicHJvamVuL2xpYi9qYXZhc2NyaXB0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Db25zdHJ1Y3RHZW5lcmF0b3JPcHRpb25zIHtcbiAgICByZWFkb25seSBzb3VyY2VEaXI/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgb3V0cHV0RGlyPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGZpbGVQYXR0ZXJuPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGVzYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zO1xuICAgIHJlYWRvbmx5IGFkZERlcGVuZGVuY2llcz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdEltcG9ydD86IHN0cmluZztcbiAgICByZWFkb25seSBiYXNlQ29uc3RydWN0Q2xhc3M/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdFBhY2thZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFGdW5jdGlvbkNvbnN0cnVjdEdlbmVyYXRvciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IHNvdXJjZURpcjogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBvdXRwdXREaXI6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlsZVBhdHRlcm46IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXNidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdEltcG9ydD86IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdENsYXNzPzogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBiYXNlQ29uc3RydWN0UGFja2FnZT86IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vZGVQcm9qZWN0OiBOb2RlUHJvamVjdDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1bmRsZXJTY3JpcHRQYXRoOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29uc3RydWN0R2VuZXJhdG9yT3B0aW9ucykge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcbiAgICAgICAgdGhpcy5ub2RlUHJvamVjdCA9IHByb2plY3Q7XG4gICAgICAgIHRoaXMuc291cmNlRGlyID0gb3B0aW9ucz8uc291cmNlRGlyID8/IFwic3JjL2hhbmRsZXJzXCI7XG4gICAgICAgIHRoaXMub3V0cHV0RGlyID0gb3B0aW9ucz8ub3V0cHV0RGlyID8/IFwic3JjL2NvbnN0cnVjdHMvbGFtYmRhXCI7XG4gICAgICAgIHRoaXMuZmlsZVBhdHRlcm4gPSBvcHRpb25zPy5maWxlUGF0dGVybiA/PyBcIioubGFtYmRhLnRzXCI7XG4gICAgICAgIHRoaXMuZXNidWlsZE9wdGlvbnMgPSBvcHRpb25zPy5lc2J1aWxkT3B0aW9ucyA/PyB7fTtcbiAgICAgICAgdGhpcy5iYXNlQ29uc3RydWN0SW1wb3J0ID0gb3B0aW9ucz8uYmFzZUNvbnN0cnVjdEltcG9ydDtcbiAgICAgICAgdGhpcy5iYXNlQ29uc3RydWN0Q2xhc3MgPSBvcHRpb25zPy5iYXNlQ29uc3RydWN0Q2xhc3M7XG4gICAgICAgIHRoaXMuYmFzZUNvbnN0cnVjdFBhY2thZ2UgPSBvcHRpb25zPy5iYXNlQ29uc3RydWN0UGFja2FnZTtcblxuICAgICAgICBjb25zdCB1bmlxdWVJZCA9IHRoaXMuY3JlYXRlVW5pcXVlSWQodGhpcy5zb3VyY2VEaXIsIHRoaXMuZmlsZVBhdHRlcm4pO1xuICAgICAgICB0aGlzLmJ1bmRsZXJTY3JpcHRQYXRoID0gcGF0aC5qb2luKFwiLnByb2plblwiLCBgZ2VuZXJhdGUtYW5kLWJ1bmRsZS0ke3VuaXF1ZUlkfS50c2ApO1xuXG4gICAgICAgIGlmIChvcHRpb25zPy5hZGREZXBlbmRlbmNpZXMgPz8gdHJ1ZSkge1xuICAgICAgICAgICAgdGhpcy5hZGREZXBlbmRlbmNpZXMob3B0aW9ucz8uYmFzZUNvbnN0cnVjdFBhY2thZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jcmVhdGVCdW5kbGVUYXNrKCk7XG4gICAgICAgIHRoaXMuYWRkQnVuZGxlVGFza1RvV29ya2Zsb3coKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZERlcGVuZGVuY2llcyhhZGRpdGlvbmFsUGFja2FnZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERlcHMoXCJhd3MtY2RrLWxpYlwiLCBcImNvbnN0cnVjdHNcIik7XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxQYWNrYWdlICYmIGFkZGl0aW9uYWxQYWNrYWdlICE9PSBcImF3cy1jZGstbGliXCIgJiYgYWRkaXRpb25hbFBhY2thZ2UgIT09IFwiY29uc3RydWN0c1wiKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERlcHMoYWRkaXRpb25hbFBhY2thZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVVbmlxdWVJZChzb3VyY2VEaXI6IHN0cmluZywgZmlsZVBhdHRlcm46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRpclBhcnQgPSBzb3VyY2VEaXIucmVwbGFjZSgvXFwvL2csIFwiLVwiKS5yZXBsYWNlKC9bXlxcdy1dL2csIFwiXCIpO1xuICAgICAgICBjb25zdCBwYXR0ZXJuUGFydCA9IGZpbGVQYXR0ZXJuXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csIFwiXCIpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwuL2csIFwiLVwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1teXFx3LV0vZywgXCJcIik7XG4gICAgICAgIHJldHVybiBgJHtkaXJQYXJ0fS0ke3BhdHRlcm5QYXJ0fWAucmVwbGFjZSgvLS0rL2csIFwiLVwiKS5yZXBsYWNlKC9eLXwtJC9nLCBcIlwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUJ1bmRsZVRhc2soKSB7XG4gICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdGhpcy5jcmVhdGVVbmlxdWVJZCh0aGlzLnNvdXJjZURpciwgdGhpcy5maWxlUGF0dGVybik7XG4gICAgICAgIGNvbnN0IHRhc2tOYW1lID0gYGdlbmVyYXRlLWFuZC1idW5kbGUtJHt1bmlxdWVJZH1gO1xuXG4gICAgICAgIGxldCBiYXNlQ29uc3RydWN0QXJncyA9IFwiXCI7XG4gICAgICAgIGlmICh0aGlzLmJhc2VDb25zdHJ1Y3RJbXBvcnQpIHtcbiAgICAgICAgICAgIGJhc2VDb25zdHJ1Y3RBcmdzICs9IGAgLS1iYXNlLWNvbnN0cnVjdC1pbXBvcnQgJyR7dGhpcy5iYXNlQ29uc3RydWN0SW1wb3J0fSdgO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmJhc2VDb25zdHJ1Y3RDbGFzcykge1xuICAgICAgICAgICAgYmFzZUNvbnN0cnVjdEFyZ3MgKz0gYCAtLWJhc2UtY29uc3RydWN0LWNsYXNzICcke3RoaXMuYmFzZUNvbnN0cnVjdENsYXNzfSdgO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYnVuZGxlVGFzayA9IHRoaXMubm9kZVByb2plY3QuYWRkVGFzayh0YXNrTmFtZSwge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGBHZW5lcmF0ZSBMYW1iZGEgRnVuY3Rpb24gQ29uc3RydWN0cyBmcm9tICR7dGhpcy5zb3VyY2VEaXJ9LyR7dGhpcy5maWxlUGF0dGVybn0gYW5kIGJ1bmRsZSB0aGVpciBoYW5kbGVyc2AsXG4gICAgICAgICAgICBleGVjOiBgdHN4IC0tdHNjb25maWcgdHNjb25maWcuZGV2Lmpzb24gJHt0aGlzLmJ1bmRsZXJTY3JpcHRQYXRofSAtLXNvdXJjZS1kaXIgJHt0aGlzLnNvdXJjZURpcn0gLS1vdXRwdXQtZGlyICR7dGhpcy5vdXRwdXREaXJ9IC0tZmlsZS1wYXR0ZXJuIFwiJHt0aGlzLmZpbGVQYXR0ZXJufVwiIC0tZXNidWlsZC1vcHRpb25zICcke0pTT04uc3RyaW5naWZ5KHRoaXMuZXNidWlsZE9wdGlvbnMpfScke2Jhc2VDb25zdHJ1Y3RBcmdzfWAsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlQnVuZGxlclNjcmlwdCgpO1xuXG4gICAgICAgIHJldHVybiBidW5kbGVUYXNrO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQnVuZGxlclNjcmlwdCgpIHtcbiAgICAgICAgY29uc3QgYnVuZGxlclNjcmlwdCA9IGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBlc2J1aWxkIGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IHBhc2NhbENhc2UgfSBmcm9tICdjaGFuZ2UtY2FzZSc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MveWFyZ3MnO1xuaW1wb3J0IHsgaGlkZUJpbiB9IGZyb20gJ3lhcmdzL2hlbHBlcnMnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmd2ID0gYXdhaXQgeWFyZ3MoaGlkZUJpbihwcm9jZXNzLmFyZ3YpKVxuICAgIC5vcHRpb24oJ3NvdXJjZS1kaXInLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnc3JjL2hhbmRsZXJzJywgZGVzY3JpcHRpb246ICdTb3VyY2UgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVycyBhcmUgbG9jYXRlZCcgfSlcbiAgICAub3B0aW9uKCdvdXRwdXQtZGlyJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3NyYy9jb25zdHJ1Y3RzL2xhbWJkYScsIGRlc2NyaXB0aW9uOiAnT3V0cHV0IGRpcmVjdG9yeSB3aGVyZSBMYW1iZGEgRnVuY3Rpb24gY29uc3RydWN0cyB3aWxsIGJlIGdlbmVyYXRlZCcgfSlcbiAgICAub3B0aW9uKCdmaWxlLXBhdHRlcm4nLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnKi5sYW1iZGEudHMnLCBkZXNjcmlwdGlvbjogJ0ZpbGUgcGF0dGVybiB0byBpZGVudGlmeSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlcnMnIH0pXG4gICAgLm9wdGlvbignZXNidWlsZC1vcHRpb25zJywgeyB0eXBlOiAnc3RyaW5nJywgZGVmYXVsdDogJ3t9JywgZGVzY3JpcHRpb246ICdlc2J1aWxkIG9wdGlvbnMgYXMgSlNPTiBzdHJpbmcnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtaW1wb3J0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpcHRpb246ICdJbXBvcnQgc3RhdGVtZW50IGZvciB0aGUgYmFzZSBjb25zdHJ1Y3QnIH0pXG4gICAgLm9wdGlvbignYmFzZS1jb25zdHJ1Y3QtY2xhc3MnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ05hbWUgb2YgdGhlIGNvbnN0cnVjdCBjbGFzcyB0byBleHRlbmQnIH0pXG4gICAgLmhlbHAoKVxuICAgIC5wYXJzZSgpO1xuXG4gIGNvbnN0IHNvdXJjZURpciA9IGFyZ3ZbJ3NvdXJjZS1kaXInXTtcbiAgY29uc3Qgb3V0cHV0RGlyID0gYXJndlsnb3V0cHV0LWRpciddO1xuICBjb25zdCBmaWxlUGF0dGVybiA9IGFyZ3ZbJ2ZpbGUtcGF0dGVybiddO1xuICBjb25zdCBlc2J1aWxkT3B0aW9ucyA9IEpTT04ucGFyc2UoYXJndlsnZXNidWlsZC1vcHRpb25zJ10gYXMgc3RyaW5nKTtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdEltcG9ydCA9IGFyZ3ZbJ2Jhc2UtY29uc3RydWN0LWltcG9ydCddIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYmFzZUNvbnN0cnVjdENsYXNzID0gYXJndlsnYmFzZS1jb25zdHJ1Y3QtY2xhc3MnXSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgZnMubWtkaXJTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXREaXIpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBhc3NldHNEaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2Fzc2V0cycsICdoYW5kbGVycycpO1xuICBmcy5ta2RpclN5bmMoYXNzZXRzRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICBjb25zdCBoYW5kbGVyRmlsZXMgPSBnbG9iLnN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIHNvdXJjZURpciwgZmlsZVBhdHRlcm4pKTtcblxuICBjb25zb2xlLmxvZyhcXGBGb3VuZCBcXCR7aGFuZGxlckZpbGVzLmxlbmd0aH0gTGFtYmRhIEZ1bmN0aW9uIGhhbmRsZXIgZmlsZXNcXGApO1xuXG4gIGZvciAoY29uc3QgaGFuZGxlckZpbGUgb2YgaGFuZGxlckZpbGVzKSB7XG4gICAgY29uc3QgcmVsYXRpdmVQYXRoID0gcGF0aC5yZWxhdGl2ZShwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgc291cmNlRGlyKSwgaGFuZGxlckZpbGUpO1xuICAgIGNvbnN0IGZpbGVOYW1lID0gcGF0aC5iYXNlbmFtZShyZWxhdGl2ZVBhdGgsIHBhdGguZXh0bmFtZShyZWxhdGl2ZVBhdGgpKTtcbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBmaWxlTmFtZS5yZXBsYWNlKCcubGFtYmRhJywgJycpO1xuXG4gICAgY29uc29sZS5sb2coXFxgUHJvY2Vzc2luZyBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlcjogXFwke2Z1bmN0aW9uTmFtZX1cXGApO1xuXG4gICAgY29uc3QgZnVuY3Rpb25EaXIgPSBwYXRoLmpvaW4oYXNzZXRzRGlyLCBmdW5jdGlvbk5hbWUpO1xuICAgIGZzLm1rZGlyU3luYyhmdW5jdGlvbkRpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgICBjb25zdCBvdXRmaWxlID0gcGF0aC5qb2luKGZ1bmN0aW9uRGlyLCAnaW5kZXguanMnKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBlc2J1aWxkLmJ1aWxkKHtcbiAgICAgICAgZW50cnlQb2ludHM6IFtoYW5kbGVyRmlsZV0sXG4gICAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgICAgbWluaWZ5OiB0cnVlLFxuICAgICAgICBwbGF0Zm9ybTogJ25vZGUnLFxuICAgICAgICB0YXJnZXQ6ICdub2RlMTgnLFxuICAgICAgICBvdXRmaWxlLFxuICAgICAgICAuLi5lc2J1aWxkT3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZyhcXGBTdWNjZXNzZnVsbHkgYnVuZGxlZCBcXCR7ZnVuY3Rpb25OYW1lfSB0byBcXCR7b3V0ZmlsZX1cXGApO1xuXG4gICAgICBjb25zdCBjb25zdHJ1Y3RGaWxlUGF0aCA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBvdXRwdXREaXIsIFxcYFxcJHtmdW5jdGlvbk5hbWV9LnRzXFxgKTtcbiAgICAgIGNvbnN0IGNvbnN0cnVjdENvZGUgPSBnZW5lcmF0ZUNvbnN0cnVjdENvZGUoZnVuY3Rpb25OYW1lLCByZWxhdGl2ZVBhdGgsIGJhc2VDb25zdHJ1Y3RJbXBvcnQsIGJhc2VDb25zdHJ1Y3RDbGFzcyk7XG5cbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoY29uc3RydWN0RmlsZVBhdGgsIGNvbnN0cnVjdENvZGUpO1xuICAgICAgY29uc29sZS5sb2coXFxgR2VuZXJhdGVkIGNvbnN0cnVjdCBhdCBcXCR7Y29uc3RydWN0RmlsZVBhdGh9XFxgKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihcXGBFcnJvciBwcm9jZXNzaW5nIFxcJHtmdW5jdGlvbk5hbWV9OlxcYCwgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUNvbnN0cnVjdENvZGUoZnVuY3Rpb25OYW1lOiBzdHJpbmcsIGhhbmRsZXJQYXRoOiBzdHJpbmcsIGJhc2VDb25zdHJ1Y3RJbXBvcnQ/OiBzdHJpbmcsIGJhc2VDb25zdHJ1Y3RDbGFzcz86IHN0cmluZykge1xuICBjb25zdCBjb25zdHJ1Y3ROYW1lID0gXFxgXFwke3Bhc2NhbENhc2UoZnVuY3Rpb25OYW1lKX1GdW5jdGlvblxcYDtcblxuICBjb25zdCBpbXBvcnRTdGF0ZW1lbnQgPSBiYXNlQ29uc3RydWN0SW1wb3J0ID8/IFwiXCI7XG4gIGNvbnN0IGJhc2VDbGFzc05hbWUgPSBiYXNlQ29uc3RydWN0Q2xhc3MgPz8gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uXCI7XG5cbiAgY29uc3QgdXNlQXdzTGFtYmRhUnVudGltZSA9ICFiYXNlQ29uc3RydWN0Q2xhc3MgfHwgYmFzZUNsYXNzTmFtZS5pbmNsdWRlcyhcIkZ1bmN0aW9uXCIpO1xuXG4gIHJldHVybiBcXGAvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAndXJsJztcblxcJHtpbXBvcnRTdGF0ZW1lbnR9XG5pbXBvcnQgeyBhd3NfbGFtYmRhIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBfX2Rpcm5hbWUgPSBwYXRoLmRpcm5hbWUoX19maWxlbmFtZSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgXFwke2NvbnN0cnVjdE5hbWV9UHJvcHMgZXh0ZW5kcyBPbWl0PFxcJHtiYXNlQ2xhc3NOYW1lID09PSBcImF3c19sYW1iZGEuRnVuY3Rpb25cIiA/IFwiYXdzX2xhbWJkYS5GdW5jdGlvblByb3BzXCIgOiBcXGBcXCR7YmFzZUNsYXNzTmFtZX1Qcm9wc1xcYH0sICdjb2RlJ1xcJHt1c2VBd3NMYW1iZGFSdW50aW1lID8gXCIgfCAncnVudGltZSdcIiA6IFwiXCJ9IHwgJ2hhbmRsZXInPiB7XG4gIFxcJHt1c2VBd3NMYW1iZGFSdW50aW1lID8gXFxgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHJ1bnRpbWVcbiAgICogQGRlZmF1bHQgbm9kZWpzMjIueFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IGF3c19sYW1iZGEuUnVudGltZTtcXGAgOiBcIlwifVxufVxuXG5leHBvcnQgY2xhc3MgXFwke2NvbnN0cnVjdE5hbWV9IGV4dGVuZHMgXFwke2Jhc2VDbGFzc05hbWV9IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFxcJHtjb25zdHJ1Y3ROYW1lfVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgXFwke3VzZUF3c0xhbWJkYVJ1bnRpbWUgPyBcInJ1bnRpbWU6IHByb3BzLnJ1bnRpbWUgPz8gYXdzX2xhbWJkYS5SdW50aW1lLk5PREVKU18yMl9YLFwiIDogXCJcIn1cbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGF3c19sYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9oYW5kbGVycy9cXCR7ZnVuY3Rpb25OYW1lfScpKSxcbiAgICB9KTtcbiAgfVxufVxuXFxgO1xufVxuXG5tYWluKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuYDtcblxuICAgICAgICBjb25zdCBzcmMgPSBuZXcgU291cmNlQ29kZSh0aGlzLnByb2plY3QsIHRoaXMuYnVuZGxlclNjcmlwdFBhdGgpO1xuICAgICAgICBjb25zdCBsaW5lcyA9IGJ1bmRsZXJTY3JpcHQuc3BsaXQoXCJcXG5cIik7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgICAgc3JjLmxpbmUobGluZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5vZGVQcm9qZWN0LmFkZERldkRlcHMoXCJlc2J1aWxkXCIsIFwiZ2xvYlwiLCBcInlhcmdzXCIsIFwiQHR5cGVzL2dsb2JcIiwgXCJAdHlwZXMveWFyZ3NcIiwgXCJ0c3hcIiwgXCJjaGFuZ2UtY2FzZVwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEJ1bmRsZVRhc2tUb1dvcmtmbG93KCkge1xuICAgICAgICBjb25zdCBjb21waWxlVGFzayA9IHRoaXMubm9kZVByb2plY3QudGFza3MudHJ5RmluZChcImNvbXBpbGVcIik7XG5cbiAgICAgICAgaWYgKGNvbXBpbGVUYXNrKSB7XG4gICAgICAgICAgICBjb25zdCB1bmlxdWVJZCA9IHRoaXMuY3JlYXRlVW5pcXVlSWQodGhpcy5zb3VyY2VEaXIsIHRoaXMuZmlsZVBhdHRlcm4pO1xuICAgICAgICAgICAgY29uc3QgdGFza05hbWUgPSBgZ2VuZXJhdGUtYW5kLWJ1bmRsZS0ke3VuaXF1ZUlkfWA7XG4gICAgICAgICAgICBjb25zdCBidW5kbGVUYXNrID0gdGhpcy5ub2RlUHJvamVjdC50YXNrcy50cnlGaW5kKHRhc2tOYW1lKTtcbiAgICAgICAgICAgIGlmIChidW5kbGVUYXNrKSB7XG4gICAgICAgICAgICAgICAgY29tcGlsZVRhc2sucHJlcGVuZFNwYXduKGJ1bmRsZVRhc2spO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLWZ1bmN0aW9uLWNvbnN0cnVjdC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9sYW1iZGEtZnVuY3Rpb24tY29uc3RydWN0LWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBRWxDLG1DQUErQztBQUUvQyxvQ0FBMkM7QUFhM0MsTUFBYSxnQ0FBaUMsU0FBUSxrQkFBUzs7SUFDM0MsU0FBUyxDQUFTO0lBQ2xCLFNBQVMsQ0FBUztJQUNsQixXQUFXLENBQVM7SUFDcEIsY0FBYyxDQUFlO0lBQzdCLG1CQUFtQixDQUFVO0lBQzdCLGtCQUFrQixDQUFVO0lBQzVCLG9CQUFvQixDQUFVO0lBQzdCLFdBQVcsQ0FBYztJQUN6QixpQkFBaUIsQ0FBUztJQUUzQyxZQUFZLE9BQW9CLEVBQUUsT0FBaUQ7UUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLGNBQWMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sRUFBRSxTQUFTLElBQUksdUJBQXVCLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxJQUFJLGFBQWEsQ0FBQztRQUN6RCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQztRQUN0RCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxFQUFFLG9CQUFvQixDQUFD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Qzs7QUFwTkwsNEVBcU5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gXCJAbXJncmFpbi9jZGstZXNidWlsZFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBTb3VyY2VDb2RlIH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IHRzY29uZmlnRGV2UGF0aCB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUZ1bmN0aW9uQ29uc3RydWN0R2VuZXJhdG9yT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgc291cmNlRGlyPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG91dHB1dERpcj86IHN0cmluZztcbiAgICByZWFkb25seSBmaWxlUGF0dGVybj86IHN0cmluZztcbiAgICByZWFkb25seSBlc2J1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucztcbiAgICByZWFkb25seSBhZGREZXBlbmRlbmNpZXM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RJbXBvcnQ/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdENsYXNzPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RQYWNrYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTGFtYmRhRnVuY3Rpb25Db25zdHJ1Y3RHZW5lcmF0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2VEaXI6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RGlyOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGVQYXR0ZXJuOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGVzYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gICAgcHVibGljIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RJbXBvcnQ/OiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGJhc2VDb25zdHJ1Y3RDbGFzcz86IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgYmFzZUNvbnN0cnVjdFBhY2thZ2U/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub2RlUHJvamVjdDogTm9kZVByb2plY3Q7XG4gICAgcHJpdmF0ZSByZWFkb25seSBidW5kbGVyU2NyaXB0UGF0aDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbnN0cnVjdEdlbmVyYXRvck9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG4gICAgICAgIHRoaXMubm9kZVByb2plY3QgPSBwcm9qZWN0O1xuICAgICAgICB0aGlzLnNvdXJjZURpciA9IG9wdGlvbnM/LnNvdXJjZURpciA/PyBcInNyYy9oYW5kbGVyc1wiO1xuICAgICAgICB0aGlzLm91dHB1dERpciA9IG9wdGlvbnM/Lm91dHB1dERpciA/PyBcInNyYy9jb25zdHJ1Y3RzL2xhbWJkYVwiO1xuICAgICAgICB0aGlzLmZpbGVQYXR0ZXJuID0gb3B0aW9ucz8uZmlsZVBhdHRlcm4gPz8gXCIqLmxhbWJkYS50c1wiO1xuICAgICAgICB0aGlzLmVzYnVpbGRPcHRpb25zID0gb3B0aW9ucz8uZXNidWlsZE9wdGlvbnMgPz8ge307XG4gICAgICAgIHRoaXMuYmFzZUNvbnN0cnVjdEltcG9ydCA9IG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RJbXBvcnQ7XG4gICAgICAgIHRoaXMuYmFzZUNvbnN0cnVjdENsYXNzID0gb3B0aW9ucz8uYmFzZUNvbnN0cnVjdENsYXNzO1xuICAgICAgICB0aGlzLmJhc2VDb25zdHJ1Y3RQYWNrYWdlID0gb3B0aW9ucz8uYmFzZUNvbnN0cnVjdFBhY2thZ2U7XG5cbiAgICAgICAgY29uc3QgdW5pcXVlSWQgPSB0aGlzLmNyZWF0ZVVuaXF1ZUlkKHRoaXMuc291cmNlRGlyLCB0aGlzLmZpbGVQYXR0ZXJuKTtcbiAgICAgICAgdGhpcy5idW5kbGVyU2NyaXB0UGF0aCA9IHBhdGguam9pbihcIi5wcm9qZW5cIiwgYGdlbmVyYXRlLWFuZC1idW5kbGUtJHt1bmlxdWVJZH0udHNgKTtcblxuICAgICAgICBpZiAob3B0aW9ucz8uYWRkRGVwZW5kZW5jaWVzID8/IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkRGVwZW5kZW5jaWVzKG9wdGlvbnM/LmJhc2VDb25zdHJ1Y3RQYWNrYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3JlYXRlQnVuZGxlVGFzaygpO1xuICAgICAgICB0aGlzLmFkZEJ1bmRsZVRhc2tUb1dvcmtmbG93KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGREZXBlbmRlbmNpZXMoYWRkaXRpb25hbFBhY2thZ2U/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5ub2RlUHJvamVjdC5hZGREZXBzKFwiYXdzLWNkay1saWJcIiwgXCJjb25zdHJ1Y3RzXCIpO1xuXG4gICAgICAgIGlmIChhZGRpdGlvbmFsUGFja2FnZSAmJiBhZGRpdGlvbmFsUGFja2FnZSAhPT0gXCJhd3MtY2RrLWxpYlwiICYmIGFkZGl0aW9uYWxQYWNrYWdlICE9PSBcImNvbnN0cnVjdHNcIikge1xuICAgICAgICAgICAgdGhpcy5ub2RlUHJvamVjdC5hZGREZXBzKGFkZGl0aW9uYWxQYWNrYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVW5pcXVlSWQoc291cmNlRGlyOiBzdHJpbmcsIGZpbGVQYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkaXJQYXJ0ID0gc291cmNlRGlyLnJlcGxhY2UoL1xcLy9nLCBcIi1cIikucmVwbGFjZSgvW15cXHctXS9nLCBcIlwiKTtcbiAgICAgICAgY29uc3QgcGF0dGVyblBhcnQgPSBmaWxlUGF0dGVyblxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcKi9nLCBcIlwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcLi9nLCBcIi1cIilcbiAgICAgICAgICAgIC5yZXBsYWNlKC9bXlxcdy1dL2csIFwiXCIpO1xuICAgICAgICByZXR1cm4gYCR7ZGlyUGFydH0tJHtwYXR0ZXJuUGFydH1gLnJlcGxhY2UoLy0tKy9nLCBcIi1cIikucmVwbGFjZSgvXi18LSQvZywgXCJcIik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVCdW5kbGVUYXNrKCkge1xuICAgICAgICBjb25zdCB1bmlxdWVJZCA9IHRoaXMuY3JlYXRlVW5pcXVlSWQodGhpcy5zb3VyY2VEaXIsIHRoaXMuZmlsZVBhdHRlcm4pO1xuICAgICAgICBjb25zdCB0YXNrTmFtZSA9IGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9YDtcblxuICAgICAgICBsZXQgYmFzZUNvbnN0cnVjdEFyZ3MgPSBcIlwiO1xuICAgICAgICBpZiAodGhpcy5iYXNlQ29uc3RydWN0SW1wb3J0KSB7XG4gICAgICAgICAgICBiYXNlQ29uc3RydWN0QXJncyArPSBgIC0tYmFzZS1jb25zdHJ1Y3QtaW1wb3J0ICcke3RoaXMuYmFzZUNvbnN0cnVjdEltcG9ydH0nYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5iYXNlQ29uc3RydWN0Q2xhc3MpIHtcbiAgICAgICAgICAgIGJhc2VDb25zdHJ1Y3RBcmdzICs9IGAgLS1iYXNlLWNvbnN0cnVjdC1jbGFzcyAnJHt0aGlzLmJhc2VDb25zdHJ1Y3RDbGFzc30nYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LmFkZFRhc2sodGFza05hbWUsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBgR2VuZXJhdGUgTGFtYmRhIEZ1bmN0aW9uIENvbnN0cnVjdHMgZnJvbSAke3RoaXMuc291cmNlRGlyfS8ke3RoaXMuZmlsZVBhdHRlcm59IGFuZCBidW5kbGUgdGhlaXIgaGFuZGxlcnNgLFxuICAgICAgICAgICAgZXhlYzogYHRzeCAtLXRzY29uZmlnICR7dHNjb25maWdEZXZQYXRoKHRoaXMubm9kZVByb2plY3QpfSAke3RoaXMuYnVuZGxlclNjcmlwdFBhdGh9IC0tc291cmNlLWRpciAke3RoaXMuc291cmNlRGlyfSAtLW91dHB1dC1kaXIgJHt0aGlzLm91dHB1dERpcn0gLS1maWxlLXBhdHRlcm4gXCIke3RoaXMuZmlsZVBhdHRlcm59XCIgLS1lc2J1aWxkLW9wdGlvbnMgJyR7SlNPTi5zdHJpbmdpZnkodGhpcy5lc2J1aWxkT3B0aW9ucyl9JyR7YmFzZUNvbnN0cnVjdEFyZ3N9YCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVCdW5kbGVyU2NyaXB0KCk7XG5cbiAgICAgICAgcmV0dXJuIGJ1bmRsZVRhc2s7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVCdW5kbGVyU2NyaXB0KCkge1xuICAgICAgICBjb25zdCBidW5kbGVyU2NyaXB0ID0gYC8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIGVzYnVpbGQgZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgcGFzY2FsQ2FzZSB9IGZyb20gJ2NoYW5nZS1jYXNlJztcbmltcG9ydCB5YXJncyBmcm9tICd5YXJncy95YXJncyc7XG5pbXBvcnQgeyBoaWRlQmluIH0gZnJvbSAneWFyZ3MvaGVscGVycyc7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGFyZ3YgPSBhd2FpdCB5YXJncyhoaWRlQmluKHByb2Nlc3MuYXJndikpXG4gICAgLm9wdGlvbignc291cmNlLWRpcicsIHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICdzcmMvaGFuZGxlcnMnLCBkZXNjcmlwdGlvbjogJ1NvdXJjZSBkaXJlY3Rvcnkgd2hlcmUgTGFtYmRhIEZ1bmN0aW9uIGhhbmRsZXJzIGFyZSBsb2NhdGVkJyB9KVxuICAgIC5vcHRpb24oJ291dHB1dC1kaXInLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnc3JjL2NvbnN0cnVjdHMvbGFtYmRhJywgZGVzY3JpcHRpb246ICdPdXRwdXQgZGlyZWN0b3J5IHdoZXJlIExhbWJkYSBGdW5jdGlvbiBjb25zdHJ1Y3RzIHdpbGwgYmUgZ2VuZXJhdGVkJyB9KVxuICAgIC5vcHRpb24oJ2ZpbGUtcGF0dGVybicsIHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcqLmxhbWJkYS50cycsIGRlc2NyaXB0aW9uOiAnRmlsZSBwYXR0ZXJuIHRvIGlkZW50aWZ5IExhbWJkYSBGdW5jdGlvbiBoYW5kbGVycycgfSlcbiAgICAub3B0aW9uKCdlc2J1aWxkLW9wdGlvbnMnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAne30nLCBkZXNjcmlwdGlvbjogJ2VzYnVpbGQgb3B0aW9ucyBhcyBKU09OIHN0cmluZycgfSlcbiAgICAub3B0aW9uKCdiYXNlLWNvbnN0cnVjdC1pbXBvcnQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZXNjcmlwdGlvbjogJ0ltcG9ydCBzdGF0ZW1lbnQgZm9yIHRoZSBiYXNlIGNvbnN0cnVjdCcgfSlcbiAgICAub3B0aW9uKCdiYXNlLWNvbnN0cnVjdC1jbGFzcycsIHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnTmFtZSBvZiB0aGUgY29uc3RydWN0IGNsYXNzIHRvIGV4dGVuZCcgfSlcbiAgICAuaGVscCgpXG4gICAgLnBhcnNlKCk7XG5cbiAgY29uc3Qgc291cmNlRGlyID0gYXJndlsnc291cmNlLWRpciddO1xuICBjb25zdCBvdXRwdXREaXIgPSBhcmd2WydvdXRwdXQtZGlyJ107XG4gIGNvbnN0IGZpbGVQYXR0ZXJuID0gYXJndlsnZmlsZS1wYXR0ZXJuJ107XG4gIGNvbnN0IGVzYnVpbGRPcHRpb25zID0gSlNPTi5wYXJzZShhcmd2Wydlc2J1aWxkLW9wdGlvbnMnXSBhcyBzdHJpbmcpO1xuICBjb25zdCBiYXNlQ29uc3RydWN0SW1wb3J0ID0gYXJndlsnYmFzZS1jb25zdHJ1Y3QtaW1wb3J0J10gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25zdCBiYXNlQ29uc3RydWN0Q2xhc3MgPSBhcmd2WydiYXNlLWNvbnN0cnVjdC1jbGFzcyddIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBmcy5ta2RpclN5bmMocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIG91dHB1dERpciksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IGFzc2V0c0RpciA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnYXNzZXRzJywgJ2hhbmRsZXJzJyk7XG4gIGZzLm1rZGlyU3luYyhhc3NldHNEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IGhhbmRsZXJGaWxlcyA9IGdsb2Iuc3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgc291cmNlRGlyLCBmaWxlUGF0dGVybikpO1xuXG4gIGNvbnNvbGUubG9nKFxcYEZvdW5kIFxcJHtoYW5kbGVyRmlsZXMubGVuZ3RofSBMYW1iZGEgRnVuY3Rpb24gaGFuZGxlciBmaWxlc1xcYCk7XG5cbiAgZm9yIChjb25zdCBoYW5kbGVyRmlsZSBvZiBoYW5kbGVyRmlsZXMpIHtcbiAgICBjb25zdCByZWxhdGl2ZVBhdGggPSBwYXRoLnJlbGF0aXZlKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBzb3VyY2VEaXIpLCBoYW5kbGVyRmlsZSk7XG4gICAgY29uc3QgZmlsZU5hbWUgPSBwYXRoLmJhc2VuYW1lKHJlbGF0aXZlUGF0aCwgcGF0aC5leHRuYW1lKHJlbGF0aXZlUGF0aCkpO1xuICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGZpbGVOYW1lLnJlcGxhY2UoJy5sYW1iZGEnLCAnJyk7XG5cbiAgICBjb25zb2xlLmxvZyhcXGBQcm9jZXNzaW5nIExhbWJkYSBGdW5jdGlvbiBoYW5kbGVyOiBcXCR7ZnVuY3Rpb25OYW1lfVxcYCk7XG5cbiAgICBjb25zdCBmdW5jdGlvbkRpciA9IHBhdGguam9pbihhc3NldHNEaXIsIGZ1bmN0aW9uTmFtZSk7XG4gICAgZnMubWtkaXJTeW5jKGZ1bmN0aW9uRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IG91dGZpbGUgPSBwYXRoLmpvaW4oZnVuY3Rpb25EaXIsICdpbmRleC5qcycpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGVzYnVpbGQuYnVpbGQoe1xuICAgICAgICBlbnRyeVBvaW50czogW2hhbmRsZXJGaWxlXSxcbiAgICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgICBtaW5pZnk6IHRydWUsXG4gICAgICAgIHBsYXRmb3JtOiAnbm9kZScsXG4gICAgICAgIHRhcmdldDogJ25vZGUxOCcsXG4gICAgICAgIG91dGZpbGUsXG4gICAgICAgIC4uLmVzYnVpbGRPcHRpb25zLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnNvbGUubG9nKFxcYFN1Y2Nlc3NmdWxseSBidW5kbGVkIFxcJHtmdW5jdGlvbk5hbWV9IHRvIFxcJHtvdXRmaWxlfVxcYCk7XG5cbiAgICAgIGNvbnN0IGNvbnN0cnVjdEZpbGVQYXRoID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIG91dHB1dERpciwgXFxgXFwke2Z1bmN0aW9uTmFtZX0udHNcXGApO1xuICAgICAgY29uc3QgY29uc3RydWN0Q29kZSA9IGdlbmVyYXRlQ29uc3RydWN0Q29kZShmdW5jdGlvbk5hbWUsIHJlbGF0aXZlUGF0aCwgYmFzZUNvbnN0cnVjdEltcG9ydCwgYmFzZUNvbnN0cnVjdENsYXNzKTtcblxuICAgICAgZnMud3JpdGVGaWxlU3luYyhjb25zdHJ1Y3RGaWxlUGF0aCwgY29uc3RydWN0Q29kZSk7XG4gICAgICBjb25zb2xlLmxvZyhcXGBHZW5lcmF0ZWQgY29uc3RydWN0IGF0IFxcJHtjb25zdHJ1Y3RGaWxlUGF0aH1cXGApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxcYEVycm9yIHByb2Nlc3NpbmcgXFwke2Z1bmN0aW9uTmFtZX06XFxgLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQ29uc3RydWN0Q29kZShmdW5jdGlvbk5hbWU6IHN0cmluZywgaGFuZGxlclBhdGg6IHN0cmluZywgYmFzZUNvbnN0cnVjdEltcG9ydD86IHN0cmluZywgYmFzZUNvbnN0cnVjdENsYXNzPzogc3RyaW5nKSB7XG4gIGNvbnN0IGNvbnN0cnVjdE5hbWUgPSBcXGBcXCR7cGFzY2FsQ2FzZShmdW5jdGlvbk5hbWUpfUZ1bmN0aW9uXFxgO1xuXG4gIGNvbnN0IGltcG9ydFN0YXRlbWVudCA9IGJhc2VDb25zdHJ1Y3RJbXBvcnQgPz8gXCJcIjtcbiAgY29uc3QgYmFzZUNsYXNzTmFtZSA9IGJhc2VDb25zdHJ1Y3RDbGFzcyA/PyBcImF3c19sYW1iZGEuRnVuY3Rpb25cIjtcblxuICBjb25zdCB1c2VBd3NMYW1iZGFSdW50aW1lID0gIWJhc2VDb25zdHJ1Y3RDbGFzcyB8fCBiYXNlQ2xhc3NOYW1lLmluY2x1ZGVzKFwiRnVuY3Rpb25cIik7XG5cbiAgcmV0dXJuIFxcYC8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICd1cmwnO1xuXFwke2ltcG9ydFN0YXRlbWVudH1cbmltcG9ydCB7IGF3c19sYW1iZGEgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShfX2ZpbGVuYW1lKTtcblxuZXhwb3J0IGludGVyZmFjZSBcXCR7Y29uc3RydWN0TmFtZX1Qcm9wcyBleHRlbmRzIE9taXQ8XFwke2Jhc2VDbGFzc05hbWUgPT09IFwiYXdzX2xhbWJkYS5GdW5jdGlvblwiID8gXCJhd3NfbGFtYmRhLkZ1bmN0aW9uUHJvcHNcIiA6IFxcYFxcJHtiYXNlQ2xhc3NOYW1lfVByb3BzXFxgfSwgJ2NvZGUnXFwke3VzZUF3c0xhbWJkYVJ1bnRpbWUgPyBcIiB8ICdydW50aW1lJ1wiIDogXCJcIn0gfCAnaGFuZGxlcic+IHtcbiAgXFwke3VzZUF3c0xhbWJkYVJ1bnRpbWUgPyBcXGAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcnVudGltZVxuICAgKiBAZGVmYXVsdCBub2RlanMyMi54XG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogYXdzX2xhbWJkYS5SdW50aW1lO1xcYCA6IFwiXCJ9XG59XG5cbmV4cG9ydCBjbGFzcyBcXCR7Y29uc3RydWN0TmFtZX0gZXh0ZW5kcyBcXCR7YmFzZUNsYXNzTmFtZX0ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogXFwke2NvbnN0cnVjdE5hbWV9UHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBcXCR7dXNlQXdzTGFtYmRhUnVudGltZSA/IFwicnVudGltZTogcHJvcHMucnVudGltZSA/PyBhd3NfbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXCIgOiBcIlwifVxuICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgY29kZTogYXdzX2xhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vLi4vYXNzZXRzL2hhbmRsZXJzL1xcJHtmdW5jdGlvbk5hbWV9JykpLFxuICAgIH0pO1xuICB9XG59XG5cXGA7XG59XG5cbm1haW4oKS5jYXRjaChlcnJvciA9PiB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG5gO1xuXG4gICAgICAgIGNvbnN0IHNyYyA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgdGhpcy5idW5kbGVyU2NyaXB0UGF0aCk7XG4gICAgICAgIGNvbnN0IGxpbmVzID0gYnVuZGxlclNjcmlwdC5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICAgICAgICBzcmMubGluZShsaW5lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubm9kZVByb2plY3QuYWRkRGV2RGVwcyhcImVzYnVpbGRcIiwgXCJnbG9iXCIsIFwieWFyZ3NcIiwgXCJAdHlwZXMvZ2xvYlwiLCBcIkB0eXBlcy95YXJnc1wiLCBcInRzeFwiLCBcImNoYW5nZS1jYXNlXCIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQnVuZGxlVGFza1RvV29ya2Zsb3coKSB7XG4gICAgICAgIGNvbnN0IGNvbXBpbGVUYXNrID0gdGhpcy5ub2RlUHJvamVjdC50YXNrcy50cnlGaW5kKFwiY29tcGlsZVwiKTtcblxuICAgICAgICBpZiAoY29tcGlsZVRhc2spIHtcbiAgICAgICAgICAgIGNvbnN0IHVuaXF1ZUlkID0gdGhpcy5jcmVhdGVVbmlxdWVJZCh0aGlzLnNvdXJjZURpciwgdGhpcy5maWxlUGF0dGVybik7XG4gICAgICAgICAgICBjb25zdCB0YXNrTmFtZSA9IGBnZW5lcmF0ZS1hbmQtYnVuZGxlLSR7dW5pcXVlSWR9YDtcbiAgICAgICAgICAgIGNvbnN0IGJ1bmRsZVRhc2sgPSB0aGlzLm5vZGVQcm9qZWN0LnRhc2tzLnRyeUZpbmQodGFza05hbWUpO1xuICAgICAgICAgICAgaWYgKGJ1bmRsZVRhc2spIHtcbiAgICAgICAgICAgICAgICBjb21waWxlVGFzay5wcmVwZW5kU3Bhd24oYnVuZGxlVGFzayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.LocalStack = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -8,6 +7,7 @@ const javascript_1 = require("projen/lib/javascript");
8
7
  const colima_1 = require("./colima");
9
8
  const homebrew_1 = require("./homebrew");
10
9
  class LocalStack extends component_1.Component {
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.LocalStack", version: "0.3.0" };
11
11
  constructor(scope, options = {}) {
12
12
  super(scope);
13
13
  const project = javascript_1.NodeProject.of(this);
@@ -41,6 +41,4 @@ class LocalStack extends component_1.Component {
41
41
  }
42
42
  }
43
43
  exports.LocalStack = LocalStack;
44
- _a = JSII_RTTI_SYMBOL_1;
45
- LocalStack[_a] = { fqn: "@nikovirtala/projen-constructs.LocalStack", version: "0.2.156" };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2xvY2Fsc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxvREFBaUQ7QUFDakQsc0RBQW9EO0FBQ3BELHFDQUFrQztBQUNsQyx5Q0FBc0M7QUFTdEMsTUFBYSxVQUFXLFNBQVEscUJBQVM7SUFDckMsWUFBWSxLQUFpQixFQUFFLFVBQTZCLEVBQUU7UUFDMUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsTUFBTSxPQUFPLEdBQUcsd0JBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdCQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFFckMsSUFBSSxlQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEIsSUFBSSxRQUFRLEdBQUcsbUJBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ1osUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRCxNQUFNLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxvQkFBb0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDakQsSUFBSSxFQUFFLDBDQUEwQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0I7U0FDMUYsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7O0FBMUNMLGdDQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgQ29saW1hIH0gZnJvbSBcIi4vY29saW1hXCI7XG5pbXBvcnQgeyBIb21lYnJldyB9IGZyb20gXCIuL2hvbWVicmV3XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdGFja09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHNlcnZpY2VzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW1hZ2VUYWc/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFN0YWNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgb3B0aW9uczogTG9jYWxTdGFja09wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihzY29wZSk7XG5cbiAgICAgICAgY29uc3QgcHJvamVjdCA9IE5vZGVQcm9qZWN0Lm9mKHRoaXMpO1xuICAgICAgICBpZiAoIShwcm9qZWN0IGluc3RhbmNlb2YgTm9kZVByb2plY3QpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2NhbFN0YWNrIGNvbXBvbmVudCByZXF1aXJlcyBhIE5vZGVQcm9qZWN0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9ydCA9IG9wdGlvbnMucG9ydCA/PyA0NTY2O1xuICAgICAgICBjb25zdCBkZWJ1ZyA9IG9wdGlvbnMuZGVidWcgPz8gZmFsc2U7XG5cbiAgICAgICAgbmV3IENvbGltYShwcm9qZWN0KTtcblxuICAgICAgICBsZXQgaG9tZWJyZXcgPSBIb21lYnJldy5vZihwcm9qZWN0KTtcbiAgICAgICAgaWYgKCFob21lYnJldykge1xuICAgICAgICAgICAgaG9tZWJyZXcgPSBuZXcgSG9tZWJyZXcocHJvamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwibG9jYWxzdGFja1wiKTtcblxuICAgICAgICBjb25zdCBjb2xpbWFUYXNrID0gcHJvamVjdC50YXNrcy50cnlGaW5kKFwiY29saW1hXCIpO1xuXG4gICAgICAgIGNvbnN0IGVudlZhcnMgPSBbYExPQ0FMU1RBQ0tfUE9SVD0ke3BvcnR9YCwgYExPQ0FMU1RBQ0tfREVCVUc9JHtkZWJ1ZyA/IFwiMVwiIDogXCIwXCJ9YF07XG4gICAgICAgIGlmIChvcHRpb25zLnNlcnZpY2VzKSB7XG4gICAgICAgICAgICBlbnZWYXJzLnB1c2goYFNFUlZJQ0VTPSR7b3B0aW9ucy5zZXJ2aWNlcy5qb2luKFwiLFwiKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxvY2Fsc3RhY2tUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwibG9jYWxzdGFja1wiLCB7XG4gICAgICAgICAgICBleGVjOiBgbG9jYWxzdGFjayBzdGF0dXMgfCBncmVwIC1xIHJ1bm5pbmcgfHwgJHtlbnZWYXJzLmpvaW4oXCIgXCIpfSBsb2NhbHN0YWNrIHN0YXJ0IC1kYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGNvbGltYVRhc2spIHtcbiAgICAgICAgICAgIGxvY2Fsc3RhY2tUYXNrLnByZXBlbmRTcGF3bihjb2xpbWFUYXNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByb2plY3QuYWRkRGV2RGVwcyhcImF3cy1jZGstbG9jYWxcIik7XG5cbiAgICAgICAgY29uc3QgdGVzdFRhc2sgPSBwcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0XCIpO1xuICAgICAgICBpZiAodGVzdFRhc2spIHtcbiAgICAgICAgICAgIHRlc3RUYXNrLnByZXBlbmRTcGF3bihsb2NhbHN0YWNrVGFzayk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2xvY2Fsc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLG9EQUFpRDtBQUNqRCxzREFBb0Q7QUFDcEQscUNBQWtDO0FBQ2xDLHlDQUFzQztBQVN0QyxNQUFhLFVBQVcsU0FBUSxxQkFBUzs7SUFDckMsWUFBWSxLQUFpQixFQUFFLFVBQTZCLEVBQUU7UUFDMUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsTUFBTSxPQUFPLEdBQUcsd0JBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLHdCQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFFckMsSUFBSSxlQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEIsSUFBSSxRQUFRLEdBQUcsbUJBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ1osUUFBUSxHQUFHLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVuRCxNQUFNLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxvQkFBb0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDakQsSUFBSSxFQUFFLDBDQUEwQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0I7U0FDMUYsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLGNBQWMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFcEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFFBQVEsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7O0FBMUNMLGdDQTJDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcInByb2plbi9saWIvamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgQ29saW1hIH0gZnJvbSBcIi4vY29saW1hXCI7XG5pbXBvcnQgeyBIb21lYnJldyB9IGZyb20gXCIuL2hvbWVicmV3XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdGFja09wdGlvbnMge1xuICAgIHJlYWRvbmx5IHNlcnZpY2VzPzogc3RyaW5nW107XG4gICAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaW1hZ2VUYWc/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2NhbFN0YWNrIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgb3B0aW9uczogTG9jYWxTdGFja09wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihzY29wZSk7XG5cbiAgICAgICAgY29uc3QgcHJvamVjdCA9IE5vZGVQcm9qZWN0Lm9mKHRoaXMpO1xuICAgICAgICBpZiAoIShwcm9qZWN0IGluc3RhbmNlb2YgTm9kZVByb2plY3QpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2NhbFN0YWNrIGNvbXBvbmVudCByZXF1aXJlcyBhIE5vZGVQcm9qZWN0XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9ydCA9IG9wdGlvbnMucG9ydCA/PyA0NTY2O1xuICAgICAgICBjb25zdCBkZWJ1ZyA9IG9wdGlvbnMuZGVidWcgPz8gZmFsc2U7XG5cbiAgICAgICAgbmV3IENvbGltYShwcm9qZWN0KTtcblxuICAgICAgICBsZXQgaG9tZWJyZXcgPSBIb21lYnJldy5vZihwcm9qZWN0KTtcbiAgICAgICAgaWYgKCFob21lYnJldykge1xuICAgICAgICAgICAgaG9tZWJyZXcgPSBuZXcgSG9tZWJyZXcocHJvamVjdCk7XG4gICAgICAgIH1cblxuICAgICAgICBob21lYnJldy5hZGRQYWNrYWdlKFwibG9jYWxzdGFja1wiKTtcblxuICAgICAgICBjb25zdCBjb2xpbWFUYXNrID0gcHJvamVjdC50YXNrcy50cnlGaW5kKFwiY29saW1hXCIpO1xuXG4gICAgICAgIGNvbnN0IGVudlZhcnMgPSBbYExPQ0FMU1RBQ0tfUE9SVD0ke3BvcnR9YCwgYExPQ0FMU1RBQ0tfREVCVUc9JHtkZWJ1ZyA/IFwiMVwiIDogXCIwXCJ9YF07XG4gICAgICAgIGlmIChvcHRpb25zLnNlcnZpY2VzKSB7XG4gICAgICAgICAgICBlbnZWYXJzLnB1c2goYFNFUlZJQ0VTPSR7b3B0aW9ucy5zZXJ2aWNlcy5qb2luKFwiLFwiKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxvY2Fsc3RhY2tUYXNrID0gcHJvamVjdC5hZGRUYXNrKFwibG9jYWxzdGFja1wiLCB7XG4gICAgICAgICAgICBleGVjOiBgbG9jYWxzdGFjayBzdGF0dXMgfCBncmVwIC1xIHJ1bm5pbmcgfHwgJHtlbnZWYXJzLmpvaW4oXCIgXCIpfSBsb2NhbHN0YWNrIHN0YXJ0IC1kYCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGNvbGltYVRhc2spIHtcbiAgICAgICAgICAgIGxvY2Fsc3RhY2tUYXNrLnByZXBlbmRTcGF3bihjb2xpbWFUYXNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByb2plY3QuYWRkRGV2RGVwcyhcImF3cy1jZGstbG9jYWxcIik7XG5cbiAgICAgICAgY29uc3QgdGVzdFRhc2sgPSBwcm9qZWN0LnRhc2tzLnRyeUZpbmQoXCJ0ZXN0XCIpO1xuICAgICAgICBpZiAodGVzdFRhc2spIHtcbiAgICAgICAgICAgIHRlc3RUYXNrLnByZXBlbmRTcGF3bihsb2NhbHN0YWNrVGFzayk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Mise = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -8,6 +7,7 @@ const component_1 = require("projen/lib/component");
8
7
  const textfile_1 = require("projen/lib/textfile");
9
8
  const homebrew_1 = require("./homebrew");
10
9
  class Mise extends component_1.Component {
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.Mise", version: "0.3.0" };
11
11
  static of(project) {
12
12
  const isMise = (c) => c instanceof Mise;
13
13
  return project.components.find(isMise);
@@ -32,6 +32,4 @@ class Mise extends component_1.Component {
32
32
  }
33
33
  }
34
34
  exports.Mise = Mise;
35
- _a = JSII_RTTI_SYMBOL_1;
36
- Mise[_a] = { fqn: "@nikovirtala/projen-constructs.Mise", version: "0.2.156" };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBcUM7QUFDckMsb0RBQWlEO0FBRWpELGtEQUErQztBQUMvQyx5Q0FBc0M7QUFNdEMsTUFBYSxJQUFLLFNBQVEscUJBQVM7SUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVksRUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUM5RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLE9BQWdCLEVBQUUsVUFBdUIsRUFBRTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFdBQVcsR0FDYixPQUFPLENBQUMsV0FBVztZQUNuQixDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUUsT0FBdUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhHLE1BQU0sUUFBUSxHQUFHLG1CQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxXQUFXLEdBQUcsQ0FBQztTQUNoRCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sWUFBWSxZQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sWUFBWSxlQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6RixPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQzs7QUE3Qkwsb0JBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBjZGsgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcbmltcG9ydCB7IEhvbWVicmV3IH0gZnJvbSBcIi4vaG9tZWJyZXdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNaXNlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBNaXNlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNNaXNlID0gKGM6IENvbXBvbmVudCk6IGMgaXMgTWlzZSA9PiBjIGluc3RhbmNlb2YgTWlzZTtcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzTWlzZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTWlzZU9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBub2RlVmVyc2lvbiA9XG4gICAgICAgICAgICBvcHRpb25zLm5vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICAoXCJtaW5Ob2RlVmVyc2lvblwiIGluIHByb2plY3QgPyAocHJvamVjdCBhcyB7IG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nIH0pLm1pbk5vZGVWZXJzaW9uIDogdW5kZWZpbmVkKTtcblxuICAgICAgICBjb25zdCBob21lYnJldyA9IEhvbWVicmV3Lm9mKHByb2plY3QpID8/IG5ldyBIb21lYnJldyhwcm9qZWN0KTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcIm1pc2VcIik7XG5cbiAgICAgICAgbmV3IFRleHRGaWxlKHRoaXMsIFwibWlzZS50b21sXCIsIHtcbiAgICAgICAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgbGluZXM6IFtcIlt0b29sc11cIiwgYG5vZGUgPSBcIiR7bm9kZVZlcnNpb259XCJgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcHJvamVjdC5hZGRUYXNrKFwibWlzZTp0cnVzdFwiLCB7XG4gICAgICAgICAgICBleGVjOiBcIm1pc2UgdHJ1c3RcIixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHByb2plY3QgaW5zdGFuY2VvZiBjZGsuSnNpaVByb2plY3QgfHwgcHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5KSB7XG4gICAgICAgICAgICBwcm9qZWN0Lm5wbWlnbm9yZT8uYWRkUGF0dGVybnMoXCJtaXNlLnRvbWxcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFxQztBQUNyQyxvREFBaUQ7QUFFakQsa0RBQStDO0FBQy9DLHlDQUFzQztBQU10QyxNQUFhLElBQUssU0FBUSxxQkFBUzs7SUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFnQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQVksRUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQztRQUM5RCxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLE9BQWdCLEVBQUUsVUFBdUIsRUFBRTtRQUNuRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFdBQVcsR0FDYixPQUFPLENBQUMsV0FBVztZQUNuQixDQUFDLGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUUsT0FBdUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXhHLE1BQU0sUUFBUSxHQUFHLG1CQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksbUJBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQzVCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxXQUFXLEdBQUcsQ0FBQztTQUNoRCxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLEVBQUUsWUFBWTtTQUNyQixDQUFDLENBQUM7UUFFSCxJQUFJLE9BQU8sWUFBWSxZQUFHLENBQUMsV0FBVyxJQUFJLE9BQU8sWUFBWSxlQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN6RixPQUFPLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0wsQ0FBQzs7QUE3Qkwsb0JBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBjZGsgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuL2xpYi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB7IFRleHRGaWxlIH0gZnJvbSBcInByb2plbi9saWIvdGV4dGZpbGVcIjtcbmltcG9ydCB7IEhvbWVicmV3IH0gZnJvbSBcIi4vaG9tZWJyZXdcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNaXNlT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgbm9kZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNaXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBNaXNlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNNaXNlID0gKGM6IENvbXBvbmVudCk6IGMgaXMgTWlzZSA9PiBjIGluc3RhbmNlb2YgTWlzZTtcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzTWlzZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTWlzZU9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgICAgICBjb25zdCBub2RlVmVyc2lvbiA9XG4gICAgICAgICAgICBvcHRpb25zLm5vZGVWZXJzaW9uID8/XG4gICAgICAgICAgICAoXCJtaW5Ob2RlVmVyc2lvblwiIGluIHByb2plY3QgPyAocHJvamVjdCBhcyB7IG1pbk5vZGVWZXJzaW9uPzogc3RyaW5nIH0pLm1pbk5vZGVWZXJzaW9uIDogdW5kZWZpbmVkKTtcblxuICAgICAgICBjb25zdCBob21lYnJldyA9IEhvbWVicmV3Lm9mKHByb2plY3QpID8/IG5ldyBIb21lYnJldyhwcm9qZWN0KTtcbiAgICAgICAgaG9tZWJyZXcuYWRkUGFja2FnZShcIm1pc2VcIik7XG5cbiAgICAgICAgbmV3IFRleHRGaWxlKHRoaXMsIFwibWlzZS50b21sXCIsIHtcbiAgICAgICAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgICAgICAgbGluZXM6IFtcIlt0b29sc11cIiwgYG5vZGUgPSBcIiR7bm9kZVZlcnNpb259XCJgXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcHJvamVjdC5hZGRUYXNrKFwibWlzZTp0cnVzdFwiLCB7XG4gICAgICAgICAgICBleGVjOiBcIm1pc2UgdHJ1c3RcIixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHByb2plY3QgaW5zdGFuY2VvZiBjZGsuSnNpaVByb2plY3QgfHwgcHJvamVjdCBpbnN0YW5jZW9mIGF3c2Nkay5Bd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5KSB7XG4gICAgICAgICAgICBwcm9qZWN0Lm5wbWlnbm9yZT8uYWRkUGF0dGVybnMoXCJtaXNlLnRvbWxcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -13,7 +13,6 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
- var _a;
17
16
  Object.defineProperty(exports, "__esModule", { value: true });
18
17
  exports.TypeDoc = void 0;
19
18
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -35,10 +34,20 @@ const DEFAULT_CONFIG = {
35
34
  * TypeDoc component for projen projects
36
35
  */
37
36
  class TypeDoc extends component_1.Component {
37
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@nikovirtala/projen-constructs.TypeDoc", version: "0.3.0" };
38
38
  static of(project) {
39
39
  const isTypeDoc = (c) => c instanceof TypeDoc;
40
40
  return project.components.find(isTypeDoc);
41
41
  }
42
+ typeDocConfiguration;
43
+ /**
44
+ * TypeDoc task
45
+ */
46
+ task;
47
+ /**
48
+ * TypeDoc configuration file
49
+ */
50
+ file;
42
51
  constructor(project, options = {}) {
43
52
  super(project);
44
53
  const typedoc = "typedoc";
@@ -65,7 +74,5 @@ class TypeDoc extends component_1.Component {
65
74
  }
66
75
  }
67
76
  exports.TypeDoc = TypeDoc;
68
- _a = JSII_RTTI_SYMBOL_1;
69
- TypeDoc[_a] = { fqn: "@nikovirtala/projen-constructs.TypeDoc", version: "0.2.156" };
70
77
  __exportStar(require("./typedoc-config"), exports);
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3R5cGVkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUFpRDtBQUVqRCwwQ0FBMkM7QUFHM0MsMENBQTRDO0FBQzVDLHFEQUE4RztBQUU5Rzs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUF5QjtJQUN6QyxrQkFBa0IsRUFBRSxtQ0FBa0IsQ0FBQyxNQUFNO0lBQzdDLEdBQUcsRUFBRSxVQUFVO0lBQ2YsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQ3pCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0NBQ3ZCLENBQUM7QUFrQkY7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQzdCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUFnQixFQUFFLENBQUMsQ0FBQyxZQUFZLE9BQU8sQ0FBQztRQUN2RSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFjRCxZQUFZLE9BQW9CLEVBQUUsVUFBMEIsRUFBRTtRQUMxRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFL0Q7O1dBRUc7UUFDSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBQSxnQkFBUyxFQUNqQyxDQUFDLElBQUEsNENBQTJCLEVBQUMsY0FBYyxDQUFDLEVBQUUsSUFBQSw0Q0FBMkIsRUFBQyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUN4QixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQzVDLEdBQUcsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzlCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNuQyxXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLEtBQUssRUFBRTtnQkFDSDtvQkFDSSxJQUFJLEVBQUUsU0FBUztpQkFDbEI7YUFDSjtTQUNKLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDOztBQWhETCwwQkFpREM7OztBQUVELG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW4vbGliL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL2phdmFzY3JpcHQvbm9kZS1wcm9qZWN0XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCJwcm9qZW4vbGliL2pzb25cIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCJwcm9qZW4vbGliL3Rhc2tcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCJwcm9qZW4vbGliL3V0aWxcIjtcbmltcG9ydCB7IEVudHJ5UG9pbnRTdHJhdGVneSwgdHlwZSBUeXBlRG9jQ29uZmlndXJhdGlvbiwgdG9Kc29uX1R5cGVEb2NDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcblxuLyoqXG4gKiBEZWZhdWx0IFR5cGVEb2MgY29uZmlndXJhdGlvblxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogVHlwZURvY0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgZW50cnlQb2ludFN0cmF0ZWd5OiBFbnRyeVBvaW50U3RyYXRlZ3kuRVhQQU5ELFxuICAgIG91dDogXCJkb2NzL2FwaVwiLFxuICAgIGV4Y2x1ZGU6IFtcIioqLyoudGVzdC50c1wiXSxcbiAgICBleGNsdWRlUHJpdmF0ZTogdHJ1ZSxcbiAgICBkaXNhYmxlU291cmNlczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY09wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIFZlcnNpb24gb2YgVHlwZURvYyB0byB1c2VcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiXjAuMjhcIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGdWxsIFR5cGVEb2MgY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBjb25maWd1cmF0aW9uIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IHR5cGVEb2NDb25maWc/OiBUeXBlRG9jQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUeXBlRG9jIGNvbXBvbmVudCBmb3IgcHJvamVuIHByb2plY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlRG9jIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBUeXBlRG9jIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNUeXBlRG9jID0gKGM6IENvbXBvbmVudCk6IGMgaXMgVHlwZURvYyA9PiBjIGluc3RhbmNlb2YgVHlwZURvYztcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzVHlwZURvYyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlRG9jQ29uZmlndXJhdGlvbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiBUeXBlRG9jIHRhc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFzazogVGFzaztcblxuICAgIC8qKlxuICAgICAqIFR5cGVEb2MgY29uZmlndXJhdGlvbiBmaWxlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGU6IEpzb25GaWxlO1xuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IFR5cGVEb2NPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgdHlwZWRvYyA9IFwidHlwZWRvY1wiO1xuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoYCR7dHlwZWRvY31AJHtvcHRpb25zLnZlcnNpb24gPz8gXCJeMC4yOFwifWApO1xuXG4gICAgICAgIC8qXG4gICAgICAgICAqIE1lcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhdGlvblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy50eXBlRG9jQ29uZmlndXJhdGlvbiA9IGRlZXBNZXJnZShcbiAgICAgICAgICAgIFt0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24oREVGQVVMVF9DT05GSUcpLCB0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24ob3B0aW9ucy50eXBlRG9jQ29uZmlnID8/IHt9KV0sXG4gICAgICAgICAgICB7IG1lcmdlQXJyYXlzOiB0cnVlIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHRoaXMsIFwidHlwZWRvYy5qc29uY1wiLCB7XG4gICAgICAgICAgICBvYmo6IHRoaXMudHlwZURvY0NvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJ0eXBlZG9jXCIsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbmVyYXRlIFR5cGVEb2MgZG9jdW1lbnRhdGlvblwiLFxuICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGV4ZWM6IFwidHlwZWRvY1wiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgcHJvamVjdC50ZXN0VGFzay5zcGF3bih0aGlzLnRhc2spO1xuICAgIH1cbn1cblxuZXhwb3J0ICogZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWRvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3R5cGVkb2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWlEO0FBRWpELDBDQUEyQztBQUczQywwQ0FBNEM7QUFDNUMscURBQThHO0FBRTlHOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQXlCO0lBQ3pDLGtCQUFrQixFQUFFLG1DQUFrQixDQUFDLE1BQU07SUFDN0MsR0FBRyxFQUFFLFVBQVU7SUFDZixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDekIsY0FBYyxFQUFFLElBQUk7SUFDcEIsY0FBYyxFQUFFLElBQUk7Q0FDdkIsQ0FBQztBQWtCRjs7R0FFRztBQUNILE1BQWEsT0FBUSxTQUFRLHFCQUFTOztJQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQzdCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUFnQixFQUFFLENBQUMsQ0FBQyxZQUFZLE9BQU8sQ0FBQztRQUN2RSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFZ0Isb0JBQW9CLENBQTBCO0lBRS9EOztPQUVHO0lBQ2EsSUFBSSxDQUFPO0lBRTNCOztPQUVHO0lBQ2EsSUFBSSxDQUFXO0lBRS9CLFlBQVksT0FBb0IsRUFBRSxVQUEwQixFQUFFO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUMxQixPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztRQUUvRDs7V0FFRztRQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFBLGdCQUFTLEVBQ2pDLENBQUMsSUFBQSw0Q0FBMkIsRUFBQyxjQUFjLENBQUMsRUFBRSxJQUFBLDRDQUEyQixFQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUMsRUFDdkcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxvQkFBb0I7WUFDOUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsTUFBTSxFQUFFLElBQUk7WUFDWixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ25DLFdBQVcsRUFBRSxnQ0FBZ0M7WUFDN0MsS0FBSyxFQUFFO2dCQUNIO29CQUNJLElBQUksRUFBRSxTQUFTO2lCQUNsQjthQUNKO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O0FBaERMLDBCQWlEQztBQUVELG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW4vbGliL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL2phdmFzY3JpcHQvbm9kZS1wcm9qZWN0XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCJwcm9qZW4vbGliL2pzb25cIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCJwcm9qZW4vbGliL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCJwcm9qZW4vbGliL3Rhc2tcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCJwcm9qZW4vbGliL3V0aWxcIjtcbmltcG9ydCB7IEVudHJ5UG9pbnRTdHJhdGVneSwgdHlwZSBUeXBlRG9jQ29uZmlndXJhdGlvbiwgdG9Kc29uX1R5cGVEb2NDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcblxuLyoqXG4gKiBEZWZhdWx0IFR5cGVEb2MgY29uZmlndXJhdGlvblxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogVHlwZURvY0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgZW50cnlQb2ludFN0cmF0ZWd5OiBFbnRyeVBvaW50U3RyYXRlZ3kuRVhQQU5ELFxuICAgIG91dDogXCJkb2NzL2FwaVwiLFxuICAgIGV4Y2x1ZGU6IFtcIioqLyoudGVzdC50c1wiXSxcbiAgICBleGNsdWRlUHJpdmF0ZTogdHJ1ZSxcbiAgICBkaXNhYmxlU291cmNlczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZURvY09wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIFZlcnNpb24gb2YgVHlwZURvYyB0byB1c2VcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFwiXjAuMjhcIlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGdWxsIFR5cGVEb2MgY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogVGhpcyBjb25maWd1cmF0aW9uIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIHJlYWRvbmx5IHR5cGVEb2NDb25maWc/OiBUeXBlRG9jQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUeXBlRG9jIGNvbXBvbmVudCBmb3IgcHJvamVuIHByb2plY3RzXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlRG9jIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgc3RhdGljIG9mKHByb2plY3Q6IFByb2plY3QpOiBUeXBlRG9jIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaXNUeXBlRG9jID0gKGM6IENvbXBvbmVudCk6IGMgaXMgVHlwZURvYyA9PiBjIGluc3RhbmNlb2YgVHlwZURvYztcbiAgICAgICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzVHlwZURvYyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlRG9jQ29uZmlndXJhdGlvbjogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICAvKipcbiAgICAgKiBUeXBlRG9jIHRhc2tcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdGFzazogVGFzaztcblxuICAgIC8qKlxuICAgICAqIFR5cGVEb2MgY29uZmlndXJhdGlvbiBmaWxlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbGU6IEpzb25GaWxlO1xuXG4gICAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IFR5cGVEb2NPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAgICAgY29uc3QgdHlwZWRvYyA9IFwidHlwZWRvY1wiO1xuICAgICAgICBwcm9qZWN0LmFkZERldkRlcHMoYCR7dHlwZWRvY31AJHtvcHRpb25zLnZlcnNpb24gPz8gXCJeMC4yOFwifWApO1xuXG4gICAgICAgIC8qXG4gICAgICAgICAqIE1lcmdlIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhdGlvblxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy50eXBlRG9jQ29uZmlndXJhdGlvbiA9IGRlZXBNZXJnZShcbiAgICAgICAgICAgIFt0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24oREVGQVVMVF9DT05GSUcpLCB0b0pzb25fVHlwZURvY0NvbmZpZ3VyYXRpb24ob3B0aW9ucy50eXBlRG9jQ29uZmlnID8/IHt9KV0sXG4gICAgICAgICAgICB7IG1lcmdlQXJyYXlzOiB0cnVlIH0sXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHRoaXMsIFwidHlwZWRvYy5qc29uY1wiLCB7XG4gICAgICAgICAgICBvYmo6IHRoaXMudHlwZURvY0NvbmZpZ3VyYXRpb24sXG4gICAgICAgICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhc2sgPSBwcm9qZWN0LmFkZFRhc2soXCJ0eXBlZG9jXCIsIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbmVyYXRlIFR5cGVEb2MgZG9jdW1lbnRhdGlvblwiLFxuICAgICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGV4ZWM6IFwidHlwZWRvY1wiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgcHJvamVjdC50ZXN0VGFzay5zcGF3bih0aGlzLnRhc2spO1xuICAgIH1cbn1cblxuZXhwb3J0ICogZnJvbSBcIi4vdHlwZWRvYy1jb25maWdcIjtcbiJdfQ==
@@ -187,7 +187,7 @@ export interface VitestConfigOptions {
187
187
  /**
188
188
  * Path to custom tsconfig, relative to the project root.
189
189
  *
190
- * @default "tsconfig.dev.json"
190
+ * @default - the project's development tsconfig (e.g. "test/tsconfig.json")
191
191
  * @see https://vitest.dev/config/#typecheck-tsconfig
192
192
  */
193
193
  readonly typecheckTsconfig?: string;