projen 0.0.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 (1575) hide show
  1. package/.jsii +36365 -0
  2. package/API.md +14952 -0
  3. package/LICENSE +202 -0
  4. package/README.md +373 -0
  5. package/assets/web/react/favicon.ico +0 -0
  6. package/assets/web/react/index.html +43 -0
  7. package/assets/web/react/logo192.png +0 -0
  8. package/assets/web/react/logo512.png +0 -0
  9. package/assets/web/react/manifest.json +25 -0
  10. package/assets/web/react/robots.txt +3 -0
  11. package/bin/projen +3 -0
  12. package/docs/awscdk-apps.md +15 -0
  13. package/docs/awscdk-construct.md +195 -0
  14. package/docs/awscdk.md +200 -0
  15. package/docs/build.md +55 -0
  16. package/docs/bundling.md +30 -0
  17. package/docs/deps.md +59 -0
  18. package/docs/escape-hatches.md +27 -0
  19. package/docs/java.md +213 -0
  20. package/docs/mutable-builds.md +0 -0
  21. package/docs/node.md +20 -0
  22. package/docs/programmatic-api.md +56 -0
  23. package/docs/publisher.md +148 -0
  24. package/docs/python.md +167 -0
  25. package/docs/releases.md +71 -0
  26. package/docs/subproject.md +37 -0
  27. package/docs/tasks.md +178 -0
  28. package/docs/typescript.md +108 -0
  29. package/lib/_resolve.d.ts +2 -0
  30. package/lib/_resolve.js +53 -0
  31. package/lib/awscdk/auto-discover.d.ts +54 -0
  32. package/lib/awscdk/auto-discover.js +54 -0
  33. package/lib/awscdk/awscdk-app-ts.d.ts +78 -0
  34. package/lib/awscdk/awscdk-app-ts.js +185 -0
  35. package/lib/awscdk/awscdk-construct.d.ts +80 -0
  36. package/lib/awscdk/awscdk-construct.js +116 -0
  37. package/lib/awscdk/awscdk-deps.d.ts +158 -0
  38. package/lib/awscdk/awscdk-deps.js +169 -0
  39. package/lib/awscdk/cdk-config.d.ts +128 -0
  40. package/lib/awscdk/cdk-config.js +61 -0
  41. package/lib/awscdk/cdk-tasks.d.ts +50 -0
  42. package/lib/awscdk/cdk-tasks.js +54 -0
  43. package/lib/awscdk/index.d.ts +9 -0
  44. package/lib/awscdk/index.js +22 -0
  45. package/lib/awscdk/integration-test.d.ts +90 -0
  46. package/lib/awscdk/integration-test.js +106 -0
  47. package/lib/awscdk/internal.d.ts +12 -0
  48. package/lib/awscdk/internal.js +30 -0
  49. package/lib/awscdk/java-app.d.ts +92 -0
  50. package/lib/awscdk/java-app.js +90 -0
  51. package/lib/awscdk/lambda-function.d.ts +143 -0
  52. package/lib/awscdk/lambda-function.js +176 -0
  53. package/lib/build/build-workflow.d.ts +125 -0
  54. package/lib/build/build-workflow.js +223 -0
  55. package/lib/build/index.d.ts +1 -0
  56. package/lib/build/index.js +14 -0
  57. package/lib/builtin-example.task.d.ts +0 -0
  58. package/lib/builtin-example.task.js +4 -0
  59. package/lib/cdk/construct-lib.d.ts +52 -0
  60. package/lib/cdk/construct-lib.js +30 -0
  61. package/lib/cdk/consts.d.ts +14 -0
  62. package/lib/cdk/consts.js +37 -0
  63. package/lib/cdk/index.d.ts +3 -0
  64. package/lib/cdk/index.js +16 -0
  65. package/lib/cdk/jsii-docgen.d.ts +12 -0
  66. package/lib/cdk/jsii-docgen.js +29 -0
  67. package/lib/cdk/jsii-project.d.ts +205 -0
  68. package/lib/cdk/jsii-project.js +250 -0
  69. package/lib/cdk8s/cdk8s-app-ts.d.ts +111 -0
  70. package/lib/cdk8s/cdk8s-app-ts.js +134 -0
  71. package/lib/cdk8s/cdk8s-construct.d.ts +79 -0
  72. package/lib/cdk8s/cdk8s-construct.js +39 -0
  73. package/lib/cdk8s/index.d.ts +2 -0
  74. package/lib/cdk8s/index.js +15 -0
  75. package/lib/cdktf/cdktf-construct.d.ts +30 -0
  76. package/lib/cdktf/cdktf-construct.js +33 -0
  77. package/lib/cdktf/index.d.ts +1 -0
  78. package/lib/cdktf/index.js +14 -0
  79. package/lib/cleanup.d.ts +2 -0
  80. package/lib/cleanup.js +73 -0
  81. package/lib/cli/cmds/new.d.ts +1 -0
  82. package/lib/cli/cmds/new.js +232 -0
  83. package/lib/cli/index.d.ts +1 -0
  84. package/lib/cli/index.js +50 -0
  85. package/lib/cli/macros.d.ts +1 -0
  86. package/lib/cli/macros.js +40 -0
  87. package/lib/cli/synth.d.ts +19 -0
  88. package/lib/cli/synth.js +104 -0
  89. package/lib/cli/tasks.d.ts +7 -0
  90. package/lib/cli/tasks.js +62 -0
  91. package/lib/cli/util.d.ts +19 -0
  92. package/lib/cli/util.js +52 -0
  93. package/lib/clobber.d.ts +5 -0
  94. package/lib/clobber.js +24 -0
  95. package/lib/common.d.ts +5 -0
  96. package/lib/common.js +14 -0
  97. package/lib/component.d.ts +33 -0
  98. package/lib/component.js +43 -0
  99. package/lib/dependencies.d.ts +187 -0
  100. package/lib/dependencies.js +219 -0
  101. package/lib/dev-env.d.ts +107 -0
  102. package/lib/dev-env.js +41 -0
  103. package/lib/docker-compose.d.ts +434 -0
  104. package/lib/docker-compose.js +308 -0
  105. package/lib/file.d.ts +141 -0
  106. package/lib/file.js +75 -0
  107. package/lib/gitattributes.d.ts +29 -0
  108. package/lib/gitattributes.js +61 -0
  109. package/lib/github/auto-approve.d.ts +59 -0
  110. package/lib/github/auto-approve.js +63 -0
  111. package/lib/github/auto-merge.d.ts +44 -0
  112. package/lib/github/auto-merge.js +67 -0
  113. package/lib/github/constants.d.ts +17 -0
  114. package/lib/github/constants.js +33 -0
  115. package/lib/github/dependabot.d.ts +340 -0
  116. package/lib/github/dependabot.js +119 -0
  117. package/lib/github/github-project.d.ts +193 -0
  118. package/lib/github/github-project.js +70 -0
  119. package/lib/github/github.d.ts +110 -0
  120. package/lib/github/github.js +86 -0
  121. package/lib/github/index.d.ts +13 -0
  122. package/lib/github/index.js +26 -0
  123. package/lib/github/mergify.d.ts +75 -0
  124. package/lib/github/mergify.js +40 -0
  125. package/lib/github/pr-template.d.ts +29 -0
  126. package/lib/github/pr-template.js +28 -0
  127. package/lib/github/pull-request-lint.d.ts +68 -0
  128. package/lib/github/pull-request-lint.js +62 -0
  129. package/lib/github/stale-util.d.ts +8 -0
  130. package/lib/github/stale-util.js +20 -0
  131. package/lib/github/stale.d.ts +106 -0
  132. package/lib/github/stale.js +71 -0
  133. package/lib/github/task-workflow.d.ts +155 -0
  134. package/lib/github/task-workflow.js +84 -0
  135. package/lib/github/workflows-model.d.ts +1280 -0
  136. package/lib/github/workflows-model.js +17 -0
  137. package/lib/github/workflows.d.ts +99 -0
  138. package/lib/github/workflows.js +208 -0
  139. package/lib/gitpod.d.ts +397 -0
  140. package/lib/gitpod.js +208 -0
  141. package/lib/ignore-file.d.ts +55 -0
  142. package/lib/ignore-file.js +112 -0
  143. package/lib/index.d.ts +46 -0
  144. package/lib/index.js +60 -0
  145. package/lib/ini.d.ts +27 -0
  146. package/lib/ini.js +40 -0
  147. package/lib/inventory.d.ts +45 -0
  148. package/lib/inventory.js +273 -0
  149. package/lib/java/index.d.ts +7 -0
  150. package/lib/java/index.js +20 -0
  151. package/lib/java/java-project.d.ts +181 -0
  152. package/lib/java/java-project.js +98 -0
  153. package/lib/java/junit.d.ts +41 -0
  154. package/lib/java/junit.js +50 -0
  155. package/lib/java/maven-compile.d.ts +35 -0
  156. package/lib/java/maven-compile.js +32 -0
  157. package/lib/java/maven-packaging.d.ts +49 -0
  158. package/lib/java/maven-packaging.js +71 -0
  159. package/lib/java/maven-sample.d.ts +24 -0
  160. package/lib/java/maven-sample.js +39 -0
  161. package/lib/java/pom.d.ts +243 -0
  162. package/lib/java/pom.js +176 -0
  163. package/lib/java/projenrc.d.ts +65 -0
  164. package/lib/java/projenrc.js +147 -0
  165. package/lib/javascript/bundler.d.ts +182 -0
  166. package/lib/javascript/bundler.js +123 -0
  167. package/lib/javascript/eslint.d.ts +177 -0
  168. package/lib/javascript/eslint.js +261 -0
  169. package/lib/javascript/index.d.ts +9 -0
  170. package/lib/javascript/index.js +22 -0
  171. package/lib/javascript/jest.d.ts +766 -0
  172. package/lib/javascript/jest.js +185 -0
  173. package/lib/javascript/node-package.d.ts +649 -0
  174. package/lib/javascript/node-package.js +687 -0
  175. package/lib/javascript/node-project.d.ts +572 -0
  176. package/lib/javascript/node-project.js +473 -0
  177. package/lib/javascript/npm-config.d.ts +50 -0
  178. package/lib/javascript/npm-config.js +53 -0
  179. package/lib/javascript/projenrc.d.ts +27 -0
  180. package/lib/javascript/projenrc.js +59 -0
  181. package/lib/javascript/render-options.d.ts +57 -0
  182. package/lib/javascript/render-options.js +169 -0
  183. package/lib/javascript/typescript-config.d.ts +424 -0
  184. package/lib/javascript/typescript-config.js +71 -0
  185. package/lib/javascript/upgrade-dependencies.d.ts +252 -0
  186. package/lib/javascript/upgrade-dependencies.js +341 -0
  187. package/lib/javascript/util.d.ts +1 -0
  188. package/lib/javascript/util.js +16 -0
  189. package/lib/json.d.ts +27 -0
  190. package/lib/json.js +42 -0
  191. package/lib/license.d.ts +48 -0
  192. package/lib/license.js +48 -0
  193. package/lib/logger.d.ts +117 -0
  194. package/lib/logger.js +127 -0
  195. package/lib/logging.d.ts +8 -0
  196. package/lib/logging.js +46 -0
  197. package/lib/makefile.d.ts +108 -0
  198. package/lib/makefile.js +99 -0
  199. package/lib/object-file.d.ts +112 -0
  200. package/lib/object-file.js +125 -0
  201. package/lib/option-hints.d.ts +27 -0
  202. package/lib/option-hints.js +17 -0
  203. package/lib/project-build.d.ts +60 -0
  204. package/lib/project-build.js +61 -0
  205. package/lib/project.d.ts +427 -0
  206. package/lib/project.js +391 -0
  207. package/lib/projects.d.ts +80 -0
  208. package/lib/projects.js +81 -0
  209. package/lib/projenrc-json.d.ts +27 -0
  210. package/lib/projenrc-json.js +47 -0
  211. package/lib/python/index.d.ts +13 -0
  212. package/lib/python/index.js +26 -0
  213. package/lib/python/pip.d.ts +48 -0
  214. package/lib/python/pip.js +78 -0
  215. package/lib/python/poetry.d.ts +262 -0
  216. package/lib/python/poetry.js +169 -0
  217. package/lib/python/projenrc.d.ts +42 -0
  218. package/lib/python/projenrc.js +135 -0
  219. package/lib/python/pytest.d.ts +36 -0
  220. package/lib/python/pytest.js +52 -0
  221. package/lib/python/python-deps.d.ts +44 -0
  222. package/lib/python/python-deps.js +3 -0
  223. package/lib/python/python-env.d.ts +11 -0
  224. package/lib/python/python-env.js +3 -0
  225. package/lib/python/python-packaging.d.ts +80 -0
  226. package/lib/python/python-packaging.js +3 -0
  227. package/lib/python/python-project.d.ts +202 -0
  228. package/lib/python/python-project.js +155 -0
  229. package/lib/python/python-sample.d.ts +20 -0
  230. package/lib/python/python-sample.js +48 -0
  231. package/lib/python/requirements-file.d.ts +44 -0
  232. package/lib/python/requirements-file.js +75 -0
  233. package/lib/python/setuppy.d.ts +88 -0
  234. package/lib/python/setuppy.js +78 -0
  235. package/lib/python/setuptools.d.ts +27 -0
  236. package/lib/python/setuptools.js +47 -0
  237. package/lib/python/venv.d.ts +38 -0
  238. package/lib/python/venv.js +44 -0
  239. package/lib/readme.d.ts +37 -0
  240. package/lib/readme.js +24 -0
  241. package/lib/release/bump-version.d.ts +59 -0
  242. package/lib/release/bump-version.js +151 -0
  243. package/lib/release/bump-version.task.d.ts +1 -0
  244. package/lib/release/bump-version.task.js +60 -0
  245. package/lib/release/index.d.ts +3 -0
  246. package/lib/release/index.js +16 -0
  247. package/lib/release/publisher.d.ts +554 -0
  248. package/lib/release/publisher.js +407 -0
  249. package/lib/release/release-trigger.d.ts +129 -0
  250. package/lib/release/release-trigger.js +88 -0
  251. package/lib/release/release.d.ts +361 -0
  252. package/lib/release/release.js +287 -0
  253. package/lib/release/reset-version.task.d.ts +1 -0
  254. package/lib/release/reset-version.task.js +17 -0
  255. package/lib/release/tag-version.d.ts +31 -0
  256. package/lib/release/tag-version.js +36 -0
  257. package/lib/release/tag-version.task.d.ts +1 -0
  258. package/lib/release/tag-version.task.js +34 -0
  259. package/lib/release/update-changelog.d.ts +36 -0
  260. package/lib/release/update-changelog.js +41 -0
  261. package/lib/release/update-changelog.task.d.ts +1 -0
  262. package/lib/release/update-changelog.task.js +39 -0
  263. package/lib/run-projenrc-json.task.d.ts +1 -0
  264. package/lib/run-projenrc-json.task.js +31 -0
  265. package/lib/sample-file.d.ts +121 -0
  266. package/lib/sample-file.js +129 -0
  267. package/lib/semver.d.ts +51 -0
  268. package/lib/semver.js +61 -0
  269. package/lib/source-code.d.ts +51 -0
  270. package/lib/source-code.js +66 -0
  271. package/lib/task-model.d.ts +156 -0
  272. package/lib/task-model.js +3 -0
  273. package/lib/task-runtime.d.ts +43 -0
  274. package/lib/task-runtime.js +272 -0
  275. package/lib/task.d.ts +161 -0
  276. package/lib/task.js +215 -0
  277. package/lib/tasks.d.ts +73 -0
  278. package/lib/tasks.js +129 -0
  279. package/lib/testing.d.ts +20 -0
  280. package/lib/testing.js +31 -0
  281. package/lib/textfile.d.ts +48 -0
  282. package/lib/textfile.js +47 -0
  283. package/lib/toml.d.ts +27 -0
  284. package/lib/toml.js +40 -0
  285. package/lib/typescript/index.d.ts +3 -0
  286. package/lib/typescript/index.js +16 -0
  287. package/lib/typescript/projenrc.d.ts +34 -0
  288. package/lib/typescript/projenrc.js +72 -0
  289. package/lib/typescript/typescript-typedoc.d.ts +12 -0
  290. package/lib/typescript/typescript-typedoc.js +28 -0
  291. package/lib/typescript/typescript.d.ts +215 -0
  292. package/lib/typescript/typescript.js +287 -0
  293. package/lib/util/semver.d.ts +43 -0
  294. package/lib/util/semver.js +210 -0
  295. package/lib/util/synth.d.ts +24 -0
  296. package/lib/util/synth.js +69 -0
  297. package/lib/util.d.ts +99 -0
  298. package/lib/util.js +254 -0
  299. package/lib/version.d.ts +70 -0
  300. package/lib/version.js +60 -0
  301. package/lib/vscode/devcontainer.d.ts +68 -0
  302. package/lib/vscode/devcontainer.js +104 -0
  303. package/lib/vscode/index.d.ts +3 -0
  304. package/lib/vscode/index.js +16 -0
  305. package/lib/vscode/launch-config.d.ts +149 -0
  306. package/lib/vscode/launch-config.js +51 -0
  307. package/lib/vscode/vscode.d.ts +17 -0
  308. package/lib/vscode/vscode.js +31 -0
  309. package/lib/web/index.d.ts +4 -0
  310. package/lib/web/index.js +17 -0
  311. package/lib/web/next.d.ts +141 -0
  312. package/lib/web/next.js +403 -0
  313. package/lib/web/postcss.d.ts +49 -0
  314. package/lib/web/postcss.js +35 -0
  315. package/lib/web/react.d.ts +152 -0
  316. package/lib/web/react.js +379 -0
  317. package/lib/web/tailwind.d.ts +35 -0
  318. package/lib/web/tailwind.js +42 -0
  319. package/lib/xmlfile.d.ts +30 -0
  320. package/lib/xmlfile.js +46 -0
  321. package/lib/yaml.d.ts +27 -0
  322. package/lib/yaml.js +40 -0
  323. package/license-text/Apache-2.0.txt +202 -0
  324. package/license-text/Artistic-1.0.txt +122 -0
  325. package/license-text/Artistic-2.0.txt +181 -0
  326. package/license-text/GPL-2.0-or-later.txt +339 -0
  327. package/license-text/GPL-3.0-WITH-GCC-exception-3.1.txt +73 -0
  328. package/license-text/GPL-3.0-or-later.txt +674 -0
  329. package/license-text/LGPL-2.1-or-later.txt +502 -0
  330. package/license-text/LGPL-3.0-or-later.txt +165 -0
  331. package/license-text/MIT-0.txt +15 -0
  332. package/license-text/MIT.txt +19 -0
  333. package/license-text/MPL-2.0.txt +353 -0
  334. package/license-text/OFL-1.1.txt +91 -0
  335. package/license-text/PHP-3.01.txt +68 -0
  336. package/license-text/Ruby.txt +52 -0
  337. package/license-text/Unlicense.txt +24 -0
  338. package/license-text/WTFPL.txt +14 -0
  339. package/license-text/ZPL-2.1.txt +44 -0
  340. package/logo/projen.svg +211 -0
  341. package/node_modules/@iarna/toml/CHANGELOG.md +278 -0
  342. package/node_modules/@iarna/toml/LICENSE +14 -0
  343. package/node_modules/@iarna/toml/README.md +301 -0
  344. package/node_modules/@iarna/toml/index.d.ts +57 -0
  345. package/node_modules/@iarna/toml/lib/create-date.js +23 -0
  346. package/node_modules/@iarna/toml/lib/create-datetime-float.js +24 -0
  347. package/node_modules/@iarna/toml/lib/create-datetime.js +10 -0
  348. package/node_modules/@iarna/toml/lib/create-time.js +22 -0
  349. package/node_modules/@iarna/toml/lib/format-num.js +6 -0
  350. package/node_modules/@iarna/toml/lib/parser-debug.js +60 -0
  351. package/node_modules/@iarna/toml/lib/parser.js +127 -0
  352. package/node_modules/@iarna/toml/lib/toml-parser.js +1379 -0
  353. package/node_modules/@iarna/toml/package.json +82 -0
  354. package/node_modules/@iarna/toml/parse-async.js +30 -0
  355. package/node_modules/@iarna/toml/parse-pretty-error.js +33 -0
  356. package/node_modules/@iarna/toml/parse-stream.js +80 -0
  357. package/node_modules/@iarna/toml/parse-string.js +18 -0
  358. package/node_modules/@iarna/toml/parse.js +5 -0
  359. package/node_modules/@iarna/toml/stringify.js +296 -0
  360. package/node_modules/@iarna/toml/toml.js +3 -0
  361. package/node_modules/@oozcitak/dom/LICENSE +21 -0
  362. package/node_modules/@oozcitak/dom/README.md +32 -0
  363. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.d.ts +21 -0
  364. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js +79 -0
  365. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js.map +1 -0
  366. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.d.ts +8 -0
  367. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js +23 -0
  368. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js.map +1 -0
  369. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.d.ts +8 -0
  370. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js +76 -0
  371. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js.map +1 -0
  372. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.d.ts +19 -0
  373. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js +140 -0
  374. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js.map +1 -0
  375. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.d.ts +192 -0
  376. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js +303 -0
  377. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js.map +1 -0
  378. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.d.ts +61 -0
  379. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js +108 -0
  380. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js.map +1 -0
  381. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.d.ts +72 -0
  382. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js +288 -0
  383. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js.map +1 -0
  384. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.d.ts +21 -0
  385. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js +61 -0
  386. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js.map +1 -0
  387. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.d.ts +29 -0
  388. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js +161 -0
  389. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js.map +1 -0
  390. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.d.ts +121 -0
  391. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js +608 -0
  392. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js.map +1 -0
  393. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.d.ts +146 -0
  394. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js +995 -0
  395. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js.map +1 -0
  396. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.d.ts +33 -0
  397. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js +142 -0
  398. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js.map +1 -0
  399. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.d.ts +66 -0
  400. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js +1173 -0
  401. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js.map +1 -0
  402. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.d.ts +43 -0
  403. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js +276 -0
  404. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js.map +1 -0
  405. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.d.ts +25 -0
  406. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js +85 -0
  407. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js.map +1 -0
  408. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.d.ts +68 -0
  409. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js +543 -0
  410. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js.map +1 -0
  411. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.d.ts +15 -0
  412. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js +105 -0
  413. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js.map +1 -0
  414. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.d.ts +27 -0
  415. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js +125 -0
  416. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js.map +1 -0
  417. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.d.ts +9 -0
  418. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js +69 -0
  419. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js.map +1 -0
  420. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.d.ts +82 -0
  421. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js +829 -0
  422. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js.map +1 -0
  423. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.d.ts +8 -0
  424. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js +21 -0
  425. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js.map +1 -0
  426. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.d.ts +57 -0
  427. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js +316 -0
  428. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js.map +1 -0
  429. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.d.ts +30 -0
  430. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js +226 -0
  431. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js.map +1 -0
  432. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.d.ts +8 -0
  433. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js +62 -0
  434. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js.map +1 -0
  435. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.d.ts +268 -0
  436. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js +853 -0
  437. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js.map +1 -0
  438. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.d.ts +17 -0
  439. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js +147 -0
  440. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js.map +1 -0
  441. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.d.ts +8 -0
  442. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js +14 -0
  443. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js.map +1 -0
  444. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.d.ts +25 -0
  445. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js +164 -0
  446. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js.map +1 -0
  447. package/node_modules/@oozcitak/dom/lib/algorithm/index.d.ts +28 -0
  448. package/node_modules/@oozcitak/dom/lib/algorithm/index.js +34 -0
  449. package/node_modules/@oozcitak/dom/lib/algorithm/index.js.map +1 -0
  450. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.d.ts +15 -0
  451. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js +32 -0
  452. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js.map +1 -0
  453. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.d.ts +23 -0
  454. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js +59 -0
  455. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js.map +1 -0
  456. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.d.ts +23 -0
  457. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js +70 -0
  458. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js.map +1 -0
  459. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.d.ts +45 -0
  460. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js +118 -0
  461. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js.map +1 -0
  462. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.d.ts +21 -0
  463. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js +51 -0
  464. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js.map +1 -0
  465. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.d.ts +35 -0
  466. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js +132 -0
  467. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js.map +1 -0
  468. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.d.ts +16 -0
  469. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js +165 -0
  470. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js.map +1 -0
  471. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.d.ts +21 -0
  472. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js +52 -0
  473. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js.map +1 -0
  474. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.d.ts +16 -0
  475. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js +60 -0
  476. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js.map +1 -0
  477. package/node_modules/@oozcitak/dom/lib/dom/DOMException.d.ts +171 -0
  478. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js +347 -0
  479. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js.map +1 -0
  480. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.d.ts +48 -0
  481. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js +100 -0
  482. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js.map +1 -0
  483. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.d.ts +29 -0
  484. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js +149 -0
  485. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js.map +1 -0
  486. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.d.ts +46 -0
  487. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js +312 -0
  488. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js.map +1 -0
  489. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.d.ts +32 -0
  490. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js +103 -0
  491. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js.map +1 -0
  492. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.d.ts +116 -0
  493. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js +545 -0
  494. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js.map +1 -0
  495. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.d.ts +11 -0
  496. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js +17 -0
  497. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js.map +1 -0
  498. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.d.ts +39 -0
  499. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js +109 -0
  500. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js.map +1 -0
  501. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.d.ts +132 -0
  502. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js +714 -0
  503. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js.map +1 -0
  504. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.d.ts +74 -0
  505. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js +313 -0
  506. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js.map +1 -0
  507. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.d.ts +30 -0
  508. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js +133 -0
  509. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js.map +1 -0
  510. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.d.ts +44 -0
  511. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js +157 -0
  512. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js.map +1 -0
  513. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.d.ts +22 -0
  514. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js +184 -0
  515. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js.map +1 -0
  516. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.d.ts +73 -0
  517. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js +116 -0
  518. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js.map +1 -0
  519. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.d.ts +34 -0
  520. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js +112 -0
  521. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js.map +1 -0
  522. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.d.ts +50 -0
  523. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js +64 -0
  524. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js.map +1 -0
  525. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.d.ts +252 -0
  526. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js +891 -0
  527. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js.map +1 -0
  528. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.d.ts +34 -0
  529. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js +86 -0
  530. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js.map +1 -0
  531. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.d.ts +46 -0
  532. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js +198 -0
  533. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js.map +1 -0
  534. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.d.ts +49 -0
  535. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js +188 -0
  536. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js.map +1 -0
  537. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.d.ts +12 -0
  538. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js +53 -0
  539. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js.map +1 -0
  540. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.d.ts +9 -0
  541. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js +31 -0
  542. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js.map +1 -0
  543. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.d.ts +24 -0
  544. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js +158 -0
  545. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js.map +1 -0
  546. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.d.ts +25 -0
  547. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js +59 -0
  548. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js.map +1 -0
  549. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.d.ts +71 -0
  550. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js +649 -0
  551. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js.map +1 -0
  552. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.d.ts +33 -0
  553. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js +82 -0
  554. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js.map +1 -0
  555. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.d.ts +16 -0
  556. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js +35 -0
  557. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js.map +1 -0
  558. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.d.ts +13 -0
  559. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js +48 -0
  560. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js.map +1 -0
  561. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.d.ts +28 -0
  562. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js +109 -0
  563. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js.map +1 -0
  564. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.d.ts +23 -0
  565. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js +41 -0
  566. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js.map +1 -0
  567. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.d.ts +36 -0
  568. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js +249 -0
  569. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js.map +1 -0
  570. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.d.ts +26 -0
  571. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js +57 -0
  572. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js.map +1 -0
  573. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.d.ts +11 -0
  574. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js +31 -0
  575. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js.map +1 -0
  576. package/node_modules/@oozcitak/dom/lib/dom/index.d.ts +36 -0
  577. package/node_modules/@oozcitak/dom/lib/dom/index.js +102 -0
  578. package/node_modules/@oozcitak/dom/lib/dom/index.js.map +1 -0
  579. package/node_modules/@oozcitak/dom/lib/dom/interfaces.d.ts +2218 -0
  580. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js +91 -0
  581. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js.map +1 -0
  582. package/node_modules/@oozcitak/dom/lib/index.d.ts +3 -0
  583. package/node_modules/@oozcitak/dom/lib/index.js +11 -0
  584. package/node_modules/@oozcitak/dom/lib/index.js.map +1 -0
  585. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.d.ts +11 -0
  586. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js +37 -0
  587. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js.map +1 -0
  588. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.d.ts +14 -0
  589. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js +220 -0
  590. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js.map +1 -0
  591. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.d.ts +159 -0
  592. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js +512 -0
  593. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js.map +1 -0
  594. package/node_modules/@oozcitak/dom/lib/parser/index.d.ts +1 -0
  595. package/node_modules/@oozcitak/dom/lib/parser/index.js +6 -0
  596. package/node_modules/@oozcitak/dom/lib/parser/index.js.map +1 -0
  597. package/node_modules/@oozcitak/dom/lib/parser/interfaces.d.ts +131 -0
  598. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js +18 -0
  599. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js.map +1 -0
  600. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.d.ts +27 -0
  601. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js +56 -0
  602. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js.map +1 -0
  603. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.d.ts +52 -0
  604. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js +151 -0
  605. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js.map +1 -0
  606. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.d.ts +166 -0
  607. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js +1479 -0
  608. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js.map +1 -0
  609. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.d.ts +2 -0
  610. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js +962 -0
  611. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js.map +1 -0
  612. package/node_modules/@oozcitak/dom/lib/serializer/index.d.ts +1 -0
  613. package/node_modules/@oozcitak/dom/lib/serializer/index.js +6 -0
  614. package/node_modules/@oozcitak/dom/lib/serializer/index.js.map +1 -0
  615. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.d.ts +15 -0
  616. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js +3 -0
  617. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js.map +1 -0
  618. package/node_modules/@oozcitak/dom/lib/util/Cast.d.ts +12 -0
  619. package/node_modules/@oozcitak/dom/lib/util/Cast.js +26 -0
  620. package/node_modules/@oozcitak/dom/lib/util/Cast.js.map +1 -0
  621. package/node_modules/@oozcitak/dom/lib/util/EmptySet.d.ts +13 -0
  622. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js +61 -0
  623. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js.map +1 -0
  624. package/node_modules/@oozcitak/dom/lib/util/Guard.d.ts +135 -0
  625. package/node_modules/@oozcitak/dom/lib/util/Guard.js +192 -0
  626. package/node_modules/@oozcitak/dom/lib/util/Guard.js.map +1 -0
  627. package/node_modules/@oozcitak/dom/lib/util/index.d.ts +3 -0
  628. package/node_modules/@oozcitak/dom/lib/util/index.js +9 -0
  629. package/node_modules/@oozcitak/dom/lib/util/index.js.map +1 -0
  630. package/node_modules/@oozcitak/dom/package.json +72 -0
  631. package/node_modules/@oozcitak/infra/LICENSE +21 -0
  632. package/node_modules/@oozcitak/infra/README.md +13 -0
  633. package/node_modules/@oozcitak/infra/lib/Base64.d.ts +12 -0
  634. package/node_modules/@oozcitak/infra/lib/Base64.js +82 -0
  635. package/node_modules/@oozcitak/infra/lib/Base64.js.map +1 -0
  636. package/node_modules/@oozcitak/infra/lib/Byte.d.ts +6 -0
  637. package/node_modules/@oozcitak/infra/lib/Byte.js +15 -0
  638. package/node_modules/@oozcitak/infra/lib/Byte.js.map +1 -0
  639. package/node_modules/@oozcitak/infra/lib/ByteSequence.d.ts +45 -0
  640. package/node_modules/@oozcitak/infra/lib/ByteSequence.js +171 -0
  641. package/node_modules/@oozcitak/infra/lib/ByteSequence.js.map +1 -0
  642. package/node_modules/@oozcitak/infra/lib/CodePoints.d.ts +82 -0
  643. package/node_modules/@oozcitak/infra/lib/CodePoints.js +85 -0
  644. package/node_modules/@oozcitak/infra/lib/CodePoints.js.map +1 -0
  645. package/node_modules/@oozcitak/infra/lib/JSON.d.ts +24 -0
  646. package/node_modules/@oozcitak/infra/lib/JSON.js +123 -0
  647. package/node_modules/@oozcitak/infra/lib/JSON.js.map +1 -0
  648. package/node_modules/@oozcitak/infra/lib/List.d.ts +101 -0
  649. package/node_modules/@oozcitak/infra/lib/List.js +325 -0
  650. package/node_modules/@oozcitak/infra/lib/List.js.map +1 -0
  651. package/node_modules/@oozcitak/infra/lib/Map.d.ts +87 -0
  652. package/node_modules/@oozcitak/infra/lib/Map.js +308 -0
  653. package/node_modules/@oozcitak/infra/lib/Map.js.map +1 -0
  654. package/node_modules/@oozcitak/infra/lib/Namespace.d.ts +6 -0
  655. package/node_modules/@oozcitak/infra/lib/Namespace.js +9 -0
  656. package/node_modules/@oozcitak/infra/lib/Namespace.js.map +1 -0
  657. package/node_modules/@oozcitak/infra/lib/Queue.d.ts +13 -0
  658. package/node_modules/@oozcitak/infra/lib/Queue.js +22 -0
  659. package/node_modules/@oozcitak/infra/lib/Queue.js.map +1 -0
  660. package/node_modules/@oozcitak/infra/lib/Set.d.ts +136 -0
  661. package/node_modules/@oozcitak/infra/lib/Set.js +467 -0
  662. package/node_modules/@oozcitak/infra/lib/Set.js.map +1 -0
  663. package/node_modules/@oozcitak/infra/lib/Stack.d.ts +13 -0
  664. package/node_modules/@oozcitak/infra/lib/Stack.js +22 -0
  665. package/node_modules/@oozcitak/infra/lib/Stack.js.map +1 -0
  666. package/node_modules/@oozcitak/infra/lib/String.d.ts +129 -0
  667. package/node_modules/@oozcitak/infra/lib/String.js +472 -0
  668. package/node_modules/@oozcitak/infra/lib/String.js.map +1 -0
  669. package/node_modules/@oozcitak/infra/lib/index.d.ts +13 -0
  670. package/node_modules/@oozcitak/infra/lib/index.js +34 -0
  671. package/node_modules/@oozcitak/infra/lib/index.js.map +1 -0
  672. package/node_modules/@oozcitak/infra/package.json +54 -0
  673. package/node_modules/@oozcitak/url/LICENSE +21 -0
  674. package/node_modules/@oozcitak/url/README.md +27 -0
  675. package/node_modules/@oozcitak/url/lib/URLAlgorithm.d.ts +267 -0
  676. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js +2758 -0
  677. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js.map +1 -0
  678. package/node_modules/@oozcitak/url/lib/URLImpl.d.ts +53 -0
  679. package/node_modules/@oozcitak/url/lib/URLImpl.js +377 -0
  680. package/node_modules/@oozcitak/url/lib/URLImpl.js.map +1 -0
  681. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.d.ts +38 -0
  682. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js +303 -0
  683. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js.map +1 -0
  684. package/node_modules/@oozcitak/url/lib/index.d.ts +2 -0
  685. package/node_modules/@oozcitak/url/lib/index.js +7 -0
  686. package/node_modules/@oozcitak/url/lib/index.js.map +1 -0
  687. package/node_modules/@oozcitak/url/lib/interfaces.d.ts +195 -0
  688. package/node_modules/@oozcitak/url/lib/interfaces.js +31 -0
  689. package/node_modules/@oozcitak/url/lib/interfaces.js.map +1 -0
  690. package/node_modules/@oozcitak/url/package.json +55 -0
  691. package/node_modules/@oozcitak/util/LICENSE +21 -0
  692. package/node_modules/@oozcitak/util/README.md +10 -0
  693. package/node_modules/@oozcitak/util/lib/CompareCache.d.ts +32 -0
  694. package/node_modules/@oozcitak/util/lib/CompareCache.js +59 -0
  695. package/node_modules/@oozcitak/util/lib/CompareCache.js.map +1 -0
  696. package/node_modules/@oozcitak/util/lib/FixedSizeSet.d.ts +64 -0
  697. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js +174 -0
  698. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js.map +1 -0
  699. package/node_modules/@oozcitak/util/lib/Lazy.d.ts +18 -0
  700. package/node_modules/@oozcitak/util/lib/Lazy.js +34 -0
  701. package/node_modules/@oozcitak/util/lib/Lazy.js.map +1 -0
  702. package/node_modules/@oozcitak/util/lib/ObjectCache.d.ts +71 -0
  703. package/node_modules/@oozcitak/util/lib/ObjectCache.js +181 -0
  704. package/node_modules/@oozcitak/util/lib/ObjectCache.js.map +1 -0
  705. package/node_modules/@oozcitak/util/lib/StringWalker.d.ts +49 -0
  706. package/node_modules/@oozcitak/util/lib/StringWalker.js +105 -0
  707. package/node_modules/@oozcitak/util/lib/StringWalker.js.map +1 -0
  708. package/node_modules/@oozcitak/util/lib/index.d.ts +178 -0
  709. package/node_modules/@oozcitak/util/lib/index.js +439 -0
  710. package/node_modules/@oozcitak/util/lib/index.js.map +1 -0
  711. package/node_modules/@oozcitak/util/package.json +50 -0
  712. package/node_modules/ansi-regex/index.d.ts +37 -0
  713. package/node_modules/ansi-regex/index.js +10 -0
  714. package/node_modules/ansi-regex/license +9 -0
  715. package/node_modules/ansi-regex/package.json +55 -0
  716. package/node_modules/ansi-regex/readme.md +78 -0
  717. package/node_modules/ansi-styles/index.d.ts +345 -0
  718. package/node_modules/ansi-styles/index.js +163 -0
  719. package/node_modules/ansi-styles/license +9 -0
  720. package/node_modules/ansi-styles/package.json +56 -0
  721. package/node_modules/ansi-styles/readme.md +152 -0
  722. package/node_modules/argparse/CHANGELOG.md +185 -0
  723. package/node_modules/argparse/LICENSE +21 -0
  724. package/node_modules/argparse/README.md +257 -0
  725. package/node_modules/argparse/index.js +3 -0
  726. package/node_modules/argparse/lib/action/append/constant.js +47 -0
  727. package/node_modules/argparse/lib/action/append.js +53 -0
  728. package/node_modules/argparse/lib/action/count.js +40 -0
  729. package/node_modules/argparse/lib/action/help.js +47 -0
  730. package/node_modules/argparse/lib/action/store/constant.js +43 -0
  731. package/node_modules/argparse/lib/action/store/false.js +27 -0
  732. package/node_modules/argparse/lib/action/store/true.js +26 -0
  733. package/node_modules/argparse/lib/action/store.js +50 -0
  734. package/node_modules/argparse/lib/action/subparsers.js +149 -0
  735. package/node_modules/argparse/lib/action/version.js +47 -0
  736. package/node_modules/argparse/lib/action.js +146 -0
  737. package/node_modules/argparse/lib/action_container.js +482 -0
  738. package/node_modules/argparse/lib/argparse.js +14 -0
  739. package/node_modules/argparse/lib/argument/error.js +50 -0
  740. package/node_modules/argparse/lib/argument/exclusive.js +54 -0
  741. package/node_modules/argparse/lib/argument/group.js +75 -0
  742. package/node_modules/argparse/lib/argument_parser.js +1161 -0
  743. package/node_modules/argparse/lib/const.js +21 -0
  744. package/node_modules/argparse/lib/help/added_formatters.js +87 -0
  745. package/node_modules/argparse/lib/help/formatter.js +795 -0
  746. package/node_modules/argparse/lib/namespace.js +76 -0
  747. package/node_modules/argparse/lib/utils.js +57 -0
  748. package/node_modules/argparse/package.json +34 -0
  749. package/node_modules/at-least-node/LICENSE +6 -0
  750. package/node_modules/at-least-node/README.md +25 -0
  751. package/node_modules/at-least-node/index.js +5 -0
  752. package/node_modules/at-least-node/package.json +32 -0
  753. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  754. package/node_modules/balanced-match/LICENSE.md +21 -0
  755. package/node_modules/balanced-match/README.md +97 -0
  756. package/node_modules/balanced-match/index.js +62 -0
  757. package/node_modules/balanced-match/package.json +48 -0
  758. package/node_modules/brace-expansion/LICENSE +21 -0
  759. package/node_modules/brace-expansion/README.md +129 -0
  760. package/node_modules/brace-expansion/index.js +201 -0
  761. package/node_modules/brace-expansion/package.json +47 -0
  762. package/node_modules/case/LICENSE +22 -0
  763. package/node_modules/case/README.md +139 -0
  764. package/node_modules/case/case.d.ts +43 -0
  765. package/node_modules/case/dist/Case.js +171 -0
  766. package/node_modules/case/dist/Case.min.js +5 -0
  767. package/node_modules/case/dist/Case.min.js.map +1 -0
  768. package/node_modules/case/dist/Case.plus.js +189 -0
  769. package/node_modules/case/dist/Case.plus.min.js +5 -0
  770. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  771. package/node_modules/case/package.json +58 -0
  772. package/node_modules/chalk/index.d.ts +415 -0
  773. package/node_modules/chalk/license +9 -0
  774. package/node_modules/chalk/package.json +68 -0
  775. package/node_modules/chalk/readme.md +341 -0
  776. package/node_modules/chalk/source/index.js +229 -0
  777. package/node_modules/chalk/source/templates.js +134 -0
  778. package/node_modules/chalk/source/util.js +39 -0
  779. package/node_modules/cliui/CHANGELOG.md +121 -0
  780. package/node_modules/cliui/LICENSE.txt +14 -0
  781. package/node_modules/cliui/README.md +141 -0
  782. package/node_modules/cliui/build/index.cjs +302 -0
  783. package/node_modules/cliui/build/lib/index.js +287 -0
  784. package/node_modules/cliui/build/lib/string-utils.js +27 -0
  785. package/node_modules/cliui/index.mjs +13 -0
  786. package/node_modules/cliui/package.json +83 -0
  787. package/node_modules/color-convert/CHANGELOG.md +54 -0
  788. package/node_modules/color-convert/LICENSE +21 -0
  789. package/node_modules/color-convert/README.md +68 -0
  790. package/node_modules/color-convert/conversions.js +839 -0
  791. package/node_modules/color-convert/index.js +81 -0
  792. package/node_modules/color-convert/package.json +48 -0
  793. package/node_modules/color-convert/route.js +97 -0
  794. package/node_modules/color-name/LICENSE +8 -0
  795. package/node_modules/color-name/README.md +11 -0
  796. package/node_modules/color-name/index.js +152 -0
  797. package/node_modules/color-name/package.json +28 -0
  798. package/node_modules/concat-map/.travis.yml +4 -0
  799. package/node_modules/concat-map/LICENSE +18 -0
  800. package/node_modules/concat-map/README.markdown +62 -0
  801. package/node_modules/concat-map/example/map.js +6 -0
  802. package/node_modules/concat-map/index.js +13 -0
  803. package/node_modules/concat-map/package.json +43 -0
  804. package/node_modules/concat-map/test/map.js +39 -0
  805. package/node_modules/conventional-changelog-config-spec/CHANGELOG.md +15 -0
  806. package/node_modules/conventional-changelog-config-spec/README.md +7 -0
  807. package/node_modules/conventional-changelog-config-spec/index.js +1 -0
  808. package/node_modules/conventional-changelog-config-spec/package.json +32 -0
  809. package/node_modules/conventional-changelog-config-spec/renovate.json +5 -0
  810. package/node_modules/conventional-changelog-config-spec/tests/shared.js +38 -0
  811. package/node_modules/conventional-changelog-config-spec/tests/v1.test.js +7 -0
  812. package/node_modules/conventional-changelog-config-spec/tests/v2.test.js +26 -0
  813. package/node_modules/conventional-changelog-config-spec/versions/1.0.0/README.md +143 -0
  814. package/node_modules/conventional-changelog-config-spec/versions/1.0.0/schema.json +81 -0
  815. package/node_modules/conventional-changelog-config-spec/versions/2.0.0/README.md +155 -0
  816. package/node_modules/conventional-changelog-config-spec/versions/2.0.0/schema.json +89 -0
  817. package/node_modules/conventional-changelog-config-spec/versions/2.1.0/README.md +166 -0
  818. package/node_modules/conventional-changelog-config-spec/versions/2.1.0/schema.json +97 -0
  819. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  820. package/node_modules/emoji-regex/README.md +73 -0
  821. package/node_modules/emoji-regex/es2015/index.js +6 -0
  822. package/node_modules/emoji-regex/es2015/text.js +6 -0
  823. package/node_modules/emoji-regex/index.d.ts +23 -0
  824. package/node_modules/emoji-regex/index.js +6 -0
  825. package/node_modules/emoji-regex/package.json +50 -0
  826. package/node_modules/emoji-regex/text.js +6 -0
  827. package/node_modules/escalade/dist/index.js +22 -0
  828. package/node_modules/escalade/dist/index.mjs +22 -0
  829. package/node_modules/escalade/index.d.ts +3 -0
  830. package/node_modules/escalade/license +9 -0
  831. package/node_modules/escalade/package.json +61 -0
  832. package/node_modules/escalade/readme.md +211 -0
  833. package/node_modules/escalade/sync/index.d.ts +2 -0
  834. package/node_modules/escalade/sync/index.js +18 -0
  835. package/node_modules/escalade/sync/index.mjs +18 -0
  836. package/node_modules/esprima/ChangeLog +235 -0
  837. package/node_modules/esprima/LICENSE.BSD +21 -0
  838. package/node_modules/esprima/README.md +46 -0
  839. package/node_modules/esprima/bin/esparse.js +139 -0
  840. package/node_modules/esprima/bin/esvalidate.js +236 -0
  841. package/node_modules/esprima/dist/esprima.js +6709 -0
  842. package/node_modules/esprima/package.json +112 -0
  843. package/node_modules/fs-extra/CHANGELOG.md +902 -0
  844. package/node_modules/fs-extra/LICENSE +15 -0
  845. package/node_modules/fs-extra/README.md +264 -0
  846. package/node_modules/fs-extra/lib/copy/copy.js +232 -0
  847. package/node_modules/fs-extra/lib/copy/index.js +6 -0
  848. package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  849. package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  850. package/node_modules/fs-extra/lib/empty/index.js +48 -0
  851. package/node_modules/fs-extra/lib/ensure/file.js +69 -0
  852. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  853. package/node_modules/fs-extra/lib/ensure/link.js +61 -0
  854. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  855. package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  856. package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  857. package/node_modules/fs-extra/lib/fs/index.js +130 -0
  858. package/node_modules/fs-extra/lib/index.js +27 -0
  859. package/node_modules/fs-extra/lib/json/index.js +16 -0
  860. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  861. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  862. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  863. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  864. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  865. package/node_modules/fs-extra/lib/move/index.js +6 -0
  866. package/node_modules/fs-extra/lib/move/move.js +65 -0
  867. package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  868. package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  869. package/node_modules/fs-extra/lib/output/index.js +40 -0
  870. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  871. package/node_modules/fs-extra/lib/remove/index.js +9 -0
  872. package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  873. package/node_modules/fs-extra/lib/util/stat.js +139 -0
  874. package/node_modules/fs-extra/lib/util/utimes.js +26 -0
  875. package/node_modules/fs-extra/node_modules/universalify/LICENSE +20 -0
  876. package/node_modules/fs-extra/node_modules/universalify/README.md +76 -0
  877. package/node_modules/fs-extra/node_modules/universalify/index.js +24 -0
  878. package/node_modules/fs-extra/node_modules/universalify/package.json +34 -0
  879. package/node_modules/fs-extra/package.json +70 -0
  880. package/node_modules/fs.realpath/LICENSE +43 -0
  881. package/node_modules/fs.realpath/README.md +33 -0
  882. package/node_modules/fs.realpath/index.js +66 -0
  883. package/node_modules/fs.realpath/old.js +303 -0
  884. package/node_modules/fs.realpath/package.json +26 -0
  885. package/node_modules/function-bind/.editorconfig +20 -0
  886. package/node_modules/function-bind/.eslintrc +15 -0
  887. package/node_modules/function-bind/.jscs.json +176 -0
  888. package/node_modules/function-bind/.npmignore +22 -0
  889. package/node_modules/function-bind/.travis.yml +168 -0
  890. package/node_modules/function-bind/LICENSE +20 -0
  891. package/node_modules/function-bind/README.md +48 -0
  892. package/node_modules/function-bind/implementation.js +52 -0
  893. package/node_modules/function-bind/index.js +5 -0
  894. package/node_modules/function-bind/package.json +63 -0
  895. package/node_modules/function-bind/test/.eslintrc +9 -0
  896. package/node_modules/function-bind/test/index.js +252 -0
  897. package/node_modules/get-caller-file/LICENSE.md +6 -0
  898. package/node_modules/get-caller-file/README.md +41 -0
  899. package/node_modules/get-caller-file/index.d.ts +2 -0
  900. package/node_modules/get-caller-file/index.js +22 -0
  901. package/node_modules/get-caller-file/index.js.map +1 -0
  902. package/node_modules/get-caller-file/package.json +42 -0
  903. package/node_modules/glob/LICENSE +21 -0
  904. package/node_modules/glob/README.md +378 -0
  905. package/node_modules/glob/common.js +236 -0
  906. package/node_modules/glob/glob.js +787 -0
  907. package/node_modules/glob/package.json +52 -0
  908. package/node_modules/glob/sync.js +483 -0
  909. package/node_modules/graceful-fs/LICENSE +15 -0
  910. package/node_modules/graceful-fs/README.md +143 -0
  911. package/node_modules/graceful-fs/clone.js +23 -0
  912. package/node_modules/graceful-fs/graceful-fs.js +429 -0
  913. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  914. package/node_modules/graceful-fs/package.json +50 -0
  915. package/node_modules/graceful-fs/polyfills.js +346 -0
  916. package/node_modules/has/LICENSE-MIT +22 -0
  917. package/node_modules/has/README.md +18 -0
  918. package/node_modules/has/package.json +48 -0
  919. package/node_modules/has/src/index.js +5 -0
  920. package/node_modules/has/test/index.js +10 -0
  921. package/node_modules/has-flag/index.d.ts +39 -0
  922. package/node_modules/has-flag/index.js +8 -0
  923. package/node_modules/has-flag/license +9 -0
  924. package/node_modules/has-flag/package.json +46 -0
  925. package/node_modules/has-flag/readme.md +89 -0
  926. package/node_modules/inflight/LICENSE +15 -0
  927. package/node_modules/inflight/README.md +37 -0
  928. package/node_modules/inflight/inflight.js +54 -0
  929. package/node_modules/inflight/package.json +29 -0
  930. package/node_modules/inherits/LICENSE +16 -0
  931. package/node_modules/inherits/README.md +42 -0
  932. package/node_modules/inherits/inherits.js +9 -0
  933. package/node_modules/inherits/inherits_browser.js +27 -0
  934. package/node_modules/inherits/package.json +29 -0
  935. package/node_modules/ini/LICENSE +15 -0
  936. package/node_modules/ini/README.md +102 -0
  937. package/node_modules/ini/ini.js +206 -0
  938. package/node_modules/ini/package.json +36 -0
  939. package/node_modules/interpret/CHANGELOG +115 -0
  940. package/node_modules/interpret/LICENSE +22 -0
  941. package/node_modules/interpret/README.md +187 -0
  942. package/node_modules/interpret/index.js +168 -0
  943. package/node_modules/interpret/mjs-stub.js +1 -0
  944. package/node_modules/interpret/package.json +75 -0
  945. package/node_modules/is-core-module/.eslintignore +1 -0
  946. package/node_modules/is-core-module/.eslintrc +18 -0
  947. package/node_modules/is-core-module/.nycrc +9 -0
  948. package/node_modules/is-core-module/CHANGELOG.md +117 -0
  949. package/node_modules/is-core-module/LICENSE +20 -0
  950. package/node_modules/is-core-module/README.md +40 -0
  951. package/node_modules/is-core-module/core.json +152 -0
  952. package/node_modules/is-core-module/index.js +69 -0
  953. package/node_modules/is-core-module/package.json +69 -0
  954. package/node_modules/is-core-module/test/index.js +130 -0
  955. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  956. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  957. package/node_modules/is-fullwidth-code-point/license +9 -0
  958. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  959. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  960. package/node_modules/jsonfile/CHANGELOG.md +171 -0
  961. package/node_modules/jsonfile/LICENSE +15 -0
  962. package/node_modules/jsonfile/README.md +230 -0
  963. package/node_modules/jsonfile/index.js +88 -0
  964. package/node_modules/jsonfile/node_modules/universalify/LICENSE +20 -0
  965. package/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
  966. package/node_modules/jsonfile/node_modules/universalify/index.js +24 -0
  967. package/node_modules/jsonfile/node_modules/universalify/package.json +34 -0
  968. package/node_modules/jsonfile/package.json +40 -0
  969. package/node_modules/jsonfile/utils.js +14 -0
  970. package/node_modules/lru-cache/LICENSE +15 -0
  971. package/node_modules/lru-cache/README.md +166 -0
  972. package/node_modules/lru-cache/index.js +334 -0
  973. package/node_modules/lru-cache/package.json +34 -0
  974. package/node_modules/minimatch/LICENSE +15 -0
  975. package/node_modules/minimatch/README.md +209 -0
  976. package/node_modules/minimatch/minimatch.js +923 -0
  977. package/node_modules/minimatch/package.json +30 -0
  978. package/node_modules/minimist/.travis.yml +8 -0
  979. package/node_modules/minimist/LICENSE +18 -0
  980. package/node_modules/minimist/example/parse.js +2 -0
  981. package/node_modules/minimist/index.js +245 -0
  982. package/node_modules/minimist/package.json +45 -0
  983. package/node_modules/minimist/readme.markdown +95 -0
  984. package/node_modules/minimist/test/all_bool.js +32 -0
  985. package/node_modules/minimist/test/bool.js +178 -0
  986. package/node_modules/minimist/test/dash.js +31 -0
  987. package/node_modules/minimist/test/default_bool.js +35 -0
  988. package/node_modules/minimist/test/dotted.js +22 -0
  989. package/node_modules/minimist/test/kv_short.js +16 -0
  990. package/node_modules/minimist/test/long.js +31 -0
  991. package/node_modules/minimist/test/num.js +36 -0
  992. package/node_modules/minimist/test/parse.js +197 -0
  993. package/node_modules/minimist/test/parse_modified.js +9 -0
  994. package/node_modules/minimist/test/proto.js +44 -0
  995. package/node_modules/minimist/test/short.js +67 -0
  996. package/node_modules/minimist/test/stop_early.js +15 -0
  997. package/node_modules/minimist/test/unknown.js +102 -0
  998. package/node_modules/minimist/test/whitespace.js +8 -0
  999. package/node_modules/once/LICENSE +15 -0
  1000. package/node_modules/once/README.md +79 -0
  1001. package/node_modules/once/once.js +42 -0
  1002. package/node_modules/once/package.json +33 -0
  1003. package/node_modules/path-is-absolute/index.js +20 -0
  1004. package/node_modules/path-is-absolute/license +21 -0
  1005. package/node_modules/path-is-absolute/package.json +43 -0
  1006. package/node_modules/path-is-absolute/readme.md +59 -0
  1007. package/node_modules/path-parse/LICENSE +21 -0
  1008. package/node_modules/path-parse/README.md +42 -0
  1009. package/node_modules/path-parse/index.js +75 -0
  1010. package/node_modules/path-parse/package.json +33 -0
  1011. package/node_modules/rechoir/.npmignore +1 -0
  1012. package/node_modules/rechoir/.travis.yml +24 -0
  1013. package/node_modules/rechoir/CHANGELOG +38 -0
  1014. package/node_modules/rechoir/LICENSE +22 -0
  1015. package/node_modules/rechoir/README.md +42 -0
  1016. package/node_modules/rechoir/index.js +59 -0
  1017. package/node_modules/rechoir/lib/extension.js +11 -0
  1018. package/node_modules/rechoir/lib/normalize.js +15 -0
  1019. package/node_modules/rechoir/lib/register.js +15 -0
  1020. package/node_modules/rechoir/package.json +88 -0
  1021. package/node_modules/require-directory/.jshintrc +67 -0
  1022. package/node_modules/require-directory/.npmignore +1 -0
  1023. package/node_modules/require-directory/.travis.yml +3 -0
  1024. package/node_modules/require-directory/LICENSE +22 -0
  1025. package/node_modules/require-directory/README.markdown +184 -0
  1026. package/node_modules/require-directory/index.js +86 -0
  1027. package/node_modules/require-directory/package.json +40 -0
  1028. package/node_modules/resolve/.editorconfig +37 -0
  1029. package/node_modules/resolve/.eslintignore +1 -0
  1030. package/node_modules/resolve/.eslintrc +39 -0
  1031. package/node_modules/resolve/LICENSE +21 -0
  1032. package/node_modules/resolve/SECURITY.md +3 -0
  1033. package/node_modules/resolve/appveyor.yml +74 -0
  1034. package/node_modules/resolve/example/async.js +5 -0
  1035. package/node_modules/resolve/example/sync.js +3 -0
  1036. package/node_modules/resolve/index.js +6 -0
  1037. package/node_modules/resolve/lib/async.js +320 -0
  1038. package/node_modules/resolve/lib/caller.js +8 -0
  1039. package/node_modules/resolve/lib/core.js +53 -0
  1040. package/node_modules/resolve/lib/core.json +83 -0
  1041. package/node_modules/resolve/lib/is-core.js +5 -0
  1042. package/node_modules/resolve/lib/node-modules-paths.js +42 -0
  1043. package/node_modules/resolve/lib/normalize-options.js +10 -0
  1044. package/node_modules/resolve/lib/sync.js +199 -0
  1045. package/node_modules/resolve/package.json +51 -0
  1046. package/node_modules/resolve/readme.markdown +279 -0
  1047. package/node_modules/resolve/test/.eslintrc +5 -0
  1048. package/node_modules/resolve/test/core.js +81 -0
  1049. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  1050. package/node_modules/resolve/test/dotdot/index.js +1 -0
  1051. package/node_modules/resolve/test/dotdot.js +29 -0
  1052. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  1053. package/node_modules/resolve/test/filter.js +34 -0
  1054. package/node_modules/resolve/test/filter_sync.js +33 -0
  1055. package/node_modules/resolve/test/mock.js +315 -0
  1056. package/node_modules/resolve/test/mock_sync.js +216 -0
  1057. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  1058. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  1059. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  1060. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  1061. package/node_modules/resolve/test/module_dir.js +56 -0
  1062. package/node_modules/resolve/test/node-modules-paths.js +143 -0
  1063. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  1064. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  1065. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  1066. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  1067. package/node_modules/resolve/test/node_path.js +70 -0
  1068. package/node_modules/resolve/test/nonstring.js +9 -0
  1069. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  1070. package/node_modules/resolve/test/pathfilter.js +75 -0
  1071. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  1072. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  1073. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  1074. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  1075. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  1076. package/node_modules/resolve/test/precedence.js +23 -0
  1077. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  1078. package/node_modules/resolve/test/resolver/baz/package.json +4 -0
  1079. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  1080. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  1081. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  1082. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  1083. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  1084. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  1085. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  1086. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  1087. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  1088. package/node_modules/resolve/test/resolver/foo.js +1 -0
  1089. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  1090. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  1091. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  1092. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  1093. package/node_modules/resolve/test/resolver/mug.js +0 -0
  1094. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  1095. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  1096. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  1097. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  1098. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  1099. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  1100. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  1101. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  1102. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  1103. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  1104. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  1105. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  1106. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  1107. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  1108. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  1109. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  1110. package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  1111. package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  1112. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  1113. package/node_modules/resolve/test/resolver.js +450 -0
  1114. package/node_modules/resolve/test/resolver_sync.js +358 -0
  1115. package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  1116. package/node_modules/resolve/test/shadowed_core.js +54 -0
  1117. package/node_modules/resolve/test/subdirs.js +13 -0
  1118. package/node_modules/resolve/test/symlinks.js +176 -0
  1119. package/node_modules/semver/CHANGELOG.md +111 -0
  1120. package/node_modules/semver/LICENSE +15 -0
  1121. package/node_modules/semver/README.md +566 -0
  1122. package/node_modules/semver/bin/semver.js +173 -0
  1123. package/node_modules/semver/classes/comparator.js +135 -0
  1124. package/node_modules/semver/classes/index.js +5 -0
  1125. package/node_modules/semver/classes/range.js +510 -0
  1126. package/node_modules/semver/classes/semver.js +287 -0
  1127. package/node_modules/semver/functions/clean.js +6 -0
  1128. package/node_modules/semver/functions/cmp.js +48 -0
  1129. package/node_modules/semver/functions/coerce.js +51 -0
  1130. package/node_modules/semver/functions/compare-build.js +7 -0
  1131. package/node_modules/semver/functions/compare-loose.js +3 -0
  1132. package/node_modules/semver/functions/compare.js +5 -0
  1133. package/node_modules/semver/functions/diff.js +23 -0
  1134. package/node_modules/semver/functions/eq.js +3 -0
  1135. package/node_modules/semver/functions/gt.js +3 -0
  1136. package/node_modules/semver/functions/gte.js +3 -0
  1137. package/node_modules/semver/functions/inc.js +15 -0
  1138. package/node_modules/semver/functions/lt.js +3 -0
  1139. package/node_modules/semver/functions/lte.js +3 -0
  1140. package/node_modules/semver/functions/major.js +3 -0
  1141. package/node_modules/semver/functions/minor.js +3 -0
  1142. package/node_modules/semver/functions/neq.js +3 -0
  1143. package/node_modules/semver/functions/parse.js +33 -0
  1144. package/node_modules/semver/functions/patch.js +3 -0
  1145. package/node_modules/semver/functions/prerelease.js +6 -0
  1146. package/node_modules/semver/functions/rcompare.js +3 -0
  1147. package/node_modules/semver/functions/rsort.js +3 -0
  1148. package/node_modules/semver/functions/satisfies.js +10 -0
  1149. package/node_modules/semver/functions/sort.js +3 -0
  1150. package/node_modules/semver/functions/valid.js +6 -0
  1151. package/node_modules/semver/index.js +48 -0
  1152. package/node_modules/semver/internal/constants.js +17 -0
  1153. package/node_modules/semver/internal/debug.js +9 -0
  1154. package/node_modules/semver/internal/identifiers.js +23 -0
  1155. package/node_modules/semver/internal/parse-options.js +11 -0
  1156. package/node_modules/semver/internal/re.js +182 -0
  1157. package/node_modules/semver/package.json +41 -0
  1158. package/node_modules/semver/preload.js +2 -0
  1159. package/node_modules/semver/range.bnf +16 -0
  1160. package/node_modules/semver/ranges/gtr.js +4 -0
  1161. package/node_modules/semver/ranges/intersects.js +7 -0
  1162. package/node_modules/semver/ranges/ltr.js +4 -0
  1163. package/node_modules/semver/ranges/max-satisfying.js +25 -0
  1164. package/node_modules/semver/ranges/min-satisfying.js +24 -0
  1165. package/node_modules/semver/ranges/min-version.js +60 -0
  1166. package/node_modules/semver/ranges/outside.js +80 -0
  1167. package/node_modules/semver/ranges/simplify.js +44 -0
  1168. package/node_modules/semver/ranges/subset.js +222 -0
  1169. package/node_modules/semver/ranges/to-comparators.js +8 -0
  1170. package/node_modules/semver/ranges/valid.js +11 -0
  1171. package/node_modules/shelljs/CHANGELOG.md +942 -0
  1172. package/node_modules/shelljs/LICENSE +26 -0
  1173. package/node_modules/shelljs/README.md +835 -0
  1174. package/node_modules/shelljs/bin/shjs +48 -0
  1175. package/node_modules/shelljs/commands.js +29 -0
  1176. package/node_modules/shelljs/global.js +12 -0
  1177. package/node_modules/shelljs/make.js +57 -0
  1178. package/node_modules/shelljs/package.json +79 -0
  1179. package/node_modules/shelljs/plugin.js +16 -0
  1180. package/node_modules/shelljs/shell.js +156 -0
  1181. package/node_modules/shelljs/src/cat.js +76 -0
  1182. package/node_modules/shelljs/src/cd.js +39 -0
  1183. package/node_modules/shelljs/src/chmod.js +216 -0
  1184. package/node_modules/shelljs/src/common.js +468 -0
  1185. package/node_modules/shelljs/src/cp.js +304 -0
  1186. package/node_modules/shelljs/src/dirs.js +212 -0
  1187. package/node_modules/shelljs/src/echo.js +63 -0
  1188. package/node_modules/shelljs/src/error.js +15 -0
  1189. package/node_modules/shelljs/src/exec-child.js +39 -0
  1190. package/node_modules/shelljs/src/exec.js +208 -0
  1191. package/node_modules/shelljs/src/find.js +61 -0
  1192. package/node_modules/shelljs/src/grep.js +73 -0
  1193. package/node_modules/shelljs/src/head.js +107 -0
  1194. package/node_modules/shelljs/src/ln.js +73 -0
  1195. package/node_modules/shelljs/src/ls.js +141 -0
  1196. package/node_modules/shelljs/src/mkdir.js +100 -0
  1197. package/node_modules/shelljs/src/mv.js +118 -0
  1198. package/node_modules/shelljs/src/popd.js +1 -0
  1199. package/node_modules/shelljs/src/pushd.js +1 -0
  1200. package/node_modules/shelljs/src/pwd.js +16 -0
  1201. package/node_modules/shelljs/src/rm.js +201 -0
  1202. package/node_modules/shelljs/src/sed.js +87 -0
  1203. package/node_modules/shelljs/src/set.js +56 -0
  1204. package/node_modules/shelljs/src/sort.js +97 -0
  1205. package/node_modules/shelljs/src/tail.js +80 -0
  1206. package/node_modules/shelljs/src/tempdir.js +75 -0
  1207. package/node_modules/shelljs/src/test.js +85 -0
  1208. package/node_modules/shelljs/src/to.js +37 -0
  1209. package/node_modules/shelljs/src/toEnd.js +36 -0
  1210. package/node_modules/shelljs/src/touch.js +111 -0
  1211. package/node_modules/shelljs/src/uniq.js +92 -0
  1212. package/node_modules/shelljs/src/which.js +118 -0
  1213. package/node_modules/shx/CHANGELOG.md +224 -0
  1214. package/node_modules/shx/LICENSE +21 -0
  1215. package/node_modules/shx/README.md +149 -0
  1216. package/node_modules/shx/lib/cli.js +40 -0
  1217. package/node_modules/shx/lib/config.js +58 -0
  1218. package/node_modules/shx/lib/help.js +37 -0
  1219. package/node_modules/shx/lib/plugin-true-false.js +25 -0
  1220. package/node_modules/shx/lib/printCmdRet.js +17 -0
  1221. package/node_modules/shx/lib/shx.js +157 -0
  1222. package/node_modules/shx/package.json +80 -0
  1223. package/node_modules/sprintf-js/.npmignore +1 -0
  1224. package/node_modules/sprintf-js/LICENSE +24 -0
  1225. package/node_modules/sprintf-js/README.md +88 -0
  1226. package/node_modules/sprintf-js/bower.json +14 -0
  1227. package/node_modules/sprintf-js/demo/angular.html +20 -0
  1228. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  1229. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  1230. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  1231. package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  1232. package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  1233. package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  1234. package/node_modules/sprintf-js/gruntfile.js +36 -0
  1235. package/node_modules/sprintf-js/package.json +22 -0
  1236. package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  1237. package/node_modules/sprintf-js/src/sprintf.js +208 -0
  1238. package/node_modules/sprintf-js/test/test.js +82 -0
  1239. package/node_modules/string-width/index.d.ts +29 -0
  1240. package/node_modules/string-width/index.js +47 -0
  1241. package/node_modules/string-width/license +9 -0
  1242. package/node_modules/string-width/package.json +56 -0
  1243. package/node_modules/string-width/readme.md +50 -0
  1244. package/node_modules/strip-ansi/index.d.ts +17 -0
  1245. package/node_modules/strip-ansi/index.js +4 -0
  1246. package/node_modules/strip-ansi/license +9 -0
  1247. package/node_modules/strip-ansi/package.json +54 -0
  1248. package/node_modules/strip-ansi/readme.md +46 -0
  1249. package/node_modules/supports-color/browser.js +5 -0
  1250. package/node_modules/supports-color/index.js +135 -0
  1251. package/node_modules/supports-color/license +9 -0
  1252. package/node_modules/supports-color/package.json +53 -0
  1253. package/node_modules/supports-color/readme.md +76 -0
  1254. package/node_modules/wrap-ansi/index.js +216 -0
  1255. package/node_modules/wrap-ansi/license +9 -0
  1256. package/node_modules/wrap-ansi/package.json +62 -0
  1257. package/node_modules/wrap-ansi/readme.md +91 -0
  1258. package/node_modules/wrappy/LICENSE +15 -0
  1259. package/node_modules/wrappy/README.md +36 -0
  1260. package/node_modules/wrappy/package.json +29 -0
  1261. package/node_modules/wrappy/wrappy.js +33 -0
  1262. package/node_modules/xmlbuilder2/CHANGELOG.md +215 -0
  1263. package/node_modules/xmlbuilder2/LICENSE +21 -0
  1264. package/node_modules/xmlbuilder2/README.md +182 -0
  1265. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.d.ts +236 -0
  1266. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js +108 -0
  1267. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js.map +1 -0
  1268. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.d.ts +17 -0
  1269. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js +26 -0
  1270. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js.map +1 -0
  1271. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.d.ts +122 -0
  1272. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js +791 -0
  1273. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js.map +1 -0
  1274. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.d.ts +143 -0
  1275. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js +841 -0
  1276. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js.map +1 -0
  1277. package/node_modules/xmlbuilder2/lib/builder/dom.d.ts +8 -0
  1278. package/node_modules/xmlbuilder2/lib/builder/dom.js +67 -0
  1279. package/node_modules/xmlbuilder2/lib/builder/dom.js.map +1 -0
  1280. package/node_modules/xmlbuilder2/lib/builder/index.d.ts +4 -0
  1281. package/node_modules/xmlbuilder2/lib/builder/index.js +15 -0
  1282. package/node_modules/xmlbuilder2/lib/builder/index.js.map +1 -0
  1283. package/node_modules/xmlbuilder2/lib/index.d.ts +1 -0
  1284. package/node_modules/xmlbuilder2/lib/index.js +10 -0
  1285. package/node_modules/xmlbuilder2/lib/index.js.map +1 -0
  1286. package/node_modules/xmlbuilder2/lib/interfaces.d.ts +1343 -0
  1287. package/node_modules/xmlbuilder2/lib/interfaces.js +75 -0
  1288. package/node_modules/xmlbuilder2/lib/interfaces.js.map +1 -0
  1289. package/node_modules/xmlbuilder2/lib/readers/BaseReader.d.ts +96 -0
  1290. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js +138 -0
  1291. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js.map +1 -0
  1292. package/node_modules/xmlbuilder2/lib/readers/JSONReader.d.ts +14 -0
  1293. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js +38 -0
  1294. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js.map +1 -0
  1295. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.d.ts +15 -0
  1296. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js +161 -0
  1297. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js.map +1 -0
  1298. package/node_modules/xmlbuilder2/lib/readers/XMLReader.d.ts +14 -0
  1299. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js +200 -0
  1300. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js.map +1 -0
  1301. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.d.ts +14 -0
  1302. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js +44 -0
  1303. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js.map +1 -0
  1304. package/node_modules/xmlbuilder2/lib/readers/index.d.ts +4 -0
  1305. package/node_modules/xmlbuilder2/lib/readers/index.js +11 -0
  1306. package/node_modules/xmlbuilder2/lib/readers/index.js.map +1 -0
  1307. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.d.ts +110 -0
  1308. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js +23 -0
  1309. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js.map +1 -0
  1310. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.d.ts +276 -0
  1311. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js +1637 -0
  1312. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js.map +1 -0
  1313. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.d.ts +68 -0
  1314. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js +172 -0
  1315. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js.map +1 -0
  1316. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.d.ts +67 -0
  1317. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js +224 -0
  1318. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js.map +1 -0
  1319. package/node_modules/xmlbuilder2/lib/writers/MapWriter.d.ts +27 -0
  1320. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js +86 -0
  1321. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js.map +1 -0
  1322. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.d.ts +56 -0
  1323. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js +484 -0
  1324. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js.map +1 -0
  1325. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.d.ts +51 -0
  1326. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js +165 -0
  1327. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js.map +1 -0
  1328. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.d.ts +60 -0
  1329. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js +237 -0
  1330. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js.map +1 -0
  1331. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.d.ts +61 -0
  1332. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js +161 -0
  1333. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js.map +1 -0
  1334. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.d.ts +55 -0
  1335. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js +188 -0
  1336. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js.map +1 -0
  1337. package/node_modules/xmlbuilder2/lib/writers/index.d.ts +5 -0
  1338. package/node_modules/xmlbuilder2/lib/writers/index.js +13 -0
  1339. package/node_modules/xmlbuilder2/lib/writers/index.js.map +1 -0
  1340. package/node_modules/xmlbuilder2/lib/xmlbuilder2.min.js +8 -0
  1341. package/node_modules/xmlbuilder2/node_modules/@types/node/LICENSE +21 -0
  1342. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +16 -0
  1343. package/node_modules/xmlbuilder2/node_modules/@types/node/assert/strict.d.ts +8 -0
  1344. package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +912 -0
  1345. package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +501 -0
  1346. package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +2142 -0
  1347. package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1366 -0
  1348. package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +414 -0
  1349. package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +412 -0
  1350. package/node_modules/xmlbuilder2/node_modules/@types/node/constants.d.ts +18 -0
  1351. package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +3307 -0
  1352. package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +545 -0
  1353. package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +134 -0
  1354. package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +370 -0
  1355. package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +659 -0
  1356. package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +169 -0
  1357. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +623 -0
  1358. package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +1091 -0
  1359. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +3835 -0
  1360. package/node_modules/xmlbuilder2/node_modules/@types/node/globals.d.ts +284 -0
  1361. package/node_modules/xmlbuilder2/node_modules/@types/node/globals.global.d.ts +1 -0
  1362. package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +1386 -0
  1363. package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +2100 -0
  1364. package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +391 -0
  1365. package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +131 -0
  1366. package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +2744 -0
  1367. package/node_modules/xmlbuilder2/node_modules/@types/node/module.d.ts +114 -0
  1368. package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +783 -0
  1369. package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +455 -0
  1370. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +230 -0
  1371. package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +180 -0
  1372. package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +557 -0
  1373. package/node_modules/xmlbuilder2/node_modules/@types/node/process.d.ts +1481 -0
  1374. package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +117 -0
  1375. package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +131 -0
  1376. package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +650 -0
  1377. package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +424 -0
  1378. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/consumers.d.ts +24 -0
  1379. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/promises.d.ts +42 -0
  1380. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +329 -0
  1381. package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +1249 -0
  1382. package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +67 -0
  1383. package/node_modules/xmlbuilder2/node_modules/@types/node/timers/promises.d.ts +68 -0
  1384. package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +94 -0
  1385. package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +1020 -0
  1386. package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +161 -0
  1387. package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +204 -0
  1388. package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +861 -0
  1389. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +1594 -0
  1390. package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +378 -0
  1391. package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +507 -0
  1392. package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +158 -0
  1393. package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +649 -0
  1394. package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +517 -0
  1395. package/node_modules/xmlbuilder2/node_modules/js-yaml/CHANGELOG.md +551 -0
  1396. package/node_modules/xmlbuilder2/node_modules/js-yaml/LICENSE +21 -0
  1397. package/node_modules/xmlbuilder2/node_modules/js-yaml/README.md +299 -0
  1398. package/node_modules/xmlbuilder2/node_modules/js-yaml/bin/js-yaml.js +132 -0
  1399. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.js +3989 -0
  1400. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  1401. package/node_modules/xmlbuilder2/node_modules/js-yaml/index.js +7 -0
  1402. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  1403. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  1404. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  1405. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
  1406. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  1407. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  1408. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  1409. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  1410. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  1411. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  1412. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  1413. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  1414. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  1415. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  1416. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  1417. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  1418. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  1419. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  1420. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  1421. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  1422. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  1423. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  1424. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  1425. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  1426. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  1427. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  1428. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  1429. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  1430. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml.js +39 -0
  1431. package/node_modules/xmlbuilder2/node_modules/js-yaml/package.json +49 -0
  1432. package/node_modules/xmlbuilder2/package.json +82 -0
  1433. package/node_modules/y18n/CHANGELOG.md +100 -0
  1434. package/node_modules/y18n/LICENSE +13 -0
  1435. package/node_modules/y18n/README.md +127 -0
  1436. package/node_modules/y18n/build/index.cjs +203 -0
  1437. package/node_modules/y18n/build/lib/cjs.js +6 -0
  1438. package/node_modules/y18n/build/lib/index.js +174 -0
  1439. package/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  1440. package/node_modules/y18n/index.mjs +8 -0
  1441. package/node_modules/y18n/package.json +70 -0
  1442. package/node_modules/yallist/LICENSE +15 -0
  1443. package/node_modules/yallist/README.md +204 -0
  1444. package/node_modules/yallist/iterator.js +8 -0
  1445. package/node_modules/yallist/package.json +29 -0
  1446. package/node_modules/yallist/yallist.js +426 -0
  1447. package/node_modules/yaml/LICENSE +13 -0
  1448. package/node_modules/yaml/README.md +127 -0
  1449. package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +1275 -0
  1450. package/node_modules/yaml/browser/dist/Schema-e94716c8.js +682 -0
  1451. package/node_modules/yaml/browser/dist/index.js +1002 -0
  1452. package/node_modules/yaml/browser/dist/legacy-exports.js +3 -0
  1453. package/node_modules/yaml/browser/dist/package.json +1 -0
  1454. package/node_modules/yaml/browser/dist/parse-cst.js +1904 -0
  1455. package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +2419 -0
  1456. package/node_modules/yaml/browser/dist/types.js +4 -0
  1457. package/node_modules/yaml/browser/dist/util.js +2 -0
  1458. package/node_modules/yaml/browser/dist/warnings-df54cb69.js +499 -0
  1459. package/node_modules/yaml/browser/index.js +1 -0
  1460. package/node_modules/yaml/browser/map.js +2 -0
  1461. package/node_modules/yaml/browser/pair.js +2 -0
  1462. package/node_modules/yaml/browser/parse-cst.js +1 -0
  1463. package/node_modules/yaml/browser/scalar.js +2 -0
  1464. package/node_modules/yaml/browser/schema.js +9 -0
  1465. package/node_modules/yaml/browser/seq.js +2 -0
  1466. package/node_modules/yaml/browser/types/binary.js +8 -0
  1467. package/node_modules/yaml/browser/types/omap.js +3 -0
  1468. package/node_modules/yaml/browser/types/pairs.js +3 -0
  1469. package/node_modules/yaml/browser/types/set.js +3 -0
  1470. package/node_modules/yaml/browser/types/timestamp.js +10 -0
  1471. package/node_modules/yaml/browser/types.js +1 -0
  1472. package/node_modules/yaml/browser/util.js +1 -0
  1473. package/node_modules/yaml/dist/Document-9b4560a1.js +757 -0
  1474. package/node_modules/yaml/dist/PlainValue-ec8e588e.js +876 -0
  1475. package/node_modules/yaml/dist/Schema-88e323a7.js +525 -0
  1476. package/node_modules/yaml/dist/index.js +79 -0
  1477. package/node_modules/yaml/dist/legacy-exports.js +16 -0
  1478. package/node_modules/yaml/dist/parse-cst.js +1753 -0
  1479. package/node_modules/yaml/dist/resolveSeq-d03cb037.js +2161 -0
  1480. package/node_modules/yaml/dist/test-events.js +162 -0
  1481. package/node_modules/yaml/dist/types.js +23 -0
  1482. package/node_modules/yaml/dist/util.js +19 -0
  1483. package/node_modules/yaml/dist/warnings-1000a372.js +416 -0
  1484. package/node_modules/yaml/index.d.ts +372 -0
  1485. package/node_modules/yaml/index.js +1 -0
  1486. package/node_modules/yaml/map.js +2 -0
  1487. package/node_modules/yaml/package.json +106 -0
  1488. package/node_modules/yaml/pair.js +2 -0
  1489. package/node_modules/yaml/parse-cst.d.ts +191 -0
  1490. package/node_modules/yaml/parse-cst.js +1 -0
  1491. package/node_modules/yaml/scalar.js +2 -0
  1492. package/node_modules/yaml/schema.js +9 -0
  1493. package/node_modules/yaml/seq.js +2 -0
  1494. package/node_modules/yaml/types/binary.js +8 -0
  1495. package/node_modules/yaml/types/omap.js +3 -0
  1496. package/node_modules/yaml/types/pairs.js +3 -0
  1497. package/node_modules/yaml/types/set.js +3 -0
  1498. package/node_modules/yaml/types/timestamp.js +10 -0
  1499. package/node_modules/yaml/types.d.ts +407 -0
  1500. package/node_modules/yaml/types.js +17 -0
  1501. package/node_modules/yaml/types.mjs +17 -0
  1502. package/node_modules/yaml/util.d.ts +86 -0
  1503. package/node_modules/yaml/util.js +16 -0
  1504. package/node_modules/yaml/util.mjs +18 -0
  1505. package/node_modules/yargs/CHANGELOG.md +88 -0
  1506. package/node_modules/yargs/LICENSE +21 -0
  1507. package/node_modules/yargs/README.md +202 -0
  1508. package/node_modules/yargs/browser.mjs +7 -0
  1509. package/node_modules/yargs/build/index.cjs +2920 -0
  1510. package/node_modules/yargs/build/lib/argsert.js +62 -0
  1511. package/node_modules/yargs/build/lib/command.js +382 -0
  1512. package/node_modules/yargs/build/lib/completion-templates.js +47 -0
  1513. package/node_modules/yargs/build/lib/completion.js +128 -0
  1514. package/node_modules/yargs/build/lib/middleware.js +53 -0
  1515. package/node_modules/yargs/build/lib/parse-command.js +32 -0
  1516. package/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  1517. package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  1518. package/node_modules/yargs/build/lib/usage.js +548 -0
  1519. package/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  1520. package/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  1521. package/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
  1522. package/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  1523. package/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  1524. package/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  1525. package/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  1526. package/node_modules/yargs/build/lib/validation.js +308 -0
  1527. package/node_modules/yargs/build/lib/yargs-factory.js +1143 -0
  1528. package/node_modules/yargs/build/lib/yerror.js +7 -0
  1529. package/node_modules/yargs/helpers/helpers.mjs +10 -0
  1530. package/node_modules/yargs/helpers/index.js +14 -0
  1531. package/node_modules/yargs/helpers/package.json +3 -0
  1532. package/node_modules/yargs/index.cjs +39 -0
  1533. package/node_modules/yargs/index.mjs +8 -0
  1534. package/node_modules/yargs/lib/platform-shims/browser.mjs +92 -0
  1535. package/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
  1536. package/node_modules/yargs/locales/be.json +46 -0
  1537. package/node_modules/yargs/locales/de.json +46 -0
  1538. package/node_modules/yargs/locales/en.json +51 -0
  1539. package/node_modules/yargs/locales/es.json +46 -0
  1540. package/node_modules/yargs/locales/fi.json +49 -0
  1541. package/node_modules/yargs/locales/fr.json +53 -0
  1542. package/node_modules/yargs/locales/hi.json +49 -0
  1543. package/node_modules/yargs/locales/hu.json +46 -0
  1544. package/node_modules/yargs/locales/id.json +50 -0
  1545. package/node_modules/yargs/locales/it.json +46 -0
  1546. package/node_modules/yargs/locales/ja.json +51 -0
  1547. package/node_modules/yargs/locales/ko.json +49 -0
  1548. package/node_modules/yargs/locales/nb.json +44 -0
  1549. package/node_modules/yargs/locales/nl.json +49 -0
  1550. package/node_modules/yargs/locales/nn.json +44 -0
  1551. package/node_modules/yargs/locales/pirate.json +13 -0
  1552. package/node_modules/yargs/locales/pl.json +49 -0
  1553. package/node_modules/yargs/locales/pt.json +45 -0
  1554. package/node_modules/yargs/locales/pt_BR.json +48 -0
  1555. package/node_modules/yargs/locales/ru.json +46 -0
  1556. package/node_modules/yargs/locales/th.json +46 -0
  1557. package/node_modules/yargs/locales/tr.json +48 -0
  1558. package/node_modules/yargs/locales/zh_CN.json +48 -0
  1559. package/node_modules/yargs/locales/zh_TW.json +47 -0
  1560. package/node_modules/yargs/package.json +122 -0
  1561. package/node_modules/yargs/yargs +9 -0
  1562. package/node_modules/yargs-parser/CHANGELOG.md +263 -0
  1563. package/node_modules/yargs-parser/LICENSE.txt +14 -0
  1564. package/node_modules/yargs-parser/README.md +518 -0
  1565. package/node_modules/yargs-parser/browser.js +29 -0
  1566. package/node_modules/yargs-parser/build/index.cjs +1042 -0
  1567. package/node_modules/yargs-parser/build/lib/index.js +59 -0
  1568. package/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  1569. package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  1570. package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  1571. package/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
  1572. package/node_modules/yargs-parser/package.json +87 -0
  1573. package/package.json +181 -0
  1574. package/rfcs/github-project-settings.md +95 -0
  1575. package/version.json +3 -0
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ var _a, _b, _c;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.mergeTsconfigOptions = exports.TypeScriptLibraryProject = exports.TypeScriptAppProject = exports.TypeScriptProject = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const path = require("path");
7
+ const semver = require("semver");
8
+ const common_1 = require("../common");
9
+ const component_1 = require("../component");
10
+ const javascript_1 = require("../javascript");
11
+ const sample_file_1 = require("../sample-file");
12
+ const textfile_1 = require("../textfile");
13
+ const typescript_1 = require("../typescript");
14
+ /**
15
+ * (experimental) TypeScript project.
16
+ *
17
+ * @experimental
18
+ * @pjid typescript
19
+ */
20
+ class TypeScriptProject extends javascript_1.NodeProject {
21
+ /**
22
+ * @experimental
23
+ */
24
+ constructor(options) {
25
+ var _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
26
+ super({
27
+ ...options,
28
+ // disable .projenrc.js if typescript is enabled
29
+ projenrcJs: options.projenrcTs ? false : options.projenrcJs,
30
+ jestOptions: {
31
+ ...options.jestOptions,
32
+ jestConfig: {
33
+ ...(_d = options.jestOptions) === null || _d === void 0 ? void 0 : _d.jestConfig,
34
+ testMatch: [],
35
+ },
36
+ },
37
+ });
38
+ this.srcdir = (_e = options.srcdir) !== null && _e !== void 0 ? _e : 'src';
39
+ this.libdir = (_f = options.libdir) !== null && _f !== void 0 ? _f : 'lib';
40
+ this.docgen = options.docgen;
41
+ this.docsDirectory = (_g = options.docsDirectory) !== null && _g !== void 0 ? _g : 'docs/';
42
+ this.compileTask.exec('tsc --build');
43
+ this.watchTask = this.addTask('watch', {
44
+ description: 'Watch & compile in the background',
45
+ exec: 'tsc --build -w',
46
+ });
47
+ this.testdir = (_h = options.testdir) !== null && _h !== void 0 ? _h : 'test';
48
+ this.gitignore.include(`/${this.testdir}/`);
49
+ (_j = this.npmignore) === null || _j === void 0 ? void 0 : _j.exclude(`/${this.testdir}/`);
50
+ // if the test directory is under `src/`, then we will run our tests against
51
+ // the javascript files and not let jest compile it for us.
52
+ const compiledTests = this.testdir.startsWith(this.srcdir + path.posix.sep);
53
+ if (options.entrypointTypes || this.entrypoint !== '') {
54
+ const entrypointTypes = (_k = options.entrypointTypes) !== null && _k !== void 0 ? _k : `${path.join(path.dirname(this.entrypoint), path.basename(this.entrypoint, '.js')).replace(/\\/g, '/')}.d.ts`;
55
+ this.package.addField('types', entrypointTypes);
56
+ }
57
+ const compilerOptionDefaults = {
58
+ alwaysStrict: true,
59
+ declaration: true,
60
+ esModuleInterop: true,
61
+ experimentalDecorators: true,
62
+ inlineSourceMap: true,
63
+ inlineSources: true,
64
+ lib: ['es2019'],
65
+ module: 'CommonJS',
66
+ noEmitOnError: false,
67
+ noFallthroughCasesInSwitch: true,
68
+ noImplicitAny: true,
69
+ noImplicitReturns: true,
70
+ noImplicitThis: true,
71
+ noUnusedLocals: true,
72
+ noUnusedParameters: true,
73
+ resolveJsonModule: true,
74
+ strict: true,
75
+ strictNullChecks: true,
76
+ strictPropertyInitialization: true,
77
+ stripInternal: true,
78
+ target: 'ES2019',
79
+ };
80
+ if (!options.disableTsconfig) {
81
+ this.tsconfig = new javascript_1.TypescriptConfig(this, mergeTsconfigOptions({
82
+ include: [`${this.srcdir}/**/*.ts`],
83
+ // exclude: ['node_modules'], // TODO: shouldn't we exclude node_modules?
84
+ compilerOptions: {
85
+ rootDir: this.srcdir,
86
+ outDir: this.libdir,
87
+ ...compilerOptionDefaults,
88
+ },
89
+ }, options.tsconfig));
90
+ }
91
+ const tsconfigDevFile = (_l = options.tsconfigDevFile) !== null && _l !== void 0 ? _l : 'tsconfig.dev.json';
92
+ this.tsconfigDev = new javascript_1.TypescriptConfig(this, mergeTsconfigOptions({
93
+ fileName: tsconfigDevFile,
94
+ include: [
95
+ common_1.PROJEN_RC,
96
+ `${this.srcdir}/**/*.ts`,
97
+ `${this.testdir}/**/*.ts`,
98
+ ],
99
+ exclude: ['node_modules'],
100
+ compilerOptions: compilerOptionDefaults,
101
+ }, options.tsconfig, options.tsconfigDev));
102
+ this.gitignore.include(`/${this.srcdir}/`);
103
+ (_m = this.npmignore) === null || _m === void 0 ? void 0 : _m.exclude(`/${this.srcdir}/`);
104
+ if (this.srcdir !== this.libdir) {
105
+ // separated, can ignore the entire libdir
106
+ this.gitignore.exclude(`/${this.libdir}`);
107
+ }
108
+ else {
109
+ // collocated, can only ignore the compiled output
110
+ this.gitignore.exclude(`/${this.libdir}/**/*.js`);
111
+ this.gitignore.exclude(`/${this.libdir}/**/*.d.ts`);
112
+ }
113
+ (_o = this.npmignore) === null || _o === void 0 ? void 0 : _o.include(`/${this.libdir}/`);
114
+ (_p = this.npmignore) === null || _p === void 0 ? void 0 : _p.include(`/${this.libdir}/**/*.js`);
115
+ (_q = this.npmignore) === null || _q === void 0 ? void 0 : _q.include(`/${this.libdir}/**/*.d.ts`);
116
+ this.gitignore.exclude('/dist/');
117
+ (_r = this.npmignore) === null || _r === void 0 ? void 0 : _r.exclude('dist'); // jsii-pacmak expects this to be "dist" and not "/dist". otherwise it will tamper with it
118
+ (_s = this.npmignore) === null || _s === void 0 ? void 0 : _s.exclude('/tsconfig.json');
119
+ (_t = this.npmignore) === null || _t === void 0 ? void 0 : _t.exclude('/.github/');
120
+ (_u = this.npmignore) === null || _u === void 0 ? void 0 : _u.exclude('/.vscode/');
121
+ (_v = this.npmignore) === null || _v === void 0 ? void 0 : _v.exclude('/.idea/');
122
+ (_w = this.npmignore) === null || _w === void 0 ? void 0 : _w.exclude('/.projenrc.js');
123
+ (_x = this.npmignore) === null || _x === void 0 ? void 0 : _x.exclude('tsconfig.tsbuildinfo');
124
+ // tests are compiled to `lib/TESTDIR`, so we don't need jest to compile them for us.
125
+ // just run them directly from javascript.
126
+ if (this.jest && compiledTests) {
127
+ this.addDevDeps('@types/jest');
128
+ const testout = path.posix.relative(this.srcdir, this.testdir);
129
+ const libtest = path.posix.join(this.libdir, testout);
130
+ const srctest = this.testdir;
131
+ (_y = this.npmignore) === null || _y === void 0 ? void 0 : _y.exclude(`/${libtest}/`);
132
+ this.jest.addTestMatch(`**/${libtest}/**/?(*.)+(spec|test).js?(x)`);
133
+ this.jest.addWatchIgnorePattern(`/${this.srcdir}/`);
134
+ const resolveSnapshotPath = (test, ext) => {
135
+ const fullpath = test.replace(libtest, srctest);
136
+ return path.join(path.dirname(fullpath), '__snapshots__', path.basename(fullpath, '.js') + '.ts' + ext);
137
+ };
138
+ const resolveTestPath = (snap, ext) => {
139
+ const filename = path.basename(snap, '.ts' + ext) + '.js';
140
+ const dir = path.dirname(path.dirname(snap)).replace(srctest, libtest);
141
+ return path.join(dir, filename);
142
+ };
143
+ const resolver = new textfile_1.TextFile(this, path.posix.join(common_1.PROJEN_DIR, 'jest-snapshot-resolver.js'));
144
+ resolver.addLine(`// ${textfile_1.TextFile.PROJEN_MARKER}`);
145
+ resolver.addLine('const path = require("path");');
146
+ resolver.addLine(`const libtest = "${libtest}";`);
147
+ resolver.addLine(`const srctest= "${srctest}";`);
148
+ resolver.addLine('module.exports = {');
149
+ resolver.addLine(` resolveSnapshotPath: ${resolveSnapshotPath.toString()},`);
150
+ resolver.addLine(` resolveTestPath: ${resolveTestPath.toString()},`);
151
+ resolver.addLine(' testPathForConsistencyCheck: path.join(\'some\', \'__tests__\', \'example.test.js\')');
152
+ resolver.addLine('};');
153
+ this.jest.addSnapshotResolver(`./${resolver.path}`);
154
+ }
155
+ if (this.jest && !compiledTests) {
156
+ this.jest.addTestMatch('**\/__tests__/**\/*.ts?(x)');
157
+ this.jest.addTestMatch('**\/?(*.)+(spec|test).ts?(x)');
158
+ // create a tsconfig for jest that does NOT include outDir and rootDir and
159
+ // includes both "src" and "test" as inputs.
160
+ this.jest.addTypeScriptSupport(this.tsconfigDev);
161
+ }
162
+ if ((_z = options.eslint) !== null && _z !== void 0 ? _z : true) {
163
+ this.eslint = new javascript_1.Eslint(this, {
164
+ tsconfigPath: `./${this.tsconfigDev.fileName}`,
165
+ dirs: [this.srcdir],
166
+ devdirs: [this.testdir, 'build-tools'],
167
+ fileExtensions: ['.ts', '.tsx'],
168
+ ...options.eslintOptions,
169
+ });
170
+ this.tsconfigEslint = this.tsconfigDev;
171
+ }
172
+ const tsver = options.typescriptVersion ? `@${options.typescriptVersion}` : '';
173
+ this.addDevDeps(`typescript${tsver}`,
174
+ // @types/node versions numbers match the node runtime versions' major.minor, however, new
175
+ // releases are only created when API changes are included in a node release... We might for
176
+ // example have dependencies that require `node >= 12.22`, but as 12.21 and 12.22 did not
177
+ // include API changes, `@types/node@12.20.x` is the "correct" version to use. As it is not
178
+ // possible to easily determine the correct version to use, we pick up the latest version.
179
+ //
180
+ // Additionally, we default to tracking the 12.x line, as the current earliest LTS release of
181
+ // node is 12.x, so this is what corresponds to the broadest compatibility with supported node
182
+ // runtimes.
183
+ `@types/node@^${semver.major((_0 = this.package.minNodeVersion) !== null && _0 !== void 0 ? _0 : '12.0.0')}`);
184
+ // generate sample code in `src` and `lib` if these directories are empty or non-existent.
185
+ if ((_1 = options.sampleCode) !== null && _1 !== void 0 ? _1 : true) {
186
+ new SampleCode(this);
187
+ }
188
+ if (this.docgen) {
189
+ new typescript_1.TypedocDocgen(this);
190
+ }
191
+ const projenrcTypeScript = (_2 = options.projenrcTs) !== null && _2 !== void 0 ? _2 : false;
192
+ if (projenrcTypeScript) {
193
+ new typescript_1.Projenrc(this, options.projenrcTsOptions);
194
+ }
195
+ }
196
+ }
197
+ exports.TypeScriptProject = TypeScriptProject;
198
+ _a = JSII_RTTI_SYMBOL_1;
199
+ TypeScriptProject[_a] = { fqn: "projen.typescript.TypeScriptProject", version: "0.46.8" };
200
+ class SampleCode extends component_1.Component {
201
+ constructor(project) {
202
+ super(project);
203
+ const srcCode = [
204
+ 'export class Hello {',
205
+ ' public sayHello() {',
206
+ ' return \'hello, world!\';',
207
+ ' }',
208
+ '}',
209
+ ].join('\n');
210
+ const testCode = [
211
+ "import { Hello } from '../src';",
212
+ '',
213
+ "test('hello', () => {",
214
+ " expect(new Hello().sayHello()).toBe('hello, world!');",
215
+ '});',
216
+ ].join('\n');
217
+ new sample_file_1.SampleDir(project, project.srcdir, {
218
+ files: {
219
+ 'index.ts': srcCode,
220
+ },
221
+ });
222
+ new sample_file_1.SampleDir(project, project.testdir, {
223
+ files: {
224
+ 'hello.test.ts': testCode,
225
+ },
226
+ });
227
+ }
228
+ }
229
+ /**
230
+ * (experimental) TypeScript app.
231
+ *
232
+ * @experimental
233
+ * @pjid typescript-app
234
+ */
235
+ class TypeScriptAppProject extends TypeScriptProject {
236
+ /**
237
+ * @experimental
238
+ */
239
+ constructor(options) {
240
+ super({
241
+ allowLibraryDependencies: false,
242
+ releaseWorkflow: false,
243
+ entrypoint: '',
244
+ package: false,
245
+ ...options,
246
+ });
247
+ }
248
+ }
249
+ exports.TypeScriptAppProject = TypeScriptAppProject;
250
+ _b = JSII_RTTI_SYMBOL_1;
251
+ TypeScriptAppProject[_b] = { fqn: "projen.typescript.TypeScriptAppProject", version: "0.46.8" };
252
+ /**
253
+ * @deprecated use `TypeScriptProject`
254
+ */
255
+ class TypeScriptLibraryProject extends TypeScriptProject {
256
+ }
257
+ exports.TypeScriptLibraryProject = TypeScriptLibraryProject;
258
+ _c = JSII_RTTI_SYMBOL_1;
259
+ TypeScriptLibraryProject[_c] = { fqn: "projen.typescript.TypeScriptLibraryProject", version: "0.46.8" };
260
+ ;
261
+ /**
262
+ * @internal
263
+ */
264
+ function mergeTsconfigOptions(...options) {
265
+ const definedOptions = options.filter(Boolean);
266
+ return definedOptions.reduce((previous, current) => {
267
+ var _d, _e, _f, _g;
268
+ return ({
269
+ ...previous,
270
+ ...current,
271
+ include: [
272
+ ...(_d = previous.include) !== null && _d !== void 0 ? _d : [],
273
+ ...(_e = current.include) !== null && _e !== void 0 ? _e : [],
274
+ ],
275
+ exclude: [
276
+ ...(_f = previous.exclude) !== null && _f !== void 0 ? _f : [],
277
+ ...(_g = current.exclude) !== null && _g !== void 0 ? _g : [],
278
+ ],
279
+ compilerOptions: {
280
+ ...previous.compilerOptions,
281
+ ...current.compilerOptions,
282
+ },
283
+ });
284
+ }, { compilerOptions: {} });
285
+ }
286
+ exports.mergeTsconfigOptions = mergeTsconfigOptions;
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlc2NyaXB0L3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLHNDQUFrRDtBQUNsRCw0Q0FBeUM7QUFDekMsOENBQTZKO0FBQzdKLGdEQUEyQztBQUUzQywwQ0FBdUM7QUFDdkMsOENBQTRHOzs7Ozs7O0FBcUQ1RyxNQUFhLGlCQUFrQixTQUFRLHdCQUFXOzs7O0lBc0JoRCxZQUFZLE9BQWlDOztRQUMzQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFFVixnREFBZ0Q7WUFDaEQsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVU7WUFFM0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsT0FBTyxDQUFDLFdBQVc7Z0JBQ3RCLFVBQVUsRUFBRTtvQkFDVixTQUFHLE9BQU8sQ0FBQyxXQUFXLDBDQUFFLFVBQVU7b0JBQ2xDLFNBQVMsRUFBRSxFQUFFO2lCQUNkO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsU0FBRyxPQUFPLENBQUMsYUFBYSxtQ0FBSSxPQUFPLENBQUM7UUFFdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNyQyxXQUFXLEVBQUUsbUNB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RTtnQkFDUCxTQUFHLFFBQVEsQ0FBQyxPQUFPLG1DQUFJLEVBQUU7Z0JBQ3pCLFNBQUcsT0FBTyxDQUFDLE9BQU8sbUNBQUksRUFBRTthQUN6QjtZQUNELGVBQWUsRUFBRTtnQkFDZixHQUFHLFFBQVEsQ0FBQyxlQUFlO2dCQUMzQixHQUFHLE9BQU8sQ0FBQyxlQUFlO2FBQzNCO1NBQ0YsQ0FBQyxDQUFBO0tBQUEsRUFBRSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFsQkQsb0RBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgUFJPSkVOX0RJUiwgUFJPSkVOX1JDIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBFc2xpbnQsIEVzbGludE9wdGlvbnMsIE5vZGVQcm9qZWN0LCBOb2RlUHJvamVjdE9wdGlvbnMsIFR5cGVTY3JpcHRDb21waWxlck9wdGlvbnMsIFR5cGVzY3JpcHRDb25maWcsIFR5cGVzY3JpcHRDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBTYW1wbGVEaXIgfSBmcm9tICcuLi9zYW1wbGUtZmlsZSc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdGFzayc7XG5pbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJy4uL3RleHRmaWxlJztcbmltcG9ydCB7IFByb2plbnJjIGFzIFByb2plbnJjVHMsIFByb2plbnJjT3B0aW9ucyBhcyBQcm9qZW5yY1RzT3B0aW9ucywgVHlwZWRvY0RvY2dlbiB9IGZyb20gJy4uL3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIE5vZGVQcm9qZWN0T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaWJkaXI/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGVzdGRpcj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVzbGludD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlc2xpbnRPcHRpb25zPzogRXNsaW50T3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0eXBlc2NyaXB0VmVyc2lvbj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZG9jZ2VuPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRvY3NEaXJlY3Rvcnk/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdHNjb25maWc/OiBUeXBlc2NyaXB0Q29uZmlnT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ0Rldj86IFR5cGVzY3JpcHRDb25maWdPcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnRGV2RmlsZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGlzYWJsZVRzY29uZmlnPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNhbXBsZUNvZGU/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW50cnlwb2ludFR5cGVzPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByb2plbnJjVHM/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwcm9qZW5yY1RzT3B0aW9ucz86IFByb2plbnJjVHNPcHRpb25zO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyBOb2RlUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBkb2NnZW4/OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jc0RpcmVjdG9yeTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZXNsaW50PzogRXNsaW50O1xuICBwdWJsaWMgcmVhZG9ubHkgdHNjb25maWdFc2xpbnQ/OiBUeXBlc2NyaXB0Q29uZmlnO1xuICBwdWJsaWMgcmVhZG9ubHkgdHNjb25maWc/OiBUeXBlc2NyaXB0Q29uZmlnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSB0c2NvbmZpZ0RldjogVHlwZXNjcmlwdENvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBsaWJkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgd2F0Y2hUYXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG5cbiAgICAgIC8vIGRpc2FibGUgLnByb2plbnJjLmpzIGlmIHR5cGVzY3JpcHQgaXMgZW5hYmxlZFxuICAgICAgcHJvamVucmNKczogb3B0aW9ucy5wcm9qZW5yY1RzID8gZmFsc2UgOiBvcHRpb25zLnByb2plbnJjSnMsXG5cbiAgICAgIGplc3RPcHRpb25zOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuamVzdE9wdGlvbnMsXG4gICAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLmplc3RPcHRpb25zPy5qZXN0Q29uZmlnLFxuICAgICAgICAgIHRlc3RNYXRjaDogW10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5zcmNkaXIgPSBvcHRpb25zLnNyY2RpciA/PyAnc3JjJztcbiAgICB0aGlzLmxpYmRpciA9IG9wdGlvbnMubGliZGlyID8/ICdsaWInO1xuXG4gICAgdGhpcy5kb2NnZW4gPSBvcHRpb25zLmRvY2dlbjtcbiAgICB0aGlzLmRvY3NEaXJlY3RvcnkgPSBvcHRpb25zLmRvY3NEaXJlY3RvcnkgPz8gJ2RvY3MvJztcblxuICAgIHRoaXMuY29tcGlsZVRhc2suZXhlYygndHNjIC0tYnVpbGQnKTtcblxuICAgIHRoaXMud2F0Y2hUYXNrID0gdGhpcy5hZGRUYXNrKCd3YXRjaCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnV2F0Y2ggJiBjb21waWxlIGluIHRoZSBiYWNrZ3JvdW5kJyxcbiAgICAgIGV4ZWM6ICd0c2MgLS1idWlsZCAtdycsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRlc3RkaXIgPSBvcHRpb25zLnRlc3RkaXIgPz8gJ3Rlc3QnO1xuICAgIHRoaXMuZ2l0aWdub3JlLmluY2x1ZGUoYC8ke3RoaXMudGVzdGRpcn0vYCk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMudGVzdGRpcn0vYCk7XG5cbiAgICAvLyBpZiB0aGUgdGVzdCBkaXJlY3RvcnkgaXMgdW5kZXIgYHNyYy9gLCB0aGVuIHdlIHdpbGwgcnVuIG91ciB0ZXN0cyBhZ2FpbnN0XG4gICAgLy8gdGhlIGphdmFzY3JpcHQgZmlsZXMgYW5kIG5vdCBsZXQgamVzdCBjb21waWxlIGl0IGZvciB1cy5cbiAgICBjb25zdCBjb21waWxlZFRlc3RzID0gdGhpcy50ZXN0ZGlyLnN0YXJ0c1dpdGgodGhpcy5zcmNkaXIgKyBwYXRoLnBvc2l4LnNlcCk7XG5cblxuICAgIGlmIChvcHRpb25zLmVudHJ5cG9pbnRUeXBlcyB8fCB0aGlzLmVudHJ5cG9pbnQgIT09ICcnKSB7XG4gICAgICBjb25zdCBlbnRyeXBvaW50VHlwZXMgPSBvcHRpb25zLmVudHJ5cG9pbnRUeXBlcyA/PyBgJHtwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKHRoaXMuZW50cnlwb2ludCksIHBhdGguYmFzZW5hbWUodGhpcy5lbnRyeXBvaW50LCAnLmpzJykpLnJlcGxhY2UoL1xcXFwvZywgJy8nKX0uZC50c2A7XG4gICAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3R5cGVzJywgZW50cnlwb2ludFR5cGVzKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21waWxlck9wdGlvbkRlZmF1bHRzOiBUeXBlU2NyaXB0Q29tcGlsZXJPcHRpb25zID0ge1xuICAgICAgYWx3YXlzU3RyaWN0OiB0cnVlLFxuICAgICAgZGVjbGFyYXRpb246IHRydWUsXG4gICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICAgICAgaW5saW5lU291cmNlTWFwOiB0cnVlLFxuICAgICAgaW5saW5lU291cmNlczogdHJ1ZSxcbiAgICAgIGxpYjogWydlczIwMTknXSxcbiAgICAgIG1vZHVsZTogJ0NvbW1vbkpTJyxcbiAgICAgIG5vRW1pdE9uRXJyb3I6IGZhbHNlLFxuICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICBub0ltcGxpY2l0QW55OiB0cnVlLFxuICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICBub0ltcGxpY2l0VGhpczogdHJ1ZSxcbiAgICAgIG5vVW51c2VkTG9jYWxzOiB0cnVlLFxuICAgICAgbm9VbnVzZWRQYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICBzdHJpY3ROdWxsQ2hlY2tzOiB0cnVlLFxuICAgICAgc3RyaWN0UHJvcGVydHlJbml0aWFsaXphdGlvbjogdHJ1ZSxcbiAgICAgIHN0cmlwSW50ZXJuYWw6IHRydWUsXG4gICAgICB0YXJnZXQ6ICdFUzIwMTknLFxuICAgIH07XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZVRzY29uZmlnKSB7XG4gICAgICB0aGlzLnRzY29uZmlnID0gbmV3IFR5cGVzY3JpcHRDb25maWcodGhpcywgbWVyZ2VUc2NvbmZpZ09wdGlvbnMoe1xuICAgICAgICBpbmNsdWRlOiBbYCR7dGhpcy5zcmNkaXJ9LyoqLyoudHNgXSxcbiAgICAgICAgLy8gZXhjbHVkZTogWydub2RlX21vZHVsZXMnXSwgLy8gVE9ETzogc2hvdWxkbid0IHdlIGV4Y2x1ZGUgbm9kZV9tb2R1bGVzP1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICByb290RGlyOiB0aGlzLnNyY2RpcixcbiAgICAgICAgICBvdXREaXI6IHRoaXMubGliZGlyLFxuICAgICAgICAgIC4uLmNvbXBpbGVyT3B0aW9uRGVmYXVsdHMsXG4gICAgICAgIH0sXG4gICAgICB9LCBvcHRpb25zLnRzY29uZmlnKSk7XG4gICAgfVxuXG4gICAgY29uc3QgdHNjb25maWdEZXZGaWxlID0gb3B0aW9ucy50c2NvbmZpZ0RldkZpbGUgPz8gJ3RzY29uZmlnLmRldi5qc29uJztcbiAgICB0aGlzLnRzY29uZmlnRGV2ID0gbmV3IFR5cGVzY3JpcHRDb25maWcodGhpcywgbWVyZ2VUc2NvbmZpZ09wdGlvbnMoe1xuICAgICAgZmlsZU5hbWU6IHRzY29uZmlnRGV2RmlsZSxcbiAgICAgIGluY2x1ZGU6IFtcbiAgICAgICAgUFJPSkVOX1JDLFxuICAgICAgICBgJHt0aGlzLnNyY2Rpcn0vKiovKi50c2AsXG4gICAgICAgIGAke3RoaXMudGVzdGRpcn0vKiovKi50c2AsXG4gICAgICBdLFxuICAgICAgZXhjbHVkZTogWydub2RlX21vZHVsZXMnXSxcbiAgICAgIGNvbXBpbGVyT3B0aW9uczogY29tcGlsZXJPcHRpb25EZWZhdWx0cyxcbiAgICB9LCBvcHRpb25zLnRzY29uZmlnLCBvcHRpb25zLnRzY29uZmlnRGV2KSk7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5pbmNsdWRlKGAvJHt0aGlzLnNyY2Rpcn0vYCk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMuc3JjZGlyfS9gKTtcblxuICAgIGlmICh0aGlzLnNyY2RpciAhPT0gdGhpcy5saWJkaXIpIHtcbiAgICAgIC8vIHNlcGFyYXRlZCwgY2FuIGlnbm9yZSB0aGUgZW50aXJlIGxpYmRpclxuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShgLyR7dGhpcy5saWJkaXJ9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGNvbGxvY2F0ZWQsIGNhbiBvbmx5IGlnbm9yZSB0aGUgY29tcGlsZWQgb3V0cHV0XG4gICAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKGAvJHt0aGlzLmxpYmRpcn0vKiovKi5qc2ApO1xuICAgICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouZC50c2ApO1xuICAgIH1cblxuICAgIHRoaXMubnBtaWdub3JlPy5pbmNsdWRlKGAvJHt0aGlzLmxpYmRpcn0vYCk7XG5cbiAgICB0aGlzLm5wbWlnbm9yZT8uaW5jbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouanNgKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uaW5jbHVkZShgLyR7dGhpcy5saWJkaXJ9LyoqLyouZC50c2ApO1xuXG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZSgnL2Rpc3QvJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJ2Rpc3QnKTsgLy8ganNpaS1wYWNtYWsgZXhwZWN0cyB0aGlzIHRvIGJlIFwiZGlzdFwiIGFuZCBub3QgXCIvZGlzdFwiLiBvdGhlcndpc2UgaXQgd2lsbCB0YW1wZXIgd2l0aCBpdFxuXG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJy90c2NvbmZpZy5qc29uJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJy8uZ2l0aHViLycpO1xuICAgIHRoaXMubnBtaWdub3JlPy5leGNsdWRlKCcvLnZzY29kZS8nKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZSgnLy5pZGVhLycpO1xuICAgIHRoaXMubnBtaWdub3JlPy5leGNsdWRlKCcvLnByb2plbnJjLmpzJyk7XG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoJ3RzY29uZmlnLnRzYnVpbGRpbmZvJyk7XG5cbiAgICAvLyB0ZXN0cyBhcmUgY29tcGlsZWQgdG8gYGxpYi9URVNURElSYCwgc28gd2UgZG9uJ3QgbmVlZCBqZXN0IHRvIGNvbXBpbGUgdGhlbSBmb3IgdXMuXG4gICAgLy8ganVzdCBydW4gdGhlbSBkaXJlY3RseSBmcm9tIGphdmFzY3JpcHQuXG4gICAgaWYgKHRoaXMuamVzdCAmJiBjb21waWxlZFRlc3RzKSB7XG4gICAgICB0aGlzLmFkZERldkRlcHMoJ0B0eXBlcy9qZXN0Jyk7XG5cbiAgICAgIGNvbnN0IHRlc3RvdXQgPSBwYXRoLnBvc2l4LnJlbGF0aXZlKHRoaXMuc3JjZGlyLCB0aGlzLnRlc3RkaXIpO1xuICAgICAgY29uc3QgbGlidGVzdCA9IHBhdGgucG9zaXguam9pbih0aGlzLmxpYmRpciwgdGVzdG91dCk7XG4gICAgICBjb25zdCBzcmN0ZXN0ID0gdGhpcy50ZXN0ZGlyO1xuXG4gICAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZShgLyR7bGlidGVzdH0vYCk7XG4gICAgICB0aGlzLmplc3QuYWRkVGVzdE1hdGNoKGAqKi8ke2xpYnRlc3R9LyoqLz8oKi4pKyhzcGVjfHRlc3QpLmpzPyh4KWApO1xuICAgICAgdGhpcy5qZXN0LmFkZFdhdGNoSWdub3JlUGF0dGVybihgLyR7dGhpcy5zcmNkaXJ9L2ApO1xuXG4gICAgICBjb25zdCByZXNvbHZlU25hcHNob3RQYXRoID0gKHRlc3Q6IHN0cmluZywgZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZnVsbHBhdGggPSB0ZXN0LnJlcGxhY2UobGlidGVzdCwgc3JjdGVzdCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKGZ1bGxwYXRoKSwgJ19fc25hcHNob3RzX18nLCBwYXRoLmJhc2VuYW1lKGZ1bGxwYXRoLCAnLmpzJykgKyAnLnRzJyArIGV4dCk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNvbHZlVGVzdFBhdGggPSAoc25hcDogc3RyaW5nLCBleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguYmFzZW5hbWUoc25hcCwgJy50cycgKyBleHQpICsgJy5qcyc7XG4gICAgICAgIGNvbnN0IGRpciA9IHBhdGguZGlybmFtZShwYXRoLmRpcm5hbWUoc25hcCkpLnJlcGxhY2Uoc3JjdGVzdCwgbGlidGVzdCk7XG4gICAgICAgIHJldHVybiBwYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNvbHZlciA9IG5ldyBUZXh0RmlsZSh0aGlzLCBwYXRoLnBvc2l4LmpvaW4oUFJPSkVOX0RJUiwgJ2plc3Qtc25hcHNob3QtcmVzb2x2ZXIuanMnKSk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGAvLyAke1RleHRGaWxlLlBST0pFTl9NQVJLRVJ9YCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKCdjb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7Jyk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGBjb25zdCBsaWJ0ZXN0ID0gXCIke2xpYnRlc3R9XCI7YCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGBjb25zdCBzcmN0ZXN0PSBcIiR7c3JjdGVzdH1cIjtgKTtcbiAgICAgIHJlc29sdmVyLmFkZExpbmUoJ21vZHVsZS5leHBvcnRzID0geycpO1xuICAgICAgcmVzb2x2ZXIuYWRkTGluZShgICByZXNvbHZlU25hcHNob3RQYXRoOiAke3Jlc29sdmVTbmFwc2hvdFBhdGgudG9TdHJpbmcoKX0sYCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKGAgIHJlc29sdmVUZXN0UGF0aDogJHtyZXNvbHZlVGVzdFBhdGgudG9TdHJpbmcoKX0sYCk7XG4gICAgICByZXNvbHZlci5hZGRMaW5lKCcgIHRlc3RQYXRoRm9yQ29uc2lzdGVuY3lDaGVjazogcGF0aC5qb2luKFxcJ3NvbWVcXCcsIFxcJ19fdGVzdHNfX1xcJywgXFwnZXhhbXBsZS50ZXN0LmpzXFwnKScpO1xuICAgICAgcmVzb2x2ZXIuYWRkTGluZSgnfTsnKTtcblxuICAgICAgdGhpcy5qZXN0LmFkZFNuYXBzaG90UmVzb2x2ZXIoYC4vJHtyZXNvbHZlci5wYXRofWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmplc3QgJiYgIWNvbXBpbGVkVGVzdHMpIHtcbiAgICAgIHRoaXMuamVzdC5hZGRUZXN0TWF0Y2goJyoqXFwvX190ZXN0c19fLyoqXFwvKi50cz8oeCknKTtcbiAgICAgIHRoaXMuamVzdC5hZGRUZXN0TWF0Y2goJyoqXFwvPygqLikrKHNwZWN8dGVzdCkudHM/KHgpJyk7XG5cbiAgICAgIC8vIGNyZWF0ZSBhIHRzY29uZmlnIGZvciBqZXN0IHRoYXQgZG9lcyBOT1QgaW5jbHVkZSBvdXREaXIgYW5kIHJvb3REaXIgYW5kXG4gICAgICAvLyBpbmNsdWRlcyBib3RoIFwic3JjXCIgYW5kIFwidGVzdFwiIGFzIGlucHV0cy5cbiAgICAgIHRoaXMuamVzdC5hZGRUeXBlU2NyaXB0U3VwcG9ydCh0aGlzLnRzY29uZmlnRGV2KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5lc2xpbnQgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5lc2xpbnQgPSBuZXcgRXNsaW50KHRoaXMsIHtcbiAgICAgICAgdHNjb25maWdQYXRoOiBgLi8ke3RoaXMudHNjb25maWdEZXYuZmlsZU5hbWV9YCxcbiAgICAgICAgZGlyczogW3RoaXMuc3JjZGlyXSxcbiAgICAgICAgZGV2ZGlyczogW3RoaXMudGVzdGRpciwgJ2J1aWxkLXRvb2xzJ10sXG4gICAgICAgIGZpbGVFeHRlbnNpb25zOiBbJy50cycsICcudHN4J10sXG4gICAgICAgIC4uLm9wdGlvbnMuZXNsaW50T3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRzY29uZmlnRXNsaW50ID0gdGhpcy50c2NvbmZpZ0RldjtcbiAgICB9XG5cbiAgICBjb25zdCB0c3ZlciA9IG9wdGlvbnMudHlwZXNjcmlwdFZlcnNpb24gPyBgQCR7b3B0aW9ucy50eXBlc2NyaXB0VmVyc2lvbn1gIDogJyc7XG5cbiAgICB0aGlzLmFkZERldkRlcHMoXG4gICAgICBgdHlwZXNjcmlwdCR7dHN2ZXJ9YCxcbiAgICAgIC8vIEB0eXBlcy9ub2RlIHZlcnNpb25zIG51bWJlcnMgbWF0Y2ggdGhlIG5vZGUgcnVudGltZSB2ZXJzaW9ucycgbWFqb3IubWlub3IsIGhvd2V2ZXIsIG5ld1xuICAgICAgLy8gcmVsZWFzZXMgYXJlIG9ubHkgY3JlYXRlZCB3aGVuIEFQSSBjaGFuZ2VzIGFyZSBpbmNsdWRlZCBpbiBhIG5vZGUgcmVsZWFzZS4uLiBXZSBtaWdodCBmb3JcbiAgICAgIC8vIGV4YW1wbGUgaGF2ZSBkZXBlbmRlbmNpZXMgdGhhdCByZXF1aXJlIGBub2RlID49IDEyLjIyYCwgYnV0IGFzIDEyLjIxIGFuZCAxMi4yMiBkaWQgbm90XG4gICAgICAvLyBpbmNsdWRlIEFQSSBjaGFuZ2VzLCBgQHR5cGVzL25vZGVAMTIuMjAueGAgaXMgdGhlIFwiY29ycmVjdFwiIHZlcnNpb24gdG8gdXNlLiBBcyBpdCBpcyBub3RcbiAgICAgIC8vIHBvc3NpYmxlIHRvIGVhc2lseSBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVyc2lvbiB0byB1c2UsIHdlIHBpY2sgdXAgdGhlIGxhdGVzdCB2ZXJzaW9uLlxuICAgICAgLy9cbiAgICAgIC8vIEFkZGl0aW9uYWxseSwgd2UgZGVmYXVsdCB0byB0cmFja2luZyB0aGUgMTIueCBsaW5lLCBhcyB0aGUgY3VycmVudCBlYXJsaWVzdCBMVFMgcmVsZWFzZSBvZlxuICAgICAgLy8gbm9kZSBpcyAxMi54LCBzbyB0aGlzIGlzIHdoYXQgY29ycmVzcG9uZHMgdG8gdGhlIGJyb2FkZXN0IGNvbXBhdGliaWxpdHkgd2l0aCBzdXBwb3J0ZWQgbm9kZVxuICAgICAgLy8gcnVudGltZXMuXG4gICAgICBgQHR5cGVzL25vZGVAXiR7c2VtdmVyLm1ham9yKHRoaXMucGFja2FnZS5taW5Ob2RlVmVyc2lvbiA/PyAnMTIuMC4wJyl9YCxcbiAgICApO1xuXG4gICAgLy8gZ2VuZXJhdGUgc2FtcGxlIGNvZGUgaW4gYHNyY2AgYW5kIGBsaWJgIGlmIHRoZXNlIGRpcmVjdG9yaWVzIGFyZSBlbXB0eSBvciBub24tZXhpc3RlbnQuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kb2NnZW4pIHtcbiAgICAgIG5ldyBUeXBlZG9jRG9jZ2VuKHRoaXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plbnJjVHlwZVNjcmlwdCA9IG9wdGlvbnMucHJvamVucmNUcyA/PyBmYWxzZTtcbiAgICBpZiAocHJvamVucmNUeXBlU2NyaXB0KSB7XG4gICAgICBuZXcgUHJvamVucmNUcyh0aGlzLCBvcHRpb25zLnByb2plbnJjVHNPcHRpb25zKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgU2FtcGxlQ29kZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFR5cGVTY3JpcHRQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgY29uc3Qgc3JjQ29kZSA9IFtcbiAgICAgICdleHBvcnQgY2xhc3MgSGVsbG8geycsXG4gICAgICAnICBwdWJsaWMgc2F5SGVsbG8oKSB7JyxcbiAgICAgICcgICAgcmV0dXJuIFxcJ2hlbGxvLCB3b3JsZCFcXCc7JyxcbiAgICAgICcgIH0nLFxuICAgICAgJ30nLFxuICAgIF0uam9pbignXFxuJyk7XG5cbiAgICBjb25zdCB0ZXN0Q29kZSA9IFtcbiAgICAgIFwiaW1wb3J0IHsgSGVsbG8gfSBmcm9tICcuLi9zcmMnO1wiLFxuICAgICAgJycsXG4gICAgICBcInRlc3QoJ2hlbGxvJywgKCkgPT4ge1wiLFxuICAgICAgXCIgIGV4cGVjdChuZXcgSGVsbG8oKS5zYXlIZWxsbygpKS50b0JlKCdoZWxsbywgd29ybGQhJyk7XCIsXG4gICAgICAnfSk7JyxcbiAgICBdLmpvaW4oJ1xcbicpO1xuXG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCBwcm9qZWN0LnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgJ2luZGV4LnRzJzogc3JjQ29kZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgU2FtcGxlRGlyKHByb2plY3QsIHByb2plY3QudGVzdGRpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgJ2hlbGxvLnRlc3QudHMnOiB0ZXN0Q29kZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0QXBwUHJvamVjdCBleHRlbmRzIFR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgYWxsb3dMaWJyYXJ5RGVwZW5kZW5jaWVzOiBmYWxzZSxcbiAgICAgIHJlbGVhc2VXb3JrZmxvdzogZmFsc2UsXG4gICAgICBlbnRyeXBvaW50OiAnJywgLy8gXCJtYWluXCIgaXMgbm90IG5lZWRlZCBpbiB0eXBlc2NyaXB0IGFwcHNcbiAgICAgIHBhY2thZ2U6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdExpYnJhcnlQcm9qZWN0IGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3Qge1xufTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRMaWJyYXJ5UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMge1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUc2NvbmZpZ09wdGlvbnMoLi4ub3B0aW9uczogKFR5cGVzY3JpcHRDb25maWdPcHRpb25zIHwgdW5kZWZpbmVkKVtdKTogVHlwZXNjcmlwdENvbmZpZ09wdGlvbnMge1xuICBjb25zdCBkZWZpbmVkT3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKEJvb2xlYW4pIGFzIFR5cGVzY3JpcHRDb25maWdPcHRpb25zW107XG4gIHJldHVybiBkZWZpbmVkT3B0aW9ucy5yZWR1Y2U8VHlwZXNjcmlwdENvbmZpZ09wdGlvbnM+KChwcmV2aW91cywgY3VycmVudCkgPT4gKHtcbiAgICAuLi5wcmV2aW91cyxcbiAgICAuLi5jdXJyZW50LFxuICAgIGluY2x1ZGU6IFtcbiAgICAgIC4uLnByZXZpb3VzLmluY2x1ZGUgPz8gW10sXG4gICAgICAuLi5jdXJyZW50LmluY2x1ZGUgPz8gW10sXG4gICAgXSxcbiAgICBleGNsdWRlOiBbXG4gICAgICAuLi5wcmV2aW91cy5leGNsdWRlID8/IFtdLFxuICAgICAgLi4uY3VycmVudC5leGNsdWRlID8/IFtdLFxuICAgIF0sXG4gICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAuLi5wcmV2aW91cy5jb21waWxlck9wdGlvbnMsXG4gICAgICAuLi5jdXJyZW50LmNvbXBpbGVyT3B0aW9ucyxcbiAgICB9LFxuICB9KSwgeyBjb21waWxlck9wdGlvbnM6IHt9IH0pO1xufVxuIl19
@@ -0,0 +1,43 @@
1
+ export declare enum TargetName {
2
+ JAVA = 0,
3
+ DOTNET = 1,
4
+ PYTHON = 2,
5
+ GO = 3,
6
+ JAVASCRIPT = 4
7
+ }
8
+ /**
9
+ * Converts a SemVer range expression to a Maven version range expression.
10
+ *
11
+ * @param semverRange the SemVer range expression to convert.
12
+ * @param suffix the suffix to add to versions in the range.
13
+ *
14
+ * @see https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution
15
+ */
16
+ export declare function toMavenVersionRange(semverRange: string, suffix?: string): string;
17
+ /**
18
+ * Converts a SemVer range expression to a NuGet version range expression.
19
+ *
20
+ * @param semverRange the SemVer range expression to convert.
21
+ *
22
+ * @see https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges-and-wildcards
23
+ */
24
+ export declare function toNuGetVersionRange(semverRange: string): string;
25
+ /**
26
+ * Converts a SemVer range expression to a Python setuptools compatible version
27
+ * constraint expression.
28
+ *
29
+ * @param semverRange the SemVer range expression to convert.
30
+ */
31
+ export declare function toPythonVersionRange(semverRange: string): string;
32
+ /**
33
+ * Converts an original version number from the NPM convention to the target
34
+ * language's convention for expressing the same. For versions that do not
35
+ * include a prerelease identifier, this always returns the assembly version
36
+ * unmodified.
37
+ *
38
+ * @param assemblyVersion the assembly version being released
39
+ * @param target the target language for which the version is destined
40
+ *
41
+ * @returns the version that should be serialized
42
+ */
43
+ export declare function toReleaseVersion(assemblyVersion: string, target: TargetName): string;
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ // stolen from: https://github.com/aws/jsii/blob/main/packages/jsii-pacmak/lib/targets/version-utils.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.toReleaseVersion = exports.toPythonVersionRange = exports.toNuGetVersionRange = exports.toMavenVersionRange = exports.TargetName = void 0;
5
+ const util_1 = require("util");
6
+ const semver_1 = require("semver");
7
+ var TargetName;
8
+ (function (TargetName) {
9
+ TargetName[TargetName["JAVA"] = 0] = "JAVA";
10
+ TargetName[TargetName["DOTNET"] = 1] = "DOTNET";
11
+ TargetName[TargetName["PYTHON"] = 2] = "PYTHON";
12
+ TargetName[TargetName["GO"] = 3] = "GO";
13
+ TargetName[TargetName["JAVASCRIPT"] = 4] = "JAVASCRIPT";
14
+ })(TargetName = exports.TargetName || (exports.TargetName = {}));
15
+ /**
16
+ * Converts a SemVer range expression to a Maven version range expression.
17
+ *
18
+ * @param semverRange the SemVer range expression to convert.
19
+ * @param suffix the suffix to add to versions in the range.
20
+ *
21
+ * @see https://cwiki.apache.org/confluence/display/MAVENOLD/Dependency+Mediation+and+Conflict+Resolution
22
+ */
23
+ function toMavenVersionRange(semverRange, suffix) {
24
+ return toBracketNotation(semverRange, suffix, {
25
+ semver: false,
26
+ target: TargetName.JAVA,
27
+ });
28
+ }
29
+ exports.toMavenVersionRange = toMavenVersionRange;
30
+ /**
31
+ * Converts a SemVer range expression to a NuGet version range expression.
32
+ *
33
+ * @param semverRange the SemVer range expression to convert.
34
+ *
35
+ * @see https://docs.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges-and-wildcards
36
+ */
37
+ function toNuGetVersionRange(semverRange) {
38
+ return toBracketNotation(semverRange, undefined, {
39
+ semver: false,
40
+ target: TargetName.DOTNET,
41
+ });
42
+ }
43
+ exports.toNuGetVersionRange = toNuGetVersionRange;
44
+ /**
45
+ * Converts a SemVer range expression to a Python setuptools compatible version
46
+ * constraint expression.
47
+ *
48
+ * @param semverRange the SemVer range expression to convert.
49
+ */
50
+ function toPythonVersionRange(semverRange) {
51
+ const range = new semver_1.Range(semverRange);
52
+ return range.set
53
+ .map((set) => set
54
+ .map((comp) => {
55
+ var _a, _b;
56
+ const versionId = toReleaseVersion((_b = (_a = comp.semver.raw) === null || _a === void 0 ? void 0 : _a.replace(/-0$/, '')) !== null && _b !== void 0 ? _b : '0.0.0', TargetName.PYTHON);
57
+ switch (comp.operator) {
58
+ case '':
59
+ // With ^0.0.0, somehow we get a left entry with an empty operator and value, we'll fix this up
60
+ return comp.value === '' ? '>=0.0.0' : `==${versionId}`;
61
+ case '=':
62
+ return `==${versionId}`;
63
+ default:
64
+ // >, >=, <, <= are all valid expressions
65
+ return `${comp.operator}${versionId}`;
66
+ }
67
+ })
68
+ .join(', '))
69
+ .join(', ');
70
+ }
71
+ exports.toPythonVersionRange = toPythonVersionRange;
72
+ /**
73
+ * Converts an original version number from the NPM convention to the target
74
+ * language's convention for expressing the same. For versions that do not
75
+ * include a prerelease identifier, this always returns the assembly version
76
+ * unmodified.
77
+ *
78
+ * @param assemblyVersion the assembly version being released
79
+ * @param target the target language for which the version is destined
80
+ *
81
+ * @returns the version that should be serialized
82
+ */
83
+ function toReleaseVersion(assemblyVersion, target) {
84
+ const version = semver_1.parse(assemblyVersion, { includePrerelease: true });
85
+ if (version == null) {
86
+ throw new Error(`Unable to parse the provided assembly version: "${assemblyVersion}"`);
87
+ }
88
+ if (version.prerelease.length === 0) {
89
+ return assemblyVersion;
90
+ }
91
+ switch (target) {
92
+ case TargetName.PYTHON:
93
+ // Python supports a limited set of identifiers... And we have a mapping table...
94
+ // https://packaging.python.org/guides/distributing-packages-using-setuptools/#pre-release-versioning
95
+ const [label, sequence, ...rest] = version.prerelease;
96
+ if (rest.filter((elt) => elt !== 0).length > 0 || sequence == null) {
97
+ throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) components to python: ${util_1.inspect(version.prerelease)}. The format should be 'X.Y.Z-label.sequence', where sequence is a positive integer, and label is "dev", "pre", "alpha", beta", or "rc"`);
98
+ }
99
+ if (!Number.isInteger(sequence)) {
100
+ throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) to python, as sequence ${util_1.inspect(sequence)} is not an integer`);
101
+ }
102
+ const baseVersion = `${version.major}.${version.minor}.${version.patch}`;
103
+ // See PEP 440: https://www.python.org/dev/peps/pep-0440/#pre-releases
104
+ switch (label) {
105
+ case 'dev':
106
+ case 'pre':
107
+ return `${baseVersion}.dev${sequence}`;
108
+ case 'alpha':
109
+ return `${baseVersion}.a${sequence}`;
110
+ case 'beta':
111
+ return `${baseVersion}.b${sequence}`;
112
+ case 'rc':
113
+ return `${baseVersion}.rc${sequence}`;
114
+ default:
115
+ throw new Error(`Unable to map prerelease identifier (in: ${assemblyVersion}) to python, as label ${util_1.inspect(label)} is not mapped (only "dev", "pre", "alpha", "beta" and "rc" are)`);
116
+ }
117
+ case TargetName.DOTNET:
118
+ case TargetName.GO:
119
+ case TargetName.JAVA:
120
+ case TargetName.JAVASCRIPT:
121
+ // Not touching - the NPM version number should be usable as-is
122
+ break;
123
+ }
124
+ return assemblyVersion;
125
+ }
126
+ exports.toReleaseVersion = toReleaseVersion;
127
+ /**
128
+ * Converts a semantic version range to the kind of bracket notation used by
129
+ * Maven and NuGet. For example, this turns `^1.2.3` into `[1.2.3,2.0.0)`.
130
+ *
131
+ * @param semverRange The semantic version range to be converted.
132
+ * @param suffix A version suffix to apply to versions in the resulting expression.
133
+ * @param semver Whether the target supports full semantic versioning (including
134
+ * `-0` as the lowest possible prerelease identifier)
135
+ *
136
+ * @returns a bracket-notation version range.
137
+ */
138
+ function toBracketNotation(semverRange, suffix, { semver = true, target = TargetName.JAVASCRIPT, } = {}) {
139
+ if (semverRange === '*') {
140
+ semverRange = '>=0.0.0';
141
+ }
142
+ const range = new semver_1.Range(semverRange);
143
+ if (semverRange === range.range) {
144
+ return semverRange;
145
+ }
146
+ return range.set
147
+ .map((set) => {
148
+ if (set.length === 1) {
149
+ const version = set[0].semver.raw;
150
+ if (!version && range.raw === '>=0.0.0') {
151
+ // Case where version is '*'
152
+ return '[0.0.0,)';
153
+ }
154
+ switch (set[0].operator || '=') {
155
+ // "[version]" => means exactly version
156
+ case '=':
157
+ return `[${addSuffix(version)}]`;
158
+ // "(version,]" => means greater than version
159
+ case '>':
160
+ return `(${addSuffix(version)},)`;
161
+ // "[version,]" => means greater than or equal to that version
162
+ case '>=':
163
+ return `[${addSuffix(version)},)`;
164
+ // "[,version)" => means less than version
165
+ case '<':
166
+ return `(,${addSuffix(version, !semver)})`;
167
+ // "[,version]" => means less than or equal to version
168
+ case '<=':
169
+ return `(,${addSuffix(version)}]`;
170
+ }
171
+ }
172
+ else if (set.length === 2) {
173
+ const nugetRange = toBracketRange(set[0], set[1]);
174
+ if (nugetRange) {
175
+ return nugetRange;
176
+ }
177
+ }
178
+ throw new Error(`Unsupported SemVer range set in ${semverRange}: ${set
179
+ .map((comp) => comp.value)
180
+ .join(', ')}`);
181
+ })
182
+ .join(', ');
183
+ function toBracketRange(left, right) {
184
+ if (left.operator.startsWith('<') && right.operator.startsWith('>')) {
185
+ // Order isn't ideal, swap around..
186
+ [left, right] = [right, left];
187
+ }
188
+ // With ^0.0.0, somehow we get a left entry with an empty operator and value, we'll fix this up
189
+ if (left.operator === '' && left.value === '') {
190
+ left = new semver_1.Comparator('>=0.0.0', left.options);
191
+ }
192
+ if (!left.operator.startsWith('>') || !right.operator.startsWith('<')) {
193
+ // We only support ranges defined like "> (or >=) left, < (or <=) right"
194
+ return undefined;
195
+ }
196
+ const leftBrace = left.operator.endsWith('=') ? '[' : '(';
197
+ const rightBrace = right.operator.endsWith('=') ? ']' : ')';
198
+ return `${leftBrace}${addSuffix(left.semver.raw)},${addSuffix(right.semver.raw, right.operator === '<' && !semver)}${rightBrace}`;
199
+ }
200
+ function addSuffix(str, trimDashZero = false) {
201
+ if (!str) {
202
+ return '';
203
+ }
204
+ if (trimDashZero) {
205
+ str = str.replace(/-0$/, '');
206
+ }
207
+ return suffix ? `${str}${suffix}` : toReleaseVersion(str, target);
208
+ }
209
+ }
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvc2VtdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1R0FBdUc7OztBQUV2RywrQkFBK0I7QUFDL0IsbUNBQWtEO0FBRWxELElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiwyQ0FBSSxDQUFBO0lBQ0osK0NBQU0sQ0FBQTtJQUNOLCtDQUFNLENBQUE7SUFDTix1Q0FBRSxDQUFBO0lBQ0YsdURBQVUsQ0FBQTtBQUNaLENBQUMsRUFOVyxVQUFVLEdBQVYsa0JBQVUsS0FBVixrQkFBVSxRQU1yQjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FDakMsV0FBbUIsRUFDbkIsTUFBZTtJQUVmLE9BQU8saUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtRQUM1QyxNQUFNLEVBQUUsS0FBSztRQUNiLE1BQU0sRUFBRSxVQUFVLENBQUMsSUFBSTtLQUN4QixDQUFDLENBQUM7QUFDTCxDQUFDO0FBUkQsa0RBUUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxXQUFtQjtJQUNyRCxPQUFPLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUU7UUFDL0MsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07S0FDMUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUxELGtEQUtDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxXQUFtQjtJQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQyxPQUFPLEtBQUssQ0FBQyxHQUFHO1NBQ2IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDWCxHQUFHO1NBQ0EsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7O1FBQ1osTUFBTSxTQUFTLEdBQUcsZ0JBQWdC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QUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdG9sZW4gZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2Jsb2IvbWFpbi9wYWNrYWdlcy9qc2lpLXBhY21hay9saWIvdGFyZ2V0cy92ZXJzaW9uLXV0aWxzLnRzXG5cbmltcG9ydCB7IGluc3BlY3QgfSBmcm9tICd1dGlsJztcbmltcG9ydCB7IENvbXBhcmF0b3IsIFJhbmdlLCBwYXJzZSB9IGZyb20gJ3NlbXZlcic7XG5cbmV4cG9ydCBlbnVtIFRhcmdldE5hbWUge1xuICBKQVZBLFxuICBET1RORVQsXG4gIFBZVEhPTixcbiAgR08sXG4gIEpBVkFTQ1JJUFRcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIFNlbVZlciByYW5nZSBleHByZXNzaW9uIHRvIGEgTWF2ZW4gdmVyc2lvbiByYW5nZSBleHByZXNzaW9uLlxuICpcbiAqIEBwYXJhbSBzZW12ZXJSYW5nZSB0aGUgU2VtVmVyIHJhbmdlIGV4cHJlc3Npb24gdG8gY29udmVydC5cbiAqIEBwYXJhbSBzdWZmaXggICAgICB0aGUgc3VmZml4IHRvIGFkZCB0byB2ZXJzaW9ucyBpbiB0aGUgcmFuZ2UuXG4gKlxuICogQHNlZSBodHRwczovL2N3aWtpLmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9kaXNwbGF5L01BVkVOT0xEL0RlcGVuZGVuY3krTWVkaWF0aW9uK2FuZCtDb25mbGljdCtSZXNvbHV0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b01hdmVuVmVyc2lvblJhbmdlKFxuICBzZW12ZXJSYW5nZTogc3RyaW5nLFxuICBzdWZmaXg/OiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICByZXR1cm4gdG9CcmFja2V0Tm90YXRpb24oc2VtdmVyUmFuZ2UsIHN1ZmZpeCwge1xuICAgIHNlbXZlcjogZmFsc2UsXG4gICAgdGFyZ2V0OiBUYXJnZXROYW1lLkpBVkEsXG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgU2VtVmVyIHJhbmdlIGV4cHJlc3Npb24gdG8gYSBOdUdldCB2ZXJzaW9uIHJhbmdlIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHNlbXZlclJhbmdlIHRoZSBTZW1WZXIgcmFuZ2UgZXhwcmVzc2lvbiB0byBjb252ZXJ0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvbnVnZXQvY29uY2VwdHMvcGFja2FnZS12ZXJzaW9uaW5nI3ZlcnNpb24tcmFuZ2VzLWFuZC13aWxkY2FyZHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvTnVHZXRWZXJzaW9uUmFuZ2Uoc2VtdmVyUmFuZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0b0JyYWNrZXROb3RhdGlvbihzZW12ZXJSYW5nZSwgdW5kZWZpbmVkLCB7XG4gICAgc2VtdmVyOiBmYWxzZSxcbiAgICB0YXJnZXQ6IFRhcmdldE5hbWUuRE9UTkVULFxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIFNlbVZlciByYW5nZSBleHByZXNzaW9uIHRvIGEgUHl0aG9uIHNldHVwdG9vbHMgY29tcGF0aWJsZSB2ZXJzaW9uXG4gKiBjb25zdHJhaW50IGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIHNlbXZlclJhbmdlIHRoZSBTZW1WZXIgcmFuZ2UgZXhwcmVzc2lvbiB0byBjb252ZXJ0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9QeXRob25WZXJzaW9uUmFuZ2Uoc2VtdmVyUmFuZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKHNlbXZlclJhbmdlKTtcbiAgcmV0dXJuIHJhbmdlLnNldFxuICAgIC5tYXAoKHNldCkgPT5cbiAgICAgIHNldFxuICAgICAgICAubWFwKChjb21wKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyc2lvbklkID0gdG9SZWxlYXNlVmVyc2lvbihcbiAgICAgICAgICAgIGNvbXAuc2VtdmVyLnJhdz8ucmVwbGFjZSgvLTAkLywgJycpID8/ICcwLjAuMCcsXG4gICAgICAgICAgICBUYXJnZXROYW1lLlBZVEhPTixcbiAgICAgICAgICApO1xuICAgICAgICAgIHN3aXRjaCAoY29tcC5vcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgICAgICAgLy8gV2l0aCBeMC4wLjAsIHNvbWVob3cgd2UgZ2V0IGEgbGVmdCBlbnRyeSB3aXRoIGFuIGVtcHR5IG9wZXJhdG9yIGFuZCB2YWx1ZSwgd2UnbGwgZml4IHRoaXMgdXBcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbXAudmFsdWUgPT09ICcnID8gJz49MC4wLjAnIDogYD09JHt2ZXJzaW9uSWR9YDtcbiAgICAgICAgICAgIGNhc2UgJz0nOlxuICAgICAgICAgICAgICByZXR1cm4gYD09JHt2ZXJzaW9uSWR9YDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vID4sID49LCA8LCA8PSBhcmUgYWxsIHZhbGlkIGV4cHJlc3Npb25zXG4gICAgICAgICAgICAgIHJldHVybiBgJHtjb21wLm9wZXJhdG9yfSR7dmVyc2lvbklkfWA7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKSxcbiAgICApXG4gICAgLmpvaW4oJywgJyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb3JpZ2luYWwgdmVyc2lvbiBudW1iZXIgZnJvbSB0aGUgTlBNIGNvbnZlbnRpb24gdG8gdGhlIHRhcmdldFxuICogbGFuZ3VhZ2UncyBjb252ZW50aW9uIGZvciBleHByZXNzaW5nIHRoZSBzYW1lLiBGb3IgdmVyc2lvbnMgdGhhdCBkbyBub3RcbiAqIGluY2x1ZGUgYSBwcmVyZWxlYXNlIGlkZW50aWZpZXIsIHRoaXMgYWx3YXlzIHJldHVybnMgdGhlIGFzc2VtYmx5IHZlcnNpb25cbiAqIHVubW9kaWZpZWQuXG4gKlxuICogQHBhcmFtIGFzc2VtYmx5VmVyc2lvbiB0aGUgYXNzZW1ibHkgdmVyc2lvbiBiZWluZyByZWxlYXNlZFxuICogQHBhcmFtIHRhcmdldCAgICAgICAgICB0aGUgdGFyZ2V0IGxhbmd1YWdlIGZvciB3aGljaCB0aGUgdmVyc2lvbiBpcyBkZXN0aW5lZFxuICpcbiAqIEByZXR1cm5zIHRoZSB2ZXJzaW9uIHRoYXQgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUmVsZWFzZVZlcnNpb24oXG4gIGFzc2VtYmx5VmVyc2lvbjogc3RyaW5nLFxuICB0YXJnZXQ6IFRhcmdldE5hbWUsXG4pOiBzdHJpbmcge1xuICBjb25zdCB2ZXJzaW9uID0gcGFyc2UoYXNzZW1ibHlWZXJzaW9uLCB7IGluY2x1ZGVQcmVyZWxlYXNlOiB0cnVlIH0pO1xuICBpZiAodmVyc2lvbiA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuYWJsZSB0byBwYXJzZSB0aGUgcHJvdmlkZWQgYXNzZW1ibHkgdmVyc2lvbjogXCIke2Fzc2VtYmx5VmVyc2lvbn1cImAsXG4gICAgKTtcbiAgfVxuICBpZiAodmVyc2lvbi5wcmVyZWxlYXNlLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhc3NlbWJseVZlcnNpb247XG4gIH1cbiAgc3dpdGNoICh0YXJnZXQpIHtcbiAgICBjYXNlIFRhcmdldE5hbWUuUFlUSE9OOlxuICAgICAgLy8gUHl0aG9uIHN1cHBvcnRzIGEgbGltaXRlZCBzZXQgb2YgaWRlbnRpZmllcnMuLi4gQW5kIHdlIGhhdmUgYSBtYXBwaW5nIHRhYmxlLi4uXG4gICAgICAvLyBodHRwczovL3BhY2thZ2luZy5weXRob24ub3JnL2d1aWRlcy9kaXN0cmlidXRpbmctcGFja2FnZXMtdXNpbmctc2V0dXB0b29scy8jcHJlLXJlbGVhc2UtdmVyc2lvbmluZ1xuICAgICAgY29uc3QgW2xhYmVsLCBzZXF1ZW5jZSwgLi4ucmVzdF0gPSB2ZXJzaW9uLnByZXJlbGVhc2U7XG4gICAgICBpZiAocmVzdC5maWx0ZXIoKGVsdCkgPT4gZWx0ICE9PSAwKS5sZW5ndGggPiAwIHx8IHNlcXVlbmNlID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBVbmFibGUgdG8gbWFwIHByZXJlbGVhc2UgaWRlbnRpZmllciAoaW46ICR7YXNzZW1ibHlWZXJzaW9ufSkgY29tcG9uZW50cyB0byBweXRob246ICR7aW5zcGVjdChcbiAgICAgICAgICAgIHZlcnNpb24ucHJlcmVsZWFzZSxcbiAgICAgICAgICApfS4gVGhlIGZvcm1hdCBzaG91bGQgYmUgJ1guWS5aLWxhYmVsLnNlcXVlbmNlJywgd2hlcmUgc2VxdWVuY2UgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBhbmQgbGFiZWwgaXMgXCJkZXZcIiwgXCJwcmVcIiwgXCJhbHBoYVwiLCBiZXRhXCIsIG9yIFwicmNcImAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoc2VxdWVuY2UpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVW5hYmxlIHRvIG1hcCBwcmVyZWxlYXNlIGlkZW50aWZpZXIgKGluOiAke2Fzc2VtYmx5VmVyc2lvbn0pIHRvIHB5dGhvbiwgYXMgc2VxdWVuY2UgJHtpbnNwZWN0KFxuICAgICAgICAgICAgc2VxdWVuY2UsXG4gICAgICAgICAgKX0gaXMgbm90IGFuIGludGVnZXJgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgYmFzZVZlcnNpb24gPSBgJHt2ZXJzaW9uLm1ham9yfS4ke3ZlcnNpb24ubWlub3J9LiR7dmVyc2lvbi5wYXRjaH1gO1xuICAgICAgLy8gU2VlIFBFUCA0NDA6IGh0dHBzOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTA0NDAvI3ByZS1yZWxlYXNlc1xuICAgICAgc3dpdGNoIChsYWJlbCkge1xuICAgICAgICBjYXNlICdkZXYnOlxuICAgICAgICBjYXNlICdwcmUnOlxuICAgICAgICAgIHJldHVybiBgJHtiYXNlVmVyc2lvbn0uZGV2JHtzZXF1ZW5jZX1gO1xuICAgICAgICBjYXNlICdhbHBoYSc6XG4gICAgICAgICAgcmV0dXJuIGAke2Jhc2VWZXJzaW9ufS5hJHtzZXF1ZW5jZX1gO1xuICAgICAgICBjYXNlICdiZXRhJzpcbiAgICAgICAgICByZXR1cm4gYCR7YmFzZVZlcnNpb259LmIke3NlcXVlbmNlfWA7XG4gICAgICAgIGNhc2UgJ3JjJzpcbiAgICAgICAgICByZXR1cm4gYCR7YmFzZVZlcnNpb259LnJjJHtzZXF1ZW5jZX1gO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gbWFwIHByZXJlbGVhc2UgaWRlbnRpZmllciAoaW46ICR7YXNzZW1ibHlWZXJzaW9ufSkgdG8gcHl0aG9uLCBhcyBsYWJlbCAke2luc3BlY3QoXG4gICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgKX0gaXMgbm90IG1hcHBlZCAob25seSBcImRldlwiLCBcInByZVwiLCBcImFscGhhXCIsIFwiYmV0YVwiIGFuZCBcInJjXCIgYXJlKWAsXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICBjYXNlIFRhcmdldE5hbWUuRE9UTkVUOlxuICAgIGNhc2UgVGFyZ2V0TmFtZS5HTzpcbiAgICBjYXNlIFRhcmdldE5hbWUuSkFWQTpcbiAgICBjYXNlIFRhcmdldE5hbWUuSkFWQVNDUklQVDpcbiAgICAgIC8vIE5vdCB0b3VjaGluZyAtIHRoZSBOUE0gdmVyc2lvbiBudW1iZXIgc2hvdWxkIGJlIHVzYWJsZSBhcy1pc1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIGFzc2VtYmx5VmVyc2lvbjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIHNlbWFudGljIHZlcnNpb24gcmFuZ2UgdG8gdGhlIGtpbmQgb2YgYnJhY2tldCBub3RhdGlvbiB1c2VkIGJ5XG4gKiBNYXZlbiBhbmQgTnVHZXQuIEZvciBleGFtcGxlLCB0aGlzIHR1cm5zIGBeMS4yLjNgIGludG8gYFsxLjIuMywyLjAuMClgLlxuICpcbiAqIEBwYXJhbSBzZW12ZXJSYW5nZSBUaGUgc2VtYW50aWMgdmVyc2lvbiByYW5nZSB0byBiZSBjb252ZXJ0ZWQuXG4gKiBAcGFyYW0gc3VmZml4IEEgdmVyc2lvbiBzdWZmaXggdG8gYXBwbHkgdG8gdmVyc2lvbnMgaW4gdGhlIHJlc3VsdGluZyBleHByZXNzaW9uLlxuICogQHBhcmFtIHNlbXZlciBXaGV0aGVyIHRoZSB0YXJnZXQgc3VwcG9ydHMgZnVsbCBzZW1hbnRpYyB2ZXJzaW9uaW5nIChpbmNsdWRpbmdcbiAqICAgICAgICAgICAgICAgYC0wYCBhcyB0aGUgbG93ZXN0IHBvc3NpYmxlIHByZXJlbGVhc2UgaWRlbnRpZmllcilcbiAqXG4gKiBAcmV0dXJucyBhIGJyYWNrZXQtbm90YXRpb24gdmVyc2lvbiByYW5nZS5cbiAqL1xuZnVuY3Rpb24gdG9CcmFja2V0Tm90YXRpb24oXG4gIHNlbXZlclJhbmdlOiBzdHJpbmcsXG4gIHN1ZmZpeD86IHN0cmluZyxcbiAge1xuICAgIHNlbXZlciA9IHRydWUsXG4gICAgdGFyZ2V0ID0gVGFyZ2V0TmFtZS5KQVZBU0NSSVBULFxuICB9OiB7IHNlbXZlcj86IGJvb2xlYW47IHRhcmdldD86IFRhcmdldE5hbWUgfSA9IHt9LFxuKTogc3RyaW5nIHtcbiAgaWYgKHNlbXZlclJhbmdlID09PSAnKicpIHtcbiAgICBzZW12ZXJSYW5nZSA9ICc+PTAuMC4wJztcbiAgfVxuXG4gIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKHNlbXZlclJhbmdlKTtcbiAgaWYgKHNlbXZlclJhbmdlID09PSByYW5nZS5yYW5nZSkge1xuICAgIHJldHVybiBzZW12ZXJSYW5nZTtcbiAgfVxuXG4gIHJldHVybiByYW5nZS5zZXRcbiAgICAubWFwKChzZXQpID0+IHtcbiAgICAgIGlmIChzZXQubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBzZXRbMF0uc2VtdmVyLnJhdztcbiAgICAgICAgaWYgKCF2ZXJzaW9uICYmIHJhbmdlLnJhdyA9PT0gJz49MC4wLjAnKSB7XG4gICAgICAgICAgLy8gQ2FzZSB3aGVyZSB2ZXJzaW9uIGlzICcqJ1xuICAgICAgICAgIHJldHVybiAnWzAuMC4wLCknO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAoc2V0WzBdLm9wZXJhdG9yIHx8ICc9Jykge1xuICAgICAgICAgIC8vIFwiW3ZlcnNpb25dXCIgPT4gbWVhbnMgZXhhY3RseSB2ZXJzaW9uXG4gICAgICAgICAgY2FzZSAnPSc6XG4gICAgICAgICAgICByZXR1cm4gYFske2FkZFN1ZmZpeCh2ZXJzaW9uKX1dYDtcbiAgICAgICAgICAvLyBcIih2ZXJzaW9uLF1cIiA9PiBtZWFucyBncmVhdGVyIHRoYW4gdmVyc2lvblxuICAgICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgICAgcmV0dXJuIGAoJHthZGRTdWZmaXgodmVyc2lvbil9LClgO1xuICAgICAgICAgIC8vIFwiW3ZlcnNpb24sXVwiID0+IG1lYW5zIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGF0IHZlcnNpb25cbiAgICAgICAgICBjYXNlICc+PSc6XG4gICAgICAgICAgICByZXR1cm4gYFske2FkZFN1ZmZpeCh2ZXJzaW9uKX0sKWA7XG4gICAgICAgICAgLy8gXCJbLHZlcnNpb24pXCIgPT4gbWVhbnMgbGVzcyB0aGFuIHZlcnNpb25cbiAgICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICAgIHJldHVybiBgKCwke2FkZFN1ZmZpeCh2ZXJzaW9uLCAhc2VtdmVyKX0pYDtcbiAgICAgICAgICAvLyBcIlssdmVyc2lvbl1cIiA9PiBtZWFucyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdmVyc2lvblxuICAgICAgICAgIGNhc2UgJzw9JzpcbiAgICAgICAgICAgIHJldHVybiBgKCwke2FkZFN1ZmZpeCh2ZXJzaW9uKX1dYDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChzZXQubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGNvbnN0IG51Z2V0UmFuZ2UgPSB0b0JyYWNrZXRSYW5nZShzZXRbMF0sIHNldFsxXSk7XG4gICAgICAgIGlmIChudWdldFJhbmdlKSB7XG4gICAgICAgICAgcmV0dXJuIG51Z2V0UmFuZ2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFVuc3VwcG9ydGVkIFNlbVZlciByYW5nZSBzZXQgaW4gJHtzZW12ZXJSYW5nZX06ICR7c2V0XG4gICAgICAgICAgLm1hcCgoY29tcCkgPT4gY29tcC52YWx1ZSlcbiAgICAgICAgICAuam9pbignLCAnKX1gLFxuICAgICAgKTtcbiAgICB9KVxuICAgIC5qb2luKCcsICcpO1xuXG4gIGZ1bmN0aW9uIHRvQnJhY2tldFJhbmdlKFxuICAgIGxlZnQ6IENvbXBhcmF0b3IsXG4gICAgcmlnaHQ6IENvbXBhcmF0b3IsXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGxlZnQub3BlcmF0b3Iuc3RhcnRzV2l0aCgnPCcpICYmIHJpZ2h0Lm9wZXJhdG9yLnN0YXJ0c1dpdGgoJz4nKSkge1xuICAgICAgLy8gT3JkZXIgaXNuJ3QgaWRlYWwsIHN3YXAgYXJvdW5kLi5cbiAgICAgIFtsZWZ0LCByaWdodF0gPSBbcmlnaHQsIGxlZnRdO1xuICAgIH1cblxuICAgIC8vIFdpdGggXjAuMC4wLCBzb21laG93IHdlIGdldCBhIGxlZnQgZW50cnkgd2l0aCBhbiBlbXB0eSBvcGVyYXRvciBhbmQgdmFsdWUsIHdlJ2xsIGZpeCB0aGlzIHVwXG4gICAgaWYgKGxlZnQub3BlcmF0b3IgPT09ICcnICYmIGxlZnQudmFsdWUgPT09ICcnKSB7XG4gICAgICBsZWZ0ID0gbmV3IENvbXBhcmF0b3IoJz49MC4wLjAnLCBsZWZ0Lm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmICghbGVmdC5vcGVyYXRvci5zdGFydHNXaXRoKCc+JykgfHwgIXJpZ2h0Lm9wZXJhdG9yLnN0YXJ0c1dpdGgoJzwnKSkge1xuICAgICAgLy8gV2Ugb25seSBzdXBwb3J0IHJhbmdlcyBkZWZpbmVkIGxpa2UgXCI+IChvciA+PSkgbGVmdCwgPCAob3IgPD0pIHJpZ2h0XCJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdEJyYWNlID0gbGVmdC5vcGVyYXRvci5lbmRzV2l0aCgnPScpID8gJ1snIDogJygnO1xuICAgIGNvbnN0IHJpZ2h0QnJhY2UgPSByaWdodC5vcGVyYXRvci5lbmRzV2l0aCgnPScpID8gJ10nIDogJyknO1xuICAgIHJldHVybiBgJHtsZWZ0QnJhY2V9JHthZGRTdWZmaXgobGVmdC5zZW12ZXIucmF3KX0sJHthZGRTdWZmaXgoXG4gICAgICByaWdodC5zZW12ZXIucmF3LFxuICAgICAgcmlnaHQub3BlcmF0b3IgPT09ICc8JyAmJiAhc2VtdmVyLFxuICAgICl9JHtyaWdodEJyYWNlfWA7XG4gIH1cblxuICBmdW5jdGlvbiBhZGRTdWZmaXgoc3RyOiBzdHJpbmcgfCB1bmRlZmluZWQsIHRyaW1EYXNoWmVybyA9IGZhbHNlKSB7XG4gICAgaWYgKCFzdHIpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHRyaW1EYXNoWmVybykge1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoLy0wJC8sICcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1ZmZpeCA/IGAke3N0cn0ke3N1ZmZpeH1gIDogdG9SZWxlYXNlVmVyc2lvbihzdHIsIHRhcmdldCk7XG4gIH1cbn0iXX0=