create-packer 1.34.4 → 1.34.6

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 (1545) hide show
  1. package/package.json +1 -1
  2. package/template/lib/react/node_modules/.bin/acorn +17 -0
  3. package/template/lib/react/node_modules/.bin/acorn.CMD +12 -0
  4. package/template/lib/react/node_modules/.bin/acorn.ps1 +41 -0
  5. package/template/lib/react/node_modules/.bin/browserslist +17 -0
  6. package/template/lib/react/node_modules/.bin/browserslist.CMD +12 -0
  7. package/template/lib/react/node_modules/.bin/browserslist.ps1 +41 -0
  8. package/template/lib/react/node_modules/.bin/esbuild +17 -0
  9. package/template/lib/react/node_modules/.bin/esbuild.CMD +12 -0
  10. package/template/lib/react/node_modules/.bin/esbuild.ps1 +41 -0
  11. package/template/lib/react/node_modules/.bin/eslint +17 -0
  12. package/template/lib/react/node_modules/.bin/eslint.CMD +12 -0
  13. package/template/lib/react/node_modules/.bin/eslint.ps1 +41 -0
  14. package/template/lib/react/node_modules/.bin/prettier +17 -0
  15. package/template/lib/react/node_modules/.bin/prettier.CMD +12 -0
  16. package/template/lib/react/node_modules/.bin/prettier.ps1 +41 -0
  17. package/template/lib/react/node_modules/.bin/sb +17 -0
  18. package/template/lib/react/node_modules/.bin/sb.CMD +12 -0
  19. package/template/lib/react/node_modules/.bin/sb.ps1 +41 -0
  20. package/template/lib/react/node_modules/.bin/storybook +17 -0
  21. package/template/lib/react/node_modules/.bin/storybook.CMD +12 -0
  22. package/template/lib/react/node_modules/.bin/storybook.ps1 +41 -0
  23. package/template/lib/react/node_modules/.bin/stylelint +17 -0
  24. package/template/lib/react/node_modules/.bin/stylelint.CMD +12 -0
  25. package/template/lib/react/node_modules/.bin/stylelint.ps1 +41 -0
  26. package/template/lib/react/node_modules/.bin/tsc +17 -0
  27. package/template/lib/react/node_modules/.bin/tsc.CMD +12 -0
  28. package/template/lib/react/node_modules/.bin/tsc.ps1 +41 -0
  29. package/template/lib/react/node_modules/.bin/tsserver +17 -0
  30. package/template/lib/react/node_modules/.bin/tsserver.CMD +12 -0
  31. package/template/lib/react/node_modules/.bin/tsserver.ps1 +41 -0
  32. package/template/lib/react/node_modules/.bin/vite +17 -0
  33. package/template/lib/react/node_modules/.bin/vite.CMD +12 -0
  34. package/template/lib/react/node_modules/.bin/vite.ps1 +41 -0
  35. package/template/lib/react/node_modules/eslint/LICENSE +19 -0
  36. package/template/lib/react/node_modules/eslint/README.md +304 -0
  37. package/template/lib/react/node_modules/eslint/bin/eslint.js +173 -0
  38. package/template/lib/react/node_modules/eslint/conf/config-schema.js +93 -0
  39. package/template/lib/react/node_modules/eslint/conf/default-cli-options.js +32 -0
  40. package/template/lib/react/node_modules/eslint/conf/globals.js +154 -0
  41. package/template/lib/react/node_modules/eslint/conf/replacements.json +22 -0
  42. package/template/lib/react/node_modules/eslint/conf/rule-type-list.json +28 -0
  43. package/template/lib/react/node_modules/eslint/lib/api.js +26 -0
  44. package/template/lib/react/node_modules/eslint/lib/cli-engine/cli-engine.js +1078 -0
  45. package/template/lib/react/node_modules/eslint/lib/cli-engine/file-enumerator.js +547 -0
  46. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +60 -0
  47. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/compact.js +60 -0
  48. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +46 -0
  49. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/html.js +351 -0
  50. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +41 -0
  51. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
  52. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
  53. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/junit.js +82 -0
  54. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
  55. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/tap.js +95 -0
  56. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/unix.js +58 -0
  57. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +63 -0
  58. package/template/lib/react/node_modules/eslint/lib/cli-engine/hash.js +35 -0
  59. package/template/lib/react/node_modules/eslint/lib/cli-engine/index.js +7 -0
  60. package/template/lib/react/node_modules/eslint/lib/cli-engine/lint-result-cache.js +203 -0
  61. package/template/lib/react/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
  62. package/template/lib/react/node_modules/eslint/lib/cli-engine/xml-escape.js +34 -0
  63. package/template/lib/react/node_modules/eslint/lib/cli.js +471 -0
  64. package/template/lib/react/node_modules/eslint/lib/config/default-config.js +67 -0
  65. package/template/lib/react/node_modules/eslint/lib/config/flat-config-array.js +274 -0
  66. package/template/lib/react/node_modules/eslint/lib/config/flat-config-helpers.js +111 -0
  67. package/template/lib/react/node_modules/eslint/lib/config/flat-config-schema.js +583 -0
  68. package/template/lib/react/node_modules/eslint/lib/config/rule-validator.js +158 -0
  69. package/template/lib/react/node_modules/eslint/lib/eslint/eslint-helpers.js +902 -0
  70. package/template/lib/react/node_modules/eslint/lib/eslint/eslint.js +700 -0
  71. package/template/lib/react/node_modules/eslint/lib/eslint/flat-eslint.js +1142 -0
  72. package/template/lib/react/node_modules/eslint/lib/eslint/index.js +9 -0
  73. package/template/lib/react/node_modules/eslint/lib/linter/apply-disable-directives.js +465 -0
  74. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +852 -0
  75. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +263 -0
  76. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +2348 -0
  77. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +342 -0
  78. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
  79. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +349 -0
  80. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
  81. package/template/lib/react/node_modules/eslint/lib/linter/config-comment-parser.js +185 -0
  82. package/template/lib/react/node_modules/eslint/lib/linter/index.js +13 -0
  83. package/template/lib/react/node_modules/eslint/lib/linter/interpolate.js +28 -0
  84. package/template/lib/react/node_modules/eslint/lib/linter/linter.js +2119 -0
  85. package/template/lib/react/node_modules/eslint/lib/linter/node-event-generator.js +354 -0
  86. package/template/lib/react/node_modules/eslint/lib/linter/report-translator.js +369 -0
  87. package/template/lib/react/node_modules/eslint/lib/linter/rule-fixer.js +140 -0
  88. package/template/lib/react/node_modules/eslint/lib/linter/rules.js +80 -0
  89. package/template/lib/react/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
  90. package/template/lib/react/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
  91. package/template/lib/react/node_modules/eslint/lib/linter/timing.js +161 -0
  92. package/template/lib/react/node_modules/eslint/lib/options.js +398 -0
  93. package/template/lib/react/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +1122 -0
  94. package/template/lib/react/node_modules/eslint/lib/rule-tester/index.js +5 -0
  95. package/template/lib/react/node_modules/eslint/lib/rule-tester/rule-tester.js +1206 -0
  96. package/template/lib/react/node_modules/eslint/lib/rules/accessor-pairs.js +346 -0
  97. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-newline.js +261 -0
  98. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-spacing.js +244 -0
  99. package/template/lib/react/node_modules/eslint/lib/rules/array-callback-return.js +446 -0
  100. package/template/lib/react/node_modules/eslint/lib/rules/array-element-newline.js +311 -0
  101. package/template/lib/react/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
  102. package/template/lib/react/node_modules/eslint/lib/rules/arrow-parens.js +186 -0
  103. package/template/lib/react/node_modules/eslint/lib/rules/arrow-spacing.js +164 -0
  104. package/template/lib/react/node_modules/eslint/lib/rules/block-scoped-var.js +135 -0
  105. package/template/lib/react/node_modules/eslint/lib/rules/block-spacing.js +174 -0
  106. package/template/lib/react/node_modules/eslint/lib/rules/brace-style.js +197 -0
  107. package/template/lib/react/node_modules/eslint/lib/rules/callback-return.js +187 -0
  108. package/template/lib/react/node_modules/eslint/lib/rules/camelcase.js +399 -0
  109. package/template/lib/react/node_modules/eslint/lib/rules/capitalized-comments.js +300 -0
  110. package/template/lib/react/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
  111. package/template/lib/react/node_modules/eslint/lib/rules/comma-dangle.js +373 -0
  112. package/template/lib/react/node_modules/eslint/lib/rules/comma-spacing.js +192 -0
  113. package/template/lib/react/node_modules/eslint/lib/rules/comma-style.js +314 -0
  114. package/template/lib/react/node_modules/eslint/lib/rules/complexity.js +165 -0
  115. package/template/lib/react/node_modules/eslint/lib/rules/computed-property-spacing.js +208 -0
  116. package/template/lib/react/node_modules/eslint/lib/rules/consistent-return.js +210 -0
  117. package/template/lib/react/node_modules/eslint/lib/rules/consistent-this.js +153 -0
  118. package/template/lib/react/node_modules/eslint/lib/rules/constructor-super.js +446 -0
  119. package/template/lib/react/node_modules/eslint/lib/rules/curly.js +486 -0
  120. package/template/lib/react/node_modules/eslint/lib/rules/default-case-last.js +44 -0
  121. package/template/lib/react/node_modules/eslint/lib/rules/default-case.js +97 -0
  122. package/template/lib/react/node_modules/eslint/lib/rules/default-param-last.js +62 -0
  123. package/template/lib/react/node_modules/eslint/lib/rules/dot-location.js +108 -0
  124. package/template/lib/react/node_modules/eslint/lib/rules/dot-notation.js +176 -0
  125. package/template/lib/react/node_modules/eslint/lib/rules/eol-last.js +115 -0
  126. package/template/lib/react/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
  127. package/template/lib/react/node_modules/eslint/lib/rules/for-direction.js +140 -0
  128. package/template/lib/react/node_modules/eslint/lib/rules/func-call-spacing.js +233 -0
  129. package/template/lib/react/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
  130. package/template/lib/react/node_modules/eslint/lib/rules/func-names.js +191 -0
  131. package/template/lib/react/node_modules/eslint/lib/rules/func-style.js +98 -0
  132. package/template/lib/react/node_modules/eslint/lib/rules/function-call-argument-newline.js +125 -0
  133. package/template/lib/react/node_modules/eslint/lib/rules/function-paren-newline.js +292 -0
  134. package/template/lib/react/node_modules/eslint/lib/rules/generator-star-spacing.js +209 -0
  135. package/template/lib/react/node_modules/eslint/lib/rules/getter-return.js +204 -0
  136. package/template/lib/react/node_modules/eslint/lib/rules/global-require.js +90 -0
  137. package/template/lib/react/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +215 -0
  138. package/template/lib/react/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
  139. package/template/lib/react/node_modules/eslint/lib/rules/handle-callback-err.js +101 -0
  140. package/template/lib/react/node_modules/eslint/lib/rules/id-blacklist.js +246 -0
  141. package/template/lib/react/node_modules/eslint/lib/rules/id-denylist.js +228 -0
  142. package/template/lib/react/node_modules/eslint/lib/rules/id-length.js +177 -0
  143. package/template/lib/react/node_modules/eslint/lib/rules/id-match.js +299 -0
  144. package/template/lib/react/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +84 -0
  145. package/template/lib/react/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
  146. package/template/lib/react/node_modules/eslint/lib/rules/indent.js +1803 -0
  147. package/template/lib/react/node_modules/eslint/lib/rules/index.js +306 -0
  148. package/template/lib/react/node_modules/eslint/lib/rules/init-declarations.js +139 -0
  149. package/template/lib/react/node_modules/eslint/lib/rules/jsx-quotes.js +98 -0
  150. package/template/lib/react/node_modules/eslint/lib/rules/key-spacing.js +687 -0
  151. package/template/lib/react/node_modules/eslint/lib/rules/keyword-spacing.js +640 -0
  152. package/template/lib/react/node_modules/eslint/lib/rules/line-comment-position.js +122 -0
  153. package/template/lib/react/node_modules/eslint/lib/rules/linebreak-style.js +108 -0
  154. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-comment.js +471 -0
  155. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
  156. package/template/lib/react/node_modules/eslint/lib/rules/lines-between-class-members.js +269 -0
  157. package/template/lib/react/node_modules/eslint/lib/rules/logical-assignment-operators.js +504 -0
  158. package/template/lib/react/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
  159. package/template/lib/react/node_modules/eslint/lib/rules/max-depth.js +156 -0
  160. package/template/lib/react/node_modules/eslint/lib/rules/max-len.js +440 -0
  161. package/template/lib/react/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
  162. package/template/lib/react/node_modules/eslint/lib/rules/max-lines.js +193 -0
  163. package/template/lib/react/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
  164. package/template/lib/react/node_modules/eslint/lib/rules/max-params.js +102 -0
  165. package/template/lib/react/node_modules/eslint/lib/rules/max-statements-per-line.js +199 -0
  166. package/template/lib/react/node_modules/eslint/lib/rules/max-statements.js +184 -0
  167. package/template/lib/react/node_modules/eslint/lib/rules/multiline-comment-style.js +474 -0
  168. package/template/lib/react/node_modules/eslint/lib/rules/multiline-ternary.js +174 -0
  169. package/template/lib/react/node_modules/eslint/lib/rules/new-cap.js +276 -0
  170. package/template/lib/react/node_modules/eslint/lib/rules/new-parens.js +93 -0
  171. package/template/lib/react/node_modules/eslint/lib/rules/newline-after-var.js +253 -0
  172. package/template/lib/react/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
  173. package/template/lib/react/node_modules/eslint/lib/rules/newline-per-chained-call.js +126 -0
  174. package/template/lib/react/node_modules/eslint/lib/rules/no-alert.js +138 -0
  175. package/template/lib/react/node_modules/eslint/lib/rules/no-array-constructor.js +133 -0
  176. package/template/lib/react/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
  177. package/template/lib/react/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
  178. package/template/lib/react/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
  179. package/template/lib/react/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
  180. package/template/lib/react/node_modules/eslint/lib/rules/no-caller.js +46 -0
  181. package/template/lib/react/node_modules/eslint/lib/rules/no-case-declarations.js +64 -0
  182. package/template/lib/react/node_modules/eslint/lib/rules/no-catch-shadow.js +82 -0
  183. package/template/lib/react/node_modules/eslint/lib/rules/no-class-assign.js +63 -0
  184. package/template/lib/react/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
  185. package/template/lib/react/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
  186. package/template/lib/react/node_modules/eslint/lib/rules/no-confusing-arrow.js +92 -0
  187. package/template/lib/react/node_modules/eslint/lib/rules/no-console.js +207 -0
  188. package/template/lib/react/node_modules/eslint/lib/rules/no-const-assign.js +56 -0
  189. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-binary-expression.js +509 -0
  190. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-condition.js +150 -0
  191. package/template/lib/react/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
  192. package/template/lib/react/node_modules/eslint/lib/rules/no-continue.js +39 -0
  193. package/template/lib/react/node_modules/eslint/lib/rules/no-control-regex.js +138 -0
  194. package/template/lib/react/node_modules/eslint/lib/rules/no-debugger.js +43 -0
  195. package/template/lib/react/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
  196. package/template/lib/react/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
  197. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-args.js +82 -0
  198. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
  199. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
  200. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
  201. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
  202. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
  203. package/template/lib/react/node_modules/eslint/lib/rules/no-else-return.js +405 -0
  204. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-character-class.js +76 -0
  205. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
  206. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-pattern.js +78 -0
  207. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-static-block.js +47 -0
  208. package/template/lib/react/node_modules/eslint/lib/rules/no-empty.js +103 -0
  209. package/template/lib/react/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
  210. package/template/lib/react/node_modules/eslint/lib/rules/no-eval.js +286 -0
  211. package/template/lib/react/node_modules/eslint/lib/rules/no-ex-assign.js +54 -0
  212. package/template/lib/react/node_modules/eslint/lib/rules/no-extend-native.js +179 -0
  213. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
  214. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +317 -0
  215. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
  216. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-parens.js +1322 -0
  217. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-semi.js +147 -0
  218. package/template/lib/react/node_modules/eslint/lib/rules/no-fallthrough.js +196 -0
  219. package/template/lib/react/node_modules/eslint/lib/rules/no-floating-decimal.js +73 -0
  220. package/template/lib/react/node_modules/eslint/lib/rules/no-func-assign.js +78 -0
  221. package/template/lib/react/node_modules/eslint/lib/rules/no-global-assign.js +95 -0
  222. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-coercion.js +380 -0
  223. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-globals.js +146 -0
  224. package/template/lib/react/node_modules/eslint/lib/rules/no-implied-eval.js +132 -0
  225. package/template/lib/react/node_modules/eslint/lib/rules/no-import-assign.js +241 -0
  226. package/template/lib/react/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
  227. package/template/lib/react/node_modules/eslint/lib/rules/no-inner-declarations.js +110 -0
  228. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-regexp.js +194 -0
  229. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
  230. package/template/lib/react/node_modules/eslint/lib/rules/no-irregular-whitespace.js +276 -0
  231. package/template/lib/react/node_modules/eslint/lib/rules/no-iterator.js +52 -0
  232. package/template/lib/react/node_modules/eslint/lib/rules/no-label-var.js +80 -0
  233. package/template/lib/react/node_modules/eslint/lib/rules/no-labels.js +149 -0
  234. package/template/lib/react/node_modules/eslint/lib/rules/no-lone-blocks.js +136 -0
  235. package/template/lib/react/node_modules/eslint/lib/rules/no-lonely-if.js +88 -0
  236. package/template/lib/react/node_modules/eslint/lib/rules/no-loop-func.js +206 -0
  237. package/template/lib/react/node_modules/eslint/lib/rules/no-loss-of-precision.js +214 -0
  238. package/template/lib/react/node_modules/eslint/lib/rules/no-magic-numbers.js +243 -0
  239. package/template/lib/react/node_modules/eslint/lib/rules/no-misleading-character-class.js +300 -0
  240. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-operators.js +229 -0
  241. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
  242. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +116 -0
  243. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
  244. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-spaces.js +141 -0
  245. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
  246. package/template/lib/react/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +154 -0
  247. package/template/lib/react/node_modules/eslint/lib/rules/no-native-reassign.js +98 -0
  248. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
  249. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
  250. package/template/lib/react/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
  251. package/template/lib/react/node_modules/eslint/lib/rules/no-new-func.js +87 -0
  252. package/template/lib/react/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +66 -0
  253. package/template/lib/react/node_modules/eslint/lib/rules/no-new-object.js +67 -0
  254. package/template/lib/react/node_modules/eslint/lib/rules/no-new-require.js +50 -0
  255. package/template/lib/react/node_modules/eslint/lib/rules/no-new-symbol.js +56 -0
  256. package/template/lib/react/node_modules/eslint/lib/rules/no-new-wrappers.js +60 -0
  257. package/template/lib/react/node_modules/eslint/lib/rules/no-new.js +43 -0
  258. package/template/lib/react/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
  259. package/template/lib/react/node_modules/eslint/lib/rules/no-obj-calls.js +86 -0
  260. package/template/lib/react/node_modules/eslint/lib/rules/no-object-constructor.js +117 -0
  261. package/template/lib/react/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
  262. package/template/lib/react/node_modules/eslint/lib/rules/no-octal.js +45 -0
  263. package/template/lib/react/node_modules/eslint/lib/rules/no-param-reassign.js +230 -0
  264. package/template/lib/react/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
  265. package/template/lib/react/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
  266. package/template/lib/react/node_modules/eslint/lib/rules/no-process-env.js +51 -0
  267. package/template/lib/react/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
  268. package/template/lib/react/node_modules/eslint/lib/rules/no-promise-executor-return.js +263 -0
  269. package/template/lib/react/node_modules/eslint/lib/rules/no-proto.js +48 -0
  270. package/template/lib/react/node_modules/eslint/lib/rules/no-prototype-builtins.js +159 -0
  271. package/template/lib/react/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
  272. package/template/lib/react/node_modules/eslint/lib/rules/no-regex-spaces.js +197 -0
  273. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-exports.js +193 -0
  274. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-globals.js +124 -0
  275. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-imports.js +410 -0
  276. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-modules.js +213 -0
  277. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-properties.js +168 -0
  278. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
  279. package/template/lib/react/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
  280. package/template/lib/react/node_modules/eslint/lib/rules/no-return-await.js +135 -0
  281. package/template/lib/react/node_modules/eslint/lib/rules/no-script-url.js +61 -0
  282. package/template/lib/react/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
  283. package/template/lib/react/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
  284. package/template/lib/react/node_modules/eslint/lib/rules/no-sequences.js +138 -0
  285. package/template/lib/react/node_modules/eslint/lib/rules/no-setter-return.js +226 -0
  286. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +65 -0
  287. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow.js +336 -0
  288. package/template/lib/react/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
  289. package/template/lib/react/node_modules/eslint/lib/rules/no-sparse-arrays.js +50 -0
  290. package/template/lib/react/node_modules/eslint/lib/rules/no-sync.js +64 -0
  291. package/template/lib/react/node_modules/eslint/lib/rules/no-tabs.js +81 -0
  292. package/template/lib/react/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
  293. package/template/lib/react/node_modules/eslint/lib/rules/no-ternary.js +41 -0
  294. package/template/lib/react/node_modules/eslint/lib/rules/no-this-before-super.js +331 -0
  295. package/template/lib/react/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
  296. package/template/lib/react/node_modules/eslint/lib/rules/no-trailing-spaces.js +193 -0
  297. package/template/lib/react/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
  298. package/template/lib/react/node_modules/eslint/lib/rules/no-undef.js +79 -0
  299. package/template/lib/react/node_modules/eslint/lib/rules/no-undefined.js +86 -0
  300. package/template/lib/react/node_modules/eslint/lib/rules/no-underscore-dangle.js +335 -0
  301. package/template/lib/react/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
  302. package/template/lib/react/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
  303. package/template/lib/react/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
  304. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable-loop.js +185 -0
  305. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable.js +293 -0
  306. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
  307. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
  308. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
  309. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-expressions.js +186 -0
  310. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-labels.js +143 -0
  311. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
  312. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-vars.js +718 -0
  313. package/template/lib/react/node_modules/eslint/lib/rules/no-use-before-define.js +348 -0
  314. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-backreference.js +194 -0
  315. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
  316. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
  317. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
  318. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
  319. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
  320. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-escape.js +333 -0
  321. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
  322. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-return.js +364 -0
  323. package/template/lib/react/node_modules/eslint/lib/rules/no-var.js +334 -0
  324. package/template/lib/react/node_modules/eslint/lib/rules/no-void.js +64 -0
  325. package/template/lib/react/node_modules/eslint/lib/rules/no-warning-comments.js +201 -0
  326. package/template/lib/react/node_modules/eslint/lib/rules/no-whitespace-before-property.js +116 -0
  327. package/template/lib/react/node_modules/eslint/lib/rules/no-with.js +39 -0
  328. package/template/lib/react/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +127 -0
  329. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-newline.js +324 -0
  330. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-spacing.js +311 -0
  331. package/template/lib/react/node_modules/eslint/lib/rules/object-property-newline.js +102 -0
  332. package/template/lib/react/node_modules/eslint/lib/rules/object-shorthand.js +520 -0
  333. package/template/lib/react/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +95 -0
  334. package/template/lib/react/node_modules/eslint/lib/rules/one-var.js +567 -0
  335. package/template/lib/react/node_modules/eslint/lib/rules/operator-assignment.js +209 -0
  336. package/template/lib/react/node_modules/eslint/lib/rules/operator-linebreak.js +253 -0
  337. package/template/lib/react/node_modules/eslint/lib/rules/padded-blocks.js +310 -0
  338. package/template/lib/react/node_modules/eslint/lib/rules/padding-line-between-statements.js +590 -0
  339. package/template/lib/react/node_modules/eslint/lib/rules/prefer-arrow-callback.js +381 -0
  340. package/template/lib/react/node_modules/eslint/lib/rules/prefer-const.js +501 -0
  341. package/template/lib/react/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
  342. package/template/lib/react/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +191 -0
  343. package/template/lib/react/node_modules/eslint/lib/rules/prefer-named-capture-group.js +178 -0
  344. package/template/lib/react/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
  345. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-has-own.js +114 -0
  346. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-spread.js +298 -0
  347. package/template/lib/react/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +132 -0
  348. package/template/lib/react/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
  349. package/template/lib/react/node_modules/eslint/lib/rules/prefer-regex-literals.js +507 -0
  350. package/template/lib/react/node_modules/eslint/lib/rules/prefer-rest-params.js +118 -0
  351. package/template/lib/react/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
  352. package/template/lib/react/node_modules/eslint/lib/rules/prefer-template.js +275 -0
  353. package/template/lib/react/node_modules/eslint/lib/rules/quote-props.js +310 -0
  354. package/template/lib/react/node_modules/eslint/lib/rules/quotes.js +350 -0
  355. package/template/lib/react/node_modules/eslint/lib/rules/radix.js +198 -0
  356. package/template/lib/react/node_modules/eslint/lib/rules/require-atomic-updates.js +331 -0
  357. package/template/lib/react/node_modules/eslint/lib/rules/require-await.js +113 -0
  358. package/template/lib/react/node_modules/eslint/lib/rules/require-jsdoc.js +122 -0
  359. package/template/lib/react/node_modules/eslint/lib/rules/require-unicode-regexp.js +129 -0
  360. package/template/lib/react/node_modules/eslint/lib/rules/require-yield.js +77 -0
  361. package/template/lib/react/node_modules/eslint/lib/rules/rest-spread-spacing.js +123 -0
  362. package/template/lib/react/node_modules/eslint/lib/rules/semi-spacing.js +248 -0
  363. package/template/lib/react/node_modules/eslint/lib/rules/semi-style.js +158 -0
  364. package/template/lib/react/node_modules/eslint/lib/rules/semi.js +438 -0
  365. package/template/lib/react/node_modules/eslint/lib/rules/sort-imports.js +241 -0
  366. package/template/lib/react/node_modules/eslint/lib/rules/sort-keys.js +230 -0
  367. package/template/lib/react/node_modules/eslint/lib/rules/sort-vars.js +104 -0
  368. package/template/lib/react/node_modules/eslint/lib/rules/space-before-blocks.js +204 -0
  369. package/template/lib/react/node_modules/eslint/lib/rules/space-before-function-paren.js +167 -0
  370. package/template/lib/react/node_modules/eslint/lib/rules/space-in-parens.js +285 -0
  371. package/template/lib/react/node_modules/eslint/lib/rules/space-infix-ops.js +198 -0
  372. package/template/lib/react/node_modules/eslint/lib/rules/space-unary-ops.js +324 -0
  373. package/template/lib/react/node_modules/eslint/lib/rules/spaced-comment.js +385 -0
  374. package/template/lib/react/node_modules/eslint/lib/rules/strict.js +277 -0
  375. package/template/lib/react/node_modules/eslint/lib/rules/switch-colon-spacing.js +132 -0
  376. package/template/lib/react/node_modules/eslint/lib/rules/symbol-description.js +73 -0
  377. package/template/lib/react/node_modules/eslint/lib/rules/template-curly-spacing.js +144 -0
  378. package/template/lib/react/node_modules/eslint/lib/rules/template-tag-spacing.js +93 -0
  379. package/template/lib/react/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
  380. package/template/lib/react/node_modules/eslint/lib/rules/use-isnan.js +141 -0
  381. package/template/lib/react/node_modules/eslint/lib/rules/utils/ast-utils.js +2282 -0
  382. package/template/lib/react/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
  383. package/template/lib/react/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
  384. package/template/lib/react/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
  385. package/template/lib/react/node_modules/eslint/lib/rules/utils/patterns/letters.js +36 -0
  386. package/template/lib/react/node_modules/eslint/lib/rules/utils/regular-expressions.js +42 -0
  387. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/index.js +11 -0
  388. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
  389. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
  390. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
  391. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
  392. package/template/lib/react/node_modules/eslint/lib/rules/valid-jsdoc.js +516 -0
  393. package/template/lib/react/node_modules/eslint/lib/rules/valid-typeof.js +127 -0
  394. package/template/lib/react/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
  395. package/template/lib/react/node_modules/eslint/lib/rules/wrap-iife.js +207 -0
  396. package/template/lib/react/node_modules/eslint/lib/rules/wrap-regex.js +61 -0
  397. package/template/lib/react/node_modules/eslint/lib/rules/yield-star-spacing.js +130 -0
  398. package/template/lib/react/node_modules/eslint/lib/rules/yoda.js +353 -0
  399. package/template/lib/react/node_modules/eslint/lib/shared/ajv.js +34 -0
  400. package/template/lib/react/node_modules/eslint/lib/shared/ast-utils.js +29 -0
  401. package/template/lib/react/node_modules/eslint/lib/shared/config-validator.js +347 -0
  402. package/template/lib/react/node_modules/eslint/lib/shared/deprecation-warnings.js +58 -0
  403. package/template/lib/react/node_modules/eslint/lib/shared/directives.js +15 -0
  404. package/template/lib/react/node_modules/eslint/lib/shared/logging.js +30 -0
  405. package/template/lib/react/node_modules/eslint/lib/shared/relative-module-resolver.js +50 -0
  406. package/template/lib/react/node_modules/eslint/lib/shared/runtime-info.js +167 -0
  407. package/template/lib/react/node_modules/eslint/lib/shared/severity.js +49 -0
  408. package/template/lib/react/node_modules/eslint/lib/shared/string-utils.js +60 -0
  409. package/template/lib/react/node_modules/eslint/lib/shared/traverser.js +195 -0
  410. package/template/lib/react/node_modules/eslint/lib/shared/types.js +216 -0
  411. package/template/lib/react/node_modules/eslint/lib/source-code/index.js +5 -0
  412. package/template/lib/react/node_modules/eslint/lib/source-code/source-code.js +1055 -0
  413. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +57 -0
  414. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +58 -0
  415. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursor.js +76 -0
  416. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursors.js +90 -0
  417. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +39 -0
  418. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +43 -0
  419. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +57 -0
  420. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +63 -0
  421. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/index.js +627 -0
  422. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +40 -0
  423. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +38 -0
  424. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +42 -0
  425. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/utils.js +107 -0
  426. package/template/lib/react/node_modules/eslint/lib/unsupported-api.js +30 -0
  427. package/template/lib/react/node_modules/eslint/messages/all-files-ignored.js +16 -0
  428. package/template/lib/react/node_modules/eslint/messages/eslintrc-incompat.js +98 -0
  429. package/template/lib/react/node_modules/eslint/messages/eslintrc-plugins.js +24 -0
  430. package/template/lib/react/node_modules/eslint/messages/extend-config-missing.js +13 -0
  431. package/template/lib/react/node_modules/eslint/messages/failed-to-read-json.js +11 -0
  432. package/template/lib/react/node_modules/eslint/messages/file-not-found.js +10 -0
  433. package/template/lib/react/node_modules/eslint/messages/invalid-rule-options.js +17 -0
  434. package/template/lib/react/node_modules/eslint/messages/invalid-rule-severity.js +13 -0
  435. package/template/lib/react/node_modules/eslint/messages/no-config-found.js +15 -0
  436. package/template/lib/react/node_modules/eslint/messages/plugin-conflict.js +22 -0
  437. package/template/lib/react/node_modules/eslint/messages/plugin-invalid.js +16 -0
  438. package/template/lib/react/node_modules/eslint/messages/plugin-missing.js +19 -0
  439. package/template/lib/react/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
  440. package/template/lib/react/node_modules/eslint/messages/shared.js +18 -0
  441. package/template/lib/react/node_modules/eslint/messages/whitespace-found.js +11 -0
  442. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint +17 -0
  443. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.CMD +12 -0
  444. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.ps1 +41 -0
  445. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml +17 -0
  446. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.CMD +12 -0
  447. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +41 -0
  448. package/template/lib/react/node_modules/eslint/package.json +179 -0
  449. package/template/lib/react/node_modules/eslint-import-resolver-typescript/LICENSE +5 -0
  450. package/template/lib/react/node_modules/eslint-import-resolver-typescript/README.md +232 -0
  451. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.cjs +278 -0
  452. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +20 -0
  453. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +251 -0
  454. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js +252 -0
  455. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js.map +1 -0
  456. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +17 -0
  457. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +12 -0
  458. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +41 -0
  459. package/template/lib/react/node_modules/eslint-import-resolver-typescript/package.json +108 -0
  460. package/template/lib/react/node_modules/eslint-import-resolver-typescript/shim.d.ts +4 -0
  461. package/template/lib/react/node_modules/eslint-plugin-import/CHANGELOG.md +1925 -0
  462. package/template/lib/react/node_modules/eslint-plugin-import/CONTRIBUTING.md +84 -0
  463. package/template/lib/react/node_modules/eslint-plugin-import/LICENSE +22 -0
  464. package/template/lib/react/node_modules/eslint-plugin-import/README.md +500 -0
  465. package/template/lib/react/node_modules/eslint-plugin-import/RELEASE.md +54 -0
  466. package/template/lib/react/node_modules/eslint-plugin-import/SECURITY.md +11 -0
  467. package/template/lib/react/node_modules/eslint-plugin-import/config/electron.js +8 -0
  468. package/template/lib/react/node_modules/eslint-plugin-import/config/errors.js +14 -0
  469. package/template/lib/react/node_modules/eslint-plugin-import/config/react-native.js +13 -0
  470. package/template/lib/react/node_modules/eslint-plugin-import/config/react.js +18 -0
  471. package/template/lib/react/node_modules/eslint-plugin-import/config/recommended.js +28 -0
  472. package/template/lib/react/node_modules/eslint-plugin-import/config/stage-0.js +12 -0
  473. package/template/lib/react/node_modules/eslint-plugin-import/config/typescript.js +34 -0
  474. package/template/lib/react/node_modules/eslint-plugin-import/config/warnings.js +12 -0
  475. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +91 -0
  476. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/default.md +72 -0
  477. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +92 -0
  478. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/export.md +37 -0
  479. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/exports-last.md +51 -0
  480. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/extensions.md +174 -0
  481. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/first.md +75 -0
  482. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/group-exports.md +118 -0
  483. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/imports-first.md +9 -0
  484. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +70 -0
  485. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/named.md +102 -0
  486. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/namespace.md +106 -0
  487. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +167 -0
  488. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +54 -0
  489. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-amd.md +37 -0
  490. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +83 -0
  491. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +96 -0
  492. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +111 -0
  493. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +65 -0
  494. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +62 -0
  495. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +109 -0
  496. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +25 -0
  497. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +49 -0
  498. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +139 -0
  499. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +81 -0
  500. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +136 -0
  501. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +54 -0
  502. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +52 -0
  503. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +53 -0
  504. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +36 -0
  505. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +79 -0
  506. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +44 -0
  507. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +42 -0
  508. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +70 -0
  509. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +123 -0
  510. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +198 -0
  511. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +32 -0
  512. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +60 -0
  513. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +110 -0
  514. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +125 -0
  515. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +85 -0
  516. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +39 -0
  517. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/order.md +365 -0
  518. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +185 -0
  519. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +57 -0
  520. package/template/lib/react/node_modules/eslint-plugin-import/lib/ExportMap.js +856 -0
  521. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/importType.js +129 -0
  522. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/packagePath.js +22 -0
  523. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/staticRequire.js +11 -0
  524. package/template/lib/react/node_modules/eslint-plugin-import/lib/docsUrl.js +8 -0
  525. package/template/lib/react/node_modules/eslint-plugin-import/lib/importDeclaration.js +5 -0
  526. package/template/lib/react/node_modules/eslint-plugin-import/lib/index.js +71 -0
  527. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +221 -0
  528. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/default.js +40 -0
  529. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +120 -0
  530. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/export.js +250 -0
  531. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/exports-last.js +40 -0
  532. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/extensions.js +193 -0
  533. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/first.js +144 -0
  534. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/group-exports.js +155 -0
  535. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/imports-first.js +16 -0
  536. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +60 -0
  537. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/named.js +143 -0
  538. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/namespace.js +218 -0
  539. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +237 -0
  540. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +40 -0
  541. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-amd.js +47 -0
  542. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +103 -0
  543. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +141 -0
  544. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +158 -0
  545. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +43 -0
  546. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +138 -0
  547. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +354 -0
  548. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +77 -0
  549. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +105 -0
  550. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +301 -0
  551. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +85 -0
  552. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +144 -0
  553. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +59 -0
  554. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +96 -0
  555. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +45 -0
  556. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +31 -0
  557. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +39 -0
  558. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +175 -0
  559. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +44 -0
  560. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +71 -0
  561. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +48 -0
  562. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +245 -0
  563. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +39 -0
  564. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +79 -0
  565. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +60 -0
  566. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +945 -0
  567. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +147 -0
  568. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +26 -0
  569. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/order.js +785 -0
  570. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +116 -0
  571. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +38 -0
  572. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/LICENSE +22 -0
  573. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/README.md +21 -0
  574. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/index.js +41 -0
  575. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint +17 -0
  576. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +12 -0
  577. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +41 -0
  578. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver +17 -0
  579. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +12 -0
  580. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +41 -0
  581. package/template/lib/react/node_modules/eslint-plugin-import/package.json +124 -0
  582. package/template/lib/react/node_modules/eslint-plugin-prettier/LICENSE.md +24 -0
  583. package/template/lib/react/node_modules/eslint-plugin-prettier/README.md +202 -0
  584. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +5 -0
  585. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +254 -0
  586. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +17 -0
  587. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +17 -0
  588. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +12 -0
  589. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +41 -0
  590. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +12 -0
  591. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +41 -0
  592. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +17 -0
  593. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +12 -0
  594. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +41 -0
  595. package/template/lib/react/node_modules/eslint-plugin-prettier/package.json +101 -0
  596. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.d.ts +5 -0
  597. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.js +17 -0
  598. package/template/lib/react/node_modules/eslint-plugin-prettier/worker.js +181 -0
  599. package/template/lib/react/node_modules/eslint-plugin-react/LICENSE +22 -0
  600. package/template/lib/react/node_modules/eslint-plugin-react/README.md +420 -0
  601. package/template/lib/react/node_modules/eslint-plugin-react/configs/all.js +39 -0
  602. package/template/lib/react/node_modules/eslint-plugin-react/configs/jsx-runtime.js +18 -0
  603. package/template/lib/react/node_modules/eslint-plugin-react/configs/recommended.js +34 -0
  604. package/template/lib/react/node_modules/eslint-plugin-react/index.js +31 -0
  605. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js +400 -0
  606. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/button-has-type.js +163 -0
  607. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js +108 -0
  608. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/destructuring-assignment.js +280 -0
  609. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/display-name.js +283 -0
  610. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-component-props.js +134 -0
  611. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-dom-props.js +121 -0
  612. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-elements.js +114 -0
  613. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js +134 -0
  614. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-prop-types.js +293 -0
  615. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/function-component-definition.js +284 -0
  616. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/hook-use-state.js +203 -0
  617. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/iframe-missing-sandbox.js +142 -0
  618. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/index.js +106 -0
  619. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-boolean-value.js +159 -0
  620. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-child-element-spacing.js +116 -0
  621. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js +308 -0
  622. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-tag-location.js +73 -0
  623. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js +414 -0
  624. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-newline.js +184 -0
  625. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-spacing.js +430 -0
  626. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-equals-spacing.js +110 -0
  627. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-filename-extension.js +110 -0
  628. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js +80 -0
  629. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-fragments.js +209 -0
  630. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-handler-names.js +171 -0
  631. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent-props.js +213 -0
  632. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js +441 -0
  633. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-key.js +293 -0
  634. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-depth.js +162 -0
  635. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-props-per-line.js +154 -0
  636. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-newline.js +168 -0
  637. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-bind.js +208 -0
  638. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js +64 -0
  639. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-constructed-context-values.js +225 -0
  640. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js +76 -0
  641. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-leaked-render.js +186 -0
  642. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js +195 -0
  643. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-script-url.js +97 -0
  644. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-target-blank.js +283 -0
  645. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-undef.js +115 -0
  646. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-useless-fragment.js +257 -0
  647. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js +233 -0
  648. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-pascal-case.js +163 -0
  649. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-multi-spaces.js +134 -0
  650. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-spreading.js +141 -0
  651. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-default-props.js +188 -0
  652. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-props.js +530 -0
  653. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-space-before-closing.js +96 -0
  654. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-tag-spacing.js +323 -0
  655. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js +46 -0
  656. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-vars.js +60 -0
  657. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-wrap-multilines.js +260 -0
  658. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-access-state-in-setstate.js +187 -0
  659. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-adjacent-inline-elements.js +125 -0
  660. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js +288 -0
  661. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-arrow-function-lifecycle.js +144 -0
  662. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-children-prop.js +119 -0
  663. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger-with-children.js +155 -0
  664. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger.js +74 -0
  665. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-deprecated.js +258 -0
  666. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-mount-set-state.js +10 -0
  667. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-update-set-state.js +10 -0
  668. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-direct-mutation-state.js +154 -0
  669. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-find-dom-node.js +50 -0
  670. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-invalid-html-attribute.js +639 -0
  671. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-is-mounted.js +55 -0
  672. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-multi-comp.js +80 -0
  673. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-namespace.js +61 -0
  674. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-object-type-as-default-prop.js +103 -0
  675. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-redundant-should-component-update.js +87 -0
  676. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-render-return-value.js +81 -0
  677. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-set-state.js +88 -0
  678. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-string-refs.js +119 -0
  679. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-this-in-sfc.js +46 -0
  680. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-typos.js +257 -0
  681. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unescaped-entities.js +133 -0
  682. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unknown-property.js +609 -0
  683. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unsafe.js +153 -0
  684. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unstable-nested-components.js +491 -0
  685. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-class-component-methods.js +257 -0
  686. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-prop-types.js +173 -0
  687. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js +522 -0
  688. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-will-update-set-state.js +14 -0
  689. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-es6-class.js +57 -0
  690. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-exact-props.js +161 -0
  691. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-read-only-props.js +116 -0
  692. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-stateless-function.js +390 -0
  693. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prop-types.js +201 -0
  694. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/react-in-jsx-scope.js +56 -0
  695. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-default-props.js +193 -0
  696. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-optimization.js +239 -0
  697. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-render-return.js +104 -0
  698. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/self-closing-comp.js +103 -0
  699. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-comp.js +446 -0
  700. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-default-props.js +174 -0
  701. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-prop-types.js +266 -0
  702. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/state-in-constructor.js +67 -0
  703. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/static-property-placement.js +187 -0
  704. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/style-prop-object.js +137 -0
  705. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/void-dom-elements-no-children.js +165 -0
  706. package/template/lib/react/node_modules/eslint-plugin-react/lib/types.d.ts +28 -0
  707. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/Components.js +946 -0
  708. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/annotations.js +32 -0
  709. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/ast.js +461 -0
  710. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/componentUtil.js +182 -0
  711. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/defaultProps.js +268 -0
  712. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/docsUrl.js +7 -0
  713. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/error.js +14 -0
  714. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js +16 -0
  715. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateContext.js +53 -0
  716. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateElement.js +33 -0
  717. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isDestructuredFromPragmaImport.js +79 -0
  718. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isFirstLetterCapitalized.js +16 -0
  719. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/jsx.js +196 -0
  720. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/lifecycleMethods.js +30 -0
  721. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/linkComponents.js +49 -0
  722. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/log.js +14 -0
  723. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js +119 -0
  724. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/message.js +8 -0
  725. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/pragma.js +72 -0
  726. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypes.js +1248 -0
  727. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypesSort.js +211 -0
  728. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propWrapper.js +61 -0
  729. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/props.js +103 -0
  730. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/report.js +12 -0
  731. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/usedPropTypes.js +569 -0
  732. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/variable.js +94 -0
  733. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/version.js +161 -0
  734. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint +17 -0
  735. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.CMD +12 -0
  736. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.ps1 +41 -0
  737. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve +17 -0
  738. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.CMD +12 -0
  739. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.ps1 +41 -0
  740. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver +17 -0
  741. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.CMD +12 -0
  742. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.ps1 +41 -0
  743. package/template/lib/react/node_modules/eslint-plugin-react/package.json +106 -0
  744. package/template/lib/react/node_modules/eslint-plugin-react-hooks/LICENSE +21 -0
  745. package/template/lib/react/node_modules/eslint-plugin-react-hooks/README.md +75 -0
  746. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +2458 -0
  747. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.min.js +63 -0
  748. package/template/lib/react/node_modules/eslint-plugin-react-hooks/index.js +9 -0
  749. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +17 -0
  750. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.CMD +12 -0
  751. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.ps1 +41 -0
  752. package/template/lib/react/node_modules/eslint-plugin-react-hooks/package.json +39 -0
  753. package/template/lib/react/node_modules/prettier/LICENSE +4857 -0
  754. package/template/lib/react/node_modules/prettier/README.md +109 -0
  755. package/template/lib/react/node_modules/prettier/bin/prettier.cjs +68 -0
  756. package/template/lib/react/node_modules/prettier/doc.d.ts +243 -0
  757. package/template/lib/react/node_modules/prettier/doc.js +1328 -0
  758. package/template/lib/react/node_modules/prettier/doc.mjs +1300 -0
  759. package/template/lib/react/node_modules/prettier/index.cjs +648 -0
  760. package/template/lib/react/node_modules/prettier/index.d.ts +940 -0
  761. package/template/lib/react/node_modules/prettier/index.mjs +24255 -0
  762. package/template/lib/react/node_modules/prettier/internal/cli.mjs +7089 -0
  763. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier +17 -0
  764. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.CMD +12 -0
  765. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.ps1 +41 -0
  766. package/template/lib/react/node_modules/prettier/package.json +198 -0
  767. package/template/lib/react/node_modules/prettier/plugins/acorn.d.ts +6 -0
  768. package/template/lib/react/node_modules/prettier/plugins/acorn.js +13 -0
  769. package/template/lib/react/node_modules/prettier/plugins/acorn.mjs +13 -0
  770. package/template/lib/react/node_modules/prettier/plugins/angular.d.ts +8 -0
  771. package/template/lib/react/node_modules/prettier/plugins/angular.js +1 -0
  772. package/template/lib/react/node_modules/prettier/plugins/angular.mjs +1 -0
  773. package/template/lib/react/node_modules/prettier/plugins/babel.d.ts +18 -0
  774. package/template/lib/react/node_modules/prettier/plugins/babel.js +16 -0
  775. package/template/lib/react/node_modules/prettier/plugins/babel.mjs +16 -0
  776. package/template/lib/react/node_modules/prettier/plugins/estree.d.ts +1 -0
  777. package/template/lib/react/node_modules/prettier/plugins/estree.js +36 -0
  778. package/template/lib/react/node_modules/prettier/plugins/estree.mjs +36 -0
  779. package/template/lib/react/node_modules/prettier/plugins/flow.d.ts +5 -0
  780. package/template/lib/react/node_modules/prettier/plugins/flow.js +21 -0
  781. package/template/lib/react/node_modules/prettier/plugins/flow.mjs +21 -0
  782. package/template/lib/react/node_modules/prettier/plugins/glimmer.d.ts +5 -0
  783. package/template/lib/react/node_modules/prettier/plugins/glimmer.js +30 -0
  784. package/template/lib/react/node_modules/prettier/plugins/glimmer.mjs +30 -0
  785. package/template/lib/react/node_modules/prettier/plugins/graphql.d.ts +5 -0
  786. package/template/lib/react/node_modules/prettier/plugins/graphql.js +29 -0
  787. package/template/lib/react/node_modules/prettier/plugins/graphql.mjs +29 -0
  788. package/template/lib/react/node_modules/prettier/plugins/html.d.ts +8 -0
  789. package/template/lib/react/node_modules/prettier/plugins/html.js +19 -0
  790. package/template/lib/react/node_modules/prettier/plugins/html.mjs +19 -0
  791. package/template/lib/react/node_modules/prettier/plugins/markdown.d.ts +7 -0
  792. package/template/lib/react/node_modules/prettier/plugins/markdown.js +59 -0
  793. package/template/lib/react/node_modules/prettier/plugins/markdown.mjs +59 -0
  794. package/template/lib/react/node_modules/prettier/plugins/meriyah.d.ts +5 -0
  795. package/template/lib/react/node_modules/prettier/plugins/meriyah.js +5 -0
  796. package/template/lib/react/node_modules/prettier/plugins/meriyah.mjs +5 -0
  797. package/template/lib/react/node_modules/prettier/plugins/postcss.d.ts +7 -0
  798. package/template/lib/react/node_modules/prettier/plugins/postcss.js +49 -0
  799. package/template/lib/react/node_modules/prettier/plugins/postcss.mjs +49 -0
  800. package/template/lib/react/node_modules/prettier/plugins/typescript.d.ts +5 -0
  801. package/template/lib/react/node_modules/prettier/plugins/typescript.js +25 -0
  802. package/template/lib/react/node_modules/prettier/plugins/typescript.mjs +25 -0
  803. package/template/lib/react/node_modules/prettier/plugins/yaml.d.ts +5 -0
  804. package/template/lib/react/node_modules/prettier/plugins/yaml.js +161 -0
  805. package/template/lib/react/node_modules/prettier/plugins/yaml.mjs +161 -0
  806. package/template/lib/react/node_modules/prettier/standalone.d.ts +33 -0
  807. package/template/lib/react/node_modules/prettier/standalone.js +34 -0
  808. package/template/lib/react/node_modules/prettier/standalone.mjs +34 -0
  809. package/template/lib/react/node_modules/prop-types/LICENSE +21 -0
  810. package/template/lib/react/node_modules/prop-types/README.md +302 -0
  811. package/template/lib/react/node_modules/prop-types/checkPropTypes.js +103 -0
  812. package/template/lib/react/node_modules/prop-types/factory.js +19 -0
  813. package/template/lib/react/node_modules/prop-types/factoryWithThrowingShims.js +65 -0
  814. package/template/lib/react/node_modules/prop-types/factoryWithTypeCheckers.js +610 -0
  815. package/template/lib/react/node_modules/prop-types/index.js +19 -0
  816. package/template/lib/react/node_modules/prop-types/lib/ReactPropTypesSecret.js +12 -0
  817. package/template/lib/react/node_modules/prop-types/lib/has.js +1 -0
  818. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify +17 -0
  819. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.CMD +12 -0
  820. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.ps1 +41 -0
  821. package/template/lib/react/node_modules/prop-types/package.json +60 -0
  822. package/template/lib/react/node_modules/prop-types/prop-types.js +1315 -0
  823. package/template/lib/react/node_modules/prop-types/prop-types.min.js +1 -0
  824. package/template/lib/react/node_modules/react/LICENSE +21 -0
  825. package/template/lib/react/node_modules/react/README.md +37 -0
  826. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.development.js +1296 -0
  827. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  828. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  829. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.development.js +1314 -0
  830. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
  831. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +11 -0
  832. package/template/lib/react/node_modules/react/cjs/react.development.js +2739 -0
  833. package/template/lib/react/node_modules/react/cjs/react.production.min.js +26 -0
  834. package/template/lib/react/node_modules/react/cjs/react.shared-subset.development.js +20 -0
  835. package/template/lib/react/node_modules/react/cjs/react.shared-subset.production.min.js +10 -0
  836. package/template/lib/react/node_modules/react/index.js +7 -0
  837. package/template/lib/react/node_modules/react/jsx-dev-runtime.js +7 -0
  838. package/template/lib/react/node_modules/react/jsx-runtime.js +7 -0
  839. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify +17 -0
  840. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.CMD +12 -0
  841. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.ps1 +41 -0
  842. package/template/lib/react/node_modules/react/package.json +47 -0
  843. package/template/lib/react/node_modules/react/react.shared-subset.js +7 -0
  844. package/template/lib/react/node_modules/react/umd/react.development.js +3342 -0
  845. package/template/lib/react/node_modules/react/umd/react.production.min.js +31 -0
  846. package/template/lib/react/node_modules/react/umd/react.profiling.min.js +31 -0
  847. package/template/lib/react/node_modules/react-dom/LICENSE +21 -0
  848. package/template/lib/react/node_modules/react-dom/README.md +60 -0
  849. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +7018 -0
  850. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +93 -0
  851. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +7078 -0
  852. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +101 -0
  853. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.development.js +7003 -0
  854. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +96 -0
  855. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.development.js +7059 -0
  856. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +102 -0
  857. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1741 -0
  858. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +40 -0
  859. package/template/lib/react/node_modules/react-dom/cjs/react-dom.development.js +29868 -0
  860. package/template/lib/react/node_modules/react-dom/cjs/react-dom.production.min.js +323 -0
  861. package/template/lib/react/node_modules/react-dom/cjs/react-dom.profiling.min.js +367 -0
  862. package/template/lib/react/node_modules/react-dom/client.js +25 -0
  863. package/template/lib/react/node_modules/react-dom/index.js +38 -0
  864. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify +17 -0
  865. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.CMD +12 -0
  866. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.ps1 +41 -0
  867. package/template/lib/react/node_modules/react-dom/package.json +62 -0
  868. package/template/lib/react/node_modules/react-dom/profiling.js +38 -0
  869. package/template/lib/react/node_modules/react-dom/server.browser.js +17 -0
  870. package/template/lib/react/node_modules/react-dom/server.js +3 -0
  871. package/template/lib/react/node_modules/react-dom/server.node.js +17 -0
  872. package/template/lib/react/node_modules/react-dom/test-utils.js +7 -0
  873. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +7015 -0
  874. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +75 -0
  875. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.development.js +7000 -0
  876. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +76 -0
  877. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.development.js +1737 -0
  878. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +33 -0
  879. package/template/lib/react/node_modules/react-dom/umd/react-dom.development.js +29869 -0
  880. package/template/lib/react/node_modules/react-dom/umd/react-dom.production.min.js +267 -0
  881. package/template/lib/react/node_modules/react-dom/umd/react-dom.profiling.min.js +285 -0
  882. package/template/lib/react/node_modules/stylelint-config-standard-scss/LICENSE +21 -0
  883. package/template/lib/react/node_modules/stylelint-config-standard-scss/README.md +50 -0
  884. package/template/lib/react/node_modules/stylelint-config-standard-scss/index.js +67 -0
  885. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +17 -0
  886. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +12 -0
  887. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +41 -0
  888. package/template/lib/react/node_modules/stylelint-config-standard-scss/package.json +58 -0
  889. package/template/lib/ts/node_modules/.bin/acorn +17 -0
  890. package/template/lib/ts/node_modules/.bin/acorn.CMD +12 -0
  891. package/template/lib/ts/node_modules/.bin/acorn.ps1 +41 -0
  892. package/template/lib/ts/node_modules/.bin/eslint +17 -0
  893. package/template/lib/ts/node_modules/.bin/eslint.CMD +12 -0
  894. package/template/lib/ts/node_modules/.bin/eslint.ps1 +41 -0
  895. package/template/lib/ts/node_modules/.bin/prettier +17 -0
  896. package/template/lib/ts/node_modules/.bin/prettier.CMD +12 -0
  897. package/template/lib/ts/node_modules/.bin/prettier.ps1 +41 -0
  898. package/template/lib/ts/node_modules/.bin/stylelint +17 -0
  899. package/template/lib/ts/node_modules/.bin/stylelint.CMD +12 -0
  900. package/template/lib/ts/node_modules/.bin/stylelint.ps1 +41 -0
  901. package/template/lib/ts/node_modules/.bin/tsc +17 -0
  902. package/template/lib/ts/node_modules/.bin/tsc.CMD +12 -0
  903. package/template/lib/ts/node_modules/.bin/tsc.ps1 +41 -0
  904. package/template/lib/ts/node_modules/.bin/tsserver +17 -0
  905. package/template/lib/ts/node_modules/.bin/tsserver.CMD +12 -0
  906. package/template/lib/ts/node_modules/.bin/tsserver.ps1 +41 -0
  907. package/template/lib/ts/node_modules/.bin/vitest +17 -0
  908. package/template/lib/ts/node_modules/.bin/vitest.CMD +12 -0
  909. package/template/lib/ts/node_modules/.bin/vitest.ps1 +41 -0
  910. package/template/lib/ts/node_modules/eslint/LICENSE +19 -0
  911. package/template/lib/ts/node_modules/eslint/README.md +304 -0
  912. package/template/lib/ts/node_modules/eslint/bin/eslint.js +173 -0
  913. package/template/lib/ts/node_modules/eslint/conf/config-schema.js +93 -0
  914. package/template/lib/ts/node_modules/eslint/conf/default-cli-options.js +32 -0
  915. package/template/lib/ts/node_modules/eslint/conf/globals.js +154 -0
  916. package/template/lib/ts/node_modules/eslint/conf/replacements.json +22 -0
  917. package/template/lib/ts/node_modules/eslint/conf/rule-type-list.json +28 -0
  918. package/template/lib/ts/node_modules/eslint/lib/api.js +26 -0
  919. package/template/lib/ts/node_modules/eslint/lib/cli-engine/cli-engine.js +1078 -0
  920. package/template/lib/ts/node_modules/eslint/lib/cli-engine/file-enumerator.js +547 -0
  921. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +60 -0
  922. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/compact.js +60 -0
  923. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +46 -0
  924. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/html.js +351 -0
  925. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +41 -0
  926. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
  927. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
  928. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/junit.js +82 -0
  929. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
  930. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/tap.js +95 -0
  931. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/unix.js +58 -0
  932. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +63 -0
  933. package/template/lib/ts/node_modules/eslint/lib/cli-engine/hash.js +35 -0
  934. package/template/lib/ts/node_modules/eslint/lib/cli-engine/index.js +7 -0
  935. package/template/lib/ts/node_modules/eslint/lib/cli-engine/lint-result-cache.js +203 -0
  936. package/template/lib/ts/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
  937. package/template/lib/ts/node_modules/eslint/lib/cli-engine/xml-escape.js +34 -0
  938. package/template/lib/ts/node_modules/eslint/lib/cli.js +471 -0
  939. package/template/lib/ts/node_modules/eslint/lib/config/default-config.js +67 -0
  940. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-array.js +274 -0
  941. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-helpers.js +111 -0
  942. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-schema.js +583 -0
  943. package/template/lib/ts/node_modules/eslint/lib/config/rule-validator.js +158 -0
  944. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint-helpers.js +902 -0
  945. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint.js +700 -0
  946. package/template/lib/ts/node_modules/eslint/lib/eslint/flat-eslint.js +1142 -0
  947. package/template/lib/ts/node_modules/eslint/lib/eslint/index.js +9 -0
  948. package/template/lib/ts/node_modules/eslint/lib/linter/apply-disable-directives.js +465 -0
  949. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +852 -0
  950. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +263 -0
  951. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +2348 -0
  952. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +342 -0
  953. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
  954. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +349 -0
  955. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
  956. package/template/lib/ts/node_modules/eslint/lib/linter/config-comment-parser.js +185 -0
  957. package/template/lib/ts/node_modules/eslint/lib/linter/index.js +13 -0
  958. package/template/lib/ts/node_modules/eslint/lib/linter/interpolate.js +28 -0
  959. package/template/lib/ts/node_modules/eslint/lib/linter/linter.js +2119 -0
  960. package/template/lib/ts/node_modules/eslint/lib/linter/node-event-generator.js +354 -0
  961. package/template/lib/ts/node_modules/eslint/lib/linter/report-translator.js +369 -0
  962. package/template/lib/ts/node_modules/eslint/lib/linter/rule-fixer.js +140 -0
  963. package/template/lib/ts/node_modules/eslint/lib/linter/rules.js +80 -0
  964. package/template/lib/ts/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
  965. package/template/lib/ts/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
  966. package/template/lib/ts/node_modules/eslint/lib/linter/timing.js +161 -0
  967. package/template/lib/ts/node_modules/eslint/lib/options.js +398 -0
  968. package/template/lib/ts/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +1122 -0
  969. package/template/lib/ts/node_modules/eslint/lib/rule-tester/index.js +5 -0
  970. package/template/lib/ts/node_modules/eslint/lib/rule-tester/rule-tester.js +1206 -0
  971. package/template/lib/ts/node_modules/eslint/lib/rules/accessor-pairs.js +346 -0
  972. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-newline.js +261 -0
  973. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-spacing.js +244 -0
  974. package/template/lib/ts/node_modules/eslint/lib/rules/array-callback-return.js +446 -0
  975. package/template/lib/ts/node_modules/eslint/lib/rules/array-element-newline.js +311 -0
  976. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
  977. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-parens.js +186 -0
  978. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-spacing.js +164 -0
  979. package/template/lib/ts/node_modules/eslint/lib/rules/block-scoped-var.js +135 -0
  980. package/template/lib/ts/node_modules/eslint/lib/rules/block-spacing.js +174 -0
  981. package/template/lib/ts/node_modules/eslint/lib/rules/brace-style.js +197 -0
  982. package/template/lib/ts/node_modules/eslint/lib/rules/callback-return.js +187 -0
  983. package/template/lib/ts/node_modules/eslint/lib/rules/camelcase.js +399 -0
  984. package/template/lib/ts/node_modules/eslint/lib/rules/capitalized-comments.js +300 -0
  985. package/template/lib/ts/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
  986. package/template/lib/ts/node_modules/eslint/lib/rules/comma-dangle.js +373 -0
  987. package/template/lib/ts/node_modules/eslint/lib/rules/comma-spacing.js +192 -0
  988. package/template/lib/ts/node_modules/eslint/lib/rules/comma-style.js +314 -0
  989. package/template/lib/ts/node_modules/eslint/lib/rules/complexity.js +165 -0
  990. package/template/lib/ts/node_modules/eslint/lib/rules/computed-property-spacing.js +208 -0
  991. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-return.js +210 -0
  992. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-this.js +153 -0
  993. package/template/lib/ts/node_modules/eslint/lib/rules/constructor-super.js +446 -0
  994. package/template/lib/ts/node_modules/eslint/lib/rules/curly.js +486 -0
  995. package/template/lib/ts/node_modules/eslint/lib/rules/default-case-last.js +44 -0
  996. package/template/lib/ts/node_modules/eslint/lib/rules/default-case.js +97 -0
  997. package/template/lib/ts/node_modules/eslint/lib/rules/default-param-last.js +62 -0
  998. package/template/lib/ts/node_modules/eslint/lib/rules/dot-location.js +108 -0
  999. package/template/lib/ts/node_modules/eslint/lib/rules/dot-notation.js +176 -0
  1000. package/template/lib/ts/node_modules/eslint/lib/rules/eol-last.js +115 -0
  1001. package/template/lib/ts/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
  1002. package/template/lib/ts/node_modules/eslint/lib/rules/for-direction.js +140 -0
  1003. package/template/lib/ts/node_modules/eslint/lib/rules/func-call-spacing.js +233 -0
  1004. package/template/lib/ts/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
  1005. package/template/lib/ts/node_modules/eslint/lib/rules/func-names.js +191 -0
  1006. package/template/lib/ts/node_modules/eslint/lib/rules/func-style.js +98 -0
  1007. package/template/lib/ts/node_modules/eslint/lib/rules/function-call-argument-newline.js +125 -0
  1008. package/template/lib/ts/node_modules/eslint/lib/rules/function-paren-newline.js +292 -0
  1009. package/template/lib/ts/node_modules/eslint/lib/rules/generator-star-spacing.js +209 -0
  1010. package/template/lib/ts/node_modules/eslint/lib/rules/getter-return.js +204 -0
  1011. package/template/lib/ts/node_modules/eslint/lib/rules/global-require.js +90 -0
  1012. package/template/lib/ts/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +215 -0
  1013. package/template/lib/ts/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
  1014. package/template/lib/ts/node_modules/eslint/lib/rules/handle-callback-err.js +101 -0
  1015. package/template/lib/ts/node_modules/eslint/lib/rules/id-blacklist.js +246 -0
  1016. package/template/lib/ts/node_modules/eslint/lib/rules/id-denylist.js +228 -0
  1017. package/template/lib/ts/node_modules/eslint/lib/rules/id-length.js +177 -0
  1018. package/template/lib/ts/node_modules/eslint/lib/rules/id-match.js +299 -0
  1019. package/template/lib/ts/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +84 -0
  1020. package/template/lib/ts/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
  1021. package/template/lib/ts/node_modules/eslint/lib/rules/indent.js +1803 -0
  1022. package/template/lib/ts/node_modules/eslint/lib/rules/index.js +306 -0
  1023. package/template/lib/ts/node_modules/eslint/lib/rules/init-declarations.js +139 -0
  1024. package/template/lib/ts/node_modules/eslint/lib/rules/jsx-quotes.js +98 -0
  1025. package/template/lib/ts/node_modules/eslint/lib/rules/key-spacing.js +687 -0
  1026. package/template/lib/ts/node_modules/eslint/lib/rules/keyword-spacing.js +640 -0
  1027. package/template/lib/ts/node_modules/eslint/lib/rules/line-comment-position.js +122 -0
  1028. package/template/lib/ts/node_modules/eslint/lib/rules/linebreak-style.js +108 -0
  1029. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-comment.js +471 -0
  1030. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
  1031. package/template/lib/ts/node_modules/eslint/lib/rules/lines-between-class-members.js +269 -0
  1032. package/template/lib/ts/node_modules/eslint/lib/rules/logical-assignment-operators.js +504 -0
  1033. package/template/lib/ts/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
  1034. package/template/lib/ts/node_modules/eslint/lib/rules/max-depth.js +156 -0
  1035. package/template/lib/ts/node_modules/eslint/lib/rules/max-len.js +440 -0
  1036. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
  1037. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines.js +193 -0
  1038. package/template/lib/ts/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
  1039. package/template/lib/ts/node_modules/eslint/lib/rules/max-params.js +102 -0
  1040. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements-per-line.js +199 -0
  1041. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements.js +184 -0
  1042. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-comment-style.js +474 -0
  1043. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-ternary.js +174 -0
  1044. package/template/lib/ts/node_modules/eslint/lib/rules/new-cap.js +276 -0
  1045. package/template/lib/ts/node_modules/eslint/lib/rules/new-parens.js +93 -0
  1046. package/template/lib/ts/node_modules/eslint/lib/rules/newline-after-var.js +253 -0
  1047. package/template/lib/ts/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
  1048. package/template/lib/ts/node_modules/eslint/lib/rules/newline-per-chained-call.js +126 -0
  1049. package/template/lib/ts/node_modules/eslint/lib/rules/no-alert.js +138 -0
  1050. package/template/lib/ts/node_modules/eslint/lib/rules/no-array-constructor.js +133 -0
  1051. package/template/lib/ts/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
  1052. package/template/lib/ts/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
  1053. package/template/lib/ts/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
  1054. package/template/lib/ts/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
  1055. package/template/lib/ts/node_modules/eslint/lib/rules/no-caller.js +46 -0
  1056. package/template/lib/ts/node_modules/eslint/lib/rules/no-case-declarations.js +64 -0
  1057. package/template/lib/ts/node_modules/eslint/lib/rules/no-catch-shadow.js +82 -0
  1058. package/template/lib/ts/node_modules/eslint/lib/rules/no-class-assign.js +63 -0
  1059. package/template/lib/ts/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
  1060. package/template/lib/ts/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
  1061. package/template/lib/ts/node_modules/eslint/lib/rules/no-confusing-arrow.js +92 -0
  1062. package/template/lib/ts/node_modules/eslint/lib/rules/no-console.js +207 -0
  1063. package/template/lib/ts/node_modules/eslint/lib/rules/no-const-assign.js +56 -0
  1064. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-binary-expression.js +509 -0
  1065. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-condition.js +150 -0
  1066. package/template/lib/ts/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
  1067. package/template/lib/ts/node_modules/eslint/lib/rules/no-continue.js +39 -0
  1068. package/template/lib/ts/node_modules/eslint/lib/rules/no-control-regex.js +138 -0
  1069. package/template/lib/ts/node_modules/eslint/lib/rules/no-debugger.js +43 -0
  1070. package/template/lib/ts/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
  1071. package/template/lib/ts/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
  1072. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-args.js +82 -0
  1073. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
  1074. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
  1075. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
  1076. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
  1077. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
  1078. package/template/lib/ts/node_modules/eslint/lib/rules/no-else-return.js +405 -0
  1079. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-character-class.js +76 -0
  1080. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
  1081. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-pattern.js +78 -0
  1082. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-static-block.js +47 -0
  1083. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty.js +103 -0
  1084. package/template/lib/ts/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
  1085. package/template/lib/ts/node_modules/eslint/lib/rules/no-eval.js +286 -0
  1086. package/template/lib/ts/node_modules/eslint/lib/rules/no-ex-assign.js +54 -0
  1087. package/template/lib/ts/node_modules/eslint/lib/rules/no-extend-native.js +179 -0
  1088. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
  1089. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +317 -0
  1090. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
  1091. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-parens.js +1322 -0
  1092. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-semi.js +147 -0
  1093. package/template/lib/ts/node_modules/eslint/lib/rules/no-fallthrough.js +196 -0
  1094. package/template/lib/ts/node_modules/eslint/lib/rules/no-floating-decimal.js +73 -0
  1095. package/template/lib/ts/node_modules/eslint/lib/rules/no-func-assign.js +78 -0
  1096. package/template/lib/ts/node_modules/eslint/lib/rules/no-global-assign.js +95 -0
  1097. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-coercion.js +380 -0
  1098. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-globals.js +146 -0
  1099. package/template/lib/ts/node_modules/eslint/lib/rules/no-implied-eval.js +132 -0
  1100. package/template/lib/ts/node_modules/eslint/lib/rules/no-import-assign.js +241 -0
  1101. package/template/lib/ts/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
  1102. package/template/lib/ts/node_modules/eslint/lib/rules/no-inner-declarations.js +110 -0
  1103. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-regexp.js +194 -0
  1104. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
  1105. package/template/lib/ts/node_modules/eslint/lib/rules/no-irregular-whitespace.js +276 -0
  1106. package/template/lib/ts/node_modules/eslint/lib/rules/no-iterator.js +52 -0
  1107. package/template/lib/ts/node_modules/eslint/lib/rules/no-label-var.js +80 -0
  1108. package/template/lib/ts/node_modules/eslint/lib/rules/no-labels.js +149 -0
  1109. package/template/lib/ts/node_modules/eslint/lib/rules/no-lone-blocks.js +136 -0
  1110. package/template/lib/ts/node_modules/eslint/lib/rules/no-lonely-if.js +88 -0
  1111. package/template/lib/ts/node_modules/eslint/lib/rules/no-loop-func.js +206 -0
  1112. package/template/lib/ts/node_modules/eslint/lib/rules/no-loss-of-precision.js +214 -0
  1113. package/template/lib/ts/node_modules/eslint/lib/rules/no-magic-numbers.js +243 -0
  1114. package/template/lib/ts/node_modules/eslint/lib/rules/no-misleading-character-class.js +300 -0
  1115. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-operators.js +229 -0
  1116. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
  1117. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +116 -0
  1118. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
  1119. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-spaces.js +141 -0
  1120. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
  1121. package/template/lib/ts/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +154 -0
  1122. package/template/lib/ts/node_modules/eslint/lib/rules/no-native-reassign.js +98 -0
  1123. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
  1124. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
  1125. package/template/lib/ts/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
  1126. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-func.js +87 -0
  1127. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +66 -0
  1128. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-object.js +67 -0
  1129. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-require.js +50 -0
  1130. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-symbol.js +56 -0
  1131. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-wrappers.js +60 -0
  1132. package/template/lib/ts/node_modules/eslint/lib/rules/no-new.js +43 -0
  1133. package/template/lib/ts/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
  1134. package/template/lib/ts/node_modules/eslint/lib/rules/no-obj-calls.js +86 -0
  1135. package/template/lib/ts/node_modules/eslint/lib/rules/no-object-constructor.js +117 -0
  1136. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
  1137. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal.js +45 -0
  1138. package/template/lib/ts/node_modules/eslint/lib/rules/no-param-reassign.js +230 -0
  1139. package/template/lib/ts/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
  1140. package/template/lib/ts/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
  1141. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-env.js +51 -0
  1142. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
  1143. package/template/lib/ts/node_modules/eslint/lib/rules/no-promise-executor-return.js +263 -0
  1144. package/template/lib/ts/node_modules/eslint/lib/rules/no-proto.js +48 -0
  1145. package/template/lib/ts/node_modules/eslint/lib/rules/no-prototype-builtins.js +159 -0
  1146. package/template/lib/ts/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
  1147. package/template/lib/ts/node_modules/eslint/lib/rules/no-regex-spaces.js +197 -0
  1148. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-exports.js +193 -0
  1149. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-globals.js +124 -0
  1150. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-imports.js +410 -0
  1151. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-modules.js +213 -0
  1152. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-properties.js +168 -0
  1153. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
  1154. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
  1155. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-await.js +135 -0
  1156. package/template/lib/ts/node_modules/eslint/lib/rules/no-script-url.js +61 -0
  1157. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
  1158. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
  1159. package/template/lib/ts/node_modules/eslint/lib/rules/no-sequences.js +138 -0
  1160. package/template/lib/ts/node_modules/eslint/lib/rules/no-setter-return.js +226 -0
  1161. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +65 -0
  1162. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow.js +336 -0
  1163. package/template/lib/ts/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
  1164. package/template/lib/ts/node_modules/eslint/lib/rules/no-sparse-arrays.js +50 -0
  1165. package/template/lib/ts/node_modules/eslint/lib/rules/no-sync.js +64 -0
  1166. package/template/lib/ts/node_modules/eslint/lib/rules/no-tabs.js +81 -0
  1167. package/template/lib/ts/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
  1168. package/template/lib/ts/node_modules/eslint/lib/rules/no-ternary.js +41 -0
  1169. package/template/lib/ts/node_modules/eslint/lib/rules/no-this-before-super.js +331 -0
  1170. package/template/lib/ts/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
  1171. package/template/lib/ts/node_modules/eslint/lib/rules/no-trailing-spaces.js +193 -0
  1172. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
  1173. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef.js +79 -0
  1174. package/template/lib/ts/node_modules/eslint/lib/rules/no-undefined.js +86 -0
  1175. package/template/lib/ts/node_modules/eslint/lib/rules/no-underscore-dangle.js +335 -0
  1176. package/template/lib/ts/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
  1177. package/template/lib/ts/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
  1178. package/template/lib/ts/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
  1179. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable-loop.js +185 -0
  1180. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable.js +293 -0
  1181. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
  1182. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
  1183. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
  1184. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-expressions.js +186 -0
  1185. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-labels.js +143 -0
  1186. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
  1187. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-vars.js +718 -0
  1188. package/template/lib/ts/node_modules/eslint/lib/rules/no-use-before-define.js +348 -0
  1189. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-backreference.js +194 -0
  1190. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
  1191. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
  1192. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
  1193. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
  1194. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
  1195. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-escape.js +333 -0
  1196. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
  1197. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-return.js +364 -0
  1198. package/template/lib/ts/node_modules/eslint/lib/rules/no-var.js +334 -0
  1199. package/template/lib/ts/node_modules/eslint/lib/rules/no-void.js +64 -0
  1200. package/template/lib/ts/node_modules/eslint/lib/rules/no-warning-comments.js +201 -0
  1201. package/template/lib/ts/node_modules/eslint/lib/rules/no-whitespace-before-property.js +116 -0
  1202. package/template/lib/ts/node_modules/eslint/lib/rules/no-with.js +39 -0
  1203. package/template/lib/ts/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +127 -0
  1204. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-newline.js +324 -0
  1205. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-spacing.js +311 -0
  1206. package/template/lib/ts/node_modules/eslint/lib/rules/object-property-newline.js +102 -0
  1207. package/template/lib/ts/node_modules/eslint/lib/rules/object-shorthand.js +520 -0
  1208. package/template/lib/ts/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +95 -0
  1209. package/template/lib/ts/node_modules/eslint/lib/rules/one-var.js +567 -0
  1210. package/template/lib/ts/node_modules/eslint/lib/rules/operator-assignment.js +209 -0
  1211. package/template/lib/ts/node_modules/eslint/lib/rules/operator-linebreak.js +253 -0
  1212. package/template/lib/ts/node_modules/eslint/lib/rules/padded-blocks.js +310 -0
  1213. package/template/lib/ts/node_modules/eslint/lib/rules/padding-line-between-statements.js +590 -0
  1214. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-arrow-callback.js +381 -0
  1215. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-const.js +501 -0
  1216. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
  1217. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +191 -0
  1218. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-named-capture-group.js +178 -0
  1219. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
  1220. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-has-own.js +114 -0
  1221. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-spread.js +298 -0
  1222. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +132 -0
  1223. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
  1224. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-regex-literals.js +507 -0
  1225. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-rest-params.js +118 -0
  1226. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
  1227. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-template.js +275 -0
  1228. package/template/lib/ts/node_modules/eslint/lib/rules/quote-props.js +310 -0
  1229. package/template/lib/ts/node_modules/eslint/lib/rules/quotes.js +350 -0
  1230. package/template/lib/ts/node_modules/eslint/lib/rules/radix.js +198 -0
  1231. package/template/lib/ts/node_modules/eslint/lib/rules/require-atomic-updates.js +331 -0
  1232. package/template/lib/ts/node_modules/eslint/lib/rules/require-await.js +113 -0
  1233. package/template/lib/ts/node_modules/eslint/lib/rules/require-jsdoc.js +122 -0
  1234. package/template/lib/ts/node_modules/eslint/lib/rules/require-unicode-regexp.js +129 -0
  1235. package/template/lib/ts/node_modules/eslint/lib/rules/require-yield.js +77 -0
  1236. package/template/lib/ts/node_modules/eslint/lib/rules/rest-spread-spacing.js +123 -0
  1237. package/template/lib/ts/node_modules/eslint/lib/rules/semi-spacing.js +248 -0
  1238. package/template/lib/ts/node_modules/eslint/lib/rules/semi-style.js +158 -0
  1239. package/template/lib/ts/node_modules/eslint/lib/rules/semi.js +438 -0
  1240. package/template/lib/ts/node_modules/eslint/lib/rules/sort-imports.js +241 -0
  1241. package/template/lib/ts/node_modules/eslint/lib/rules/sort-keys.js +230 -0
  1242. package/template/lib/ts/node_modules/eslint/lib/rules/sort-vars.js +104 -0
  1243. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-blocks.js +204 -0
  1244. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-function-paren.js +167 -0
  1245. package/template/lib/ts/node_modules/eslint/lib/rules/space-in-parens.js +285 -0
  1246. package/template/lib/ts/node_modules/eslint/lib/rules/space-infix-ops.js +198 -0
  1247. package/template/lib/ts/node_modules/eslint/lib/rules/space-unary-ops.js +324 -0
  1248. package/template/lib/ts/node_modules/eslint/lib/rules/spaced-comment.js +385 -0
  1249. package/template/lib/ts/node_modules/eslint/lib/rules/strict.js +277 -0
  1250. package/template/lib/ts/node_modules/eslint/lib/rules/switch-colon-spacing.js +132 -0
  1251. package/template/lib/ts/node_modules/eslint/lib/rules/symbol-description.js +73 -0
  1252. package/template/lib/ts/node_modules/eslint/lib/rules/template-curly-spacing.js +144 -0
  1253. package/template/lib/ts/node_modules/eslint/lib/rules/template-tag-spacing.js +93 -0
  1254. package/template/lib/ts/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
  1255. package/template/lib/ts/node_modules/eslint/lib/rules/use-isnan.js +141 -0
  1256. package/template/lib/ts/node_modules/eslint/lib/rules/utils/ast-utils.js +2282 -0
  1257. package/template/lib/ts/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
  1258. package/template/lib/ts/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
  1259. package/template/lib/ts/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
  1260. package/template/lib/ts/node_modules/eslint/lib/rules/utils/patterns/letters.js +36 -0
  1261. package/template/lib/ts/node_modules/eslint/lib/rules/utils/regular-expressions.js +42 -0
  1262. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/index.js +11 -0
  1263. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
  1264. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
  1265. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
  1266. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
  1267. package/template/lib/ts/node_modules/eslint/lib/rules/valid-jsdoc.js +516 -0
  1268. package/template/lib/ts/node_modules/eslint/lib/rules/valid-typeof.js +127 -0
  1269. package/template/lib/ts/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
  1270. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-iife.js +207 -0
  1271. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-regex.js +61 -0
  1272. package/template/lib/ts/node_modules/eslint/lib/rules/yield-star-spacing.js +130 -0
  1273. package/template/lib/ts/node_modules/eslint/lib/rules/yoda.js +353 -0
  1274. package/template/lib/ts/node_modules/eslint/lib/shared/ajv.js +34 -0
  1275. package/template/lib/ts/node_modules/eslint/lib/shared/ast-utils.js +29 -0
  1276. package/template/lib/ts/node_modules/eslint/lib/shared/config-validator.js +347 -0
  1277. package/template/lib/ts/node_modules/eslint/lib/shared/deprecation-warnings.js +58 -0
  1278. package/template/lib/ts/node_modules/eslint/lib/shared/directives.js +15 -0
  1279. package/template/lib/ts/node_modules/eslint/lib/shared/logging.js +30 -0
  1280. package/template/lib/ts/node_modules/eslint/lib/shared/relative-module-resolver.js +50 -0
  1281. package/template/lib/ts/node_modules/eslint/lib/shared/runtime-info.js +167 -0
  1282. package/template/lib/ts/node_modules/eslint/lib/shared/severity.js +49 -0
  1283. package/template/lib/ts/node_modules/eslint/lib/shared/string-utils.js +60 -0
  1284. package/template/lib/ts/node_modules/eslint/lib/shared/traverser.js +195 -0
  1285. package/template/lib/ts/node_modules/eslint/lib/shared/types.js +216 -0
  1286. package/template/lib/ts/node_modules/eslint/lib/source-code/index.js +5 -0
  1287. package/template/lib/ts/node_modules/eslint/lib/source-code/source-code.js +1055 -0
  1288. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +57 -0
  1289. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +58 -0
  1290. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursor.js +76 -0
  1291. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursors.js +90 -0
  1292. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +39 -0
  1293. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +43 -0
  1294. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +57 -0
  1295. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +63 -0
  1296. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/index.js +627 -0
  1297. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +40 -0
  1298. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +38 -0
  1299. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +42 -0
  1300. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/utils.js +107 -0
  1301. package/template/lib/ts/node_modules/eslint/lib/unsupported-api.js +30 -0
  1302. package/template/lib/ts/node_modules/eslint/messages/all-files-ignored.js +16 -0
  1303. package/template/lib/ts/node_modules/eslint/messages/eslintrc-incompat.js +98 -0
  1304. package/template/lib/ts/node_modules/eslint/messages/eslintrc-plugins.js +24 -0
  1305. package/template/lib/ts/node_modules/eslint/messages/extend-config-missing.js +13 -0
  1306. package/template/lib/ts/node_modules/eslint/messages/failed-to-read-json.js +11 -0
  1307. package/template/lib/ts/node_modules/eslint/messages/file-not-found.js +10 -0
  1308. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-options.js +17 -0
  1309. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-severity.js +13 -0
  1310. package/template/lib/ts/node_modules/eslint/messages/no-config-found.js +15 -0
  1311. package/template/lib/ts/node_modules/eslint/messages/plugin-conflict.js +22 -0
  1312. package/template/lib/ts/node_modules/eslint/messages/plugin-invalid.js +16 -0
  1313. package/template/lib/ts/node_modules/eslint/messages/plugin-missing.js +19 -0
  1314. package/template/lib/ts/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
  1315. package/template/lib/ts/node_modules/eslint/messages/shared.js +18 -0
  1316. package/template/lib/ts/node_modules/eslint/messages/whitespace-found.js +11 -0
  1317. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint +17 -0
  1318. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.CMD +12 -0
  1319. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.ps1 +41 -0
  1320. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml +17 -0
  1321. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.CMD +12 -0
  1322. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +41 -0
  1323. package/template/lib/ts/node_modules/eslint/package.json +179 -0
  1324. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/LICENSE +5 -0
  1325. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/README.md +232 -0
  1326. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.cjs +278 -0
  1327. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +20 -0
  1328. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +251 -0
  1329. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js +252 -0
  1330. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js.map +1 -0
  1331. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +17 -0
  1332. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +12 -0
  1333. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +41 -0
  1334. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/package.json +108 -0
  1335. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/shim.d.ts +4 -0
  1336. package/template/lib/ts/node_modules/eslint-plugin-import/CHANGELOG.md +1925 -0
  1337. package/template/lib/ts/node_modules/eslint-plugin-import/CONTRIBUTING.md +84 -0
  1338. package/template/lib/ts/node_modules/eslint-plugin-import/LICENSE +22 -0
  1339. package/template/lib/ts/node_modules/eslint-plugin-import/README.md +500 -0
  1340. package/template/lib/ts/node_modules/eslint-plugin-import/RELEASE.md +54 -0
  1341. package/template/lib/ts/node_modules/eslint-plugin-import/SECURITY.md +11 -0
  1342. package/template/lib/ts/node_modules/eslint-plugin-import/config/electron.js +8 -0
  1343. package/template/lib/ts/node_modules/eslint-plugin-import/config/errors.js +14 -0
  1344. package/template/lib/ts/node_modules/eslint-plugin-import/config/react-native.js +13 -0
  1345. package/template/lib/ts/node_modules/eslint-plugin-import/config/react.js +18 -0
  1346. package/template/lib/ts/node_modules/eslint-plugin-import/config/recommended.js +28 -0
  1347. package/template/lib/ts/node_modules/eslint-plugin-import/config/stage-0.js +12 -0
  1348. package/template/lib/ts/node_modules/eslint-plugin-import/config/typescript.js +34 -0
  1349. package/template/lib/ts/node_modules/eslint-plugin-import/config/warnings.js +12 -0
  1350. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +91 -0
  1351. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/default.md +72 -0
  1352. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +92 -0
  1353. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/export.md +37 -0
  1354. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/exports-last.md +51 -0
  1355. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/extensions.md +174 -0
  1356. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/first.md +75 -0
  1357. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/group-exports.md +118 -0
  1358. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/imports-first.md +9 -0
  1359. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +70 -0
  1360. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/named.md +102 -0
  1361. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/namespace.md +106 -0
  1362. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +167 -0
  1363. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +54 -0
  1364. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-amd.md +37 -0
  1365. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +83 -0
  1366. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +96 -0
  1367. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +111 -0
  1368. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +65 -0
  1369. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +62 -0
  1370. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +109 -0
  1371. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +25 -0
  1372. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +49 -0
  1373. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +139 -0
  1374. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +81 -0
  1375. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +136 -0
  1376. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +54 -0
  1377. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +52 -0
  1378. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +53 -0
  1379. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +36 -0
  1380. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +79 -0
  1381. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +44 -0
  1382. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +42 -0
  1383. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +70 -0
  1384. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +123 -0
  1385. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +198 -0
  1386. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +32 -0
  1387. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +60 -0
  1388. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +110 -0
  1389. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +125 -0
  1390. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +85 -0
  1391. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +39 -0
  1392. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/order.md +365 -0
  1393. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +185 -0
  1394. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +57 -0
  1395. package/template/lib/ts/node_modules/eslint-plugin-import/lib/ExportMap.js +856 -0
  1396. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/importType.js +129 -0
  1397. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/packagePath.js +22 -0
  1398. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/staticRequire.js +11 -0
  1399. package/template/lib/ts/node_modules/eslint-plugin-import/lib/docsUrl.js +8 -0
  1400. package/template/lib/ts/node_modules/eslint-plugin-import/lib/importDeclaration.js +5 -0
  1401. package/template/lib/ts/node_modules/eslint-plugin-import/lib/index.js +71 -0
  1402. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +221 -0
  1403. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/default.js +40 -0
  1404. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +120 -0
  1405. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/export.js +250 -0
  1406. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/exports-last.js +40 -0
  1407. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/extensions.js +193 -0
  1408. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/first.js +144 -0
  1409. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/group-exports.js +155 -0
  1410. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/imports-first.js +16 -0
  1411. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +60 -0
  1412. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/named.js +143 -0
  1413. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/namespace.js +218 -0
  1414. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +237 -0
  1415. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +40 -0
  1416. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-amd.js +47 -0
  1417. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +103 -0
  1418. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +141 -0
  1419. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +158 -0
  1420. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +43 -0
  1421. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +138 -0
  1422. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +354 -0
  1423. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +77 -0
  1424. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +105 -0
  1425. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +301 -0
  1426. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +85 -0
  1427. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +144 -0
  1428. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +59 -0
  1429. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +96 -0
  1430. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +45 -0
  1431. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +31 -0
  1432. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +39 -0
  1433. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +175 -0
  1434. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +44 -0
  1435. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +71 -0
  1436. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +48 -0
  1437. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +245 -0
  1438. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +39 -0
  1439. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +79 -0
  1440. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +60 -0
  1441. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +945 -0
  1442. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +147 -0
  1443. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +26 -0
  1444. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/order.js +785 -0
  1445. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +116 -0
  1446. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +38 -0
  1447. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/LICENSE +22 -0
  1448. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/README.md +21 -0
  1449. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/index.js +41 -0
  1450. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint +17 -0
  1451. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +12 -0
  1452. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +41 -0
  1453. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver +17 -0
  1454. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +12 -0
  1455. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +41 -0
  1456. package/template/lib/ts/node_modules/eslint-plugin-import/package.json +124 -0
  1457. package/template/lib/ts/node_modules/eslint-plugin-prettier/LICENSE.md +24 -0
  1458. package/template/lib/ts/node_modules/eslint-plugin-prettier/README.md +202 -0
  1459. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +5 -0
  1460. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +254 -0
  1461. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +17 -0
  1462. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +17 -0
  1463. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +12 -0
  1464. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +41 -0
  1465. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +12 -0
  1466. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +41 -0
  1467. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +17 -0
  1468. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +12 -0
  1469. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +41 -0
  1470. package/template/lib/ts/node_modules/eslint-plugin-prettier/package.json +101 -0
  1471. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.d.ts +5 -0
  1472. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.js +17 -0
  1473. package/template/lib/ts/node_modules/eslint-plugin-prettier/worker.js +181 -0
  1474. package/template/lib/ts/node_modules/prettier/LICENSE +4857 -0
  1475. package/template/lib/ts/node_modules/prettier/README.md +109 -0
  1476. package/template/lib/ts/node_modules/prettier/bin/prettier.cjs +68 -0
  1477. package/template/lib/ts/node_modules/prettier/doc.d.ts +243 -0
  1478. package/template/lib/ts/node_modules/prettier/doc.js +1328 -0
  1479. package/template/lib/ts/node_modules/prettier/doc.mjs +1300 -0
  1480. package/template/lib/ts/node_modules/prettier/index.cjs +648 -0
  1481. package/template/lib/ts/node_modules/prettier/index.d.ts +940 -0
  1482. package/template/lib/ts/node_modules/prettier/index.mjs +24255 -0
  1483. package/template/lib/ts/node_modules/prettier/internal/cli.mjs +7089 -0
  1484. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier +17 -0
  1485. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.CMD +12 -0
  1486. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.ps1 +41 -0
  1487. package/template/lib/ts/node_modules/prettier/package.json +198 -0
  1488. package/template/lib/ts/node_modules/prettier/plugins/acorn.d.ts +6 -0
  1489. package/template/lib/ts/node_modules/prettier/plugins/acorn.js +13 -0
  1490. package/template/lib/ts/node_modules/prettier/plugins/acorn.mjs +13 -0
  1491. package/template/lib/ts/node_modules/prettier/plugins/angular.d.ts +8 -0
  1492. package/template/lib/ts/node_modules/prettier/plugins/angular.js +1 -0
  1493. package/template/lib/ts/node_modules/prettier/plugins/angular.mjs +1 -0
  1494. package/template/lib/ts/node_modules/prettier/plugins/babel.d.ts +18 -0
  1495. package/template/lib/ts/node_modules/prettier/plugins/babel.js +16 -0
  1496. package/template/lib/ts/node_modules/prettier/plugins/babel.mjs +16 -0
  1497. package/template/lib/ts/node_modules/prettier/plugins/estree.d.ts +1 -0
  1498. package/template/lib/ts/node_modules/prettier/plugins/estree.js +36 -0
  1499. package/template/lib/ts/node_modules/prettier/plugins/estree.mjs +36 -0
  1500. package/template/lib/ts/node_modules/prettier/plugins/flow.d.ts +5 -0
  1501. package/template/lib/ts/node_modules/prettier/plugins/flow.js +21 -0
  1502. package/template/lib/ts/node_modules/prettier/plugins/flow.mjs +21 -0
  1503. package/template/lib/ts/node_modules/prettier/plugins/glimmer.d.ts +5 -0
  1504. package/template/lib/ts/node_modules/prettier/plugins/glimmer.js +30 -0
  1505. package/template/lib/ts/node_modules/prettier/plugins/glimmer.mjs +30 -0
  1506. package/template/lib/ts/node_modules/prettier/plugins/graphql.d.ts +5 -0
  1507. package/template/lib/ts/node_modules/prettier/plugins/graphql.js +29 -0
  1508. package/template/lib/ts/node_modules/prettier/plugins/graphql.mjs +29 -0
  1509. package/template/lib/ts/node_modules/prettier/plugins/html.d.ts +8 -0
  1510. package/template/lib/ts/node_modules/prettier/plugins/html.js +19 -0
  1511. package/template/lib/ts/node_modules/prettier/plugins/html.mjs +19 -0
  1512. package/template/lib/ts/node_modules/prettier/plugins/markdown.d.ts +7 -0
  1513. package/template/lib/ts/node_modules/prettier/plugins/markdown.js +59 -0
  1514. package/template/lib/ts/node_modules/prettier/plugins/markdown.mjs +59 -0
  1515. package/template/lib/ts/node_modules/prettier/plugins/meriyah.d.ts +5 -0
  1516. package/template/lib/ts/node_modules/prettier/plugins/meriyah.js +5 -0
  1517. package/template/lib/ts/node_modules/prettier/plugins/meriyah.mjs +5 -0
  1518. package/template/lib/ts/node_modules/prettier/plugins/postcss.d.ts +7 -0
  1519. package/template/lib/ts/node_modules/prettier/plugins/postcss.js +49 -0
  1520. package/template/lib/ts/node_modules/prettier/plugins/postcss.mjs +49 -0
  1521. package/template/lib/ts/node_modules/prettier/plugins/typescript.d.ts +5 -0
  1522. package/template/lib/ts/node_modules/prettier/plugins/typescript.js +25 -0
  1523. package/template/lib/ts/node_modules/prettier/plugins/typescript.mjs +25 -0
  1524. package/template/lib/ts/node_modules/prettier/plugins/yaml.d.ts +5 -0
  1525. package/template/lib/ts/node_modules/prettier/plugins/yaml.js +161 -0
  1526. package/template/lib/ts/node_modules/prettier/plugins/yaml.mjs +161 -0
  1527. package/template/lib/ts/node_modules/prettier/standalone.d.ts +33 -0
  1528. package/template/lib/ts/node_modules/prettier/standalone.js +34 -0
  1529. package/template/lib/ts/node_modules/prettier/standalone.mjs +34 -0
  1530. package/template/lib/ts/node_modules/stylelint-config-standard-scss/LICENSE +21 -0
  1531. package/template/lib/ts/node_modules/stylelint-config-standard-scss/README.md +50 -0
  1532. package/template/lib/ts/node_modules/stylelint-config-standard-scss/index.js +67 -0
  1533. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +17 -0
  1534. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +12 -0
  1535. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +41 -0
  1536. package/template/lib/ts/node_modules/stylelint-config-standard-scss/package.json +58 -0
  1537. package/template/lib/workspace/packages/react/.stylelintrc +1 -1
  1538. package/template/lib/workspace/packages/react/package.json +1 -1
  1539. package/template/web-app/react/.stylelintrc +1 -1
  1540. package/template/web-app/react/package.json +1 -1
  1541. package/template/web-app/react-webpack/.stylelintrc +1 -1
  1542. package/template/web-app/react-webpack/package.json +1 -1
  1543. package/template/web-extension/.stylelintrc +1 -1
  1544. package/template/web-extension/package.json +1 -1
  1545. package/template/web-extension/vite.config.ts +1 -1
