projen 0.52.21 → 0.52.25

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 (235) hide show
  1. package/.jsii +139 -107
  2. package/changelog.md +3 -3
  3. package/docs/api/API.md +42 -39
  4. package/lib/awscdk/auto-discover.d.ts +14 -46
  5. package/lib/awscdk/auto-discover.js +8 -22
  6. package/lib/awscdk/awscdk-app-java.d.ts +10 -32
  7. package/lib/awscdk/awscdk-app-java.js +5 -9
  8. package/lib/awscdk/awscdk-app-ts.d.ts +15 -35
  9. package/lib/awscdk/awscdk-app-ts.js +6 -14
  10. package/lib/awscdk/awscdk-construct.d.ts +14 -28
  11. package/lib/awscdk/awscdk-construct.js +8 -16
  12. package/lib/awscdk/awscdk-deps-java.d.ts +1 -8
  13. package/lib/awscdk/awscdk-deps-java.js +3 -10
  14. package/lib/awscdk/awscdk-deps-js.d.ts +1 -8
  15. package/lib/awscdk/awscdk-deps-js.js +3 -10
  16. package/lib/awscdk/awscdk-deps.d.ts +28 -67
  17. package/lib/awscdk/awscdk-deps.js +5 -12
  18. package/lib/awscdk/cdk-config.d.ts +19 -51
  19. package/lib/awscdk/cdk-config.js +13 -11
  20. package/lib/awscdk/cdk-tasks.d.ts +7 -24
  21. package/lib/awscdk/cdk-tasks.js +3 -8
  22. package/lib/awscdk/integration-test.d.ts +7 -29
  23. package/lib/awscdk/integration-test.js +3 -8
  24. package/lib/awscdk/lambda-function.d.ts +22 -50
  25. package/lib/awscdk/lambda-function.js +11 -24
  26. package/lib/build/build-workflow.d.ts +33 -78
  27. package/lib/build/build-workflow.js +15 -25
  28. package/lib/cdk/auto-discover-base.d.ts +11 -34
  29. package/lib/cdk/auto-discover-base.js +5 -15
  30. package/lib/cdk/construct-lib.d.ts +8 -22
  31. package/lib/cdk/construct-lib.js +3 -8
  32. package/lib/cdk/integration-test-base.d.ts +12 -38
  33. package/lib/cdk/integration-test-base.js +2 -8
  34. package/lib/cdk/jsii-docgen.d.ts +6 -12
  35. package/lib/cdk/jsii-docgen.js +6 -8
  36. package/lib/cdk/jsii-project.d.ts +16 -95
  37. package/lib/cdk/jsii-project.js +3 -10
  38. package/lib/cdk8s/auto-discover.d.ts +6 -23
  39. package/lib/cdk8s/auto-discover.js +6 -15
  40. package/lib/cdk8s/cdk8s-app-ts.d.ts +21 -43
  41. package/lib/cdk8s/cdk8s-app-ts.js +4 -7
  42. package/lib/cdk8s/cdk8s-construct.d.ts +12 -27
  43. package/lib/cdk8s/cdk8s-construct.js +3 -7
  44. package/lib/cdk8s/integration-test.d.ts +2 -9
  45. package/lib/cdk8s/integration-test.js +3 -8
  46. package/lib/cdktf/cdktf-construct.d.ts +3 -12
  47. package/lib/cdktf/cdktf-construct.js +3 -7
  48. package/lib/component.d.ts +4 -17
  49. package/lib/component.js +6 -19
  50. package/lib/dependencies.d.ts +44 -77
  51. package/lib/dependencies.js +50 -38
  52. package/lib/dev-env.d.ts +26 -53
  53. package/lib/dev-env.js +9 -19
  54. package/lib/docker-compose.d.ts +83 -209
  55. package/lib/docker-compose.js +38 -61
  56. package/lib/file.d.ts +24 -71
  57. package/lib/file.js +4 -16
  58. package/lib/gitattributes.d.ts +3 -14
  59. package/lib/gitattributes.js +5 -16
  60. package/lib/github/auto-approve.d.ts +7 -23
  61. package/lib/github/auto-approve.js +3 -8
  62. package/lib/github/auto-merge.d.ts +7 -29
  63. package/lib/github/auto-merge.js +7 -16
  64. package/lib/github/dependabot.d.ts +54 -147
  65. package/lib/github/dependabot.js +81 -22
  66. package/lib/github/github-project.d.ts +26 -70
  67. package/lib/github/github-project.js +5 -10
  68. package/lib/github/github.d.ts +19 -58
  69. package/lib/github/github.js +9 -30
  70. package/lib/github/mergify.d.ts +9 -54
  71. package/lib/github/mergify.js +2 -14
  72. package/lib/github/pr-template.d.ts +3 -13
  73. package/lib/github/pr-template.js +3 -8
  74. package/lib/github/pull-request-lint.d.ts +8 -28
  75. package/lib/github/pull-request-lint.js +3 -9
  76. package/lib/github/stale.d.ts +17 -47
  77. package/lib/github/stale.js +6 -10
  78. package/lib/github/task-workflow.d.ts +21 -63
  79. package/lib/github/task-workflow.js +3 -8
  80. package/lib/github/workflows-model.d.ts +199 -582
  81. package/lib/github/workflows-model.js +5 -4
  82. package/lib/github/workflows.d.ts +14 -41
  83. package/lib/github/workflows.js +8 -16
  84. package/lib/gitlab/configuration-model.d.ts +145 -947
  85. package/lib/gitlab/configuration-model.js +11 -28
  86. package/lib/gitlab/configuration.d.ts +31 -121
  87. package/lib/gitlab/configuration.js +14 -49
  88. package/lib/gitlab/gitlab-configuration.d.ts +2 -13
  89. package/lib/gitlab/gitlab-configuration.js +4 -15
  90. package/lib/gitlab/nested-configuration.d.ts +1 -9
  91. package/lib/gitlab/nested-configuration.js +3 -8
  92. package/lib/gitpod.d.ts +71 -167
  93. package/lib/gitpod.js +75 -42
  94. package/lib/ignore-file.d.ts +4 -23
  95. package/lib/ignore-file.js +6 -25
  96. package/lib/ini.d.ts +2 -14
  97. package/lib/ini.js +3 -13
  98. package/lib/java/java-project.d.ts +29 -70
  99. package/lib/java/java-project.js +10 -17
  100. package/lib/java/junit.d.ts +5 -17
  101. package/lib/java/junit.js +3 -8
  102. package/lib/java/maven-compile.d.ts +4 -13
  103. package/lib/java/maven-compile.js +3 -8
  104. package/lib/java/maven-packaging.d.ts +6 -21
  105. package/lib/java/maven-packaging.js +3 -8
  106. package/lib/java/maven-sample.d.ts +2 -12
  107. package/lib/java/maven-sample.js +3 -8
  108. package/lib/java/pom.d.ts +38 -100
  109. package/lib/java/pom.js +13 -25
  110. package/lib/java/projenrc.d.ts +7 -22
  111. package/lib/java/projenrc.js +3 -8
  112. package/lib/javascript/bundler.d.ts +30 -72
  113. package/lib/javascript/bundler.js +13 -21
  114. package/lib/javascript/eslint.d.ts +27 -84
  115. package/lib/javascript/eslint.js +11 -30
  116. package/lib/javascript/jest.d.ts +91 -344
  117. package/lib/javascript/jest.js +6 -23
  118. package/lib/javascript/node-package.d.ts +111 -259
  119. package/lib/javascript/node-package.js +64 -81
  120. package/lib/javascript/node-project.d.ts +112 -220
  121. package/lib/javascript/node-project.js +54 -73
  122. package/lib/javascript/npm-config.d.ts +9 -19
  123. package/lib/javascript/npm-config.js +9 -16
  124. package/lib/javascript/prettier.d.ts +65 -196
  125. package/lib/javascript/prettier.js +70 -46
  126. package/lib/javascript/projenrc.d.ts +2 -12
  127. package/lib/javascript/projenrc.js +3 -8
  128. package/lib/javascript/typescript-config.d.ts +62 -158
  129. package/lib/javascript/typescript-config.js +31 -18
  130. package/lib/javascript/upgrade-dependencies.d.ts +35 -94
  131. package/lib/javascript/upgrade-dependencies.js +21 -51
  132. package/lib/json.d.ts +3 -17
  133. package/lib/json.js +3 -13
  134. package/lib/license.d.ts +3 -20
  135. package/lib/license.js +2 -13
  136. package/lib/logger.d.ts +18 -62
  137. package/lib/logger.js +17 -37
  138. package/lib/makefile.d.ts +14 -45
  139. package/lib/makefile.js +7 -25
  140. package/lib/object-file.d.ts +19 -39
  141. package/lib/object-file.js +17 -28
  142. package/lib/option-hints.d.ts +4 -13
  143. package/lib/option-hints.js +11 -5
  144. package/lib/project-build.d.ts +7 -26
  145. package/lib/project-build.js +3 -8
  146. package/lib/project.d.ts +64 -186
  147. package/lib/project.js +43 -91
  148. package/lib/projects.d.ts +11 -32
  149. package/lib/projects.js +4 -8
  150. package/lib/projenrc-json.d.ts +2 -12
  151. package/lib/projenrc-json.js +3 -8
  152. package/lib/python/pip.d.ts +7 -23
  153. package/lib/python/pip.js +8 -17
  154. package/lib/python/poetry.d.ts +36 -121
  155. package/lib/python/poetry.js +12 -26
  156. package/lib/python/projenrc.d.ts +4 -15
  157. package/lib/python/projenrc.js +3 -8
  158. package/lib/python/pytest.d.ts +3 -16
  159. package/lib/python/pytest.js +2 -8
  160. package/lib/python/python-deps.d.ts +7 -21
  161. package/lib/python/python-deps.js +1 -1
  162. package/lib/python/python-env.d.ts +1 -6
  163. package/lib/python/python-env.js +1 -1
  164. package/lib/python/python-packaging.d.ts +12 -34
  165. package/lib/python/python-packaging.js +1 -1
  166. package/lib/python/python-project.d.ts +34 -79
  167. package/lib/python/python-project.js +7 -20
  168. package/lib/python/python-sample.d.ts +2 -9
  169. package/lib/python/python-sample.js +3 -8
  170. package/lib/python/requirements-file.d.ts +4 -19
  171. package/lib/python/requirements-file.js +5 -15
  172. package/lib/python/setuppy.d.ts +11 -39
  173. package/lib/python/setuppy.js +3 -13
  174. package/lib/python/setuptools.d.ts +2 -14
  175. package/lib/python/setuptools.js +3 -8
  176. package/lib/python/venv.d.ts +4 -14
  177. package/lib/python/venv.js +4 -11
  178. package/lib/readme.d.ts +7 -16
  179. package/lib/readme.js +5 -7
  180. package/lib/release/publisher.d.ts +103 -206
  181. package/lib/release/publisher.js +47 -59
  182. package/lib/release/release-trigger.d.ts +16 -48
  183. package/lib/release/release-trigger.js +8 -18
  184. package/lib/release/release.d.ts +50 -110
  185. package/lib/release/release.js +9 -24
  186. package/lib/run-task.js +1820 -0
  187. package/lib/sample-file.d.ts +14 -47
  188. package/lib/sample-file.js +9 -30
  189. package/lib/semver.d.ts +4 -21
  190. package/lib/semver.js +6 -20
  191. package/lib/source-code.d.ts +7 -23
  192. package/lib/source-code.js +7 -19
  193. package/lib/task-model.d.ts +21 -61
  194. package/lib/task-model.js +1 -1
  195. package/lib/task-runtime.d.ts +7 -24
  196. package/lib/task-runtime.js +7 -20
  197. package/lib/task.d.ts +29 -73
  198. package/lib/task.js +28 -61
  199. package/lib/tasks.d.ts +12 -34
  200. package/lib/tasks.js +14 -36
  201. package/lib/testing.d.ts +6 -10
  202. package/lib/testing.js +8 -12
  203. package/lib/textfile.d.ts +9 -24
  204. package/lib/textfile.js +9 -19
  205. package/lib/toml.d.ts +2 -14
  206. package/lib/toml.js +3 -13
  207. package/lib/typescript/projenrc.d.ts +4 -14
  208. package/lib/typescript/projenrc.js +3 -8
  209. package/lib/typescript/typescript-typedoc.d.ts +1 -6
  210. package/lib/typescript/typescript-typedoc.js +3 -8
  211. package/lib/typescript/typescript.d.ts +24 -82
  212. package/lib/typescript/typescript.js +6 -15
  213. package/lib/version.d.ts +9 -38
  214. package/lib/version.js +2 -11
  215. package/lib/vscode/devcontainer.d.ts +10 -30
  216. package/lib/vscode/devcontainer.js +10 -26
  217. package/lib/vscode/launch-config.d.ts +18 -97
  218. package/lib/vscode/launch-config.js +9 -15
  219. package/lib/vscode/vscode.d.ts +0 -9
  220. package/lib/vscode/vscode.js +2 -11
  221. package/lib/web/next.d.ts +19 -60
  222. package/lib/web/next.js +6 -20
  223. package/lib/web/postcss.d.ts +3 -24
  224. package/lib/web/postcss.js +3 -8
  225. package/lib/web/react.d.ts +13 -60
  226. package/lib/web/react.js +7 -32
  227. package/lib/web/tailwind.d.ts +1 -15
  228. package/lib/web/tailwind.js +3 -7
  229. package/lib/xmlfile.d.ts +2 -14
  230. package/lib/xmlfile.js +3 -13
  231. package/lib/yaml.d.ts +4 -19
  232. package/lib/yaml.js +3 -13
  233. package/package.json +5 -5
  234. package/releasetag.txt +1 -1
  235. package/version.txt +1 -1
@@ -7,77 +7,112 @@ const component_1 = require("../component");
7
7
  const ignore_file_1 = require("../ignore-file");
8
8
  const json_1 = require("../json");
9
9
  const source_code_1 = require("../source-code");
10
- /**
11
- * @experimental
12
- */
13
10
  var ArrowParens;
14
11
  (function (ArrowParens) {
12
+ /**
13
+ * Always include parens. Example: `(x) => x`
14
+ */
15
15
  ArrowParens["ALWAYS"] = "always";
16
+ /**
17
+ * Omit parens when possible. Example: `x => x`
18
+ */
16
19
  ArrowParens["AVOID"] = "avoid";
17
20
  })(ArrowParens = exports.ArrowParens || (exports.ArrowParens = {}));
18
- /**
19
- * @experimental
20
- */
21
21
  var EmbeddedLanguageFormatting;
22
22
  (function (EmbeddedLanguageFormatting) {
23
+ /**
24
+ * Format embedded code if Prettier can automatically identify it.
25
+ */
23
26
  EmbeddedLanguageFormatting["AUTO"] = "auto";
27
+ /**
28
+ * Never automatically format embedded code.
29
+ */
24
30
  EmbeddedLanguageFormatting["OFF"] = "off";
25
31
  })(EmbeddedLanguageFormatting = exports.EmbeddedLanguageFormatting || (exports.EmbeddedLanguageFormatting = {}));
26
- /**
27
- * @experimental
28
- */
29
32
  var EndOfLine;
30
33
  (function (EndOfLine) {
34
+ /**
35
+ * Maintain existing (mixed values within one file are normalised by looking
36
+ * at what's used after the first line)
37
+ */
31
38
  EndOfLine["AUTO"] = "auto";
39
+ /**
40
+ * Carriage Return character only (\r), used very rarely
41
+ */
32
42
  EndOfLine["CR"] = "cr";
43
+ /**
44
+ * Carriage Return + Line Feed characters (\r\n), common on Windows
45
+ */
33
46
  EndOfLine["CRLF"] = "crlf";
47
+ /**
48
+ * Line Feed only (\n), common on Linux and macOS as well as inside git repos
49
+ */
34
50
  EndOfLine["LF"] = "lf";
35
51
  })(EndOfLine = exports.EndOfLine || (exports.EndOfLine = {}));
36
- /**
37
- * @experimental
38
- */
39
52
  var HTMLWhitespaceSensitivity;
40
53
  (function (HTMLWhitespaceSensitivity) {
54
+ /**
55
+ * Respect the default value of CSS display property.
56
+ */
41
57
  HTMLWhitespaceSensitivity["CSS"] = "css";
58
+ /**
59
+ * Whitespaces are considered insignificant.
60
+ */
42
61
  HTMLWhitespaceSensitivity["IGNORE"] = "ignore";
62
+ /**
63
+ * Whitespaces are considered significant.
64
+ */
43
65
  HTMLWhitespaceSensitivity["STRICT"] = "strict";
44
66
  })(HTMLWhitespaceSensitivity = exports.HTMLWhitespaceSensitivity || (exports.HTMLWhitespaceSensitivity = {}));
45
- /**
46
- * @experimental
47
- */
48
67
  var ProseWrap;
49
68
  (function (ProseWrap) {
69
+ /**
70
+ * Wrap prose if it exceeds the print width.
71
+ */
50
72
  ProseWrap["ALWAYS"] = "always";
73
+ /**
74
+ * Do not wrap prose.
75
+ */
51
76
  ProseWrap["NEVER"] = "never";
77
+ /**
78
+ * Wrap prose as-is.
79
+ */
52
80
  ProseWrap["PRESERVE"] = "preserve";
53
81
  })(ProseWrap = exports.ProseWrap || (exports.ProseWrap = {}));
54
- /**
55
- * @experimental
56
- */
57
82
  var QuoteProps;
58
83
  (function (QuoteProps) {
84
+ /**
85
+ * Only add quotes around object properties where required.
86
+ */
59
87
  QuoteProps["ASNEEDED"] = "as-needed";
88
+ /**
89
+ * If at least one property in an object requires quotes, quote all properties.
90
+ */
60
91
  QuoteProps["CONSISTENT"] = "consistent";
92
+ /**
93
+ * Respect the input use of quotes in object properties.
94
+ */
61
95
  QuoteProps["PRESERVE"] = "preserve";
62
96
  })(QuoteProps = exports.QuoteProps || (exports.QuoteProps = {}));
63
- /**
64
- * @experimental
65
- */
66
97
  var TrailingComma;
67
98
  (function (TrailingComma) {
99
+ /**
100
+ * Trailing commas wherever possible (including function arguments).
101
+ */
68
102
  TrailingComma["ALL"] = "all";
103
+ /**
104
+ * Trailing commas where valid in ES5 (objects, arrays, etc.)
105
+ */
69
106
  TrailingComma["ES5"] = "es5";
107
+ /**
108
+ * No trailing commas.
109
+ */
70
110
  TrailingComma["NONE"] = "none";
71
111
  })(TrailingComma = exports.TrailingComma || (exports.TrailingComma = {}));
72
112
  /**
73
- * (experimental) Represents prettier configuration.
74
- *
75
- * @experimental
113
+ * Represents prettier configuration.
76
114
  */
77
115
  class Prettier extends component_1.Component {
78
- /**
79
- * @experimental
80
- */
81
116
  constructor(project, options) {
82
117
  var _b, _c;
83
118
  super(project);
@@ -94,45 +129,34 @@ class Prettier extends component_1.Component {
94
129
  marker: false,
95
130
  });
96
131
  }
97
- /**
98
- * @experimental
99
- */
100
132
  static of(project) {
101
133
  const isPrettier = (c) => c instanceof Prettier;
102
134
  return project.components.find(isPrettier);
103
135
  }
104
136
  /**
105
- * (experimental) Add a prettier override.
106
- *
137
+ * Add a prettier override
107
138
  * @see https://prettier.io/docs/en/configuration.html#configuration-overrides
108
- * @experimental
139
+ * @param {PrettierOverride} override
109
140
  */
110
141
  addOverride(override) {
111
142
  this.overrides.push(override);
112
143
  }
113
144
  /**
114
- * (experimental) Defines Prettier ignore Patterns these patterns will be added to the file .prettierignore.
145
+ * Defines Prettier ignore Patterns
146
+ * these patterns will be added to the file .prettierignore
115
147
  *
116
- * @param pattern filepatterns so exclude from prettier formatting.
117
- * @experimental
148
+ * @param pattern filepatterns so exclude from prettier formatting
118
149
  */
119
150
  addIgnorePattern(pattern) {
120
151
  var _b;
121
152
  (_b = this.ignoreFile) === null || _b === void 0 ? void 0 : _b.addPatterns(pattern);
122
153
  }
123
154
  /**
124
- * (experimental) Access to the Prettieroverrides to extend those.
125
- *
126
- * @experimental
155
+ * Access to the Prettieroverrides to extend those
127
156
  */
128
157
  get overrides() {
129
158
  return [...this._overrides];
130
159
  }
131
- /**
132
- * (experimental) Called before synthesis.
133
- *
134
- * @experimental
135
- */
136
160
  preSynthesize() {
137
161
  // Add automatically generated SourceCode files to .prettierignore as they may not be formatted correctly.
138
162
  const isSourceCode = (c) => c instanceof source_code_1.SourceCode;
@@ -143,5 +167,5 @@ class Prettier extends component_1.Component {
143
167
  }
144
168
  exports.Prettier = Prettier;
145
169
  _a = JSII_RTTI_SYMBOL_1;
146
- Prettier[_a] = { fqn: "projen.javascript.Prettier", version: "0.52.21" };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9wcmV0dGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUN6QyxnREFBNEM7QUFFNUMsa0NBQW1DO0FBRW5DLGdEQUE0Qzs7OztBQWtFNUMsSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBRXJCLGdDQUFpQixDQUFBO0lBR2pCLDhCQUFlLENBQUE7QUFDakIsQ0FBQyxFQU5XLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBTXRCOzs7O0FBRUQsSUFBWSwwQkFNWDtBQU5ELFdBQVksMEJBQTBCO0lBRXBDLDJDQUFhLENBQUE7SUFHYix5Q0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQU5XLDBCQUEwQixHQUExQixrQ0FBMEIsS0FBMUIsa0NBQTBCLFFBTXJDOzs7O0FBRUQsSUFBWSxTQVlYO0FBWkQsV0FBWSxTQUFTO0lBRW5CLDBCQUFhLENBQUE7SUFHYixzQkFBUyxDQUFBO0lBR1QsMEJBQWEsQ0FBQTtJQUdiLHNCQUFTLENBQUE7QUFDWCxDQUFDLEVBWlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFZcEI7Ozs7QUFFRCxJQUFZLHlCQVNYO0FBVEQsV0FBWSx5QkFBeUI7SUFFbkMsd0NBQVcsQ0FBQTtJQUdYLDhDQUFpQixDQUFBO0lBR2pCLDhDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyx5QkFBeUIsR0FBekIsaUNBQXlCLEtBQXpCLGlDQUF5QixRQVNwQzs7OztBQWtCRCxJQUFZLFNBU1g7QUFURCxXQUFZLFNBQVM7SUFFbkIsOEJBQWlCLENBQUE7SUFHakIsNEJBQWUsQ0FBQTtJQUdmLGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFUVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQVNwQjs7OztBQUVELElBQVksVUFTWDtBQVRELFdBQVksVUFBVTtJQUVwQixvQ0FBc0IsQ0FBQTtJQUd0Qix1Q0FBeUIsQ0FBQTtJQUd6QixtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFTckI7Ozs7QUFFRCxJQUFZLGFBU1g7QUFURCxXQUFZLGFBQWE7SUFFdkIsNEJBQVcsQ0FBQTtJQUdYLDRCQUFXLENBQUE7SUFHWCw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVRXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBU3hCOzs7Ozs7QUFHRCxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWtCckMsWUFBWSxPQUFvQixFQUFFLE9BQXdCOztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsVUFBVSxTQUFHLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQztRQUUxQyxVQUFJLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksd0JBQVUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUM5RDtRQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsT0FBTyxDQUFDLFFBQVE7U0FDcEIsQ0FBQztRQUVGLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtZQUN4QyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQXBDTSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBWSxFQUFpQixFQUFFLENBQUMsQ0FBQyxZQUFZLFFBQVEsQ0FBQztRQUMxRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Ozs7Ozs7SUFvQ00sV0FBVyxDQUFDLFFBQTBCO1FBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7Ozs7SUFHTSxnQkFBZ0IsQ0FBQyxPQUFlOztRQUNyQyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7SUFDeEMsQ0FBQzs7Ozs7O0lBR0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7Ozs7SUFFTSxhQUFhO1FBQ2xCLDBHQUEwRztRQUMxRyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVksRUFBbUIsRUFBRSxDQUNyRCxDQUFDLFlBQVksd0JBQVUsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBN0RILDRCQThEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IElnbm9yZUZpbGUgfSBmcm9tIFwiLi4vaWdub3JlLWZpbGVcIjtcbmltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcIi4uL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IEpzb25GaWxlIH0gZnJvbSBcIi4uL2pzb25cIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gXCIuLi9zb3VyY2UtY29kZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBQcmV0dGllck9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGlnbm9yZUZpbGU/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZXR0aW5ncz86IFByZXR0aWVyU2V0dGluZ3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IFByZXR0aWVyT3ZlcnJpZGVbXTtcbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFByZXR0aWVyU2V0dGluZ3Mge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFycm93UGFyZW5zPzogQXJyb3dQYXJlbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJyYWNrZXRTYW1lTGluZT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBicmFja2V0U3BhY2luZz86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGN1cnNvck9mZnNldD86IG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW1iZWRkZWRMYW5ndWFnZUZvcm1hdHRpbmc/OiBFbWJlZGRlZExhbmd1YWdlRm9ybWF0dGluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlbmRPZkxpbmU/OiBFbmRPZkxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZmlsZXBhdGg/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGh0bWxXaGl0ZXNwYWNlU2Vuc2l0aXZpdHk/OiBIVE1MV2hpdGVzcGFjZVNlbnNpdGl2aXR5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGluc2VydFByYWdtYT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGpzeFNpbmdsZVF1b3RlPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwYXJzZXI/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcGx1Z2lucz86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcGx1Z2luU2VhcmNoRGlycz86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByaW50V2lkdGg/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb3NlV3JhcD86IFByb3NlV3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHF1b3RlUHJvcHM/OiBRdW90ZVByb3BzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJhbmdlRW5kPzogbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJhbmdlU3RhcnQ/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlcXVpcmVQcmFnbWE/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZW1pPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc2luZ2xlUXVvdGU/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFiV2lkdGg/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0cmFpbGluZ0NvbW1hPzogVHJhaWxpbmdDb21tYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHVzZVRhYnM/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHZ1ZUluZGVudFNjcmlwdEFuZFN0eWxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQXJyb3dQYXJlbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQUxXQVlTID0gXCJhbHdheXNcIixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBBVk9JRCA9IFwiYXZvaWRcIixcbn1cblxuZXhwb3J0IGVudW0gRW1iZWRkZWRMYW5ndWFnZUZvcm1hdHRpbmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQVVUTyA9IFwiYXV0b1wiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIE9GRiA9IFwib2ZmXCIsXG59XG5cbmV4cG9ydCBlbnVtIEVuZE9mTGluZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQVVUTyA9IFwiYXV0b1wiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIENSID0gXCJjclwiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQ1JMRiA9IFwiY3JsZlwiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIExGID0gXCJsZlwiLFxufVxuXG5leHBvcnQgZW51bSBIVE1MV2hpdGVzcGFjZVNlbnNpdGl2aXR5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQ1NTID0gXCJjc3NcIixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBJR05PUkUgPSBcImlnbm9yZVwiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBTVFJJQ1QgPSBcInN0cmljdFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXR0aWVyT3ZlcnJpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXhjbHVkZUZpbGVzPzogRmlsZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZmlsZXM6IEZpbGVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc2V0dGluZ3M6IFByZXR0aWVyU2V0dGluZ3M7XG59XG5cbi8qKlxuICogRXhjbHVkZSB0aGVzZSBmaWxlcyBmcm9tIHRoaXMgb3ZlcnJpZGUuXG4gKlxuICogSW5jbHVkZSB0aGVzZSBmaWxlcyBpbiB0aGlzIG92ZXJyaWRlLlxuICovXG5leHBvcnQgdHlwZSBGaWxlcyA9IHN0cmluZ1tdIHwgc3RyaW5nO1xuXG5leHBvcnQgZW51bSBQcm9zZVdyYXAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBBTFdBWVMgPSBcImFsd2F5c1wiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBORVZFUiA9IFwibmV2ZXJcIixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBQUkVTRVJWRSA9IFwicHJlc2VydmVcIixcbn1cblxuZXhwb3J0IGVudW0gUXVvdGVQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIEFTTkVFREVEID0gXCJhcy1uZWVkZWRcIixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIENPTlNJU1RFTlQgPSBcImNvbnNpc3RlbnRcIixcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBQUkVTRVJWRSA9IFwicHJlc2VydmVcIixcbn1cblxuZXhwb3J0IGVudW0gVHJhaWxpbmdDb21tYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIEFMTCA9IFwiYWxsXCIsXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBFUzUgPSBcImVzNVwiLFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgTk9ORSA9IFwibm9uZVwiLFxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBQcmV0dGllciBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb2YocHJvamVjdDogUHJvamVjdCk6IFByZXR0aWVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpc1ByZXR0aWVyID0gKGM6IENvbXBvbmVudCk6IGMgaXMgUHJldHRpZXIgPT4gYyBpbnN0YW5jZW9mIFByZXR0aWVyO1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc1ByZXR0aWVyKTtcbiAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc2V0dGluZ3M6IFByZXR0aWVyU2V0dGluZ3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgaWdub3JlRmlsZT86IElnbm9yZUZpbGU7XG5cbiAgLyoqXG4gICAqIERpcmVjdCBhY2Nlc3MgdG8gdGhlIHByZXR0aWVyIG92ZXJyaWRlc1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJyaWRlczogUHJldHRpZXJPdmVycmlkZVtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBQcmV0dGllck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuX292ZXJyaWRlcyA9IG9wdGlvbnMub3ZlcnJpZGVzID8/IFtdO1xuXG4gICAgaWYgKG9wdGlvbnMuaWdub3JlRmlsZSA/PyB0cnVlKSB7XG4gICAgICB0aGlzLmlnbm9yZUZpbGUgPSBuZXcgSWdub3JlRmlsZShwcm9qZWN0LCBcIi5wcmV0dGllcmlnbm9yZVwiKTtcbiAgICB9XG5cbiAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJwcmV0dGllclwiKTtcblxuICAgIHRoaXMuc2V0dGluZ3MgPSB7XG4gICAgICAuLi5vcHRpb25zLnNldHRpbmdzLFxuICAgIH07XG5cbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgXCIucHJldHRpZXJyYy5qc29uXCIsIHtcbiAgICAgIG9iajogKCkgPT4gKHsgLi4udGhpcy5zZXR0aW5ncywgb3ZlcnJpZGVzOiBbLi4udGhpcy5fb3ZlcnJpZGVzXSB9KSxcbiAgICAgIG1hcmtlcjogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZE92ZXJyaWRlKG92ZXJyaWRlOiBQcmV0dGllck92ZXJyaWRlKSB7XG4gICAgdGhpcy5vdmVycmlkZXMucHVzaChvdmVycmlkZSk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZElnbm9yZVBhdHRlcm4ocGF0dGVybjogc3RyaW5nKSB7XG4gICAgdGhpcy5pZ25vcmVGaWxlPy5hZGRQYXR0ZXJucyhwYXR0ZXJuKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IG92ZXJyaWRlcygpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX292ZXJyaWRlc107XG4gIH1cblxuICBwdWJsaWMgcHJlU3ludGhlc2l6ZSgpIHtcbiAgICAvLyBBZGQgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgU291cmNlQ29kZSBmaWxlcyB0byAucHJldHRpZXJpZ25vcmUgYXMgdGhleSBtYXkgbm90IGJlIGZvcm1hdHRlZCBjb3JyZWN0bHkuXG4gICAgY29uc3QgaXNTb3VyY2VDb2RlID0gKGM6IENvbXBvbmVudCk6IGMgaXMgU291cmNlQ29kZSA9PlxuICAgICAgYyBpbnN0YW5jZW9mIFNvdXJjZUNvZGU7XG4gICAgdGhpcy5wcm9qZWN0LmNvbXBvbmVudHMuZmlsdGVyKGlzU291cmNlQ29kZSkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgdGhpcy5hZGRJZ25vcmVQYXR0ZXJuKGMuZmlsZVBhdGgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
170
+ Prettier[_a] = { fqn: "projen.javascript.Prettier", version: "0.52.25" };
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9wcmV0dGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUN6QyxnREFBNEM7QUFFNUMsa0NBQW1DO0FBRW5DLGdEQUE0QztBQW1NNUMsSUFBWSxXQVVYO0FBVkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsZ0NBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCw4QkFBZSxDQUFBO0FBQ2pCLENBQUMsRUFWVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQVV0QjtBQUVELElBQVksMEJBVVg7QUFWRCxXQUFZLDBCQUEwQjtJQUNwQzs7T0FFRztJQUNILDJDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILHlDQUFXLENBQUE7QUFDYixDQUFDLEVBVlcsMEJBQTBCLEdBQTFCLGtDQUEwQixLQUExQixrQ0FBMEIsUUFVckM7QUFFRCxJQUFZLFNBcUJYO0FBckJELFdBQVksU0FBUztJQUNuQjs7O09BR0c7SUFDSCwwQkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxzQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCwwQkFBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxzQkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQXJCVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQXFCcEI7QUFFRCxJQUFZLHlCQWVYO0FBZkQsV0FBWSx5QkFBeUI7SUFDbkM7O09BRUc7SUFDSCx3Q0FBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4Q0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDhDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFmVyx5QkFBeUIsR0FBekIsaUNBQXlCLEtBQXpCLGlDQUF5QixRQWVwQztBQXdCRCxJQUFZLFNBZVg7QUFmRCxXQUFZLFNBQVM7SUFDbkI7O09BRUc7SUFDSCw4QkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILDRCQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGtDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFmVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQWVwQjtBQUVELElBQVksVUFlWDtBQWZELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILG9DQUFzQixDQUFBO0lBRXRCOztPQUVHO0lBQ0gsdUNBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCxtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBZlcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFlckI7QUFFRCxJQUFZLGFBZVg7QUFmRCxXQUFZLGFBQWE7SUFDdkI7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQWZXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBZXhCO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxxQkFBUztJQXNCckMsWUFBWSxPQUFvQixFQUFFLE9BQXdCOztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsVUFBVSxTQUFHLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQztRQUUxQyxVQUFJLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLElBQUksRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksd0JBQVUsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUM5RDtRQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLEdBQUcsT0FBTyxDQUFDLFFBQVE7U0FDcEIsQ0FBQztRQUVGLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtZQUN4QyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sRUFBRSxLQUFLO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQXhDTSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBWSxFQUFpQixFQUFFLENBQUMsQ0FBQyxZQUFZLFFBQVEsQ0FBQztRQUMxRSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUF1Q0Q7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxRQUEwQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FBQyxPQUFlOztRQUNyQyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYTtRQUNsQiwwR0FBMEc7UUFDMUcsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFZLEVBQW1CLEVBQUUsQ0FDckQsQ0FBQyxZQUFZLHdCQUFVLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3pELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTVFSCw0QkE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJZ25vcmVGaWxlIH0gZnJvbSBcIi4uL2lnbm9yZS1maWxlXCI7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gXCIuLi9qYXZhc2NyaXB0XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCIuLi9qc29uXCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFNvdXJjZUNvZGUgfSBmcm9tIFwiLi4vc291cmNlLWNvZGVcIjtcbi8qKlxuICogT3B0aW9ucyBmb3IgUHJldHRpZXJcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJldHRpZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlZmluZXMgYW4gLnByZXR0aWVySWdub3JlIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlRmlsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFByZXR0aWVyIHNldHRpbmdzLlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IHNldHRpbmdzPzogUHJldHRpZXJTZXR0aW5ncztcblxuICAvKipcbiAgICogUHJvdmlkZSBhIGxpc3Qgb2YgcGF0dGVybnMgdG8gb3ZlcnJpZGUgcHJldHRpZXIgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICogQHNlZSBodHRwczovL3ByZXR0aWVyLmlvL2RvY3MvZW4vY29uZmlndXJhdGlvbi5odG1sI2NvbmZpZ3VyYXRpb24tb3ZlcnJpZGVzXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiBQcmV0dGllck92ZXJyaWRlW107XG59XG4vKipcbiAqIE9wdGlvbnMgdG8gc2V0IGluIFByZXR0aWVyIGRpcmVjdGx5IG9yIHRocm91Z2ggb3ZlcnJpZGVzXG4gKlxuICogQHNlZSBodHRwczovL3ByZXR0aWVyLmlvL2RvY3MvZW4vb3B0aW9ucy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJldHRpZXJTZXR0aW5ncyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHBhcmVudGhlc2VzIGFyb3VuZCBhIHNvbGUgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBcnJvd1BhcmVucy5BTFdBWVNcbiAgICovXG4gIHJlYWRvbmx5IGFycm93UGFyZW5zPzogQXJyb3dQYXJlbnM7XG4gIC8qKlxuICAgKiBQdXQgPiBvZiBvcGVuaW5nIHRhZ3Mgb24gdGhlIGxhc3QgbGluZSBpbnN0ZWFkIG9mIG9uIGEgbmV3IGxpbmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBicmFja2V0U2FtZUxpbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGJyYWNrZXRTcGFjaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByaW50ICh0byBzdGRlcnIpIHdoZXJlIGEgY3Vyc29yIGF0IHRoZSBnaXZlbiBwb3NpdGlvbiB3b3VsZCBtb3ZlIHRvIGFmdGVyIGZvcm1hdHRpbmcuXG4gICAqIFRoaXMgb3B0aW9uIGNhbm5vdCBiZSB1c2VkIHdpdGggLS1yYW5nZS1zdGFydCBhbmQgLS1yYW5nZS1lbmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0xXG4gICAqL1xuICByZWFkb25seSBjdXJzb3JPZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBDb250cm9sIGhvdyBQcmV0dGllciBmb3JtYXRzIHF1b3RlZCBjb2RlIGVtYmVkZGVkIGluIHRoZSBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBFbWJlZGRlZExhbmd1YWdlRm9ybWF0dGluZy5BVVRPXG4gICAqL1xuICByZWFkb25seSBlbWJlZGRlZExhbmd1YWdlRm9ybWF0dGluZz86IEVtYmVkZGVkTGFuZ3VhZ2VGb3JtYXR0aW5nO1xuICAvKipcbiAgICogV2hpY2ggZW5kIG9mIGxpbmUgY2hhcmFjdGVycyB0byBhcHBseS5cbiAgICpcbiAgICogQGRlZmF1bHQgRW5kT2ZMaW5lLkxGXG4gICAqL1xuICByZWFkb25seSBlbmRPZkxpbmU/OiBFbmRPZkxpbmU7XG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBpbnB1dCBmaWxlcGF0aC4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gZG8gcGFyc2VyIGluZmVyZW5jZS5cbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZXBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBIb3cgdG8gaGFuZGxlIHdoaXRlc3BhY2VzIGluIEhUTUwuXG4gICAqXG4gICAqIEBkZWZhdWx0IEhUTUxXaGl0ZXNwYWNlU2Vuc2l0aXZpdHkuQ1NTXG4gICAqL1xuICByZWFkb25seSBodG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5PzogSFRNTFdoaXRlc3BhY2VTZW5zaXRpdml0eTtcbiAgLyoqXG4gICAqIEluc2VydCBAZm9ybWF0IHByYWdtYSBpbnRvIGZpbGUncyBmaXJzdCBkb2NibG9jayBjb21tZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zZXJ0UHJhZ21hPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZSBzaW5nbGUgcXVvdGVzIGluIEpTWC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGpzeFNpbmdsZVF1b3RlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoaWNoIHBhcnNlciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUHJldHRpZXIgYXV0b21hdGljYWxseSBpbmZlcnMgdGhlIHBhcnNlciBmcm9tIHRoZSBpbnB1dCBmaWxlIHBhdGgsIHNvIHlvdSBzaG91bGRu4oCZdCBoYXZlIHRvIGNoYW5nZSB0aGlzIHNldHRpbmcuXG4gICAqL1xuICByZWFkb25seSBwYXJzZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgYSBwbHVnaW4uIE11bHRpcGxlIHBsdWdpbnMgY2FuIGJlIHBhc3NlZCBhcyBzZXBhcmF0ZSBgLS1wbHVnaW5gcy5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbnM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEN1c3RvbSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyBwcmV0dGllciBwbHVnaW5zIGluIG5vZGVfbW9kdWxlcyBzdWJkaXJlY3RvcnkuXG4gICAqIE92ZXJyaWRlcyBkZWZhdWx0IGJlaGF2aW9yIHdoZW4gcGx1Z2lucyBhcmUgc2VhcmNoZWQgcmVsYXRpdmVseSB0byB0aGUgbG9jYXRpb24gb2ZcbiAgICogUHJldHRpZXIuXG4gICAqIE11bHRpcGxlIHZhbHVlcyBhcmUgYWNjZXB0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5TZWFyY2hEaXJzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgbGluZSBsZW5ndGggd2hlcmUgUHJldHRpZXIgd2lsbCB0cnkgd3JhcC5cbiAgICpcbiAgICogQGRlZmF1bHQgODBcbiAgICovXG4gIHJlYWRvbmx5IHByaW50V2lkdGg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgdG8gd3JhcCBwcm9zZS5cbiAgICpcbiAgICogQGRlZmF1bHQgUHJvc2VXcmFwLlBSRVNFUlZFXG4gICAqL1xuICByZWFkb25seSBwcm9zZVdyYXA/OiBQcm9zZVdyYXA7XG4gIC8qKlxuICAgKiBDaGFuZ2Ugd2hlbiBwcm9wZXJ0aWVzIGluIG9iamVjdHMgYXJlIHF1b3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgUXVvdGVQcm9wcy5BU05FRURFRFxuICAgKi9cbiAgcmVhZG9ubHkgcXVvdGVQcm9wcz86IFF1b3RlUHJvcHM7XG4gIC8qKlxuICAgKiBGb3JtYXQgY29kZSBlbmRpbmcgYXQgYSBnaXZlbiBjaGFyYWN0ZXIgb2Zmc2V0IChleGNsdXNpdmUpLlxuICAgKiBUaGUgcmFuZ2Ugd2lsbCBleHRlbmQgZm9yd2FyZHMgdG8gdGhlIGVuZCBvZiB0aGUgc2VsZWN0ZWQgc3RhdGVtZW50LlxuICAgKiBUaGlzIG9wdGlvbiBjYW5ub3QgYmUgdXNlZCB3aXRoIC0tY3Vyc29yLW9mZnNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgcmVhZG9ubHkgcmFuZ2VFbmQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBGb3JtYXQgY29kZSBzdGFydGluZyBhdCBhIGdpdmVuIGNoYXJhY3RlciBvZmZzZXQuXG4gICAqIFRoZSByYW5nZSB3aWxsIGV4dGVuZCBiYWNrd2FyZHMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBsaW5lIGNvbnRhaW5pbmcgdGhlIHNlbGVjdGVkXG4gICAqIHN0YXRlbWVudC5cbiAgICogVGhpcyBvcHRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCAtLWN1cnNvci1vZmZzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIHJlYWRvbmx5IHJhbmdlU3RhcnQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBSZXF1aXJlIGVpdGhlciAnQHByZXR0aWVyJyBvciAnQGZvcm1hdCcgdG8gYmUgcHJlc2VudCBpbiB0aGUgZmlsZSdzIGZpcnN0IGRvY2Jsb2NrXG4gICAqIGNvbW1lbnRcbiAgICogaW4gb3JkZXIgZm9yIGl0IHRvIGJlIGZvcm1hdHRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVQcmFnbWE/OiBib29sZWFuO1xuICAvKipcbiAgICogUHJpbnQgc2VtaWNvbG9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VtaT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2Ugc2luZ2xlIHF1b3RlcyBpbnN0ZWFkIG9mIGRvdWJsZSBxdW90ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzaW5nbGVRdW90ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc3BhY2VzIHBlciBpbmRlbnRhdGlvbiBsZXZlbC5cbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgdGFiV2lkdGg/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBQcmludCB0cmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgd2hlbiBtdWx0aS1saW5lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBUcmFpbGluZ0NvbW1hLkVTNVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhaWxpbmdDb21tYT86IFRyYWlsaW5nQ29tbWE7XG4gIC8qKlxuICAgKiBJbmRlbnQgd2l0aCB0YWJzIGluc3RlYWQgb2Ygc3BhY2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlVGFicz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRlbnQgc2NyaXB0IGFuZCBzdHlsZSB0YWdzIGluIFZ1ZSBmaWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZ1ZUluZGVudFNjcmlwdEFuZFN0eWxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQXJyb3dQYXJlbnMge1xuICAvKipcbiAgICogQWx3YXlzIGluY2x1ZGUgcGFyZW5zLiBFeGFtcGxlOiBgKHgpID0+IHhgXG4gICAqL1xuICBBTFdBWVMgPSBcImFsd2F5c1wiLFxuXG4gIC8qKlxuICAgKiBPbWl0IHBhcmVucyB3aGVuIHBvc3NpYmxlLiBFeGFtcGxlOiBgeCA9PiB4YFxuICAgKi9cbiAgQVZPSUQgPSBcImF2b2lkXCIsXG59XG5cbmV4cG9ydCBlbnVtIEVtYmVkZGVkTGFuZ3VhZ2VGb3JtYXR0aW5nIHtcbiAgLyoqXG4gICAqIEZvcm1hdCBlbWJlZGRlZCBjb2RlIGlmIFByZXR0aWVyIGNhbiBhdXRvbWF0aWNhbGx5IGlkZW50aWZ5IGl0LlxuICAgKi9cbiAgQVVUTyA9IFwiYXV0b1wiLFxuXG4gIC8qKlxuICAgKiBOZXZlciBhdXRvbWF0aWNhbGx5IGZvcm1hdCBlbWJlZGRlZCBjb2RlLlxuICAgKi9cbiAgT0ZGID0gXCJvZmZcIixcbn1cblxuZXhwb3J0IGVudW0gRW5kT2ZMaW5lIHtcbiAgLyoqXG4gICAqIE1haW50YWluIGV4aXN0aW5nIChtaXhlZCB2YWx1ZXMgd2l0aGluIG9uZSBmaWxlIGFyZSBub3JtYWxpc2VkIGJ5IGxvb2tpbmdcbiAgICogYXQgd2hhdCdzIHVzZWQgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUpXG4gICAqL1xuICBBVVRPID0gXCJhdXRvXCIsXG5cbiAgLyoqXG4gICAqIENhcnJpYWdlIFJldHVybiBjaGFyYWN0ZXIgb25seSAoXFxyKSwgdXNlZCB2ZXJ5IHJhcmVseVxuICAgKi9cbiAgQ1IgPSBcImNyXCIsXG5cbiAgLyoqXG4gICAqIENhcnJpYWdlIFJldHVybiArIExpbmUgRmVlZCBjaGFyYWN0ZXJzIChcXHJcXG4pLCBjb21tb24gb24gV2luZG93c1xuICAgKi9cbiAgQ1JMRiA9IFwiY3JsZlwiLFxuXG4gIC8qKlxuICAgKiBMaW5lIEZlZWQgb25seSAoXFxuKSwgY29tbW9uIG9uIExpbnV4IGFuZCBtYWNPUyBhcyB3ZWxsIGFzIGluc2lkZSBnaXQgcmVwb3NcbiAgICovXG4gIExGID0gXCJsZlwiLFxufVxuXG5leHBvcnQgZW51bSBIVE1MV2hpdGVzcGFjZVNlbnNpdGl2aXR5IHtcbiAgLyoqXG4gICAqIFJlc3BlY3QgdGhlIGRlZmF1bHQgdmFsdWUgb2YgQ1NTIGRpc3BsYXkgcHJvcGVydHkuXG4gICAqL1xuICBDU1MgPSBcImNzc1wiLFxuXG4gIC8qKlxuICAgKiBXaGl0ZXNwYWNlcyBhcmUgY29uc2lkZXJlZCBpbnNpZ25pZmljYW50LlxuICAgKi9cbiAgSUdOT1JFID0gXCJpZ25vcmVcIixcblxuICAvKipcbiAgICogV2hpdGVzcGFjZXMgYXJlIGNvbnNpZGVyZWQgc2lnbmlmaWNhbnQuXG4gICAqL1xuICBTVFJJQ1QgPSBcInN0cmljdFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZXR0aWVyT3ZlcnJpZGUge1xuICAvKipcbiAgICogRXhjbHVkZSB0aGVzZSBmaWxlcyBmcm9tIHRoaXMgb3ZlcnJpZGUuXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlRmlsZXM/OiBGaWxlcztcbiAgLyoqXG4gICAqIEluY2x1ZGUgdGhlc2UgZmlsZXMgaW4gdGhpcyBvdmVycmlkZS5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVzOiBGaWxlcztcbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHRvIGFwcGx5IGZvciB0aGlzIG92ZXJyaWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2V0dGluZ3M6IFByZXR0aWVyU2V0dGluZ3M7XG59XG5cbi8qKlxuICogRXhjbHVkZSB0aGVzZSBmaWxlcyBmcm9tIHRoaXMgb3ZlcnJpZGUuXG4gKlxuICogSW5jbHVkZSB0aGVzZSBmaWxlcyBpbiB0aGlzIG92ZXJyaWRlLlxuICovXG5leHBvcnQgdHlwZSBGaWxlcyA9IHN0cmluZ1tdIHwgc3RyaW5nO1xuXG5leHBvcnQgZW51bSBQcm9zZVdyYXAge1xuICAvKipcbiAgICogV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cbiAgICovXG4gIEFMV0FZUyA9IFwiYWx3YXlzXCIsXG5cbiAgLyoqXG4gICAqIERvIG5vdCB3cmFwIHByb3NlLlxuICAgKi9cbiAgTkVWRVIgPSBcIm5ldmVyXCIsXG5cbiAgLyoqXG4gICAqIFdyYXAgcHJvc2UgYXMtaXMuXG4gICAqL1xuICBQUkVTRVJWRSA9IFwicHJlc2VydmVcIixcbn1cblxuZXhwb3J0IGVudW0gUXVvdGVQcm9wcyB7XG4gIC8qKlxuICAgKiBPbmx5IGFkZCBxdW90ZXMgYXJvdW5kIG9iamVjdCBwcm9wZXJ0aWVzIHdoZXJlIHJlcXVpcmVkLlxuICAgKi9cbiAgQVNORUVERUQgPSBcImFzLW5lZWRlZFwiLFxuXG4gIC8qKlxuICAgKiBJZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaW4gYW4gb2JqZWN0IHJlcXVpcmVzIHF1b3RlcywgcXVvdGUgYWxsIHByb3BlcnRpZXMuXG4gICAqL1xuICBDT05TSVNURU5UID0gXCJjb25zaXN0ZW50XCIsXG5cbiAgLyoqXG4gICAqIFJlc3BlY3QgdGhlIGlucHV0IHVzZSBvZiBxdW90ZXMgaW4gb2JqZWN0IHByb3BlcnRpZXMuXG4gICAqL1xuICBQUkVTRVJWRSA9IFwicHJlc2VydmVcIixcbn1cblxuZXhwb3J0IGVudW0gVHJhaWxpbmdDb21tYSB7XG4gIC8qKlxuICAgKiBUcmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgKGluY2x1ZGluZyBmdW5jdGlvbiBhcmd1bWVudHMpLlxuICAgKi9cbiAgQUxMID0gXCJhbGxcIixcblxuICAvKipcbiAgICogVHJhaWxpbmcgY29tbWFzIHdoZXJlIHZhbGlkIGluIEVTNSAob2JqZWN0cywgYXJyYXlzLCBldGMuKVxuICAgKi9cbiAgRVM1ID0gXCJlczVcIixcblxuICAvKipcbiAgICogTm8gdHJhaWxpbmcgY29tbWFzLlxuICAgKi9cbiAgTk9ORSA9IFwibm9uZVwiLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgcHJldHRpZXIgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFByZXR0aWVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogUHJldHRpZXIgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzUHJldHRpZXIgPSAoYzogQ29tcG9uZW50KTogYyBpcyBQcmV0dGllciA9PiBjIGluc3RhbmNlb2YgUHJldHRpZXI7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzUHJldHRpZXIpO1xuICB9XG4gIC8qKlxuICAgKiBEaXJlY3QgYWNjZXNzIHRvIHRoZSBwcmV0dGllciBzZXR0aW5nc1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNldHRpbmdzOiBQcmV0dGllclNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBUaGUgLnByZXR0aWVySWdub3JlIGZpbGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaWdub3JlRmlsZT86IElnbm9yZUZpbGU7XG5cbiAgLyoqXG4gICAqIERpcmVjdCBhY2Nlc3MgdG8gdGhlIHByZXR0aWVyIG92ZXJyaWRlc1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJyaWRlczogUHJldHRpZXJPdmVycmlkZVtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBQcmV0dGllck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuX292ZXJyaWRlcyA9IG9wdGlvbnMub3ZlcnJpZGVzID8/IFtdO1xuXG4gICAgaWYgKG9wdGlvbnMuaWdub3JlRmlsZSA/PyB0cnVlKSB7XG4gICAgICB0aGlzLmlnbm9yZUZpbGUgPSBuZXcgSWdub3JlRmlsZShwcm9qZWN0LCBcIi5wcmV0dGllcmlnbm9yZVwiKTtcbiAgICB9XG5cbiAgICBwcm9qZWN0LmFkZERldkRlcHMoXCJwcmV0dGllclwiKTtcblxuICAgIHRoaXMuc2V0dGluZ3MgPSB7XG4gICAgICAuLi5vcHRpb25zLnNldHRpbmdzLFxuICAgIH07XG5cbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgXCIucHJldHRpZXJyYy5qc29uXCIsIHtcbiAgICAgIG9iajogKCkgPT4gKHsgLi4udGhpcy5zZXR0aW5ncywgb3ZlcnJpZGVzOiBbLi4udGhpcy5fb3ZlcnJpZGVzXSB9KSxcbiAgICAgIG1hcmtlcjogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcHJldHRpZXIgb3ZlcnJpZGVcbiAgICogQHNlZSBodHRwczovL3ByZXR0aWVyLmlvL2RvY3MvZW4vY29uZmlndXJhdGlvbi5odG1sI2NvbmZpZ3VyYXRpb24tb3ZlcnJpZGVzXG4gICAqIEBwYXJhbSB7UHJldHRpZXJPdmVycmlkZX0gb3ZlcnJpZGVcbiAgICovXG4gIHB1YmxpYyBhZGRPdmVycmlkZShvdmVycmlkZTogUHJldHRpZXJPdmVycmlkZSkge1xuICAgIHRoaXMub3ZlcnJpZGVzLnB1c2gob3ZlcnJpZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgUHJldHRpZXIgaWdub3JlIFBhdHRlcm5zXG4gICAqIHRoZXNlIHBhdHRlcm5zIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGZpbGUgLnByZXR0aWVyaWdub3JlXG4gICAqXG4gICAqIEBwYXJhbSBwYXR0ZXJuIGZpbGVwYXR0ZXJucyBzbyBleGNsdWRlIGZyb20gcHJldHRpZXIgZm9ybWF0dGluZ1xuICAgKi9cbiAgcHVibGljIGFkZElnbm9yZVBhdHRlcm4ocGF0dGVybjogc3RyaW5nKSB7XG4gICAgdGhpcy5pZ25vcmVGaWxlPy5hZGRQYXR0ZXJucyhwYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQWNjZXNzIHRvIHRoZSBQcmV0dGllcm92ZXJyaWRlcyB0byBleHRlbmQgdGhvc2VcbiAgICovXG4gIHB1YmxpYyBnZXQgb3ZlcnJpZGVzKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5fb3ZlcnJpZGVzXTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVTeW50aGVzaXplKCkge1xuICAgIC8vIEFkZCBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBTb3VyY2VDb2RlIGZpbGVzIHRvIC5wcmV0dGllcmlnbm9yZSBhcyB0aGV5IG1heSBub3QgYmUgZm9ybWF0dGVkIGNvcnJlY3RseS5cbiAgICBjb25zdCBpc1NvdXJjZUNvZGUgPSAoYzogQ29tcG9uZW50KTogYyBpcyBTb3VyY2VDb2RlID0+XG4gICAgICBjIGluc3RhbmNlb2YgU291cmNlQ29kZTtcbiAgICB0aGlzLnByb2plY3QuY29tcG9uZW50cy5maWx0ZXIoaXNTb3VyY2VDb2RlKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICB0aGlzLmFkZElnbm9yZVBhdHRlcm4oYy5maWxlUGF0aCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,27 +1,17 @@
1
1
  import { Component } from "../component";
2
2
  import { Project } from "../project";
3
- /**
4
- * @experimental
5
- */
6
3
  export interface ProjenrcOptions {
7
4
  /**
8
- * (experimental) The name of the projenrc file.
9
- *
5
+ * The name of the projenrc file.
10
6
  * @default ".projenrc.js"
11
- * @experimental
12
7
  */
13
8
  readonly filename?: string;
14
9
  }
15
10
  /**
16
- * (experimental) Sets up a javascript project to use TypeScript for projenrc.
17
- *
18
- * @experimental
11
+ * Sets up a javascript project to use TypeScript for projenrc.
19
12
  */
20
13
  export declare class Projenrc extends Component {
21
14
  private readonly rcfile;
22
- /**
23
- * @experimental
24
- */
25
15
  constructor(project: Project, options?: ProjenrcOptions);
26
16
  private generateProjenrc;
27
17
  }
@@ -8,14 +8,9 @@ const path_1 = require("path");
8
8
  const component_1 = require("../component");
9
9
  const render_options_1 = require("./render-options");
10
10
  /**
11
- * (experimental) Sets up a javascript project to use TypeScript for projenrc.
12
- *
13
- * @experimental
11
+ * Sets up a javascript project to use TypeScript for projenrc.
14
12
  */
15
13
  class Projenrc extends component_1.Component {
16
- /**
17
- * @experimental
18
- */
19
14
  constructor(project, options = {}) {
20
15
  var _b, _c;
21
16
  super(project);
@@ -55,5 +50,5 @@ class Projenrc extends component_1.Component {
55
50
  }
56
51
  exports.Projenrc = Projenrc;
57
52
  _a = JSII_RTTI_SYMBOL_1;
58
- Projenrc[_a] = { fqn: "projen.javascript.Projenrc", version: "0.52.21" };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVucmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9wcm9qZW5yYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUErQztBQUMvQywrQkFBK0I7QUFDL0IsNENBQXlDO0FBRXpDLHFEQUEyRDs7Ozs7O0FBTzNELE1BQWEsUUFBUyxTQUFRLHFCQUFTOzs7O0lBR3JDLFlBQVksT0FBZ0IsRUFBRSxVQUEyQixFQUFFOztRQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxRQUFRLG1DQUFJLGNBQWMsQ0FBQztRQUVqRCx5REFBeUQ7UUFDekQsTUFBQSxPQUFPLENBQUMsV0FBVywwQ0FBRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFFakQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksZUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxpQkFBaUI7U0FDMUI7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxHQUFHLHdDQUF1QixDQUFDO1lBQzNELFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDcEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUNSLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLFVBQVUsS0FBSyxDQUMxRSxDQUFDO1FBQ0YsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsU0FBUyxJQUFJLGVBQWUsSUFBSSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRS9CLGtCQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3RCLDBDQUEwQyxNQUFNLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7O0FBbkRILDRCQW9EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyB9IGZyb20gXCIuL3JlbmRlci1vcHRpb25zXCI7XG5leHBvcnQgaW50ZXJmYWNlIFByb2plbnJjT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZpbGVuYW1lPzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFByb2plbnJjIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSByY2ZpbGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBQcm9qZW5yY09wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5yY2ZpbGUgPSBvcHRpb25zLmZpbGVuYW1lID8/IFwiLnByb2plbnJjLmpzXCI7XG5cbiAgICAvLyB0aGlzIGlzIHRoZSB0YXNrIHByb2plbiBleGVjdXRlcyB3aGVuIHJ1bm5pbmcgYHByb2plbmBcbiAgICBwcm9qZWN0LmRlZmF1bHRUYXNrPy5leGVjKGBub2RlICR7dGhpcy5yY2ZpbGV9YCk7XG5cbiAgICB0aGlzLmdlbmVyYXRlUHJvamVucmMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVQcm9qZW5yYygpIHtcbiAgICBjb25zdCByY2ZpbGUgPSByZXNvbHZlKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMucmNmaWxlKTtcbiAgICBpZiAoZXhpc3RzU3luYyhyY2ZpbGUpKSB7XG4gICAgICByZXR1cm47IC8vIGFscmVhZHkgZXhpc3RzXG4gICAgfVxuXG4gICAgY29uc3QgYm9vdHN0cmFwID0gdGhpcy5wcm9qZWN0LmluaXRQcm9qZWN0O1xuICAgIGlmICghYm9vdHN0cmFwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGFydHMgPSBib290c3RyYXAuZnFuLnNwbGl0KFwiLlwiKTtcbiAgICBjb25zdCBtb2R1bGVOYW1lID0gcGFydHNbMF07XG4gICAgY29uc3QgaW1wb3J0TmFtZSA9IHBhcnRzWzFdO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHBhcnRzLnNsaWNlKDEpLmpvaW4oXCIuXCIpO1xuXG4gICAgY29uc3QgeyByZW5kZXJlZE9wdGlvbnMsIGltcG9ydHMgfSA9IHJlbmRlckphdmFTY3JpcHRPcHRpb25zKHtcbiAgICAgIGNvbW1lbnRzOiBib290c3RyYXAuY29tbWVudHMsXG4gICAgICBhcmdzOiBib290c3RyYXAuYXJncyxcbiAgICAgIHR5cGU6IGJvb3RzdHJhcC50eXBlLFxuICAgIH0pO1xuXG4gICAgaW1wb3J0cy5hZGQoaW1wb3J0TmFtZSk7XG5cbiAgICBjb25zdCBsaW5lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgbGluZXMucHVzaChcbiAgICAgIGBjb25zdCB7ICR7Wy4uLmltcG9ydHNdLnNvcnQoKS5qb2luKFwiLCBcIil9IH0gPSByZXF1aXJlKFwiJHttb2R1bGVOYW1lfVwiKTtgXG4gICAgKTtcbiAgICBsaW5lcy5wdXNoKCk7XG4gICAgbGluZXMucHVzaChgY29uc3QgcHJvamVjdCA9IG5ldyAke2NsYXNzTmFtZX0oJHtyZW5kZXJlZE9wdGlvbnN9KTtgKTtcbiAgICBsaW5lcy5wdXNoKCk7XG4gICAgbGluZXMucHVzaChcInByb2plY3Quc3ludGgoKTtcIik7XG5cbiAgICB3cml0ZUZpbGVTeW5jKHJjZmlsZSwgbGluZXMuam9pbihcIlxcblwiKSk7XG4gICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5pbmZvKFxuICAgICAgYFByb2plY3QgZGVmaW5pdGlvbiBmaWxlIHdhcyBjcmVhdGVkIGF0ICR7cmNmaWxlfWBcbiAgICApO1xuICB9XG59XG4iXX0=
53
+ Projenrc[_a] = { fqn: "projen.javascript.Projenrc", version: "0.52.25" };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVucmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9wcm9qZW5yYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUErQztBQUMvQywrQkFBK0I7QUFDL0IsNENBQXlDO0FBRXpDLHFEQUEyRDtBQVMzRDs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLHFCQUFTO0lBR3JDLFlBQVksT0FBZ0IsRUFBRSxVQUEyQixFQUFFOztRQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxRQUFRLG1DQUFJLGNBQWMsQ0FBQztRQUVqRCx5REFBeUQ7UUFDekQsTUFBQSxPQUFPLENBQUMsV0FBVywwQ0FBRSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFFakQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixNQUFNLE1BQU0sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksZUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxpQkFBaUI7U0FDMUI7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQyxNQUFNLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxHQUFHLHdDQUF1QixDQUFDO1lBQzNELFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUM1QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDcEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUNSLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLFVBQVUsS0FBSyxDQUMxRSxDQUFDO1FBQ0YsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsU0FBUyxJQUFJLGVBQWUsSUFBSSxDQUFDLENBQUM7UUFDcEUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRS9CLGtCQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3RCLDBDQUEwQyxNQUFNLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7O0FBbkRILDRCQW9EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyB9IGZyb20gXCIuL3JlbmRlci1vcHRpb25zXCI7XG5leHBvcnQgaW50ZXJmYWNlIFByb2plbnJjT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvamVucmMgZmlsZS5cbiAgICogQGRlZmF1bHQgXCIucHJvamVucmMuanNcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZW5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2V0cyB1cCBhIGphdmFzY3JpcHQgcHJvamVjdCB0byB1c2UgVHlwZVNjcmlwdCBmb3IgcHJvamVucmMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZW5yYyBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmNmaWxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogUHJvamVucmNPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMucmNmaWxlID0gb3B0aW9ucy5maWxlbmFtZSA/PyBcIi5wcm9qZW5yYy5qc1wiO1xuXG4gICAgLy8gdGhpcyBpcyB0aGUgdGFzayBwcm9qZW4gZXhlY3V0ZXMgd2hlbiBydW5uaW5nIGBwcm9qZW5gXG4gICAgcHJvamVjdC5kZWZhdWx0VGFzaz8uZXhlYyhgbm9kZSAke3RoaXMucmNmaWxlfWApO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVByb2plbnJjKCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlUHJvamVucmMoKSB7XG4gICAgY29uc3QgcmNmaWxlID0gcmVzb2x2ZSh0aGlzLnByb2plY3Qub3V0ZGlyLCB0aGlzLnJjZmlsZSk7XG4gICAgaWYgKGV4aXN0c1N5bmMocmNmaWxlKSkge1xuICAgICAgcmV0dXJuOyAvLyBhbHJlYWR5IGV4aXN0c1xuICAgIH1cblxuICAgIGNvbnN0IGJvb3RzdHJhcCA9IHRoaXMucHJvamVjdC5pbml0UHJvamVjdDtcbiAgICBpZiAoIWJvb3RzdHJhcCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnRzID0gYm9vdHN0cmFwLmZxbi5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IHBhcnRzWzBdO1xuICAgIGNvbnN0IGltcG9ydE5hbWUgPSBwYXJ0c1sxXTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBwYXJ0cy5zbGljZSgxKS5qb2luKFwiLlwiKTtcblxuICAgIGNvbnN0IHsgcmVuZGVyZWRPcHRpb25zLCBpbXBvcnRzIH0gPSByZW5kZXJKYXZhU2NyaXB0T3B0aW9ucyh7XG4gICAgICBjb21tZW50czogYm9vdHN0cmFwLmNvbW1lbnRzLFxuICAgICAgYXJnczogYm9vdHN0cmFwLmFyZ3MsXG4gICAgICB0eXBlOiBib290c3RyYXAudHlwZSxcbiAgICB9KTtcblxuICAgIGltcG9ydHMuYWRkKGltcG9ydE5hbWUpO1xuXG4gICAgY29uc3QgbGluZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGxpbmVzLnB1c2goXG4gICAgICBgY29uc3QgeyAke1suLi5pbXBvcnRzXS5zb3J0KCkuam9pbihcIiwgXCIpfSB9ID0gcmVxdWlyZShcIiR7bW9kdWxlTmFtZX1cIik7YFxuICAgICk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goYGNvbnN0IHByb2plY3QgPSBuZXcgJHtjbGFzc05hbWV9KCR7cmVuZGVyZWRPcHRpb25zfSk7YCk7XG4gICAgbGluZXMucHVzaCgpO1xuICAgIGxpbmVzLnB1c2goXCJwcm9qZWN0LnN5bnRoKCk7XCIpO1xuXG4gICAgd3JpdGVGaWxlU3luYyhyY2ZpbGUsIGxpbmVzLmpvaW4oXCJcXG5cIikpO1xuICAgIHRoaXMucHJvamVjdC5sb2dnZXIuaW5mbyhcbiAgICAgIGBQcm9qZWN0IGRlZmluaXRpb24gZmlsZSB3YXMgY3JlYXRlZCBhdCAke3JjZmlsZX1gXG4gICAgKTtcbiAgfVxufVxuIl19