@@ -0,0 +1,785 @@
1
+ 'use strict';var _slicedToArray = function () {function sliceIterator(arr, i) {var _arr = [];var _n = true;var _d = false;var _e = undefined;try {for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {_arr.push(_s.value);if (i && _arr.length === i) break;}} catch (err) {_d = true;_e = err;} finally {try {if (!_n && _i["return"]) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}return function (arr, i) {if (Array.isArray(arr)) {return arr;} else if (Symbol.iterator in Object(arr)) {return sliceIterator(arr, i);} else {throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();
2
+
3
+ var _minimatch = require('minimatch');var _minimatch2 = _interopRequireDefault(_minimatch);
4
+ var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);
5
+ var _object = require('object.groupby');var _object2 = _interopRequireDefault(_object);
6
+
7
+ var _importType = require('../core/importType');var _importType2 = _interopRequireDefault(_importType);
8
+ var _staticRequire = require('../core/staticRequire');var _staticRequire2 = _interopRequireDefault(_staticRequire);
9
+ var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}
10
+
11
+ var defaultGroups = ['builtin', 'external', 'parent', 'sibling', 'index'];
12
+
13
+ // REPORTING AND FIXING
14
+
15
+ function reverse(array) {
16
+ return array.map(function (v) {
17
+ return Object.assign({}, v, { rank: -v.rank });
18
+ }).reverse();
19
+ }
20
+
21
+ function getTokensOrCommentsAfter(sourceCode, node, count) {
22
+ var currentNodeOrToken = node;
23
+ var result = [];
24
+ for (var i = 0; i < count; i++) {
25
+ currentNodeOrToken = sourceCode.getTokenOrCommentAfter(currentNodeOrToken);
26
+ if (currentNodeOrToken == null) {
27
+ break;
28
+ }
29
+ result.push(currentNodeOrToken);
30
+ }
31
+ return result;
32
+ }
33
+
34
+ function getTokensOrCommentsBefore(sourceCode, node, count) {
35
+ var currentNodeOrToken = node;
36
+ var result = [];
37
+ for (var i = 0; i < count; i++) {
38
+ currentNodeOrToken = sourceCode.getTokenOrCommentBefore(currentNodeOrToken);
39
+ if (currentNodeOrToken == null) {
40
+ break;
41
+ }
42
+ result.push(currentNodeOrToken);
43
+ }
44
+ return result.reverse();
45
+ }
46
+
47
+ function takeTokensAfterWhile(sourceCode, node, condition) {
48
+ var tokens = getTokensOrCommentsAfter(sourceCode, node, 100);
49
+ var result = [];
50
+ for (var i = 0; i < tokens.length; i++) {
51
+ if (condition(tokens[i])) {
52
+ result.push(tokens[i]);
53
+ } else {
54
+ break;
55
+ }
56
+ }
57
+ return result;
58
+ }
59
+
60
+ function takeTokensBeforeWhile(sourceCode, node, condition) {
61
+ var tokens = getTokensOrCommentsBefore(sourceCode, node, 100);
62
+ var result = [];
63
+ for (var i = tokens.length - 1; i >= 0; i--) {
64
+ if (condition(tokens[i])) {
65
+ result.push(tokens[i]);
66
+ } else {
67
+ break;
68
+ }
69
+ }
70
+ return result.reverse();
71
+ }
72
+
73
+ function findOutOfOrder(imported) {
74
+ if (imported.length === 0) {
75
+ return [];
76
+ }
77
+ var maxSeenRankNode = imported[0];
78
+ return imported.filter(function (importedModule) {
79
+ var res = importedModule.rank < maxSeenRankNode.rank;
80
+ if (maxSeenRankNode.rank < importedModule.rank) {
81
+ maxSeenRankNode = importedModule;
82
+ }
83
+ return res;
84
+ });
85
+ }
86
+
87
+ function findRootNode(node) {
88
+ var parent = node;
89
+ while (parent.parent != null && parent.parent.body == null) {
90
+ parent = parent.parent;
91
+ }
92
+ return parent;
93
+ }
94
+
95
+ function findEndOfLineWithComments(sourceCode, node) {
96
+ var tokensToEndOfLine = takeTokensAfterWhile(sourceCode, node, commentOnSameLineAs(node));
97
+ var endOfTokens = tokensToEndOfLine.length > 0 ?
98
+ tokensToEndOfLine[tokensToEndOfLine.length - 1].range[1] :
99
+ node.range[1];
100
+ var result = endOfTokens;
101
+ for (var i = endOfTokens; i < sourceCode.text.length; i++) {
102
+ if (sourceCode.text[i] === '\n') {
103
+ result = i + 1;
104
+ break;
105
+ }
106
+ if (sourceCode.text[i] !== ' ' && sourceCode.text[i] !== '\t' && sourceCode.text[i] !== '\r') {
107
+ break;
108
+ }
109
+ result = i + 1;
110
+ }
111
+ return result;
112
+ }
113
+
114
+ function commentOnSameLineAs(node) {
115
+ return function (token) {return (token.type === 'Block' || token.type === 'Line') &&
116
+ token.loc.start.line === token.loc.end.line &&
117
+ token.loc.end.line === node.loc.end.line;};
118
+ }
119
+
120
+ function findStartOfLineWithComments(sourceCode, node) {
121
+ var tokensToEndOfLine = takeTokensBeforeWhile(sourceCode, node, commentOnSameLineAs(node));
122
+ var startOfTokens = tokensToEndOfLine.length > 0 ? tokensToEndOfLine[0].range[0] : node.range[0];
123
+ var result = startOfTokens;
124
+ for (var i = startOfTokens - 1; i > 0; i--) {
125
+ if (sourceCode.text[i] !== ' ' && sourceCode.text[i] !== '\t') {
126
+ break;
127
+ }
128
+ result = i;
129
+ }
130
+ return result;
131
+ }
132
+
133
+ function isRequireExpression(expr) {
134
+ return expr != null &&
135
+ expr.type === 'CallExpression' &&
136
+ expr.callee != null &&
137
+ expr.callee.name === 'require' &&
138
+ expr.arguments != null &&
139
+ expr.arguments.length === 1 &&
140
+ expr.arguments[0].type === 'Literal';
141
+ }
142
+
143
+ function isSupportedRequireModule(node) {
144
+ if (node.type !== 'VariableDeclaration') {
145
+ return false;
146
+ }
147
+ if (node.declarations.length !== 1) {
148
+ return false;
149
+ }
150
+ var decl = node.declarations[0];
151
+ var isPlainRequire = decl.id && (
152
+ decl.id.type === 'Identifier' || decl.id.type === 'ObjectPattern') &&
153
+ isRequireExpression(decl.init);
154
+ var isRequireWithMemberExpression = decl.id && (
155
+ decl.id.type === 'Identifier' || decl.id.type === 'ObjectPattern') &&
156
+ decl.init != null &&
157
+ decl.init.type === 'CallExpression' &&
158
+ decl.init.callee != null &&
159
+ decl.init.callee.type === 'MemberExpression' &&
160
+ isRequireExpression(decl.init.callee.object);
161
+ return isPlainRequire || isRequireWithMemberExpression;
162
+ }
163
+
164
+ function isPlainImportModule(node) {
165
+ return node.type === 'ImportDeclaration' && node.specifiers != null && node.specifiers.length > 0;
166
+ }
167
+
168
+ function isPlainImportEquals(node) {
169
+ return node.type === 'TSImportEqualsDeclaration' && node.moduleReference.expression;
170
+ }
171
+
172
+ function canCrossNodeWhileReorder(node) {
173
+ return isSupportedRequireModule(node) || isPlainImportModule(node) || isPlainImportEquals(node);
174
+ }
175
+
176
+ function canReorderItems(firstNode, secondNode) {
177
+ var parent = firstNode.parent;var _sort =
178
+ [
179
+ parent.body.indexOf(firstNode),
180
+ parent.body.indexOf(secondNode)].
181
+ sort(),_sort2 = _slicedToArray(_sort, 2),firstIndex = _sort2[0],secondIndex = _sort2[1];
182
+ var nodesBetween = parent.body.slice(firstIndex, secondIndex + 1);var _iteratorNormalCompletion = true;var _didIteratorError = false;var _iteratorError = undefined;try {
183
+ for (var _iterator = nodesBetween[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {var nodeBetween = _step.value;
184
+ if (!canCrossNodeWhileReorder(nodeBetween)) {
185
+ return false;
186
+ }
187
+ }} catch (err) {_didIteratorError = true;_iteratorError = err;} finally {try {if (!_iteratorNormalCompletion && _iterator['return']) {_iterator['return']();}} finally {if (_didIteratorError) {throw _iteratorError;}}}
188
+ return true;
189
+ }
190
+
191
+ function makeImportDescription(node) {
192
+ if (node.node.importKind === 'type') {
193
+ return 'type import';
194
+ }
195
+ if (node.node.importKind === 'typeof') {
196
+ return 'typeof import';
197
+ }
198
+ return 'import';
199
+ }
200
+
201
+ function fixOutOfOrder(context, firstNode, secondNode, order) {
202
+ var sourceCode = context.getSourceCode();
203
+
204
+ var firstRoot = findRootNode(firstNode.node);
205
+ var firstRootStart = findStartOfLineWithComments(sourceCode, firstRoot);
206
+ var firstRootEnd = findEndOfLineWithComments(sourceCode, firstRoot);
207
+
208
+ var secondRoot = findRootNode(secondNode.node);
209
+ var secondRootStart = findStartOfLineWithComments(sourceCode, secondRoot);
210
+ var secondRootEnd = findEndOfLineWithComments(sourceCode, secondRoot);
211
+ var canFix = canReorderItems(firstRoot, secondRoot);
212
+
213
+ var newCode = sourceCode.text.substring(secondRootStart, secondRootEnd);
214
+ if (newCode[newCode.length - 1] !== '\n') {
215
+ newCode = String(newCode) + '\n';
216
+ }
217
+
218
+ var firstImport = String(makeImportDescription(firstNode)) + ' of `' + String(firstNode.displayName) + '`';
219
+ var secondImport = '`' + String(secondNode.displayName) + '` ' + String(makeImportDescription(secondNode));
220
+ var message = secondImport + ' should occur ' + String(order) + ' ' + firstImport;
221
+
222
+ if (order === 'before') {
223
+ context.report({
224
+ node: secondNode.node,
225
+ message: message,
226
+ fix: canFix && function (fixer) {return fixer.replaceTextRange(
227
+ [firstRootStart, secondRootEnd],
228
+ newCode + sourceCode.text.substring(firstRootStart, secondRootStart));} });
229
+
230
+
231
+ } else if (order === 'after') {
232
+ context.report({
233
+ node: secondNode.node,
234
+ message: message,
235
+ fix: canFix && function (fixer) {return fixer.replaceTextRange(
236
+ [secondRootStart, firstRootEnd],
237
+ sourceCode.text.substring(secondRootEnd, firstRootEnd) + newCode);} });
238
+
239
+
240
+ }
241
+ }
242
+
243
+ function reportOutOfOrder(context, imported, outOfOrder, order) {
244
+ outOfOrder.forEach(function (imp) {
245
+ var found = imported.find(function () {function hasHigherRank(importedItem) {
246
+ return importedItem.rank > imp.rank;
247
+ }return hasHigherRank;}());
248
+ fixOutOfOrder(context, found, imp, order);
249
+ });
250
+ }
251
+
252
+ function makeOutOfOrderReport(context, imported) {
253
+ var outOfOrder = findOutOfOrder(imported);
254
+ if (!outOfOrder.length) {
255
+ return;
256
+ }
257
+
258
+ // There are things to report. Try to minimize the number of reported errors.
259
+ var reversedImported = reverse(imported);
260
+ var reversedOrder = findOutOfOrder(reversedImported);
261
+ if (reversedOrder.length < outOfOrder.length) {
262
+ reportOutOfOrder(context, reversedImported, reversedOrder, 'after');
263
+ return;
264
+ }
265
+ reportOutOfOrder(context, imported, outOfOrder, 'before');
266
+ }
267
+
268
+ var compareString = function compareString(a, b) {
269
+ if (a < b) {
270
+ return -1;
271
+ }
272
+ if (a > b) {
273
+ return 1;
274
+ }
275
+ return 0;
276
+ };
277
+
278
+ /** Some parsers (languages without types) don't provide ImportKind */
279
+ var DEAFULT_IMPORT_KIND = 'value';
280
+ var getNormalizedValue = function getNormalizedValue(node, toLowerCase) {
281
+ var value = node.value;
282
+ return toLowerCase ? String(value).toLowerCase() : value;
283
+ };
284
+
285
+ function getSorter(alphabetizeOptions) {
286
+ var multiplier = alphabetizeOptions.order === 'asc' ? 1 : -1;
287
+ var orderImportKind = alphabetizeOptions.orderImportKind;
288
+ var multiplierImportKind = orderImportKind !== 'ignore' && (
289
+ alphabetizeOptions.orderImportKind === 'asc' ? 1 : -1);
290
+
291
+ return function () {function importsSorter(nodeA, nodeB) {
292
+ var importA = getNormalizedValue(nodeA, alphabetizeOptions.caseInsensitive);
293
+ var importB = getNormalizedValue(nodeB, alphabetizeOptions.caseInsensitive);
294
+ var result = 0;
295
+
296
+ if (!(0, _arrayIncludes2['default'])(importA, '/') && !(0, _arrayIncludes2['default'])(importB, '/')) {
297
+ result = compareString(importA, importB);
298
+ } else {
299
+ var A = importA.split('/');
300
+ var B = importB.split('/');
301
+ var a = A.length;
302
+ var b = B.length;
303
+
304
+ for (var i = 0; i < Math.min(a, b); i++) {
305
+ result = compareString(A[i], B[i]);
306
+ if (result) {break;}
307
+ }
308
+
309
+ if (!result && a !== b) {
310
+ result = a < b ? -1 : 1;
311
+ }
312
+ }
313
+
314
+ result = result * multiplier;
315
+
316
+ // In case the paths are equal (result === 0), sort them by importKind
317
+ if (!result && multiplierImportKind) {
318
+ result = multiplierImportKind * compareString(
319
+ nodeA.node.importKind || DEAFULT_IMPORT_KIND,
320
+ nodeB.node.importKind || DEAFULT_IMPORT_KIND);
321
+
322
+ }
323
+
324
+ return result;
325
+ }return importsSorter;}();
326
+ }
327
+
328
+ function mutateRanksToAlphabetize(imported, alphabetizeOptions) {
329
+ var groupedByRanks = (0, _object2['default'])(imported, function (item) {return item.rank;});
330
+
331
+ var sorterFn = getSorter(alphabetizeOptions);
332
+
333
+ // sort group keys so that they can be iterated on in order
334
+ var groupRanks = Object.keys(groupedByRanks).sort(function (a, b) {
335
+ return a - b;
336
+ });
337
+
338
+ // sort imports locally within their group
339
+ groupRanks.forEach(function (groupRank) {
340
+ groupedByRanks[groupRank].sort(sorterFn);
341
+ });
342
+
343
+ // assign globally unique rank to each import
344
+ var newRank = 0;
345
+ var alphabetizedRanks = groupRanks.reduce(function (acc, groupRank) {
346
+ groupedByRanks[groupRank].forEach(function (importedItem) {
347
+ acc[String(importedItem.value) + '|' + String(importedItem.node.importKind)] = parseInt(groupRank, 10) + newRank;
348
+ newRank += 1;
349
+ });
350
+ return acc;
351
+ }, {});
352
+
353
+ // mutate the original group-rank with alphabetized-rank
354
+ imported.forEach(function (importedItem) {
355
+ importedItem.rank = alphabetizedRanks[String(importedItem.value) + '|' + String(importedItem.node.importKind)];
356
+ });
357
+ }
358
+
359
+ // DETECTING
360
+
361
+ function computePathRank(ranks, pathGroups, path, maxPosition) {
362
+ for (var i = 0, l = pathGroups.length; i < l; i++) {var _pathGroups$i =
363
+ pathGroups[i],pattern = _pathGroups$i.pattern,patternOptions = _pathGroups$i.patternOptions,group = _pathGroups$i.group,_pathGroups$i$positio = _pathGroups$i.position,position = _pathGroups$i$positio === undefined ? 1 : _pathGroups$i$positio;
364
+ if ((0, _minimatch2['default'])(path, pattern, patternOptions || { nocomment: true })) {
365
+ return ranks[group] + position / maxPosition;
366
+ }
367
+ }
368
+ }
369
+
370
+ function computeRank(context, ranks, importEntry, excludedImportTypes) {
371
+ var impType = void 0;
372
+ var rank = void 0;
373
+ if (importEntry.type === 'import:object') {
374
+ impType = 'object';
375
+ } else if (importEntry.node.importKind === 'type' && ranks.omittedTypes.indexOf('type') === -1) {
376
+ impType = 'type';
377
+ } else {
378
+ impType = (0, _importType2['default'])(importEntry.value, context);
379
+ }
380
+ if (!excludedImportTypes.has(impType)) {
381
+ rank = computePathRank(ranks.groups, ranks.pathGroups, importEntry.value, ranks.maxPosition);
382
+ }
383
+ if (typeof rank === 'undefined') {
384
+ rank = ranks.groups[impType];
385
+ }
386
+ if (importEntry.type !== 'import' && !importEntry.type.startsWith('import:')) {
387
+ rank += 100;
388
+ }
389
+
390
+ return rank;
391
+ }
392
+
393
+ function registerNode(context, importEntry, ranks, imported, excludedImportTypes) {
394
+ var rank = computeRank(context, ranks, importEntry, excludedImportTypes);
395
+ if (rank !== -1) {
396
+ imported.push(Object.assign({}, importEntry, { rank: rank }));
397
+ }
398
+ }
399
+
400
+ function getRequireBlock(node) {
401
+ var n = node;
402
+ // Handle cases like `const baz = require('foo').bar.baz`
403
+ // and `const foo = require('foo')()`
404
+ while (
405
+ n.parent.type === 'MemberExpression' && n.parent.object === n ||
406
+ n.parent.type === 'CallExpression' && n.parent.callee === n)
407
+ {
408
+ n = n.parent;
409
+ }
410
+ if (
411
+ n.parent.type === 'VariableDeclarator' &&
412
+ n.parent.parent.type === 'VariableDeclaration' &&
413
+ n.parent.parent.parent.type === 'Program')
414
+ {
415
+ return n.parent.parent.parent;
416
+ }
417
+ }
418
+
419
+ var types = ['builtin', 'external', 'internal', 'unknown', 'parent', 'sibling', 'index', 'object', 'type'];
420
+
421
+ // Creates an object with type-rank pairs.
422
+ // Example: { index: 0, sibling: 1, parent: 1, external: 1, builtin: 2, internal: 2 }
423
+ // Will throw an error if it contains a type that does not exist, or has a duplicate
424
+ function convertGroupsToRanks(groups) {
425
+ var rankObject = groups.reduce(function (res, group, index) {
426
+ [].concat(group).forEach(function (groupItem) {
427
+ if (types.indexOf(groupItem) === -1) {
428
+ throw new Error('Incorrect configuration of the rule: Unknown type `' + String(JSON.stringify(groupItem)) + '`');
429
+ }
430
+ if (res[groupItem] !== undefined) {
431
+ throw new Error('Incorrect configuration of the rule: `' + String(groupItem) + '` is duplicated');
432
+ }
433
+ res[groupItem] = index * 2;
434
+ });
435
+ return res;
436
+ }, {});
437
+
438
+ var omittedTypes = types.filter(function (type) {
439
+ return typeof rankObject[type] === 'undefined';
440
+ });
441
+
442
+ var ranks = omittedTypes.reduce(function (res, type) {
443
+ res[type] = groups.length * 2;
444
+ return res;
445
+ }, rankObject);
446
+
447
+ return { groups: ranks, omittedTypes: omittedTypes };
448
+ }
449
+
450
+ function convertPathGroupsForRanks(pathGroups) {
451
+ var after = {};
452
+ var before = {};
453
+
454
+ var transformed = pathGroups.map(function (pathGroup, index) {var
455
+ group = pathGroup.group,positionString = pathGroup.position;
456
+ var position = 0;
457
+ if (positionString === 'after') {
458
+ if (!after[group]) {
459
+ after[group] = 1;
460
+ }
461
+ position = after[group]++;
462
+ } else if (positionString === 'before') {
463
+ if (!before[group]) {
464
+ before[group] = [];
465
+ }
466
+ before[group].push(index);
467
+ }
468
+
469
+ return Object.assign({}, pathGroup, { position: position });
470
+ });
471
+
472
+ var maxPosition = 1;
473
+
474
+ Object.keys(before).forEach(function (group) {
475
+ var groupLength = before[group].length;
476
+ before[group].forEach(function (groupIndex, index) {
477
+ transformed[groupIndex].position = -1 * (groupLength - index);
478
+ });
479
+ maxPosition = Math.max(maxPosition, groupLength);
480
+ });
481
+
482
+ Object.keys(after).forEach(function (key) {
483
+ var groupNextPosition = after[key];
484
+ maxPosition = Math.max(maxPosition, groupNextPosition - 1);
485
+ });
486
+
487
+ return {
488
+ pathGroups: transformed,
489
+ maxPosition: maxPosition > 10 ? Math.pow(10, Math.ceil(Math.log10(maxPosition))) : 10 };
490
+
491
+ }
492
+
493
+ function fixNewLineAfterImport(context, previousImport) {
494
+ var prevRoot = findRootNode(previousImport.node);
495
+ var tokensToEndOfLine = takeTokensAfterWhile(
496
+ context.getSourceCode(), prevRoot, commentOnSameLineAs(prevRoot));
497
+
498
+ var endOfLine = prevRoot.range[1];
499
+ if (tokensToEndOfLine.length > 0) {
500
+ endOfLine = tokensToEndOfLine[tokensToEndOfLine.length - 1].range[1];
501
+ }
502
+ return function (fixer) {return fixer.insertTextAfterRange([prevRoot.range[0], endOfLine], '\n');};
503
+ }
504
+
505
+ function removeNewLineAfterImport(context, currentImport, previousImport) {
506
+ var sourceCode = context.getSourceCode();
507
+ var prevRoot = findRootNode(previousImport.node);
508
+ var currRoot = findRootNode(currentImport.node);
509
+ var rangeToRemove = [
510
+ findEndOfLineWithComments(sourceCode, prevRoot),
511
+ findStartOfLineWithComments(sourceCode, currRoot)];
512
+
513
+ if (/^\s*$/.test(sourceCode.text.substring(rangeToRemove[0], rangeToRemove[1]))) {
514
+ return function (fixer) {return fixer.removeRange(rangeToRemove);};
515
+ }
516
+ return undefined;
517
+ }
518
+
519
+ function makeNewlinesBetweenReport(context, imported, newlinesBetweenImports, distinctGroup) {
520
+ var getNumberOfEmptyLinesBetween = function getNumberOfEmptyLinesBetween(currentImport, previousImport) {
521
+ var linesBetweenImports = context.getSourceCode().lines.slice(
522
+ previousImport.node.loc.end.line,
523
+ currentImport.node.loc.start.line - 1);
524
+
525
+
526
+ return linesBetweenImports.filter(function (line) {return !line.trim().length;}).length;
527
+ };
528
+ var getIsStartOfDistinctGroup = function getIsStartOfDistinctGroup(currentImport, previousImport) {return currentImport.rank - 1 >= previousImport.rank;};
529
+ var previousImport = imported[0];
530
+
531
+ imported.slice(1).forEach(function (currentImport) {
532
+ var emptyLinesBetween = getNumberOfEmptyLinesBetween(currentImport, previousImport);
533
+ var isStartOfDistinctGroup = getIsStartOfDistinctGroup(currentImport, previousImport);
534
+
535
+ if (newlinesBetweenImports === 'always' ||
536
+ newlinesBetweenImports === 'always-and-inside-groups') {
537
+ if (currentImport.rank !== previousImport.rank && emptyLinesBetween === 0) {
538
+ if (distinctGroup || !distinctGroup && isStartOfDistinctGroup) {
539
+ context.report({
540
+ node: previousImport.node,
541
+ message: 'There should be at least one empty line between import groups',
542
+ fix: fixNewLineAfterImport(context, previousImport) });
543
+
544
+ }
545
+ } else if (emptyLinesBetween > 0 &&
546
+ newlinesBetweenImports !== 'always-and-inside-groups') {
547
+ if (distinctGroup && currentImport.rank === previousImport.rank || !distinctGroup && !isStartOfDistinctGroup) {
548
+ context.report({
549
+ node: previousImport.node,
550
+ message: 'There should be no empty line within import group',
551
+ fix: removeNewLineAfterImport(context, currentImport, previousImport) });
552
+
553
+ }
554
+ }
555
+ } else if (emptyLinesBetween > 0) {
556
+ context.report({
557
+ node: previousImport.node,
558
+ message: 'There should be no empty line between import groups',
559
+ fix: removeNewLineAfterImport(context, currentImport, previousImport) });
560
+
561
+ }
562
+
563
+ previousImport = currentImport;
564
+ });
565
+ }
566
+
567
+ function getAlphabetizeConfig(options) {
568
+ var alphabetize = options.alphabetize || {};
569
+ var order = alphabetize.order || 'ignore';
570
+ var orderImportKind = alphabetize.orderImportKind || 'ignore';
571
+ var caseInsensitive = alphabetize.caseInsensitive || false;
572
+
573
+ return { order: order, orderImportKind: orderImportKind, caseInsensitive: caseInsensitive };
574
+ }
575
+
576
+ // TODO, semver-major: Change the default of "distinctGroup" from true to false
577
+ var defaultDistinctGroup = true;
578
+
579
+ module.exports = {
580
+ meta: {
581
+ type: 'suggestion',
582
+ docs: {
583
+ category: 'Style guide',
584
+ description: 'Enforce a convention in module import order.',
585
+ url: (0, _docsUrl2['default'])('order') },
586
+
587
+
588
+ fixable: 'code',
589
+ schema: [
590
+ {
591
+ type: 'object',
592
+ properties: {
593
+ groups: {
594
+ type: 'array' },
595
+
596
+ pathGroupsExcludedImportTypes: {
597
+ type: 'array' },
598
+
599
+ distinctGroup: {
600
+ type: 'boolean',
601
+ 'default': defaultDistinctGroup },
602
+
603
+ pathGroups: {
604
+ type: 'array',
605
+ items: {
606
+ type: 'object',
607
+ properties: {
608
+ pattern: {
609
+ type: 'string' },
610
+
611
+ patternOptions: {
612
+ type: 'object' },
613
+
614
+ group: {
615
+ type: 'string',
616
+ 'enum': types },
617
+
618
+ position: {
619
+ type: 'string',
620
+ 'enum': ['after', 'before'] } },
621
+
622
+
623
+ additionalProperties: false,
624
+ required: ['pattern', 'group'] } },
625
+
626
+
627
+ 'newlines-between': {
628
+ 'enum': [
629
+ 'ignore',
630
+ 'always',
631
+ 'always-and-inside-groups',
632
+ 'never'] },
633
+
634
+
635
+ alphabetize: {
636
+ type: 'object',
637
+ properties: {
638
+ caseInsensitive: {
639
+ type: 'boolean',
640
+ 'default': false },
641
+
642
+ order: {
643
+ 'enum': ['ignore', 'asc', 'desc'],
644
+ 'default': 'ignore' },
645
+
646
+ orderImportKind: {
647
+ 'enum': ['ignore', 'asc', 'desc'],
648
+ 'default': 'ignore' } },
649
+
650
+
651
+ additionalProperties: false },
652
+
653
+ warnOnUnassignedImports: {
654
+ type: 'boolean',
655
+ 'default': false } },
656
+
657
+
658
+ additionalProperties: false }] },
659
+
660
+
661
+
662
+
663
+ create: function () {function importOrderRule(context) {
664
+ var options = context.options[0] || {};
665
+ var newlinesBetweenImports = options['newlines-between'] || 'ignore';
666
+ var pathGroupsExcludedImportTypes = new Set(options.pathGroupsExcludedImportTypes || ['builtin', 'external', 'object']);
667
+ var alphabetize = getAlphabetizeConfig(options);
668
+ var distinctGroup = options.distinctGroup == null ? defaultDistinctGroup : !!options.distinctGroup;
669
+ var ranks = void 0;
670
+
671
+ try {var _convertPathGroupsFor =
672
+ convertPathGroupsForRanks(options.pathGroups || []),pathGroups = _convertPathGroupsFor.pathGroups,maxPosition = _convertPathGroupsFor.maxPosition;var _convertGroupsToRanks =
673
+ convertGroupsToRanks(options.groups || defaultGroups),groups = _convertGroupsToRanks.groups,omittedTypes = _convertGroupsToRanks.omittedTypes;
674
+ ranks = {
675
+ groups: groups,
676
+ omittedTypes: omittedTypes,
677
+ pathGroups: pathGroups,
678
+ maxPosition: maxPosition };
679
+
680
+ } catch (error) {
681
+ // Malformed configuration
682
+ return {
683
+ Program: function () {function Program(node) {
684
+ context.report(node, error.message);
685
+ }return Program;}() };
686
+
687
+ }
688
+ var importMap = new Map();
689
+
690
+ function getBlockImports(node) {
691
+ if (!importMap.has(node)) {
692
+ importMap.set(node, []);
693
+ }
694
+ return importMap.get(node);
695
+ }
696
+
697
+ return {
698
+ ImportDeclaration: function () {function handleImports(node) {
699
+ // Ignoring unassigned imports unless warnOnUnassignedImports is set
700
+ if (node.specifiers.length || options.warnOnUnassignedImports) {
701
+ var name = node.source.value;
702
+ registerNode(
703
+ context,
704
+ {
705
+ node: node,
706
+ value: name,
707
+ displayName: name,
708
+ type: 'import' },
709
+
710
+ ranks,
711
+ getBlockImports(node.parent),
712
+ pathGroupsExcludedImportTypes);
713
+
714
+ }
715
+ }return handleImports;}(),
716
+ TSImportEqualsDeclaration: function () {function handleImports(node) {
717
+ var displayName = void 0;
718
+ var value = void 0;
719
+ var type = void 0;
720
+ // skip "export import"s
721
+ if (node.isExport) {
722
+ return;
723
+ }
724
+ if (node.moduleReference.type === 'TSExternalModuleReference') {
725
+ value = node.moduleReference.expression.value;
726
+ displayName = value;
727
+ type = 'import';
728
+ } else {
729
+ value = '';
730
+ displayName = context.getSourceCode().getText(node.moduleReference);
731
+ type = 'import:object';
732
+ }
733
+ registerNode(
734
+ context,
735
+ {
736
+ node: node,
737
+ value: value,
738
+ displayName: displayName,
739
+ type: type },
740
+
741
+ ranks,
742
+ getBlockImports(node.parent),
743
+ pathGroupsExcludedImportTypes);
744
+
745
+ }return handleImports;}(),
746
+ CallExpression: function () {function handleRequires(node) {
747
+ if (!(0, _staticRequire2['default'])(node)) {
748
+ return;
749
+ }
750
+ var block = getRequireBlock(node);
751
+ if (!block) {
752
+ return;
753
+ }
754
+ var name = node.arguments[0].value;
755
+ registerNode(
756
+ context,
757
+ {
758
+ node: node,
759
+ value: name,
760
+ displayName: name,
761
+ type: 'require' },
762
+
763
+ ranks,
764
+ getBlockImports(block),
765
+ pathGroupsExcludedImportTypes);
766
+
767
+ }return handleRequires;}(),
768
+ 'Program:exit': function () {function reportAndReset() {
769
+ importMap.forEach(function (imported) {
770
+ if (newlinesBetweenImports !== 'ignore') {
771
+ makeNewlinesBetweenReport(context, imported, newlinesBetweenImports, distinctGroup);
772
+ }
773
+
774
+ if (alphabetize.order !== 'ignore') {
775
+ mutateRanksToAlphabetize(imported, alphabetize);
776
+ }
777
+
778
+ makeOutOfOrderReport(context, imported);
779
+ });
780
+
781
+ importMap.clear();
782
+ }return reportAndReset;}() };
783
+
784
+ }return importOrderRule;}() };
785
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9vcmRlci5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0R3JvdXBzIiwicmV2ZXJzZSIsImFycmF5IiwibWFwIiwidiIsInJhbmsiLCJnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIiLCJzb3VyY2VDb2RlIiwibm9kZSIsImNvdW50IiwiY3VycmVudE5vZGVPclRva2VuIiwicmVzdWx0IiwiaSIsImdldFRva2VuT3JDb21tZW50QWZ0ZXIiLCJwdXNoIiwiZ2V0VG9rZW5zT3JDb21tZW50c0JlZm9yZSIsImdldFRva2VuT3JDb21tZW50QmVmb3JlIiwidGFrZVRva2Vuc0FmdGVyV2hpbGUiLCJjb25kaXRpb24iLCJ0b2tlbnMiLCJsZW5ndGgiLCJ0YWtlVG9rZW5zQmVmb3JlV2hpbGUiLCJmaW5kT3V0T2ZPcmRlciIsImltcG9ydGVkIiwibWF4U2VlblJhbmtOb2RlIiwiZmlsdGVyIiwiaW1wb3J0ZWRNb2R1bGUiLCJyZXMiLCJmaW5kUm9vdE5vZGUiLCJwYXJlbnQiLCJib2R5IiwiZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyIsInRva2Vuc1RvRW5kT2ZMaW5lIiwiY29tbWVudE9uU2FtZUxpbmVBcyIsImVuZE9mVG9rZW5zIiwicmFuZ2UiLCJ0ZXh0IiwidG9rZW4iLCJ0eXBlIiwibG9jIiwic3RhcnQiLCJsaW5lIiwiZW5kIiwiZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzIiwic3RhcnRPZlRva2VucyIsImlzUmVxdWlyZUV4cHJlc3Npb24iLCJleHByIiwiY2FsbGVlIiwibmFtZSIsImFyZ3VtZW50cyIsImlzU3VwcG9ydGVkUmVxdWlyZU1vZHVsZSIsImRlY2xhcmF0aW9ucyIsImRlY2wiLCJpc1BsYWluUmVxdWlyZSIsImlkIiwiaW5pdCIsImlzUmVxdWlyZVdpdGhNZW1iZXJFeHByZXNzaW9uIiwib2JqZWN0IiwiaXNQbGFpbkltcG9ydE1vZHVsZSIsInNwZWNpZmllcnMiLCJpc1BsYWluSW1wb3J0RXF1YWxzIiwibW9kdWxlUmVmZXJlbmNlIiwiZXhwcmVzc2lvbiIsImNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlciIsImNhblJlb3JkZXJJdGVtcyIsImZpcnN0Tm9kZSIsInNlY29uZE5vZGUiLCJpbmRleE9mIiwic29ydCIsImZpcnN0SW5kZXgiLCJzZWNvbmRJbmRleCIsIm5vZGVzQmV0d2VlbiIsInNsaWNlIiwibm9kZUJldHdlZW4iLCJtYWtlSW1wb3J0RGVzY3JpcHRpb24iLCJpbXBvcnRLaW5kIiwiZml4T3V0T2ZPcmRlciIsImNvbnRleHQiLCJvcmRlciIsImdldFNvdXJjZUNvZGUiLCJmaXJzdFJvb3QiLCJmaXJzdFJvb3RTdGFydCIsImZpcnN0Um9vdEVuZCIsInNlY29uZFJvb3QiLCJzZWNvbmRSb290U3RhcnQiLCJzZWNvbmRSb290RW5kIiwiY2FuRml4IiwibmV3Q29kZSIsInN1YnN0cmluZyIsImZpcnN0SW1wb3J0IiwiZGlzcGxheU5hbWUiLCJzZWNvbmRJbXBvcnQiLCJtZXNzYWdlIiwicmVwb3J0IiwiZml4IiwiZml4ZXIiLCJyZXBsYWNlVGV4dFJhbmdlIiwicmVwb3J0T3V0T2ZPcmRlciIsIm91dE9mT3JkZXIiLCJmb3JFYWNoIiwiaW1wIiwiZm91bmQiLCJmaW5kIiwiaGFzSGlnaGVyUmFuayIsImltcG9ydGVkSXRlbSIsIm1ha2VPdXRPZk9yZGVyUmVwb3J0IiwicmV2ZXJzZWRJbXBvcnRlZCIsInJldmVyc2VkT3JkZXIiLCJjb21wYXJlU3RyaW5nIiwiYSIsImIiLCJERUFGVUxUX0lNUE9SVF9LSU5EIiwiZ2V0Tm9ybWFsaXplZFZhbHVlIiwidG9Mb3dlckNhc2UiLCJ2YWx1ZSIsIlN0cmluZyIsImdldFNvcnRlciIsImFscGhhYmV0aXplT3B0aW9ucyIsIm11bHRpcGxpZXIiLCJvcmRlckltcG9ydEtpbmQiLCJtdWx0aXBsaWVySW1wb3J0S2luZCIsImltcG9ydHNTb3J0ZXIiLCJub2RlQSIsIm5vZGVCIiwiaW1wb3J0QSIsImNhc2VJbnNlbnNpdGl2ZSIsImltcG9ydEIiLCJBIiwic3BsaXQiLCJCIiwiTWF0aCIsIm1pbiIsIm11dGF0ZVJhbmtzVG9BbHBoYWJldGl6ZSIsImdyb3VwZWRCeVJhbmtzIiwiaXRlbSIsInNvcnRlckZuIiwiZ3JvdXBSYW5rcyIsIk9iamVjdCIsImtleXMiLCJncm91cFJhbmsiLCJuZXdSYW5rIiwiYWxwaGFiZXRpemVkUmFua3MiLCJyZWR1Y2UiLCJhY2MiLCJwYXJzZUludCIsImNvbXB1dGVQYXRoUmFuayIsInJhbmtzIiwicGF0aEdyb3VwcyIsInBhdGgiLCJtYXhQb3NpdGlvbiIsImwiLCJwYXR0ZXJuIiwicGF0dGVybk9wdGlvbnMiLCJncm91cCIsInBvc2l0aW9uIiwibm9jb21tZW50IiwiY29tcHV0ZVJhbmsiLCJpbXBvcnRFbnRyeSIsImV4Y2x1ZGVkSW1wb3J0VHlwZXMiLCJpbXBUeXBlIiwib21pdHRlZFR5cGVzIiwiaGFzIiwiZ3JvdXBzIiwic3RhcnRzV2l0aCIsInJlZ2lzdGVyTm9kZSIsImdldFJlcXVpcmVCbG9jayIsIm4iLCJ0eXBlcyIsImNvbnZlcnRHcm91cHNUb1JhbmtzIiwicmFua09iamVjdCIsImluZGV4IiwiY29uY2F0IiwiZ3JvdXBJdGVtIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidW5kZWZpbmVkIiwiY29udmVydFBhdGhHcm91cHNGb3JSYW5rcyIsImFmdGVyIiwiYmVmb3JlIiwidHJhbnNmb3JtZWQiLCJwYXRoR3JvdXAiLCJwb3NpdGlvblN0cmluZyIsImdyb3VwTGVuZ3RoIiwiZ3JvdXBJbmRleCIsIm1heCIsImtleSIsImdyb3VwTmV4dFBvc2l0aW9uIiwicG93IiwiY2VpbCIsImxvZzEwIiwiZml4TmV3TGluZUFmdGVySW1wb3J0IiwicHJldmlvdXNJbXBvcnQiLCJwcmV2Um9vdCIsImVuZE9mTGluZSIsImluc2VydFRleHRBZnRlclJhbmdlIiwicmVtb3ZlTmV3TGluZUFmdGVySW1wb3J0IiwiY3VycmVudEltcG9ydCIsImN1cnJSb290IiwicmFuZ2VUb1JlbW92ZSIsInRlc3QiLCJyZW1vdmVSYW5nZSIsIm1ha2VOZXdsaW5lc0JldHdlZW5SZXBvcnQiLCJuZXdsaW5lc0JldHdlZW5JbXBvcnRzIiwiZGlzdGluY3RHcm91cCIsImdldE51bWJlck9mRW1wdHlMaW5lc0JldHdlZW4iLCJsaW5lc0JldHdlZW5JbXBvcnRzIiwibGluZXMiLCJ0cmltIiwiZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cCIsImVtcHR5TGluZXNCZXR3ZWVuIiwiaXNTdGFydE9mRGlzdGluY3RHcm91cCIsImdldEFscGhhYmV0aXplQ29uZmlnIiwib3B0aW9ucyIsImFscGhhYmV0aXplIiwiZGVmYXVsdERpc3RpbmN0R3JvdXAiLCJtb2R1bGUiLCJleHBvcnRzIiwibWV0YSIsImRvY3MiLCJjYXRlZ29yeSIsImRlc2NyaXB0aW9uIiwidXJsIiwiZml4YWJsZSIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyIsIml0ZW1zIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJyZXF1aXJlZCIsIndhcm5PblVuYXNzaWduZWRJbXBvcnRzIiwiY3JlYXRlIiwiaW1wb3J0T3JkZXJSdWxlIiwiU2V0IiwiZXJyb3IiLCJQcm9ncmFtIiwiaW1wb3J0TWFwIiwiTWFwIiwiZ2V0QmxvY2tJbXBvcnRzIiwic2V0IiwiZ2V0IiwiSW1wb3J0RGVjbGFyYXRpb24iLCJoYW5kbGVJbXBvcnRzIiwic291cmNlIiwiVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbiIsImlzRXhwb3J0IiwiZ2V0VGV4dCIsIkNhbGxFeHByZXNzaW9uIiwiaGFuZGxlUmVxdWlyZXMiLCJibG9jayIsInJlcG9ydEFuZFJlc2V0IiwiY2xlYXIiXSwibWFwcGluZ3MiOiJBQUFBLGE7O0FBRUEsc0M7QUFDQSwrQztBQUNBLHdDOztBQUVBLGdEO0FBQ0Esc0Q7QUFDQSxxQzs7QUFFQSxJQUFNQSxnQkFBZ0IsQ0FBQyxTQUFELEVBQVksVUFBWixFQUF3QixRQUF4QixFQUFrQyxTQUFsQyxFQUE2QyxPQUE3QyxDQUF0Qjs7QUFFQTs7QUFFQSxTQUFTQyxP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SztBQWlETEsscUNBQWdCLFNBQVNDLGNBQVQsQ0FBd0JoUCxJQUF4QixFQUE4QjtBQUM1QyxnQkFBSSxDQUFDLGdDQUFnQkEsSUFBaEIsQ0FBTCxFQUE0QjtBQUMxQjtBQUNEO0FBQ0QsZ0JBQU1pUCxRQUFRcEYsZ0JBQWdCN0osSUFBaEIsQ0FBZDtBQUNBLGdCQUFJLENBQUNpUCxLQUFMLEVBQVk7QUFDVjtBQUNEO0FBQ0QsZ0JBQU16TSxPQUFPeEMsS0FBS3lDLFNBQUwsQ0FBZSxDQUFmLEVBQWtCaUUsS0FBL0I7QUFDQWtEO0FBQ0V2RixtQkFERjtBQUVFO0FBQ0VyRSx3QkFERjtBQUVFMEcscUJBQU9sRSxJQUZUO0FBR0UwQywyQkFBYTFDLElBSGY7QUFJRVYsb0JBQU0sU0FKUixFQUZGOztBQVFFNEcsaUJBUkY7QUFTRTRGLDRCQUFnQlcsS0FBaEIsQ0FURjtBQVVFdkIseUNBVkY7O0FBWUQsV0FyQkQsT0FBeUJzQixjQUF6QixJQWpESztBQXVFTCxxQ0FBZ0IsU0FBU0UsY0FBVCxHQUEwQjtBQUN4Q2Qsc0JBQVV6SSxPQUFWLENBQWtCLFVBQUM1RSxRQUFELEVBQWM7QUFDOUIsa0JBQUlvTCwyQkFBMkIsUUFBL0IsRUFBeUM7QUFDdkNELDBDQUEwQjdILE9BQTFCLEVBQW1DdEQsUUFBbkMsRUFBNkNvTCxzQkFBN0MsRUFBcUVDLGFBQXJFO0FBQ0Q7O0FBRUQsa0JBQUlVLFlBQVl4SSxLQUFaLEtBQXNCLFFBQTFCLEVBQW9DO0FBQ2xDc0QseUNBQXlCN0csUUFBekIsRUFBbUMrTCxXQUFuQztBQUNEOztBQUVEN0csbUNBQXFCNUIsT0FBckIsRUFBOEJ0RCxRQUE5QjtBQUNELGFBVkQ7O0FBWUFxTixzQkFBVWUsS0FBVjtBQUNELFdBZEQsT0FBeUJELGNBQXpCLElBdkVLLEVBQVA7O0FBdUZELEtBekhELE9BQWlCbEIsZUFBakIsSUFwRmUsRUFBakIiLCJmaWxlIjoib3JkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCBtaW5pbWF0Y2ggZnJvbSAnbWluaW1hdGNoJztcbmltcG9ydCBpbmNsdWRlcyBmcm9tICdhcnJheS1pbmNsdWRlcyc7XG5pbXBvcnQgZ3JvdXBCeSBmcm9tICdvYmplY3QuZ3JvdXBieSc7XG5cbmltcG9ydCBpbXBvcnRUeXBlIGZyb20gJy4uL2NvcmUvaW1wb3J0VHlwZSc7XG5pbXBvcnQgaXNTdGF0aWNSZXF1aXJlIGZyb20gJy4uL2NvcmUvc3RhdGljUmVxdWlyZSc7XG5pbXBvcnQgZG9jc1VybCBmcm9tICcuLi9kb2NzVXJsJztcblxuY29uc3QgZGVmYXVsdEdyb3VwcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdwYXJlbnQnLCAnc2libGluZycsICdpbmRleCddO1xuXG4vLyBSRVBPUlRJTkcgQU5EIEZJWElOR1xuXG5mdW5jdGlvbiByZXZlcnNlKGFycmF5KSB7XG4gIHJldHVybiBhcnJheS5tYXAoZnVuY3Rpb24gKHYpIHtcbiAgICByZXR1cm4geyAuLi52LCByYW5rOiAtdi5yYW5rIH07XG4gIH0pLnJldmVyc2UoKTtcbn1cblxuZnVuY3Rpb24gZ2V0VG9rZW5zT3JDb21tZW50c0FmdGVyKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgY3VycmVudE5vZGVPclRva2VuID0gc291cmNlQ29kZS5nZXRUb2tlbk9yQ29tbWVudEFmdGVyKGN1cnJlbnROb2RlT3JUb2tlbik7XG4gICAgaWYgKGN1cnJlbnROb2RlT3JUb2tlbiA9PSBudWxsKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcmVzdWx0LnB1c2goY3VycmVudE5vZGVPclRva2VuKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIGNvdW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZU9yVG9rZW4gPSBub2RlO1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG4gICAgY3VycmVudE5vZGVPclRva2VuID0gc291cmNlQ29kZS5nZXRUb2tlbk9yQ29tbWVudEJlZm9yZShjdXJyZW50Tm9kZU9yVG9rZW4pO1xuICAgIGlmIChjdXJyZW50Tm9kZU9yVG9rZW4gPT0gbnVsbCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdC5wdXNoKGN1cnJlbnROb2RlT3JUb2tlbik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5yZXZlcnNlKCk7XG59XG5cbmZ1bmN0aW9uIHRha2VUb2tlbnNBZnRlcldoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQWZ0ZXIoc291cmNlQ29kZSwgbm9kZSwgMTAwKTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGNvbmRpdGlvbih0b2tlbnNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbnNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gdGFrZVRva2Vuc0JlZm9yZVdoaWxlKHNvdXJjZUNvZGUsIG5vZGUsIGNvbmRpdGlvbikge1xuICBjb25zdCB0b2tlbnMgPSBnZXRUb2tlbnNPckNvbW1lbnRzQmVmb3JlKHNvdXJjZUNvZGUsIG5vZGUsIDEwMCk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGxldCBpID0gdG9rZW5zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKGNvbmRpdGlvbih0b2tlbnNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaCh0b2tlbnNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5yZXZlcnNlKCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRPdXRPZk9yZGVyKGltcG9ydGVkKSB7XG4gIGlmIChpbXBvcnRlZC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgbGV0IG1heFNlZW5SYW5rTm9kZSA9IGltcG9ydGVkWzBdO1xuICByZXR1cm4gaW1wb3J0ZWQuZmlsdGVyKGZ1bmN0aW9uIChpbXBvcnRlZE1vZHVsZSkge1xuICAgIGNvbnN0IHJlcyA9IGltcG9ydGVkTW9kdWxlLnJhbmsgPCBtYXhTZWVuUmFua05vZGUucmFuaztcbiAgICBpZiAobWF4U2VlblJhbmtOb2RlLnJhbmsgPCBpbXBvcnRlZE1vZHVsZS5yYW5rKSB7XG4gICAgICBtYXhTZWVuUmFua05vZGUgPSBpbXBvcnRlZE1vZHVsZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGZpbmRSb290Tm9kZShub2RlKSB7XG4gIGxldCBwYXJlbnQgPSBub2RlO1xuICB3aGlsZSAocGFyZW50LnBhcmVudCAhPSBudWxsICYmIHBhcmVudC5wYXJlbnQuYm9keSA9PSBudWxsKSB7XG4gICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgfVxuICByZXR1cm4gcGFyZW50O1xufVxuXG5mdW5jdGlvbiBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQWZ0ZXJXaGlsZShzb3VyY2VDb2RlLCBub2RlLCBjb21tZW50T25TYW1lTGluZUFzKG5vZGUpKTtcbiAgY29uc3QgZW5kT2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwXG4gICAgPyB0b2tlbnNUb0VuZE9mTGluZVt0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggLSAxXS5yYW5nZVsxXVxuICAgIDogbm9kZS5yYW5nZVsxXTtcbiAgbGV0IHJlc3VsdCA9IGVuZE9mVG9rZW5zO1xuICBmb3IgKGxldCBpID0gZW5kT2ZUb2tlbnM7IGkgPCBzb3VyY2VDb2RlLnRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc291cmNlQ29kZS50ZXh0W2ldID09PSAnXFxuJykge1xuICAgICAgcmVzdWx0ID0gaSArIDE7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcgJiYgc291cmNlQ29kZS50ZXh0W2ldICE9PSAnXFxyJykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJlc3VsdCA9IGkgKyAxO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNvbW1lbnRPblNhbWVMaW5lQXMobm9kZSkge1xuICByZXR1cm4gKHRva2VuKSA9PiAodG9rZW4udHlwZSA9PT0gJ0Jsb2NrJyB8fCAgdG9rZW4udHlwZSA9PT0gJ0xpbmUnKVxuICAgICAgJiYgdG9rZW4ubG9jLnN0YXJ0LmxpbmUgPT09IHRva2VuLmxvYy5lbmQubGluZVxuICAgICAgJiYgdG9rZW4ubG9jLmVuZC5saW5lID09PSBub2RlLmxvYy5lbmQubGluZTtcbn1cblxuZnVuY3Rpb24gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIG5vZGUpIHtcbiAgY29uc3QgdG9rZW5zVG9FbmRPZkxpbmUgPSB0YWtlVG9rZW5zQmVmb3JlV2hpbGUoc291cmNlQ29kZSwgbm9kZSwgY29tbWVudE9uU2FtZUxpbmVBcyhub2RlKSk7XG4gIGNvbnN0IHN0YXJ0T2ZUb2tlbnMgPSB0b2tlbnNUb0VuZE9mTGluZS5sZW5ndGggPiAwID8gdG9rZW5zVG9FbmRPZkxpbmVbMF0ucmFuZ2VbMF0gOiBub2RlLnJhbmdlWzBdO1xuICBsZXQgcmVzdWx0ID0gc3RhcnRPZlRva2VucztcbiAgZm9yIChsZXQgaSA9IHN0YXJ0T2ZUb2tlbnMgLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgaWYgKHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJyAnICYmIHNvdXJjZUNvZGUudGV4dFtpXSAhPT0gJ1xcdCcpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXN1bHQgPSBpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGlzUmVxdWlyZUV4cHJlc3Npb24oZXhwcikge1xuICByZXR1cm4gZXhwciAhPSBudWxsXG4gICAgJiYgZXhwci50eXBlID09PSAnQ2FsbEV4cHJlc3Npb24nXG4gICAgJiYgZXhwci5jYWxsZWUgIT0gbnVsbFxuICAgICYmIGV4cHIuY2FsbGVlLm5hbWUgPT09ICdyZXF1aXJlJ1xuICAgICYmIGV4cHIuYXJndW1lbnRzICE9IG51bGxcbiAgICAmJiBleHByLmFyZ3VtZW50cy5sZW5ndGggPT09IDFcbiAgICAmJiBleHByLmFyZ3VtZW50c1swXS50eXBlID09PSAnTGl0ZXJhbCc7XG59XG5cbmZ1bmN0aW9uIGlzU3VwcG9ydGVkUmVxdWlyZU1vZHVsZShub2RlKSB7XG4gIGlmIChub2RlLnR5cGUgIT09ICdWYXJpYWJsZURlY2xhcmF0aW9uJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobm9kZS5kZWNsYXJhdGlvbnMubGVuZ3RoICE9PSAxKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGRlY2wgPSBub2RlLmRlY2xhcmF0aW9uc1swXTtcbiAgY29uc3QgaXNQbGFpblJlcXVpcmUgPSBkZWNsLmlkXG4gICAgJiYgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKVxuICAgICYmIGlzUmVxdWlyZUV4cHJlc3Npb24oZGVjbC5pbml0KTtcbiAgY29uc3QgaXNSZXF1aXJlV2l0aE1lbWJlckV4cHJlc3Npb24gPSBkZWNsLmlkXG4gICAgJiYgKGRlY2wuaWQudHlwZSA9PT0gJ0lkZW50aWZpZXInIHx8IGRlY2wuaWQudHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKVxuICAgICYmIGRlY2wuaW5pdCAhPSBudWxsXG4gICAgJiYgZGVjbC5pbml0LnR5cGUgPT09ICdDYWxsRXhwcmVzc2lvbidcbiAgICAmJiBkZWNsLmluaXQuY2FsbGVlICE9IG51bGxcbiAgICAmJiBkZWNsLmluaXQuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICYmIGlzUmVxdWlyZUV4cHJlc3Npb24oZGVjbC5pbml0LmNhbGxlZS5vYmplY3QpO1xuICByZXR1cm4gaXNQbGFpblJlcXVpcmUgfHwgaXNSZXF1aXJlV2l0aE1lbWJlckV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGlzUGxhaW5JbXBvcnRNb2R1bGUobm9kZSkge1xuICByZXR1cm4gbm9kZS50eXBlID09PSAnSW1wb3J0RGVjbGFyYXRpb24nICYmIG5vZGUuc3BlY2lmaWVycyAhPSBudWxsICYmIG5vZGUuc3BlY2lmaWVycy5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpIHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gJ1RTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24nICYmIG5vZGUubW9kdWxlUmVmZXJlbmNlLmV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGNhbkNyb3NzTm9kZVdoaWxlUmVvcmRlcihub2RlKSB7XG4gIHJldHVybiBpc1N1cHBvcnRlZFJlcXVpcmVNb2R1bGUobm9kZSkgfHwgaXNQbGFpbkltcG9ydE1vZHVsZShub2RlKSB8fCBpc1BsYWluSW1wb3J0RXF1YWxzKG5vZGUpO1xufVxuXG5mdW5jdGlvbiBjYW5SZW9yZGVySXRlbXMoZmlyc3ROb2RlLCBzZWNvbmROb2RlKSB7XG4gIGNvbnN0IHBhcmVudCA9IGZpcnN0Tm9kZS5wYXJlbnQ7XG4gIGNvbnN0IFtmaXJzdEluZGV4LCBzZWNvbmRJbmRleF0gPSBbXG4gICAgcGFyZW50LmJvZHkuaW5kZXhPZihmaXJzdE5vZGUpLFxuICAgIHBhcmVudC5ib2R5LmluZGV4T2Yoc2Vjb25kTm9kZSksXG4gIF0uc29ydCgpO1xuICBjb25zdCBub2Rlc0JldHdlZW4gPSBwYXJlbnQuYm9keS5zbGljZShmaXJzdEluZGV4LCBzZWNvbmRJbmRleCArIDEpO1xuICBmb3IgKGNvbnN0IG5vZGVCZXR3ZWVuIG9mIG5vZGVzQmV0d2Vlbikge1xuICAgIGlmICghY2FuQ3Jvc3NOb2RlV2hpbGVSZW9yZGVyKG5vZGVCZXR3ZWVuKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gbWFrZUltcG9ydERlc2NyaXB0aW9uKG5vZGUpIHtcbiAgaWYgKG5vZGUubm9kZS5pbXBvcnRLaW5kID09PSAndHlwZScpIHtcbiAgICByZXR1cm4gJ3R5cGUgaW1wb3J0JztcbiAgfVxuICBpZiAobm9kZS5ub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlb2YnKSB7XG4gICAgcmV0dXJuICd0eXBlb2YgaW1wb3J0JztcbiAgfVxuICByZXR1cm4gJ2ltcG9ydCc7XG59XG5cbmZ1bmN0aW9uIGZpeE91dE9mT3JkZXIoY29udGV4dCwgZmlyc3ROb2RlLCBzZWNvbmROb2RlLCBvcmRlcikge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCk7XG5cbiAgY29uc3QgZmlyc3RSb290ID0gZmluZFJvb3ROb2RlKGZpcnN0Tm9kZS5ub2RlKTtcbiAgY29uc3QgZmlyc3RSb290U3RhcnQgPSBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgZmlyc3RSb290KTtcbiAgY29uc3QgZmlyc3RSb290RW5kID0gZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBmaXJzdFJvb3QpO1xuXG4gIGNvbnN0IHNlY29uZFJvb3QgPSBmaW5kUm9vdE5vZGUoc2Vjb25kTm9kZS5ub2RlKTtcbiAgY29uc3Qgc2Vjb25kUm9vdFN0YXJ0ID0gZmluZFN0YXJ0T2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHNlY29uZFJvb3QpO1xuICBjb25zdCBzZWNvbmRSb290RW5kID0gZmluZEVuZE9mTGluZVdpdGhDb21tZW50cyhzb3VyY2VDb2RlLCBzZWNvbmRSb290KTtcbiAgY29uc3QgY2FuRml4ID0gY2FuUmVvcmRlckl0ZW1zKGZpcnN0Um9vdCwgc2Vjb25kUm9vdCk7XG5cbiAgbGV0IG5ld0NvZGUgPSBzb3VyY2VDb2RlLnRleHQuc3Vic3RyaW5nKHNlY29uZFJvb3RTdGFydCwgc2Vjb25kUm9vdEVuZCk7XG4gIGlmIChuZXdDb2RlW25ld0NvZGUubGVuZ3RoIC0gMV0gIT09ICdcXG4nKSB7XG4gICAgbmV3Q29kZSA9IGAke25ld0NvZGV9XFxuYDtcbiAgfVxuXG4gIGNvbnN0IGZpcnN0SW1wb3J0ID0gYCR7bWFrZUltcG9ydERlc2NyaXB0aW9uKGZpcnN0Tm9kZSl9IG9mIFxcYCR7Zmlyc3ROb2RlLmRpc3BsYXlOYW1lfVxcYGA7XG4gIGNvbnN0IHNlY29uZEltcG9ydCA9IGBcXGAke3NlY29uZE5vZGUuZGlzcGxheU5hbWV9XFxgICR7bWFrZUltcG9ydERlc2NyaXB0aW9uKHNlY29uZE5vZGUpfWA7XG4gIGNvbnN0IG1lc3NhZ2UgPSBgJHtzZWNvbmRJbXBvcnR9IHNob3VsZCBvY2N1ciAke29yZGVyfSAke2ZpcnN0SW1wb3J0fWA7XG5cbiAgaWYgKG9yZGVyID09PSAnYmVmb3JlJykge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG5vZGU6IHNlY29uZE5vZGUubm9kZSxcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBmaXg6IGNhbkZpeCAmJiAoKGZpeGVyKSA9PiBmaXhlci5yZXBsYWNlVGV4dFJhbmdlKFxuICAgICAgICBbZmlyc3RSb290U3RhcnQsIHNlY29uZFJvb3RFbmRdLFxuICAgICAgICBuZXdDb2RlICsgc291cmNlQ29kZS50ZXh0LnN1YnN0cmluZyhmaXJzdFJvb3RTdGFydCwgc2Vjb25kUm9vdFN0YXJ0KSxcbiAgICAgICkpLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG9yZGVyID09PSAnYWZ0ZXInKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgbm9kZTogc2Vjb25kTm9kZS5ub2RlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGZpeDogY2FuRml4ICYmICgoZml4ZXIpID0+IGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UoXG4gICAgICAgIFtzZWNvbmRSb290U3RhcnQsIGZpcnN0Um9vdEVuZF0sXG4gICAgICAgIHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcoc2Vjb25kUm9vdEVuZCwgZmlyc3RSb290RW5kKSArIG5ld0NvZGUsXG4gICAgICApKSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyKGNvbnRleHQsIGltcG9ydGVkLCBvdXRPZk9yZGVyLCBvcmRlcikge1xuICBvdXRPZk9yZGVyLmZvckVhY2goZnVuY3Rpb24gKGltcCkge1xuICAgIGNvbnN0IGZvdW5kID0gaW1wb3J0ZWQuZmluZChmdW5jdGlvbiBoYXNIaWdoZXJSYW5rKGltcG9ydGVkSXRlbSkge1xuICAgICAgcmV0dXJuIGltcG9ydGVkSXRlbS5yYW5rID4gaW1wLnJhbms7XG4gICAgfSk7XG4gICAgZml4T3V0T2ZPcmRlcihjb250ZXh0LCBmb3VuZCwgaW1wLCBvcmRlcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBtYWtlT3V0T2ZPcmRlclJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCkge1xuICBjb25zdCBvdXRPZk9yZGVyID0gZmluZE91dE9mT3JkZXIoaW1wb3J0ZWQpO1xuICBpZiAoIW91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gVGhlcmUgYXJlIHRoaW5ncyB0byByZXBvcnQuIFRyeSB0byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIHJlcG9ydGVkIGVycm9ycy5cbiAgY29uc3QgcmV2ZXJzZWRJbXBvcnRlZCA9IHJldmVyc2UoaW1wb3J0ZWQpO1xuICBjb25zdCByZXZlcnNlZE9yZGVyID0gZmluZE91dE9mT3JkZXIocmV2ZXJzZWRJbXBvcnRlZCk7XG4gIGlmIChyZXZlcnNlZE9yZGVyLmxlbmd0aCA8IG91dE9mT3JkZXIubGVuZ3RoKSB7XG4gICAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCByZXZlcnNlZEltcG9ydGVkLCByZXZlcnNlZE9yZGVyLCAnYWZ0ZXInKTtcbiAgICByZXR1cm47XG4gIH1cbiAgcmVwb3J0T3V0T2ZPcmRlcihjb250ZXh0LCBpbXBvcnRlZCwgb3V0T2ZPcmRlciwgJ2JlZm9yZScpO1xufVxuXG5jb25zdCBjb21wYXJlU3RyaW5nID0gKGEsIGIpID0+IHtcbiAgaWYgKGEgPCBiKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG4gIGlmIChhID4gYikge1xuICAgIHJldHVybiAxO1xuICB9XG4gIHJldHVybiAwO1xufTtcblxuLyoqIFNvbWUgcGFyc2VycyAobGFuZ3VhZ2VzIHdpdGhvdXQgdHlwZXMpIGRvbid0IHByb3ZpZGUgSW1wb3J0S2luZCAqL1xuY29uc3QgREVBRlVMVF9JTVBPUlRfS0lORCA9ICd2YWx1ZSc7XG5jb25zdCBnZXROb3JtYWxpemVkVmFsdWUgPSAobm9kZSwgdG9Mb3dlckNhc2UpID0+IHtcbiAgY29uc3QgdmFsdWUgPSBub2RlLnZhbHVlO1xuICByZXR1cm4gdG9Mb3dlckNhc2UgPyBTdHJpbmcodmFsdWUpLnRvTG93ZXJDYXNlKCkgOiB2YWx1ZTtcbn07XG5cbmZ1bmN0aW9uIGdldFNvcnRlcihhbHBoYWJldGl6ZU9wdGlvbnMpIHtcbiAgY29uc3QgbXVsdGlwbGllciA9IGFscGhhYmV0aXplT3B0aW9ucy5vcmRlciA9PT0gJ2FzYycgPyAxIDogLTE7XG4gIGNvbnN0IG9yZGVySW1wb3J0S2luZCA9IGFscGhhYmV0aXplT3B0aW9ucy5vcmRlckltcG9ydEtpbmQ7XG4gIGNvbnN0IG11bHRpcGxpZXJJbXBvcnRLaW5kID0gb3JkZXJJbXBvcnRLaW5kICE9PSAnaWdub3JlJ1xuICAgICYmIChhbHBoYWJldGl6ZU9wdGlvbnMub3JkZXJJbXBvcnRLaW5kID09PSAnYXNjJyA/IDEgOiAtMSk7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIGltcG9ydHNTb3J0ZXIobm9kZUEsIG5vZGVCKSB7XG4gICAgY29uc3QgaW1wb3J0QSA9IGdldE5vcm1hbGl6ZWRWYWx1ZShub2RlQSwgYWxwaGFiZXRpemVPcHRpb25zLmNhc2VJbnNlbnNpdGl2ZSk7XG4gICAgY29uc3QgaW1wb3J0QiA9IGdldE5vcm1hbGl6ZWRWYWx1ZShub2RlQiwgYWxwaGFiZXRpemVPcHRpb25zLmNhc2VJbnNlbnNpdGl2ZSk7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG5cbiAgICBpZiAoIWluY2x1ZGVzKGltcG9ydEEsICcvJykgJiYgIWluY2x1ZGVzKGltcG9ydEIsICcvJykpIHtcbiAgICAgIHJlc3VsdCA9IGNvbXBhcmVTdHJpbmcoaW1wb3J0QSwgaW1wb3J0Qik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IEEgPSBpbXBvcnRBLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBCID0gaW1wb3J0Qi5zcGxpdCgnLycpO1xuICAgICAgY29uc3QgYSA9IEEubGVuZ3RoO1xuICAgICAgY29uc3QgYiA9IEIubGVuZ3RoO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKGEsIGIpOyBpKyspIHtcbiAgICAgICAgcmVzdWx0ID0gY29tcGFyZVN0cmluZyhBW2ldLCBCW2ldKTtcbiAgICAgICAgaWYgKHJlc3VsdCkgeyBicmVhazsgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3VsdCAmJiBhICE9PSBiKSB7XG4gICAgICAgIHJlc3VsdCA9IGEgPCBiID8gLTEgOiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlc3VsdCA9IHJlc3VsdCAqIG11bHRpcGxpZXI7XG5cbiAgICAvLyBJbiBjYXNlIHRoZSBwYXRocyBhcmUgZXF1YWwgKHJlc3VsdCA9PT0gMCksIHNvcnQgdGhlbSBieSBpbXBvcnRLaW5kXG4gICAgaWYgKCFyZXN1bHQgJiYgbXVsdGlwbGllckltcG9ydEtpbmQpIHtcbiAgICAgIHJlc3VsdCA9IG11bHRpcGxpZXJJbXBvcnRLaW5kICogY29tcGFyZVN0cmluZyhcbiAgICAgICAgbm9kZUEubm9kZS5pbXBvcnRLaW5kIHx8IERFQUZVTFRfSU1QT1JUX0tJTkQsXG4gICAgICAgIG5vZGVCLm5vZGUuaW1wb3J0S2luZCB8fCBERUFGVUxUX0lNUE9SVF9LSU5ELFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xufVxuXG5mdW5jdGlvbiBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplT3B0aW9ucykge1xuICBjb25zdCBncm91cGVkQnlSYW5rcyA9IGdyb3VwQnkoaW1wb3J0ZWQsIChpdGVtKSA9PiBpdGVtLnJhbmspO1xuXG4gIGNvbnN0IHNvcnRlckZuID0gZ2V0U29ydGVyKGFscGhhYmV0aXplT3B0aW9ucyk7XG5cbiAgLy8gc29ydCBncm91cCBrZXlzIHNvIHRoYXQgdGhleSBjYW4gYmUgaXRlcmF0ZWQgb24gaW4gb3JkZXJcbiAgY29uc3QgZ3JvdXBSYW5rcyA9IE9iamVjdC5rZXlzKGdyb3VwZWRCeVJhbmtzKS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGEgLSBiO1xuICB9KTtcblxuICAvLyBzb3J0IGltcG9ydHMgbG9jYWxseSB3aXRoaW4gdGhlaXIgZ3JvdXBcbiAgZ3JvdXBSYW5rcy5mb3JFYWNoKGZ1bmN0aW9uIChncm91cFJhbmspIHtcbiAgICBncm91cGVkQnlSYW5rc1tncm91cFJhbmtdLnNvcnQoc29ydGVyRm4pO1xuICB9KTtcblxuICAvLyBhc3NpZ24gZ2xvYmFsbHkgdW5pcXVlIHJhbmsgdG8gZWFjaCBpbXBvcnRcbiAgbGV0IG5ld1JhbmsgPSAwO1xuICBjb25zdCBhbHBoYWJldGl6ZWRSYW5rcyA9IGdyb3VwUmFua3MucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGdyb3VwUmFuaykge1xuICAgIGdyb3VwZWRCeVJhbmtzW2dyb3VwUmFua10uZm9yRWFjaChmdW5jdGlvbiAoaW1wb3J0ZWRJdGVtKSB7XG4gICAgICBhY2NbYCR7aW1wb3J0ZWRJdGVtLnZhbHVlfXwke2ltcG9ydGVkSXRlbS5ub2RlLmltcG9ydEtpbmR9YF0gPSBwYXJzZUludChncm91cFJhbmssIDEwKSArIG5ld1Jhbms7XG4gICAgICBuZXdSYW5rICs9IDE7XG4gICAgfSk7XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30pO1xuXG4gIC8vIG11dGF0ZSB0aGUgb3JpZ2luYWwgZ3JvdXAtcmFuayB3aXRoIGFscGhhYmV0aXplZC1yYW5rXG4gIGltcG9ydGVkLmZvckVhY2goZnVuY3Rpb24gKGltcG9ydGVkSXRlbSkge1xuICAgIGltcG9ydGVkSXRlbS5yYW5rID0gYWxwaGFiZXRpemVkUmFua3NbYCR7aW1wb3J0ZWRJdGVtLnZhbHVlfXwke2ltcG9ydGVkSXRlbS5ub2RlLmltcG9ydEtpbmR9YF07XG4gIH0pO1xufVxuXG4vLyBERVRFQ1RJTkdcblxuZnVuY3Rpb24gY29tcHV0ZVBhdGhSYW5rKHJhbmtzLCBwYXRoR3JvdXBzLCBwYXRoLCBtYXhQb3NpdGlvbikge1xuICBmb3IgKGxldCBpID0gMCwgbCA9IHBhdGhHcm91cHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgY29uc3QgeyBwYXR0ZXJuLCBwYXR0ZXJuT3B0aW9ucywgZ3JvdXAsIHBvc2l0aW9uID0gMSB9ID0gcGF0aEdyb3Vwc1tpXTtcbiAgICBpZiAobWluaW1hdGNoKHBhdGgsIHBhdHRlcm4sIHBhdHRlcm5PcHRpb25zIHx8IHsgbm9jb21tZW50OiB0cnVlIH0pKSB7XG4gICAgICByZXR1cm4gcmFua3NbZ3JvdXBdICsgcG9zaXRpb24gLyBtYXhQb3NpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcHV0ZVJhbmsoY29udGV4dCwgcmFua3MsIGltcG9ydEVudHJ5LCBleGNsdWRlZEltcG9ydFR5cGVzKSB7XG4gIGxldCBpbXBUeXBlO1xuICBsZXQgcmFuaztcbiAgaWYgKGltcG9ydEVudHJ5LnR5cGUgPT09ICdpbXBvcnQ6b2JqZWN0Jykge1xuICAgIGltcFR5cGUgPSAnb2JqZWN0JztcbiAgfSBlbHNlIGlmIChpbXBvcnRFbnRyeS5ub2RlLmltcG9ydEtpbmQgPT09ICd0eXBlJyAmJiByYW5rcy5vbWl0dGVkVHlwZXMuaW5kZXhPZigndHlwZScpID09PSAtMSkge1xuICAgIGltcFR5cGUgPSAndHlwZSc7XG4gIH0gZWxzZSB7XG4gICAgaW1wVHlwZSA9IGltcG9ydFR5cGUoaW1wb3J0RW50cnkudmFsdWUsIGNvbnRleHQpO1xuICB9XG4gIGlmICghZXhjbHVkZWRJbXBvcnRUeXBlcy5oYXMoaW1wVHlwZSkpIHtcbiAgICByYW5rID0gY29tcHV0ZVBhdGhSYW5rKHJhbmtzLmdyb3VwcywgcmFua3MucGF0aEdyb3VwcywgaW1wb3J0RW50cnkudmFsdWUsIHJhbmtzLm1heFBvc2l0aW9uKTtcbiAgfVxuICBpZiAodHlwZW9mIHJhbmsgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmFuayA9IHJhbmtzLmdyb3Vwc1tpbXBUeXBlXTtcbiAgfVxuICBpZiAoaW1wb3J0RW50cnkudHlwZSAhPT0gJ2ltcG9ydCcgJiYgIWltcG9ydEVudHJ5LnR5cGUuc3RhcnRzV2l0aCgnaW1wb3J0OicpKSB7XG4gICAgcmFuayArPSAxMDA7XG4gIH1cblxuICByZXR1cm4gcmFuaztcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJOb2RlKGNvbnRleHQsIGltcG9ydEVudHJ5LCByYW5rcywgaW1wb3J0ZWQsIGV4Y2x1ZGVkSW1wb3J0VHlwZXMpIHtcbiAgY29uc3QgcmFuayA9IGNvbXB1dGVSYW5rKGNvbnRleHQsIHJhbmtzLCBpbXBvcnRFbnRyeSwgZXhjbHVkZWRJbXBvcnRUeXBlcyk7XG4gIGlmIChyYW5rICE9PSAtMSkge1xuICAgIGltcG9ydGVkLnB1c2goeyAuLi5pbXBvcnRFbnRyeSwgcmFuayB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRSZXF1aXJlQmxvY2sobm9kZSkge1xuICBsZXQgbiA9IG5vZGU7XG4gIC8vIEhhbmRsZSBjYXNlcyBsaWtlIGBjb25zdCBiYXogPSByZXF1aXJlKCdmb28nKS5iYXIuYmF6YFxuICAvLyBhbmQgYGNvbnN0IGZvbyA9IHJlcXVpcmUoJ2ZvbycpKClgXG4gIHdoaWxlIChcbiAgICBuLnBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgbi5wYXJlbnQub2JqZWN0ID09PSBuXG4gICAgfHwgbi5wYXJlbnQudHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJyAmJiBuLnBhcmVudC5jYWxsZWUgPT09IG5cbiAgKSB7XG4gICAgbiA9IG4ucGFyZW50O1xuICB9XG4gIGlmIChcbiAgICBuLnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdG9yJ1xuICAgICYmIG4ucGFyZW50LnBhcmVudC50eXBlID09PSAnVmFyaWFibGVEZWNsYXJhdGlvbidcbiAgICAmJiBuLnBhcmVudC5wYXJlbnQucGFyZW50LnR5cGUgPT09ICdQcm9ncmFtJ1xuICApIHtcbiAgICByZXR1cm4gbi5wYXJlbnQucGFyZW50LnBhcmVudDtcbiAgfVxufVxuXG5jb25zdCB0eXBlcyA9IFsnYnVpbHRpbicsICdleHRlcm5hbCcsICdpbnRlcm5hbCcsICd1bmtub3duJywgJ3BhcmVudCcsICdzaWJsaW5nJywgJ2luZGV4JywgJ29iamVjdCcsICd0eXBlJ107XG5cbi8vIENyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdHlwZS1yYW5rIHBhaXJzLlxuLy8gRXhhbXBsZTogeyBpbmRleDogMCwgc2libGluZzogMSwgcGFyZW50OiAxLCBleHRlcm5hbDogMSwgYnVpbHRpbjogMiwgaW50ZXJuYWw6IDIgfVxuLy8gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiBpdCBjb250YWlucyBhIHR5cGUgdGhhdCBkb2VzIG5vdCBleGlzdCwgb3IgaGFzIGEgZHVwbGljYXRlXG5mdW5jdGlvbiBjb252ZXJ0R3JvdXBzVG9SYW5rcyhncm91cHMpIHtcbiAgY29uc3QgcmFua09iamVjdCA9IGdyb3Vwcy5yZWR1Y2UoZnVuY3Rpb24gKHJlcywgZ3JvdXAsIGluZGV4KSB7XG4gICAgW10uY29uY2F0KGdyb3VwKS5mb3JFYWNoKGZ1bmN0aW9uIChncm91cEl0ZW0pIHtcbiAgICAgIGlmICh0eXBlcy5pbmRleE9mKGdyb3VwSXRlbSkgPT09IC0xKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHJ1bGU6IFVua25vd24gdHlwZSBcXGAke0pTT04uc3RyaW5naWZ5KGdyb3VwSXRlbSl9XFxgYCk7XG4gICAgICB9XG4gICAgICBpZiAocmVzW2dyb3VwSXRlbV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEluY29ycmVjdCBjb25maWd1cmF0aW9uIG9mIHRoZSBydWxlOiBcXGAke2dyb3VwSXRlbX1cXGAgaXMgZHVwbGljYXRlZGApO1xuICAgICAgfVxuICAgICAgcmVzW2dyb3VwSXRlbV0gPSBpbmRleCAqIDI7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcztcbiAgfSwge30pO1xuXG4gIGNvbnN0IG9taXR0ZWRUeXBlcyA9IHR5cGVzLmZpbHRlcihmdW5jdGlvbiAodHlwZSkge1xuICAgIHJldHVybiB0eXBlb2YgcmFua09iamVjdFt0eXBlXSA9PT0gJ3VuZGVmaW5lZCc7XG4gIH0pO1xuXG4gIGNvbnN0IHJhbmtzID0gb21pdHRlZFR5cGVzLnJlZHVjZShmdW5jdGlvbiAocmVzLCB0eXBlKSB7XG4gICAgcmVzW3R5cGVdID0gZ3JvdXBzLmxlbmd0aCAqIDI7XG4gICAgcmV0dXJuIHJlcztcbiAgfSwgcmFua09iamVjdCk7XG5cbiAgcmV0dXJuIHsgZ3JvdXBzOiByYW5rcywgb21pdHRlZFR5cGVzIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRQYXRoR3JvdXBzRm9yUmFua3MocGF0aEdyb3Vwcykge1xuICBjb25zdCBhZnRlciA9IHt9O1xuICBjb25zdCBiZWZvcmUgPSB7fTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHBhdGhHcm91cHMubWFwKChwYXRoR3JvdXAsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgeyBncm91cCwgcG9zaXRpb246IHBvc2l0aW9uU3RyaW5nIH0gPSBwYXRoR3JvdXA7XG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBpZiAocG9zaXRpb25TdHJpbmcgPT09ICdhZnRlcicpIHtcbiAgICAgIGlmICghYWZ0ZXJbZ3JvdXBdKSB7XG4gICAgICAgIGFmdGVyW2dyb3VwXSA9IDE7XG4gICAgICB9XG4gICAgICBwb3NpdGlvbiA9IGFmdGVyW2dyb3VwXSsrO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb25TdHJpbmcgPT09ICdiZWZvcmUnKSB7XG4gICAgICBpZiAoIWJlZm9yZVtncm91cF0pIHtcbiAgICAgICAgYmVmb3JlW2dyb3VwXSA9IFtdO1xuICAgICAgfVxuICAgICAgYmVmb3JlW2dyb3VwXS5wdXNoKGluZGV4KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyAuLi5wYXRoR3JvdXAsIHBvc2l0aW9uIH07XG4gIH0pO1xuXG4gIGxldCBtYXhQb3NpdGlvbiA9IDE7XG5cbiAgT2JqZWN0LmtleXMoYmVmb3JlKS5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwTGVuZ3RoID0gYmVmb3JlW2dyb3VwXS5sZW5ndGg7XG4gICAgYmVmb3JlW2dyb3VwXS5mb3JFYWNoKChncm91cEluZGV4LCBpbmRleCkgPT4ge1xuICAgICAgdHJhbnNmb3JtZWRbZ3JvdXBJbmRleF0ucG9zaXRpb24gPSAtMSAqIChncm91cExlbmd0aCAtIGluZGV4KTtcbiAgICB9KTtcbiAgICBtYXhQb3NpdGlvbiA9IE1hdGgubWF4KG1heFBvc2l0aW9uLCBncm91cExlbmd0aCk7XG4gIH0pO1xuXG4gIE9iamVjdC5rZXlzKGFmdGVyKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCBncm91cE5leHRQb3NpdGlvbiA9IGFmdGVyW2tleV07XG4gICAgbWF4UG9zaXRpb24gPSBNYXRoLm1heChtYXhQb3NpdGlvbiwgZ3JvdXBOZXh0UG9zaXRpb24gLSAxKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoR3JvdXBzOiB0cmFuc2Zvcm1lZCxcbiAgICBtYXhQb3NpdGlvbjogbWF4UG9zaXRpb24gPiAxMCA/IE1hdGgucG93KDEwLCBNYXRoLmNlaWwoTWF0aC5sb2cxMChtYXhQb3NpdGlvbikpKSA6IDEwLFxuICB9O1xufVxuXG5mdW5jdGlvbiBmaXhOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3QgcHJldlJvb3QgPSBmaW5kUm9vdE5vZGUocHJldmlvdXNJbXBvcnQubm9kZSk7XG4gIGNvbnN0IHRva2Vuc1RvRW5kT2ZMaW5lID0gdGFrZVRva2Vuc0FmdGVyV2hpbGUoXG4gICAgY29udGV4dC5nZXRTb3VyY2VDb2RlKCksIHByZXZSb290LCBjb21tZW50T25TYW1lTGluZUFzKHByZXZSb290KSk7XG5cbiAgbGV0IGVuZE9mTGluZSA9IHByZXZSb290LnJhbmdlWzFdO1xuICBpZiAodG9rZW5zVG9FbmRPZkxpbmUubGVuZ3RoID4gMCkge1xuICAgIGVuZE9mTGluZSA9IHRva2Vuc1RvRW5kT2ZMaW5lW3Rva2Vuc1RvRW5kT2ZMaW5lLmxlbmd0aCAtIDFdLnJhbmdlWzFdO1xuICB9XG4gIHJldHVybiAoZml4ZXIpID0+IGZpeGVyLmluc2VydFRleHRBZnRlclJhbmdlKFtwcmV2Um9vdC5yYW5nZVswXSwgZW5kT2ZMaW5lXSwgJ1xcbicpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpO1xuICBjb25zdCBwcmV2Um9vdCA9IGZpbmRSb290Tm9kZShwcmV2aW91c0ltcG9ydC5ub2RlKTtcbiAgY29uc3QgY3VyclJvb3QgPSBmaW5kUm9vdE5vZGUoY3VycmVudEltcG9ydC5ub2RlKTtcbiAgY29uc3QgcmFuZ2VUb1JlbW92ZSA9IFtcbiAgICBmaW5kRW5kT2ZMaW5lV2l0aENvbW1lbnRzKHNvdXJjZUNvZGUsIHByZXZSb290KSxcbiAgICBmaW5kU3RhcnRPZkxpbmVXaXRoQ29tbWVudHMoc291cmNlQ29kZSwgY3VyclJvb3QpLFxuICBdO1xuICBpZiAoKC9eXFxzKiQvKS50ZXN0KHNvdXJjZUNvZGUudGV4dC5zdWJzdHJpbmcocmFuZ2VUb1JlbW92ZVswXSwgcmFuZ2VUb1JlbW92ZVsxXSkpKSB7XG4gICAgcmV0dXJuIChmaXhlcikgPT4gZml4ZXIucmVtb3ZlUmFuZ2UocmFuZ2VUb1JlbW92ZSk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbWFrZU5ld2xpbmVzQmV0d2VlblJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cywgZGlzdGluY3RHcm91cCkge1xuICBjb25zdCBnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuID0gKGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KSA9PiB7XG4gICAgY29uc3QgbGluZXNCZXR3ZWVuSW1wb3J0cyA9IGNvbnRleHQuZ2V0U291cmNlQ29kZSgpLmxpbmVzLnNsaWNlKFxuICAgICAgcHJldmlvdXNJbXBvcnQubm9kZS5sb2MuZW5kLmxpbmUsXG4gICAgICBjdXJyZW50SW1wb3J0Lm5vZGUubG9jLnN0YXJ0LmxpbmUgLSAxLFxuICAgICk7XG5cbiAgICByZXR1cm4gbGluZXNCZXR3ZWVuSW1wb3J0cy5maWx0ZXIoKGxpbmUpID0+ICFsaW5lLnRyaW0oKS5sZW5ndGgpLmxlbmd0aDtcbiAgfTtcbiAgY29uc3QgZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cCA9IChjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCkgPT4gY3VycmVudEltcG9ydC5yYW5rIC0gMSA+PSBwcmV2aW91c0ltcG9ydC5yYW5rO1xuICBsZXQgcHJldmlvdXNJbXBvcnQgPSBpbXBvcnRlZFswXTtcblxuICBpbXBvcnRlZC5zbGljZSgxKS5mb3JFYWNoKGZ1bmN0aW9uIChjdXJyZW50SW1wb3J0KSB7XG4gICAgY29uc3QgZW1wdHlMaW5lc0JldHdlZW4gPSBnZXROdW1iZXJPZkVtcHR5TGluZXNCZXR3ZWVuKGN1cnJlbnRJbXBvcnQsIHByZXZpb3VzSW1wb3J0KTtcbiAgICBjb25zdCBpc1N0YXJ0T2ZEaXN0aW5jdEdyb3VwID0gZ2V0SXNTdGFydE9mRGlzdGluY3RHcm91cChjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCk7XG5cbiAgICBpZiAobmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cydcbiAgICAgICAgfHwgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9PT0gJ2Fsd2F5cy1hbmQtaW5zaWRlLWdyb3VwcycpIHtcbiAgICAgIGlmIChjdXJyZW50SW1wb3J0LnJhbmsgIT09IHByZXZpb3VzSW1wb3J0LnJhbmsgJiYgZW1wdHlMaW5lc0JldHdlZW4gPT09IDApIHtcbiAgICAgICAgaWYgKGRpc3RpbmN0R3JvdXAgfHwgIWRpc3RpbmN0R3JvdXAgJiYgaXNTdGFydE9mRGlzdGluY3RHcm91cCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIGF0IGxlYXN0IG9uZSBlbXB0eSBsaW5lIGJldHdlZW4gaW1wb3J0IGdyb3VwcycsXG4gICAgICAgICAgICBmaXg6IGZpeE5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBwcmV2aW91c0ltcG9ydCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZW1wdHlMaW5lc0JldHdlZW4gPiAwXG4gICAgICAgICYmIG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgIT09ICdhbHdheXMtYW5kLWluc2lkZS1ncm91cHMnKSB7XG4gICAgICAgIGlmIChkaXN0aW5jdEdyb3VwICYmIGN1cnJlbnRJbXBvcnQucmFuayA9PT0gcHJldmlvdXNJbXBvcnQucmFuayB8fCAhZGlzdGluY3RHcm91cCAmJiAhaXNTdGFydE9mRGlzdGluY3RHcm91cCkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG5vZGU6IHByZXZpb3VzSW1wb3J0Lm5vZGUsXG4gICAgICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIG5vIGVtcHR5IGxpbmUgd2l0aGluIGltcG9ydCBncm91cCcsXG4gICAgICAgICAgICBmaXg6IHJlbW92ZU5ld0xpbmVBZnRlckltcG9ydChjb250ZXh0LCBjdXJyZW50SW1wb3J0LCBwcmV2aW91c0ltcG9ydCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVtcHR5TGluZXNCZXR3ZWVuID4gMCkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBub2RlOiBwcmV2aW91c0ltcG9ydC5ub2RlLFxuICAgICAgICBtZXNzYWdlOiAnVGhlcmUgc2hvdWxkIGJlIG5vIGVtcHR5IGxpbmUgYmV0d2VlbiBpbXBvcnQgZ3JvdXBzJyxcbiAgICAgICAgZml4OiByZW1vdmVOZXdMaW5lQWZ0ZXJJbXBvcnQoY29udGV4dCwgY3VycmVudEltcG9ydCwgcHJldmlvdXNJbXBvcnQpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNJbXBvcnQgPSBjdXJyZW50SW1wb3J0O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucykge1xuICBjb25zdCBhbHBoYWJldGl6ZSA9IG9wdGlvbnMuYWxwaGFiZXRpemUgfHwge307XG4gIGNvbnN0IG9yZGVyID0gYWxwaGFiZXRpemUub3JkZXIgfHwgJ2lnbm9yZSc7XG4gIGNvbnN0IG9yZGVySW1wb3J0S2luZCA9IGFscGhhYmV0aXplLm9yZGVySW1wb3J0S2luZCB8fCAnaWdub3JlJztcbiAgY29uc3QgY2FzZUluc2Vuc2l0aXZlID0gYWxwaGFiZXRpemUuY2FzZUluc2Vuc2l0aXZlIHx8IGZhbHNlO1xuXG4gIHJldHVybiB7IG9yZGVyLCBvcmRlckltcG9ydEtpbmQsIGNhc2VJbnNlbnNpdGl2ZSB9O1xufVxuXG4vLyBUT0RPLCBzZW12ZXItbWFqb3I6IENoYW5nZSB0aGUgZGVmYXVsdCBvZiBcImRpc3RpbmN0R3JvdXBcIiBmcm9tIHRydWUgdG8gZmFsc2VcbmNvbnN0IGRlZmF1bHREaXN0aW5jdEdyb3VwID0gdHJ1ZTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIG1ldGE6IHtcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbicsXG4gICAgZG9jczoge1xuICAgICAgY2F0ZWdvcnk6ICdTdHlsZSBndWlkZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0VuZm9yY2UgYSBjb252ZW50aW9uIGluIG1vZHVsZSBpbXBvcnQgb3JkZXIuJyxcbiAgICAgIHVybDogZG9jc1VybCgnb3JkZXInKSxcbiAgICB9LFxuXG4gICAgZml4YWJsZTogJ2NvZGUnLFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGdyb3Vwczoge1xuICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGlzdGluY3RHcm91cDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZGVmYXVsdERpc3RpbmN0R3JvdXAsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXRoR3JvdXBzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBhdHRlcm5PcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGdyb3VwOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgICAgICAgIGVudW06IHR5cGVzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICAgICAgZW51bTogWydhZnRlcicsICdiZWZvcmUnXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3BhdHRlcm4nLCAnZ3JvdXAnXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICAnbmV3bGluZXMtYmV0d2Vlbic6IHtcbiAgICAgICAgICAgIGVudW06IFtcbiAgICAgICAgICAgICAgJ2lnbm9yZScsXG4gICAgICAgICAgICAgICdhbHdheXMnLFxuICAgICAgICAgICAgICAnYWx3YXlzLWFuZC1pbnNpZGUtZ3JvdXBzJyxcbiAgICAgICAgICAgICAgJ25ldmVyJyxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhbHBoYWJldGl6ZToge1xuICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGNhc2VJbnNlbnNpdGl2ZToge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ2lnbm9yZScsICdhc2MnLCAnZGVzYyddLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICdpZ25vcmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcmRlckltcG9ydEtpbmQ6IHtcbiAgICAgICAgICAgICAgICBlbnVtOiBbJ2lnbm9yZScsICdhc2MnLCAnZGVzYyddLFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICdpZ25vcmUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHdhcm5PblVuYXNzaWduZWRJbXBvcnRzOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG5cbiAgY3JlYXRlOiBmdW5jdGlvbiBpbXBvcnRPcmRlclJ1bGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG4gICAgY29uc3QgbmV3bGluZXNCZXR3ZWVuSW1wb3J0cyA9IG9wdGlvbnNbJ25ld2xpbmVzLWJldHdlZW4nXSB8fCAnaWdub3JlJztcbiAgICBjb25zdCBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyA9IG5ldyBTZXQob3B0aW9ucy5wYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyB8fCBbJ2J1aWx0aW4nLCAnZXh0ZXJuYWwnLCAnb2JqZWN0J10pO1xuICAgIGNvbnN0IGFscGhhYmV0aXplID0gZ2V0QWxwaGFiZXRpemVDb25maWcob3B0aW9ucyk7XG4gICAgY29uc3QgZGlzdGluY3RHcm91cCA9IG9wdGlvbnMuZGlzdGluY3RHcm91cCA9PSBudWxsID8gZGVmYXVsdERpc3RpbmN0R3JvdXAgOiAhIW9wdGlvbnMuZGlzdGluY3RHcm91cDtcbiAgICBsZXQgcmFua3M7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBwYXRoR3JvdXBzLCBtYXhQb3NpdGlvbiB9ID0gY29udmVydFBhdGhHcm91cHNGb3JSYW5rcyhvcHRpb25zLnBhdGhHcm91cHMgfHwgW10pO1xuICAgICAgY29uc3QgeyBncm91cHMsIG9taXR0ZWRUeXBlcyB9ID0gY29udmVydEdyb3Vwc1RvUmFua3Mob3B0aW9ucy5ncm91cHMgfHwgZGVmYXVsdEdyb3Vwcyk7XG4gICAgICByYW5rcyA9IHtcbiAgICAgICAgZ3JvdXBzLFxuICAgICAgICBvbWl0dGVkVHlwZXMsXG4gICAgICAgIHBhdGhHcm91cHMsXG4gICAgICAgIG1heFBvc2l0aW9uLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gTWFsZm9ybWVkIGNvbmZpZ3VyYXRpb25cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFByb2dyYW0obm9kZSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KG5vZGUsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgaW1wb3J0TWFwID0gbmV3IE1hcCgpO1xuXG4gICAgZnVuY3Rpb24gZ2V0QmxvY2tJbXBvcnRzKG5vZGUpIHtcbiAgICAgIGlmICghaW1wb3J0TWFwLmhhcyhub2RlKSkge1xuICAgICAgICBpbXBvcnRNYXAuc2V0KG5vZGUsIFtdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBpbXBvcnRNYXAuZ2V0KG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBJbXBvcnREZWNsYXJhdGlvbjogZnVuY3Rpb24gaGFuZGxlSW1wb3J0cyhub2RlKSB7XG4gICAgICAgIC8vIElnbm9yaW5nIHVuYXNzaWduZWQgaW1wb3J0cyB1bmxlc3Mgd2Fybk9uVW5hc3NpZ25lZEltcG9ydHMgaXMgc2V0XG4gICAgICAgIGlmIChub2RlLnNwZWNpZmllcnMubGVuZ3RoIHx8IG9wdGlvbnMud2Fybk9uVW5hc3NpZ25lZEltcG9ydHMpIHtcbiAgICAgICAgICBjb25zdCBuYW1lID0gbm9kZS5zb3VyY2UudmFsdWU7XG4gICAgICAgICAgcmVnaXN0ZXJOb2RlKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgdmFsdWU6IG5hbWUsXG4gICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBuYW1lLFxuICAgICAgICAgICAgICB0eXBlOiAnaW1wb3J0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYW5rcyxcbiAgICAgICAgICAgIGdldEJsb2NrSW1wb3J0cyhub2RlLnBhcmVudCksXG4gICAgICAgICAgICBwYXRoR3JvdXBzRXhjbHVkZWRJbXBvcnRUeXBlcyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbjogZnVuY3Rpb24gaGFuZGxlSW1wb3J0cyhub2RlKSB7XG4gICAgICAgIGxldCBkaXNwbGF5TmFtZTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQgdHlwZTtcbiAgICAgICAgLy8gc2tpcCBcImV4cG9ydCBpbXBvcnRcInNcbiAgICAgICAgaWYgKG5vZGUuaXNFeHBvcnQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUubW9kdWxlUmVmZXJlbmNlLnR5cGUgPT09ICdUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlJykge1xuICAgICAgICAgIHZhbHVlID0gbm9kZS5tb2R1bGVSZWZlcmVuY2UuZXhwcmVzc2lvbi52YWx1ZTtcbiAgICAgICAgICBkaXNwbGF5TmFtZSA9IHZhbHVlO1xuICAgICAgICAgIHR5cGUgPSAnaW1wb3J0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgICAgIGRpc3BsYXlOYW1lID0gY29udGV4dC5nZXRTb3VyY2VDb2RlKCkuZ2V0VGV4dChub2RlLm1vZHVsZVJlZmVyZW5jZSk7XG4gICAgICAgICAgdHlwZSA9ICdpbXBvcnQ6b2JqZWN0JztcbiAgICAgICAgfVxuICAgICAgICByZWdpc3Rlck5vZGUoXG4gICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZSxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByYW5rcyxcbiAgICAgICAgICBnZXRCbG9ja0ltcG9ydHMobm9kZS5wYXJlbnQpLFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIENhbGxFeHByZXNzaW9uOiBmdW5jdGlvbiBoYW5kbGVSZXF1aXJlcyhub2RlKSB7XG4gICAgICAgIGlmICghaXNTdGF0aWNSZXF1aXJlKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJsb2NrID0gZ2V0UmVxdWlyZUJsb2NrKG5vZGUpO1xuICAgICAgICBpZiAoIWJsb2NrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWUgPSBub2RlLmFyZ3VtZW50c1swXS52YWx1ZTtcbiAgICAgICAgcmVnaXN0ZXJOb2RlKFxuICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6IG5hbWUsXG4gICAgICAgICAgICB0eXBlOiAncmVxdWlyZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByYW5rcyxcbiAgICAgICAgICBnZXRCbG9ja0ltcG9ydHMoYmxvY2spLFxuICAgICAgICAgIHBhdGhHcm91cHNFeGNsdWRlZEltcG9ydFR5cGVzLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgICdQcm9ncmFtOmV4aXQnOiBmdW5jdGlvbiByZXBvcnRBbmRSZXNldCgpIHtcbiAgICAgICAgaW1wb3J0TWFwLmZvckVhY2goKGltcG9ydGVkKSA9PiB7XG4gICAgICAgICAgaWYgKG5ld2xpbmVzQmV0d2VlbkltcG9ydHMgIT09ICdpZ25vcmUnKSB7XG4gICAgICAgICAgICBtYWtlTmV3bGluZXNCZXR3ZWVuUmVwb3J0KGNvbnRleHQsIGltcG9ydGVkLCBuZXdsaW5lc0JldHdlZW5JbXBvcnRzLCBkaXN0aW5jdEdyb3VwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoYWxwaGFiZXRpemUub3JkZXIgIT09ICdpZ25vcmUnKSB7XG4gICAgICAgICAgICBtdXRhdGVSYW5rc1RvQWxwaGFiZXRpemUoaW1wb3J0ZWQsIGFscGhhYmV0aXplKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtYWtlT3V0T2ZPcmRlclJlcG9ydChjb250ZXh0LCBpbXBvcnRlZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGltcG9ydE1hcC5jbGVhcigpO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufTtcbiJdfQ==