create-packer 1.34.9 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +1 -1
- package/template/web-app/react-rspack/.env +2 -0
- package/template/web-app/react-rspack/.env.development +2 -0
- package/template/web-app/react-rspack/.eslintrc +120 -0
- package/template/web-app/react-rspack/README.md +14 -0
- package/template/web-app/react-rspack/domain/router/router.tsx +28 -0
- package/template/web-app/react-rspack/env.d.ts +17 -0
- package/template/web-app/react-rspack/index.html +12 -0
- package/template/web-app/react-rspack/package.json +83 -0
- package/template/web-app/react-rspack/public/rsbuild-logo.svg +1 -0
- package/template/web-app/react-rspack/rsbuild.config.ts +78 -0
- package/template/web-app/react-rspack/shared/service/home.ts +8 -0
- package/template/web-app/react-rspack/shared/service/request.ts +5 -0
- package/template/web-app/react-rspack/tsconfig.node.json +14 -0
- package/template/web-app/react-vite/.editorconfig +14 -0
- package/template/web-app/react-vite/.eslintignore +4 -0
- package/template/web-app/react-vite/.gitignore +28 -0
- package/template/web-app/react-vite/.husky/commit-msg +4 -0
- package/template/web-app/react-vite/.husky/pre-commit +4 -0
- package/template/web-app/react-vite/.prettierignore +6 -0
- package/template/web-app/react-vite/.prettierrc +12 -0
- package/template/web-app/react-vite/.stylelintignore +4 -0
- package/template/web-app/react-vite/.stylelintrc +24 -0
- package/template/web-app/react-vite/.vscode/extensions.json +8 -0
- package/template/web-app/react-vite/.vscode/settings.json +18 -0
- package/template/web-app/react-vite/commitlint.config.cjs +1 -0
- package/template/web-app/react-vite/domain/app/app.model.ts +7 -0
- package/template/web-app/react-vite/domain/app/app.styled.ts +3 -0
- package/template/web-app/react-vite/domain/app/components/app-context.tsx +17 -0
- package/template/web-app/react-vite/domain/app/components/app.tsx +24 -0
- package/template/web-app/react-vite/domain/app/components/index.ts +1 -0
- package/template/web-app/react-vite/domain/app/index.ts +2 -0
- package/template/web-app/react-vite/domain/router/home/ids.ts +3 -0
- package/template/web-app/react-vite/domain/router/home/index.ts +2 -0
- package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -0
- package/template/web-app/react-vite/domain/router/ids.ts +6 -0
- package/template/web-app/react-vite/domain/router/index.ts +3 -0
- package/template/web-app/react-vite/domain/router/router.types.ts +3 -0
- package/template/web-app/react-vite/main.tsx +4 -0
- package/template/web-app/react-vite/pages/home/home.styled.ts +7 -0
- package/template/web-app/react-vite/pages/home/home.tsx +10 -0
- package/template/web-app/react-vite/pages/home/index.ts +1 -0
- package/template/web-app/react-vite/pages/index.tsx +18 -0
- package/template/web-app/react-vite/pages/not-found.tsx +3 -0
- package/template/web-app/react-vite/postcss.config.cjs +7 -0
- package/template/web-app/react-vite/scripts/createChunks.ts +26 -0
- package/template/web-app/react-vite/scripts/index.ts +1 -0
- package/template/web-app/react-vite/shared/assets/react.svg +1 -0
- package/template/web-app/react-vite/shared/components/index.ts +0 -0
- package/template/web-app/react-vite/shared/constant/index.ts +0 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +160 -0
- package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -0
- package/template/web-app/react-vite/shared/hooks/index.ts +6 -0
- package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -0
- package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +27 -0
- package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -0
- package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -0
- package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -0
- package/template/web-app/react-vite/shared/service/api.ts +1 -0
- package/template/web-app/react-vite/shared/service/index.ts +3 -0
- package/template/web-app/react-vite/shared/theme/index.ts +1 -0
- package/template/web-app/react-vite/shared/theme/theme.styled.ts +56 -0
- package/template/web-app/react-vite/shared/tools/componentInstance.tsx +80 -0
- package/template/web-app/react-vite/shared/tools/index.ts +1 -0
- package/template/web-app/react-vite/shared/types/index.ts +1 -0
- package/template/web-app/react-vite/shared/types/utils.ts +2 -0
- package/template/web-app/react-vite/tsconfig.json +44 -0
- package/template/web-app/react-webpack/webpack.config.mjs +4 -5
- package/template/lib/react/node_modules/.bin/acorn +0 -17
- package/template/lib/react/node_modules/.bin/acorn.CMD +0 -12
- package/template/lib/react/node_modules/.bin/acorn.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/browserslist +0 -17
- package/template/lib/react/node_modules/.bin/browserslist.CMD +0 -12
- package/template/lib/react/node_modules/.bin/browserslist.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/esbuild +0 -17
- package/template/lib/react/node_modules/.bin/esbuild.CMD +0 -12
- package/template/lib/react/node_modules/.bin/esbuild.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/sb +0 -17
- package/template/lib/react/node_modules/.bin/sb.CMD +0 -12
- package/template/lib/react/node_modules/.bin/sb.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/storybook +0 -17
- package/template/lib/react/node_modules/.bin/storybook.CMD +0 -12
- package/template/lib/react/node_modules/.bin/storybook.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/stylelint +0 -17
- package/template/lib/react/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/react/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/tsc +0 -17
- package/template/lib/react/node_modules/.bin/tsc.CMD +0 -12
- package/template/lib/react/node_modules/.bin/tsc.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/tsserver +0 -17
- package/template/lib/react/node_modules/.bin/tsserver.CMD +0 -12
- package/template/lib/react/node_modules/.bin/tsserver.ps1 +0 -41
- package/template/lib/react/node_modules/.bin/vite +0 -17
- package/template/lib/react/node_modules/.bin/vite.CMD +0 -12
- package/template/lib/react/node_modules/.bin/vite.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/LICENSE +0 -19
- package/template/lib/react/node_modules/eslint/README.md +0 -304
- package/template/lib/react/node_modules/eslint/bin/eslint.js +0 -173
- package/template/lib/react/node_modules/eslint/conf/config-schema.js +0 -93
- package/template/lib/react/node_modules/eslint/conf/default-cli-options.js +0 -32
- package/template/lib/react/node_modules/eslint/conf/globals.js +0 -154
- package/template/lib/react/node_modules/eslint/conf/replacements.json +0 -22
- package/template/lib/react/node_modules/eslint/conf/rule-type-list.json +0 -28
- package/template/lib/react/node_modules/eslint/lib/api.js +0 -26
- package/template/lib/react/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
- package/template/lib/react/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/cli-engine/hash.js +0 -35
- package/template/lib/react/node_modules/eslint/lib/cli-engine/index.js +0 -7
- package/template/lib/react/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
- package/template/lib/react/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
- package/template/lib/react/node_modules/eslint/lib/cli.js +0 -471
- package/template/lib/react/node_modules/eslint/lib/config/default-config.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-array.js +0 -274
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
- package/template/lib/react/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
- package/template/lib/react/node_modules/eslint/lib/config/rule-validator.js +0 -158
- package/template/lib/react/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
- package/template/lib/react/node_modules/eslint/lib/eslint/eslint.js +0 -700
- package/template/lib/react/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
- package/template/lib/react/node_modules/eslint/lib/eslint/index.js +0 -9
- package/template/lib/react/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
- package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
- package/template/lib/react/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
- package/template/lib/react/node_modules/eslint/lib/linter/index.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/linter/interpolate.js +0 -28
- package/template/lib/react/node_modules/eslint/lib/linter/linter.js +0 -2119
- package/template/lib/react/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
- package/template/lib/react/node_modules/eslint/lib/linter/report-translator.js +0 -369
- package/template/lib/react/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
- package/template/lib/react/node_modules/eslint/lib/linter/rules.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
- package/template/lib/react/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
- package/template/lib/react/node_modules/eslint/lib/linter/timing.js +0 -161
- package/template/lib/react/node_modules/eslint/lib/options.js +0 -398
- package/template/lib/react/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
- package/template/lib/react/node_modules/eslint/lib/rule-tester/index.js +0 -5
- package/template/lib/react/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
- package/template/lib/react/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
- package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
- package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
- package/template/lib/react/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
- package/template/lib/react/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
- package/template/lib/react/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
- package/template/lib/react/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
- package/template/lib/react/node_modules/eslint/lib/rules/block-spacing.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/brace-style.js +0 -197
- package/template/lib/react/node_modules/eslint/lib/rules/callback-return.js +0 -187
- package/template/lib/react/node_modules/eslint/lib/rules/camelcase.js +0 -399
- package/template/lib/react/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
- package/template/lib/react/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
- package/template/lib/react/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
- package/template/lib/react/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
- package/template/lib/react/node_modules/eslint/lib/rules/comma-style.js +0 -314
- package/template/lib/react/node_modules/eslint/lib/rules/complexity.js +0 -165
- package/template/lib/react/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
- package/template/lib/react/node_modules/eslint/lib/rules/consistent-return.js +0 -210
- package/template/lib/react/node_modules/eslint/lib/rules/consistent-this.js +0 -153
- package/template/lib/react/node_modules/eslint/lib/rules/constructor-super.js +0 -446
- package/template/lib/react/node_modules/eslint/lib/rules/curly.js +0 -486
- package/template/lib/react/node_modules/eslint/lib/rules/default-case-last.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/default-case.js +0 -97
- package/template/lib/react/node_modules/eslint/lib/rules/default-param-last.js +0 -62
- package/template/lib/react/node_modules/eslint/lib/rules/dot-location.js +0 -108
- package/template/lib/react/node_modules/eslint/lib/rules/dot-notation.js +0 -176
- package/template/lib/react/node_modules/eslint/lib/rules/eol-last.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/for-direction.js +0 -140
- package/template/lib/react/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
- package/template/lib/react/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/func-names.js +0 -191
- package/template/lib/react/node_modules/eslint/lib/rules/func-style.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
- package/template/lib/react/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
- package/template/lib/react/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
- package/template/lib/react/node_modules/eslint/lib/rules/getter-return.js +0 -204
- package/template/lib/react/node_modules/eslint/lib/rules/global-require.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
- package/template/lib/react/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
- package/template/lib/react/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
- package/template/lib/react/node_modules/eslint/lib/rules/id-denylist.js +0 -228
- package/template/lib/react/node_modules/eslint/lib/rules/id-length.js +0 -177
- package/template/lib/react/node_modules/eslint/lib/rules/id-match.js +0 -299
- package/template/lib/react/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
- package/template/lib/react/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
- package/template/lib/react/node_modules/eslint/lib/rules/indent.js +0 -1803
- package/template/lib/react/node_modules/eslint/lib/rules/index.js +0 -306
- package/template/lib/react/node_modules/eslint/lib/rules/init-declarations.js +0 -139
- package/template/lib/react/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/key-spacing.js +0 -687
- package/template/lib/react/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
- package/template/lib/react/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
- package/template/lib/react/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
- package/template/lib/react/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
- package/template/lib/react/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
- package/template/lib/react/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
- package/template/lib/react/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
- package/template/lib/react/node_modules/eslint/lib/rules/max-depth.js +0 -156
- package/template/lib/react/node_modules/eslint/lib/rules/max-len.js +0 -440
- package/template/lib/react/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/max-lines.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
- package/template/lib/react/node_modules/eslint/lib/rules/max-params.js +0 -102
- package/template/lib/react/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
- package/template/lib/react/node_modules/eslint/lib/rules/max-statements.js +0 -184
- package/template/lib/react/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
- package/template/lib/react/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/new-cap.js +0 -276
- package/template/lib/react/node_modules/eslint/lib/rules/new-parens.js +0 -93
- package/template/lib/react/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
- package/template/lib/react/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
- package/template/lib/react/node_modules/eslint/lib/rules/no-alert.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
- package/template/lib/react/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
- package/template/lib/react/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
- package/template/lib/react/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-caller.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
- package/template/lib/react/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
- package/template/lib/react/node_modules/eslint/lib/rules/no-console.js +0 -207
- package/template/lib/react/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
- package/template/lib/react/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
- package/template/lib/react/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
- package/template/lib/react/node_modules/eslint/lib/rules/no-continue.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-debugger.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
- package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
- package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
- package/template/lib/react/node_modules/eslint/lib/rules/no-else-return.js +0 -405
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
- package/template/lib/react/node_modules/eslint/lib/rules/no-empty.js +0 -103
- package/template/lib/react/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-eval.js +0 -286
- package/template/lib/react/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
- package/template/lib/react/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
- package/template/lib/react/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
- package/template/lib/react/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
- package/template/lib/react/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
- package/template/lib/react/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
- package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
- package/template/lib/react/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
- package/template/lib/react/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
- package/template/lib/react/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
- package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
- package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
- package/template/lib/react/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
- package/template/lib/react/node_modules/eslint/lib/rules/no-iterator.js +0 -52
- package/template/lib/react/node_modules/eslint/lib/rules/no-label-var.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/rules/no-labels.js +0 -149
- package/template/lib/react/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
- package/template/lib/react/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
- package/template/lib/react/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
- package/template/lib/react/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
- package/template/lib/react/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
- package/template/lib/react/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
- package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
- package/template/lib/react/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
- package/template/lib/react/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
- package/template/lib/react/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
- package/template/lib/react/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
- package/template/lib/react/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-func.js +0 -87
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-object.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-require.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-new.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
- package/template/lib/react/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
- package/template/lib/react/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
- package/template/lib/react/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
- package/template/lib/react/node_modules/eslint/lib/rules/no-octal.js +0 -45
- package/template/lib/react/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
- package/template/lib/react/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
- package/template/lib/react/node_modules/eslint/lib/rules/no-process-env.js +0 -51
- package/template/lib/react/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
- package/template/lib/react/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
- package/template/lib/react/node_modules/eslint/lib/rules/no-proto.js +0 -48
- package/template/lib/react/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
- package/template/lib/react/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
- package/template/lib/react/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
- package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
- package/template/lib/react/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
- package/template/lib/react/node_modules/eslint/lib/rules/no-return-await.js +0 -135
- package/template/lib/react/node_modules/eslint/lib/rules/no-script-url.js +0 -61
- package/template/lib/react/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
- package/template/lib/react/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/rules/no-sequences.js +0 -138
- package/template/lib/react/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
- package/template/lib/react/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
- package/template/lib/react/node_modules/eslint/lib/rules/no-shadow.js +0 -336
- package/template/lib/react/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
- package/template/lib/react/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/rules/no-sync.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-tabs.js +0 -81
- package/template/lib/react/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
- package/template/lib/react/node_modules/eslint/lib/rules/no-ternary.js +0 -41
- package/template/lib/react/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
- package/template/lib/react/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
- package/template/lib/react/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
- package/template/lib/react/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
- package/template/lib/react/node_modules/eslint/lib/rules/no-undef.js +0 -79
- package/template/lib/react/node_modules/eslint/lib/rules/no-undefined.js +0 -86
- package/template/lib/react/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
- package/template/lib/react/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
- package/template/lib/react/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
- package/template/lib/react/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
- package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
- package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
- package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
- package/template/lib/react/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
- package/template/lib/react/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
- package/template/lib/react/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
- package/template/lib/react/node_modules/eslint/lib/rules/no-var.js +0 -334
- package/template/lib/react/node_modules/eslint/lib/rules/no-void.js +0 -64
- package/template/lib/react/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
- package/template/lib/react/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
- package/template/lib/react/node_modules/eslint/lib/rules/no-with.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
- package/template/lib/react/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
- package/template/lib/react/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
- package/template/lib/react/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
- package/template/lib/react/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
- package/template/lib/react/node_modules/eslint/lib/rules/one-var.js +0 -567
- package/template/lib/react/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
- package/template/lib/react/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
- package/template/lib/react/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
- package/template/lib/react/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-const.js +0 -501
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
- package/template/lib/react/node_modules/eslint/lib/rules/prefer-template.js +0 -275
- package/template/lib/react/node_modules/eslint/lib/rules/quote-props.js +0 -310
- package/template/lib/react/node_modules/eslint/lib/rules/quotes.js +0 -350
- package/template/lib/react/node_modules/eslint/lib/rules/radix.js +0 -198
- package/template/lib/react/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
- package/template/lib/react/node_modules/eslint/lib/rules/require-await.js +0 -113
- package/template/lib/react/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
- package/template/lib/react/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
- package/template/lib/react/node_modules/eslint/lib/rules/require-yield.js +0 -77
- package/template/lib/react/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
- package/template/lib/react/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
- package/template/lib/react/node_modules/eslint/lib/rules/semi-style.js +0 -158
- package/template/lib/react/node_modules/eslint/lib/rules/semi.js +0 -438
- package/template/lib/react/node_modules/eslint/lib/rules/sort-imports.js +0 -241
- package/template/lib/react/node_modules/eslint/lib/rules/sort-keys.js +0 -230
- package/template/lib/react/node_modules/eslint/lib/rules/sort-vars.js +0 -104
- package/template/lib/react/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
- package/template/lib/react/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
- package/template/lib/react/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
- package/template/lib/react/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
- package/template/lib/react/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
- package/template/lib/react/node_modules/eslint/lib/rules/strict.js +0 -277
- package/template/lib/react/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
- package/template/lib/react/node_modules/eslint/lib/rules/symbol-description.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
- package/template/lib/react/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
- package/template/lib/react/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
- package/template/lib/react/node_modules/eslint/lib/rules/use-isnan.js +0 -141
- package/template/lib/react/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
- package/template/lib/react/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
- package/template/lib/react/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
- package/template/lib/react/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
- package/template/lib/react/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
- package/template/lib/react/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
- package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
- package/template/lib/react/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
- package/template/lib/react/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
- package/template/lib/react/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
- package/template/lib/react/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
- package/template/lib/react/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
- package/template/lib/react/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
- package/template/lib/react/node_modules/eslint/lib/rules/yoda.js +0 -353
- package/template/lib/react/node_modules/eslint/lib/shared/ajv.js +0 -34
- package/template/lib/react/node_modules/eslint/lib/shared/ast-utils.js +0 -29
- package/template/lib/react/node_modules/eslint/lib/shared/config-validator.js +0 -347
- package/template/lib/react/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/shared/directives.js +0 -15
- package/template/lib/react/node_modules/eslint/lib/shared/logging.js +0 -30
- package/template/lib/react/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
- package/template/lib/react/node_modules/eslint/lib/shared/runtime-info.js +0 -167
- package/template/lib/react/node_modules/eslint/lib/shared/severity.js +0 -49
- package/template/lib/react/node_modules/eslint/lib/shared/string-utils.js +0 -60
- package/template/lib/react/node_modules/eslint/lib/shared/traverser.js +0 -195
- package/template/lib/react/node_modules/eslint/lib/shared/types.js +0 -216
- package/template/lib/react/node_modules/eslint/lib/source-code/index.js +0 -5
- package/template/lib/react/node_modules/eslint/lib/source-code/source-code.js +0 -1055
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
- package/template/lib/react/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
- package/template/lib/react/node_modules/eslint/lib/unsupported-api.js +0 -30
- package/template/lib/react/node_modules/eslint/messages/all-files-ignored.js +0 -16
- package/template/lib/react/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
- package/template/lib/react/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
- package/template/lib/react/node_modules/eslint/messages/extend-config-missing.js +0 -13
- package/template/lib/react/node_modules/eslint/messages/failed-to-read-json.js +0 -11
- package/template/lib/react/node_modules/eslint/messages/file-not-found.js +0 -10
- package/template/lib/react/node_modules/eslint/messages/invalid-rule-options.js +0 -17
- package/template/lib/react/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
- package/template/lib/react/node_modules/eslint/messages/no-config-found.js +0 -15
- package/template/lib/react/node_modules/eslint/messages/plugin-conflict.js +0 -22
- package/template/lib/react/node_modules/eslint/messages/plugin-invalid.js +0 -16
- package/template/lib/react/node_modules/eslint/messages/plugin-missing.js +0 -19
- package/template/lib/react/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
- package/template/lib/react/node_modules/eslint/messages/shared.js +0 -18
- package/template/lib/react/node_modules/eslint/messages/whitespace-found.js +0 -11
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
- package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
- package/template/lib/react/node_modules/eslint/package.json +0 -179
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/README.md +0 -232
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/package.json +0 -108
- package/template/lib/react/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
- package/template/lib/react/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
- package/template/lib/react/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
- package/template/lib/react/node_modules/eslint-plugin-import/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/README.md +0 -500
- package/template/lib/react/node_modules/eslint-plugin-import/RELEASE.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/SECURITY.md +0 -11
- package/template/lib/react/node_modules/eslint-plugin-import/config/electron.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-import/config/errors.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-import/config/react-native.js +0 -13
- package/template/lib/react/node_modules/eslint-plugin-import/config/react.js +0 -18
- package/template/lib/react/node_modules/eslint-plugin-import/config/recommended.js +0 -28
- package/template/lib/react/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/config/typescript.js +0 -34
- package/template/lib/react/node_modules/eslint-plugin-import/config/warnings.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
- package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
- package/template/lib/react/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
- package/template/lib/react/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
- package/template/lib/react/node_modules/eslint-plugin-import/lib/index.js +0 -71
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
- package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-import/package.json +0 -124
- package/template/lib/react/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
- package/template/lib/react/node_modules/eslint-plugin-prettier/README.md +0 -202
- package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
- package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-prettier/package.json +0 -101
- package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
- package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.js +0 -17
- package/template/lib/react/node_modules/eslint-plugin-prettier/worker.js +0 -181
- package/template/lib/react/node_modules/eslint-plugin-react/LICENSE +0 -22
- package/template/lib/react/node_modules/eslint-plugin-react/README.md +0 -420
- package/template/lib/react/node_modules/eslint-plugin-react/configs/all.js +0 -39
- package/template/lib/react/node_modules/eslint-plugin-react/configs/jsx-runtime.js +0 -18
- package/template/lib/react/node_modules/eslint-plugin-react/configs/recommended.js +0 -34
- package/template/lib/react/node_modules/eslint-plugin-react/index.js +0 -31
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js +0 -400
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/button-has-type.js +0 -163
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js +0 -108
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/destructuring-assignment.js +0 -280
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/display-name.js +0 -283
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-component-props.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-dom-props.js +0 -121
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-elements.js +0 -114
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-prop-types.js +0 -293
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/function-component-definition.js +0 -284
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/hook-use-state.js +0 -203
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/iframe-missing-sandbox.js +0 -142
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/index.js +0 -106
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-boolean-value.js +0 -159
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-child-element-spacing.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js +0 -308
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-tag-location.js +0 -73
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js +0 -414
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-newline.js +0 -184
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-spacing.js +0 -430
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-equals-spacing.js +0 -110
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-filename-extension.js +0 -110
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js +0 -80
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-fragments.js +0 -209
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-handler-names.js +0 -171
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent-props.js +0 -213
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js +0 -441
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-key.js +0 -293
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-depth.js +0 -162
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-props-per-line.js +0 -154
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-newline.js +0 -168
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-bind.js +0 -208
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js +0 -64
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-constructed-context-values.js +0 -225
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js +0 -76
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-leaked-render.js +0 -186
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js +0 -195
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-script-url.js +0 -97
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-target-blank.js +0 -283
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-undef.js +0 -115
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-useless-fragment.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js +0 -233
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-pascal-case.js +0 -163
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-multi-spaces.js +0 -134
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-spreading.js +0 -141
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-default-props.js +0 -188
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-props.js +0 -530
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-space-before-closing.js +0 -96
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-tag-spacing.js +0 -323
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js +0 -46
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-vars.js +0 -60
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-wrap-multilines.js +0 -260
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-access-state-in-setstate.js +0 -187
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-adjacent-inline-elements.js +0 -125
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js +0 -288
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-arrow-function-lifecycle.js +0 -144
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-children-prop.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger-with-children.js +0 -155
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger.js +0 -74
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-deprecated.js +0 -258
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-mount-set-state.js +0 -10
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-update-set-state.js +0 -10
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-direct-mutation-state.js +0 -154
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-find-dom-node.js +0 -50
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-invalid-html-attribute.js +0 -639
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-is-mounted.js +0 -55
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-multi-comp.js +0 -80
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-namespace.js +0 -61
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-object-type-as-default-prop.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-redundant-should-component-update.js +0 -87
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-render-return-value.js +0 -81
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-set-state.js +0 -88
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-string-refs.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-this-in-sfc.js +0 -46
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-typos.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unescaped-entities.js +0 -133
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unknown-property.js +0 -609
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unsafe.js +0 -153
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unstable-nested-components.js +0 -491
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-class-component-methods.js +0 -257
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-prop-types.js +0 -173
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js +0 -522
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-will-update-set-state.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-es6-class.js +0 -57
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-exact-props.js +0 -161
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-read-only-props.js +0 -116
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-stateless-function.js +0 -390
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prop-types.js +0 -201
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/react-in-jsx-scope.js +0 -56
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-default-props.js +0 -193
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-optimization.js +0 -239
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-render-return.js +0 -104
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/self-closing-comp.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-comp.js +0 -446
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-default-props.js +0 -174
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-prop-types.js +0 -266
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/state-in-constructor.js +0 -67
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/static-property-placement.js +0 -187
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/style-prop-object.js +0 -137
- package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/void-dom-elements-no-children.js +0 -165
- package/template/lib/react/node_modules/eslint-plugin-react/lib/types.d.ts +0 -28
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/Components.js +0 -946
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/annotations.js +0 -32
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/ast.js +0 -461
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/componentUtil.js +0 -182
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/defaultProps.js +0 -268
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/docsUrl.js +0 -7
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/error.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateContext.js +0 -53
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateElement.js +0 -33
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isDestructuredFromPragmaImport.js +0 -79
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isFirstLetterCapitalized.js +0 -16
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/jsx.js +0 -196
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/lifecycleMethods.js +0 -30
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/linkComponents.js +0 -49
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/log.js +0 -14
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js +0 -119
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/message.js +0 -8
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/pragma.js +0 -72
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypes.js +0 -1248
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypesSort.js +0 -211
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propWrapper.js +0 -61
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/props.js +0 -103
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/report.js +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/usedPropTypes.js +0 -569
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/variable.js +0 -94
- package/template/lib/react/node_modules/eslint-plugin-react/lib/util/version.js +0 -161
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react/package.json +0 -106
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/LICENSE +0 -21
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/README.md +0 -75
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +0 -2458
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.min.js +0 -63
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/index.js +0 -9
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +0 -17
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/react/node_modules/eslint-plugin-react-hooks/package.json +0 -39
- package/template/lib/react/node_modules/prettier/LICENSE +0 -4857
- package/template/lib/react/node_modules/prettier/README.md +0 -109
- package/template/lib/react/node_modules/prettier/bin/prettier.cjs +0 -68
- package/template/lib/react/node_modules/prettier/doc.d.ts +0 -243
- package/template/lib/react/node_modules/prettier/doc.js +0 -1328
- package/template/lib/react/node_modules/prettier/doc.mjs +0 -1300
- package/template/lib/react/node_modules/prettier/index.cjs +0 -648
- package/template/lib/react/node_modules/prettier/index.d.ts +0 -940
- package/template/lib/react/node_modules/prettier/index.mjs +0 -24255
- package/template/lib/react/node_modules/prettier/internal/cli.mjs +0 -7089
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/react/node_modules/prettier/package.json +0 -198
- package/template/lib/react/node_modules/prettier/plugins/acorn.d.ts +0 -6
- package/template/lib/react/node_modules/prettier/plugins/acorn.js +0 -13
- package/template/lib/react/node_modules/prettier/plugins/acorn.mjs +0 -13
- package/template/lib/react/node_modules/prettier/plugins/angular.d.ts +0 -8
- package/template/lib/react/node_modules/prettier/plugins/angular.js +0 -1
- package/template/lib/react/node_modules/prettier/plugins/angular.mjs +0 -1
- package/template/lib/react/node_modules/prettier/plugins/babel.d.ts +0 -18
- package/template/lib/react/node_modules/prettier/plugins/babel.js +0 -16
- package/template/lib/react/node_modules/prettier/plugins/babel.mjs +0 -16
- package/template/lib/react/node_modules/prettier/plugins/estree.d.ts +0 -1
- package/template/lib/react/node_modules/prettier/plugins/estree.js +0 -36
- package/template/lib/react/node_modules/prettier/plugins/estree.mjs +0 -36
- package/template/lib/react/node_modules/prettier/plugins/flow.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/flow.js +0 -21
- package/template/lib/react/node_modules/prettier/plugins/flow.mjs +0 -21
- package/template/lib/react/node_modules/prettier/plugins/glimmer.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/glimmer.js +0 -30
- package/template/lib/react/node_modules/prettier/plugins/glimmer.mjs +0 -30
- package/template/lib/react/node_modules/prettier/plugins/graphql.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/graphql.js +0 -29
- package/template/lib/react/node_modules/prettier/plugins/graphql.mjs +0 -29
- package/template/lib/react/node_modules/prettier/plugins/html.d.ts +0 -8
- package/template/lib/react/node_modules/prettier/plugins/html.js +0 -19
- package/template/lib/react/node_modules/prettier/plugins/html.mjs +0 -19
- package/template/lib/react/node_modules/prettier/plugins/markdown.d.ts +0 -7
- package/template/lib/react/node_modules/prettier/plugins/markdown.js +0 -59
- package/template/lib/react/node_modules/prettier/plugins/markdown.mjs +0 -59
- package/template/lib/react/node_modules/prettier/plugins/meriyah.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/meriyah.js +0 -5
- package/template/lib/react/node_modules/prettier/plugins/meriyah.mjs +0 -5
- package/template/lib/react/node_modules/prettier/plugins/postcss.d.ts +0 -7
- package/template/lib/react/node_modules/prettier/plugins/postcss.js +0 -49
- package/template/lib/react/node_modules/prettier/plugins/postcss.mjs +0 -49
- package/template/lib/react/node_modules/prettier/plugins/typescript.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/typescript.js +0 -25
- package/template/lib/react/node_modules/prettier/plugins/typescript.mjs +0 -25
- package/template/lib/react/node_modules/prettier/plugins/yaml.d.ts +0 -5
- package/template/lib/react/node_modules/prettier/plugins/yaml.js +0 -161
- package/template/lib/react/node_modules/prettier/plugins/yaml.mjs +0 -161
- package/template/lib/react/node_modules/prettier/standalone.d.ts +0 -33
- package/template/lib/react/node_modules/prettier/standalone.js +0 -34
- package/template/lib/react/node_modules/prettier/standalone.mjs +0 -34
- package/template/lib/react/node_modules/prop-types/LICENSE +0 -21
- package/template/lib/react/node_modules/prop-types/README.md +0 -302
- package/template/lib/react/node_modules/prop-types/checkPropTypes.js +0 -103
- package/template/lib/react/node_modules/prop-types/factory.js +0 -19
- package/template/lib/react/node_modules/prop-types/factoryWithThrowingShims.js +0 -65
- package/template/lib/react/node_modules/prop-types/factoryWithTypeCheckers.js +0 -610
- package/template/lib/react/node_modules/prop-types/index.js +0 -19
- package/template/lib/react/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -12
- package/template/lib/react/node_modules/prop-types/lib/has.js +0 -1
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/prop-types/package.json +0 -60
- package/template/lib/react/node_modules/prop-types/prop-types.js +0 -1315
- package/template/lib/react/node_modules/prop-types/prop-types.min.js +0 -1
- package/template/lib/react/node_modules/react/LICENSE +0 -21
- package/template/lib/react/node_modules/react/README.md +0 -37
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.development.js +0 -1296
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +0 -10
- package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +0 -10
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.development.js +0 -1314
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -11
- package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +0 -11
- package/template/lib/react/node_modules/react/cjs/react.development.js +0 -2739
- package/template/lib/react/node_modules/react/cjs/react.production.min.js +0 -26
- package/template/lib/react/node_modules/react/cjs/react.shared-subset.development.js +0 -20
- package/template/lib/react/node_modules/react/cjs/react.shared-subset.production.min.js +0 -10
- package/template/lib/react/node_modules/react/index.js +0 -7
- package/template/lib/react/node_modules/react/jsx-dev-runtime.js +0 -7
- package/template/lib/react/node_modules/react/jsx-runtime.js +0 -7
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/react/package.json +0 -47
- package/template/lib/react/node_modules/react/react.shared-subset.js +0 -7
- package/template/lib/react/node_modules/react/umd/react.development.js +0 -3342
- package/template/lib/react/node_modules/react/umd/react.production.min.js +0 -31
- package/template/lib/react/node_modules/react/umd/react.profiling.min.js +0 -31
- package/template/lib/react/node_modules/react-dom/LICENSE +0 -21
- package/template/lib/react/node_modules/react-dom/README.md +0 -60
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +0 -7018
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0 -93
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +0 -7078
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0 -101
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -7003
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +0 -96
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.development.js +0 -7059
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +0 -102
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.development.js +0 -1741
- package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +0 -40
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.development.js +0 -29868
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.production.min.js +0 -323
- package/template/lib/react/node_modules/react-dom/cjs/react-dom.profiling.min.js +0 -367
- package/template/lib/react/node_modules/react-dom/client.js +0 -25
- package/template/lib/react/node_modules/react-dom/index.js +0 -38
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify +0 -17
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.CMD +0 -12
- package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.ps1 +0 -41
- package/template/lib/react/node_modules/react-dom/package.json +0 -62
- package/template/lib/react/node_modules/react-dom/profiling.js +0 -38
- package/template/lib/react/node_modules/react-dom/server.browser.js +0 -17
- package/template/lib/react/node_modules/react-dom/server.js +0 -3
- package/template/lib/react/node_modules/react-dom/server.node.js +0 -17
- package/template/lib/react/node_modules/react-dom/test-utils.js +0 -7
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +0 -7015
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0 -75
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.development.js +0 -7000
- package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +0 -76
- package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.development.js +0 -1737
- package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +0 -33
- package/template/lib/react/node_modules/react-dom/umd/react-dom.development.js +0 -29869
- package/template/lib/react/node_modules/react-dom/umd/react-dom.production.min.js +0 -267
- package/template/lib/react/node_modules/react-dom/umd/react-dom.profiling.min.js +0 -285
- package/template/lib/react/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
- package/template/lib/react/node_modules/stylelint-config-standard-scss/README.md +0 -50
- package/template/lib/react/node_modules/stylelint-config-standard-scss/index.js +0 -67
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/react/node_modules/stylelint-config-standard-scss/package.json +0 -58
- package/template/lib/ts/node_modules/.bin/acorn +0 -17
- package/template/lib/ts/node_modules/.bin/acorn.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/acorn.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/stylelint +0 -17
- package/template/lib/ts/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/tsc +0 -17
- package/template/lib/ts/node_modules/.bin/tsc.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/tsc.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/tsserver +0 -17
- package/template/lib/ts/node_modules/.bin/tsserver.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/tsserver.ps1 +0 -41
- package/template/lib/ts/node_modules/.bin/vitest +0 -17
- package/template/lib/ts/node_modules/.bin/vitest.CMD +0 -12
- package/template/lib/ts/node_modules/.bin/vitest.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/LICENSE +0 -19
- package/template/lib/ts/node_modules/eslint/README.md +0 -304
- package/template/lib/ts/node_modules/eslint/bin/eslint.js +0 -173
- package/template/lib/ts/node_modules/eslint/conf/config-schema.js +0 -93
- package/template/lib/ts/node_modules/eslint/conf/default-cli-options.js +0 -32
- package/template/lib/ts/node_modules/eslint/conf/globals.js +0 -154
- package/template/lib/ts/node_modules/eslint/conf/replacements.json +0 -22
- package/template/lib/ts/node_modules/eslint/conf/rule-type-list.json +0 -28
- package/template/lib/ts/node_modules/eslint/lib/api.js +0 -26
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/cli-engine.js +0 -1078
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/file-enumerator.js +0 -547
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/compact.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +0 -46
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/html.js +0 -351
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +0 -41
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +0 -16
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/junit.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/stylish.js +0 -101
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/tap.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/unix.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/hash.js +0 -35
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/index.js +0 -7
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/lint-result-cache.js +0 -203
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/load-rules.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/cli-engine/xml-escape.js +0 -34
- package/template/lib/ts/node_modules/eslint/lib/cli.js +0 -471
- package/template/lib/ts/node_modules/eslint/lib/config/default-config.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-array.js +0 -274
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-helpers.js +0 -111
- package/template/lib/ts/node_modules/eslint/lib/config/flat-config-schema.js +0 -583
- package/template/lib/ts/node_modules/eslint/lib/config/rule-validator.js +0 -158
- package/template/lib/ts/node_modules/eslint/lib/eslint/eslint-helpers.js +0 -902
- package/template/lib/ts/node_modules/eslint/lib/eslint/eslint.js +0 -700
- package/template/lib/ts/node_modules/eslint/lib/eslint/flat-eslint.js +0 -1142
- package/template/lib/ts/node_modules/eslint/lib/eslint/index.js +0 -9
- package/template/lib/ts/node_modules/eslint/lib/linter/apply-disable-directives.js +0 -465
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +0 -852
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +0 -263
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +0 -2348
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +0 -342
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +0 -203
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +0 -349
- package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +0 -45
- package/template/lib/ts/node_modules/eslint/lib/linter/config-comment-parser.js +0 -185
- package/template/lib/ts/node_modules/eslint/lib/linter/index.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/linter/interpolate.js +0 -28
- package/template/lib/ts/node_modules/eslint/lib/linter/linter.js +0 -2119
- package/template/lib/ts/node_modules/eslint/lib/linter/node-event-generator.js +0 -354
- package/template/lib/ts/node_modules/eslint/lib/linter/report-translator.js +0 -369
- package/template/lib/ts/node_modules/eslint/lib/linter/rule-fixer.js +0 -140
- package/template/lib/ts/node_modules/eslint/lib/linter/rules.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/linter/safe-emitter.js +0 -52
- package/template/lib/ts/node_modules/eslint/lib/linter/source-code-fixer.js +0 -152
- package/template/lib/ts/node_modules/eslint/lib/linter/timing.js +0 -161
- package/template/lib/ts/node_modules/eslint/lib/options.js +0 -398
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +0 -1122
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/index.js +0 -5
- package/template/lib/ts/node_modules/eslint/lib/rule-tester/rule-tester.js +0 -1206
- package/template/lib/ts/node_modules/eslint/lib/rules/accessor-pairs.js +0 -346
- package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-newline.js +0 -261
- package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-spacing.js +0 -244
- package/template/lib/ts/node_modules/eslint/lib/rules/array-callback-return.js +0 -446
- package/template/lib/ts/node_modules/eslint/lib/rules/array-element-newline.js +0 -311
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-body-style.js +0 -296
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-parens.js +0 -186
- package/template/lib/ts/node_modules/eslint/lib/rules/arrow-spacing.js +0 -164
- package/template/lib/ts/node_modules/eslint/lib/rules/block-scoped-var.js +0 -135
- package/template/lib/ts/node_modules/eslint/lib/rules/block-spacing.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/brace-style.js +0 -197
- package/template/lib/ts/node_modules/eslint/lib/rules/callback-return.js +0 -187
- package/template/lib/ts/node_modules/eslint/lib/rules/camelcase.js +0 -399
- package/template/lib/ts/node_modules/eslint/lib/rules/capitalized-comments.js +0 -300
- package/template/lib/ts/node_modules/eslint/lib/rules/class-methods-use-this.js +0 -187
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-dangle.js +0 -373
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-spacing.js +0 -192
- package/template/lib/ts/node_modules/eslint/lib/rules/comma-style.js +0 -314
- package/template/lib/ts/node_modules/eslint/lib/rules/complexity.js +0 -165
- package/template/lib/ts/node_modules/eslint/lib/rules/computed-property-spacing.js +0 -208
- package/template/lib/ts/node_modules/eslint/lib/rules/consistent-return.js +0 -210
- package/template/lib/ts/node_modules/eslint/lib/rules/consistent-this.js +0 -153
- package/template/lib/ts/node_modules/eslint/lib/rules/constructor-super.js +0 -446
- package/template/lib/ts/node_modules/eslint/lib/rules/curly.js +0 -486
- package/template/lib/ts/node_modules/eslint/lib/rules/default-case-last.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/default-case.js +0 -97
- package/template/lib/ts/node_modules/eslint/lib/rules/default-param-last.js +0 -62
- package/template/lib/ts/node_modules/eslint/lib/rules/dot-location.js +0 -108
- package/template/lib/ts/node_modules/eslint/lib/rules/dot-notation.js +0 -176
- package/template/lib/ts/node_modules/eslint/lib/rules/eol-last.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/eqeqeq.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/for-direction.js +0 -140
- package/template/lib/ts/node_modules/eslint/lib/rules/func-call-spacing.js +0 -233
- package/template/lib/ts/node_modules/eslint/lib/rules/func-name-matching.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/func-names.js +0 -191
- package/template/lib/ts/node_modules/eslint/lib/rules/func-style.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/function-call-argument-newline.js +0 -125
- package/template/lib/ts/node_modules/eslint/lib/rules/function-paren-newline.js +0 -292
- package/template/lib/ts/node_modules/eslint/lib/rules/generator-star-spacing.js +0 -209
- package/template/lib/ts/node_modules/eslint/lib/rules/getter-return.js +0 -204
- package/template/lib/ts/node_modules/eslint/lib/rules/global-require.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +0 -215
- package/template/lib/ts/node_modules/eslint/lib/rules/guard-for-in.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/rules/handle-callback-err.js +0 -101
- package/template/lib/ts/node_modules/eslint/lib/rules/id-blacklist.js +0 -246
- package/template/lib/ts/node_modules/eslint/lib/rules/id-denylist.js +0 -228
- package/template/lib/ts/node_modules/eslint/lib/rules/id-length.js +0 -177
- package/template/lib/ts/node_modules/eslint/lib/rules/id-match.js +0 -299
- package/template/lib/ts/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +0 -84
- package/template/lib/ts/node_modules/eslint/lib/rules/indent-legacy.js +0 -1126
- package/template/lib/ts/node_modules/eslint/lib/rules/indent.js +0 -1803
- package/template/lib/ts/node_modules/eslint/lib/rules/index.js +0 -306
- package/template/lib/ts/node_modules/eslint/lib/rules/init-declarations.js +0 -139
- package/template/lib/ts/node_modules/eslint/lib/rules/jsx-quotes.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/key-spacing.js +0 -687
- package/template/lib/ts/node_modules/eslint/lib/rules/keyword-spacing.js +0 -640
- package/template/lib/ts/node_modules/eslint/lib/rules/line-comment-position.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/linebreak-style.js +0 -108
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-comment.js +0 -471
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-directive.js +0 -201
- package/template/lib/ts/node_modules/eslint/lib/rules/lines-between-class-members.js +0 -269
- package/template/lib/ts/node_modules/eslint/lib/rules/logical-assignment-operators.js +0 -504
- package/template/lib/ts/node_modules/eslint/lib/rules/max-classes-per-file.js +0 -89
- package/template/lib/ts/node_modules/eslint/lib/rules/max-depth.js +0 -156
- package/template/lib/ts/node_modules/eslint/lib/rules/max-len.js +0 -440
- package/template/lib/ts/node_modules/eslint/lib/rules/max-lines-per-function.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/max-lines.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/max-nested-callbacks.js +0 -117
- package/template/lib/ts/node_modules/eslint/lib/rules/max-params.js +0 -102
- package/template/lib/ts/node_modules/eslint/lib/rules/max-statements-per-line.js +0 -199
- package/template/lib/ts/node_modules/eslint/lib/rules/max-statements.js +0 -184
- package/template/lib/ts/node_modules/eslint/lib/rules/multiline-comment-style.js +0 -474
- package/template/lib/ts/node_modules/eslint/lib/rules/multiline-ternary.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/new-cap.js +0 -276
- package/template/lib/ts/node_modules/eslint/lib/rules/new-parens.js +0 -93
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-after-var.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-before-return.js +0 -217
- package/template/lib/ts/node_modules/eslint/lib/rules/newline-per-chained-call.js +0 -126
- package/template/lib/ts/node_modules/eslint/lib/rules/no-alert.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-array-constructor.js +0 -133
- package/template/lib/ts/node_modules/eslint/lib/rules/no-async-promise-executor.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/no-await-in-loop.js +0 -106
- package/template/lib/ts/node_modules/eslint/lib/rules/no-bitwise.js +0 -119
- package/template/lib/ts/node_modules/eslint/lib/rules/no-buffer-constructor.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-caller.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-case-declarations.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-catch-shadow.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/rules/no-class-assign.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/rules/no-compare-neg-zero.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-cond-assign.js +0 -159
- package/template/lib/ts/node_modules/eslint/lib/rules/no-confusing-arrow.js +0 -92
- package/template/lib/ts/node_modules/eslint/lib/rules/no-console.js +0 -207
- package/template/lib/ts/node_modules/eslint/lib/rules/no-const-assign.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-binary-expression.js +0 -509
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-condition.js +0 -150
- package/template/lib/ts/node_modules/eslint/lib/rules/no-constructor-return.js +0 -62
- package/template/lib/ts/node_modules/eslint/lib/rules/no-continue.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/no-control-regex.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-debugger.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/rules/no-delete-var.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/rules/no-div-regex.js +0 -53
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-args.js +0 -82
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-class-members.js +0 -104
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-else-if.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-keys.js +0 -142
- package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-case.js +0 -71
- package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-imports.js +0 -290
- package/template/lib/ts/node_modules/eslint/lib/rules/no-else-return.js +0 -405
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-character-class.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-function.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-pattern.js +0 -78
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-static-block.js +0 -47
- package/template/lib/ts/node_modules/eslint/lib/rules/no-empty.js +0 -103
- package/template/lib/ts/node_modules/eslint/lib/rules/no-eq-null.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-eval.js +0 -286
- package/template/lib/ts/node_modules/eslint/lib/rules/no-ex-assign.js +0 -54
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extend-native.js +0 -179
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-bind.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +0 -317
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-label.js +0 -149
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-parens.js +0 -1322
- package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-semi.js +0 -147
- package/template/lib/ts/node_modules/eslint/lib/rules/no-fallthrough.js +0 -196
- package/template/lib/ts/node_modules/eslint/lib/rules/no-floating-decimal.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/no-func-assign.js +0 -78
- package/template/lib/ts/node_modules/eslint/lib/rules/no-global-assign.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-coercion.js +0 -380
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-globals.js +0 -146
- package/template/lib/ts/node_modules/eslint/lib/rules/no-implied-eval.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/no-import-assign.js +0 -241
- package/template/lib/ts/node_modules/eslint/lib/rules/no-inline-comments.js +0 -110
- package/template/lib/ts/node_modules/eslint/lib/rules/no-inner-declarations.js +0 -110
- package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-regexp.js +0 -194
- package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-this.js +0 -150
- package/template/lib/ts/node_modules/eslint/lib/rules/no-irregular-whitespace.js +0 -276
- package/template/lib/ts/node_modules/eslint/lib/rules/no-iterator.js +0 -52
- package/template/lib/ts/node_modules/eslint/lib/rules/no-label-var.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/rules/no-labels.js +0 -149
- package/template/lib/ts/node_modules/eslint/lib/rules/no-lone-blocks.js +0 -136
- package/template/lib/ts/node_modules/eslint/lib/rules/no-lonely-if.js +0 -88
- package/template/lib/ts/node_modules/eslint/lib/rules/no-loop-func.js +0 -206
- package/template/lib/ts/node_modules/eslint/lib/rules/no-loss-of-precision.js +0 -214
- package/template/lib/ts/node_modules/eslint/lib/rules/no-magic-numbers.js +0 -243
- package/template/lib/ts/node_modules/eslint/lib/rules/no-misleading-character-class.js +0 -300
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-operators.js +0 -229
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-requires.js +0 -238
- package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +0 -116
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-assign.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-spaces.js +0 -141
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-str.js +0 -65
- package/template/lib/ts/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +0 -154
- package/template/lib/ts/node_modules/eslint/lib/rules/no-native-reassign.js +0 -98
- package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-condition.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-in-lhs.js +0 -46
- package/template/lib/ts/node_modules/eslint/lib/rules/no-nested-ternary.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-func.js +0 -87
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +0 -66
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-object.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-require.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-symbol.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new-wrappers.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-new.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +0 -148
- package/template/lib/ts/node_modules/eslint/lib/rules/no-obj-calls.js +0 -86
- package/template/lib/ts/node_modules/eslint/lib/rules/no-object-constructor.js +0 -117
- package/template/lib/ts/node_modules/eslint/lib/rules/no-octal-escape.js +0 -56
- package/template/lib/ts/node_modules/eslint/lib/rules/no-octal.js +0 -45
- package/template/lib/ts/node_modules/eslint/lib/rules/no-param-reassign.js +0 -230
- package/template/lib/ts/node_modules/eslint/lib/rules/no-path-concat.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-plusplus.js +0 -105
- package/template/lib/ts/node_modules/eslint/lib/rules/no-process-env.js +0 -51
- package/template/lib/ts/node_modules/eslint/lib/rules/no-process-exit.js +0 -47
- package/template/lib/ts/node_modules/eslint/lib/rules/no-promise-executor-return.js +0 -263
- package/template/lib/ts/node_modules/eslint/lib/rules/no-proto.js +0 -48
- package/template/lib/ts/node_modules/eslint/lib/rules/no-prototype-builtins.js +0 -159
- package/template/lib/ts/node_modules/eslint/lib/rules/no-redeclare.js +0 -174
- package/template/lib/ts/node_modules/eslint/lib/rules/no-regex-spaces.js +0 -197
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-exports.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-globals.js +0 -124
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-imports.js +0 -410
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-modules.js +0 -213
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-properties.js +0 -168
- package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-syntax.js +0 -70
- package/template/lib/ts/node_modules/eslint/lib/rules/no-return-assign.js +0 -80
- package/template/lib/ts/node_modules/eslint/lib/rules/no-return-await.js +0 -135
- package/template/lib/ts/node_modules/eslint/lib/rules/no-script-url.js +0 -61
- package/template/lib/ts/node_modules/eslint/lib/rules/no-self-assign.js +0 -183
- package/template/lib/ts/node_modules/eslint/lib/rules/no-self-compare.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sequences.js +0 -138
- package/template/lib/ts/node_modules/eslint/lib/rules/no-setter-return.js +0 -226
- package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +0 -65
- package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow.js +0 -336
- package/template/lib/ts/node_modules/eslint/lib/rules/no-spaced-func.js +0 -83
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sparse-arrays.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/rules/no-sync.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-tabs.js +0 -81
- package/template/lib/ts/node_modules/eslint/lib/rules/no-template-curly-in-string.js +0 -44
- package/template/lib/ts/node_modules/eslint/lib/rules/no-ternary.js +0 -41
- package/template/lib/ts/node_modules/eslint/lib/rules/no-this-before-super.js +0 -331
- package/template/lib/ts/node_modules/eslint/lib/rules/no-throw-literal.js +0 -51
- package/template/lib/ts/node_modules/eslint/lib/rules/no-trailing-spaces.js +0 -193
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undef-init.js +0 -75
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undef.js +0 -79
- package/template/lib/ts/node_modules/eslint/lib/rules/no-undefined.js +0 -86
- package/template/lib/ts/node_modules/eslint/lib/rules/no-underscore-dangle.js +0 -335
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unexpected-multiline.js +0 -120
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +0 -360
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unneeded-ternary.js +0 -166
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable-loop.js +0 -185
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable.js +0 -293
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-finally.js +0 -111
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-negation.js +0 -128
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +0 -205
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-expressions.js +0 -186
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-labels.js +0 -143
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-private-class-members.js +0 -195
- package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-vars.js +0 -718
- package/template/lib/ts/node_modules/eslint/lib/rules/no-use-before-define.js +0 -348
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-backreference.js +0 -194
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-call.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-catch.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-computed-key.js +0 -168
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-concat.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-constructor.js +0 -189
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-escape.js +0 -333
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-rename.js +0 -172
- package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-return.js +0 -364
- package/template/lib/ts/node_modules/eslint/lib/rules/no-var.js +0 -334
- package/template/lib/ts/node_modules/eslint/lib/rules/no-void.js +0 -64
- package/template/lib/ts/node_modules/eslint/lib/rules/no-warning-comments.js +0 -201
- package/template/lib/ts/node_modules/eslint/lib/rules/no-whitespace-before-property.js +0 -116
- package/template/lib/ts/node_modules/eslint/lib/rules/no-with.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-newline.js +0 -324
- package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-spacing.js +0 -311
- package/template/lib/ts/node_modules/eslint/lib/rules/object-property-newline.js +0 -102
- package/template/lib/ts/node_modules/eslint/lib/rules/object-shorthand.js +0 -520
- package/template/lib/ts/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +0 -95
- package/template/lib/ts/node_modules/eslint/lib/rules/one-var.js +0 -567
- package/template/lib/ts/node_modules/eslint/lib/rules/operator-assignment.js +0 -209
- package/template/lib/ts/node_modules/eslint/lib/rules/operator-linebreak.js +0 -253
- package/template/lib/ts/node_modules/eslint/lib/rules/padded-blocks.js +0 -310
- package/template/lib/ts/node_modules/eslint/lib/rules/padding-line-between-statements.js +0 -590
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-arrow-callback.js +0 -381
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-const.js +0 -501
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-destructuring.js +0 -301
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +0 -191
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-named-capture-group.js +0 -178
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-numeric-literals.js +0 -148
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-has-own.js +0 -114
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-spread.js +0 -298
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-reflect.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-regex-literals.js +0 -507
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-rest-params.js +0 -118
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-spread.js +0 -87
- package/template/lib/ts/node_modules/eslint/lib/rules/prefer-template.js +0 -275
- package/template/lib/ts/node_modules/eslint/lib/rules/quote-props.js +0 -310
- package/template/lib/ts/node_modules/eslint/lib/rules/quotes.js +0 -350
- package/template/lib/ts/node_modules/eslint/lib/rules/radix.js +0 -198
- package/template/lib/ts/node_modules/eslint/lib/rules/require-atomic-updates.js +0 -331
- package/template/lib/ts/node_modules/eslint/lib/rules/require-await.js +0 -113
- package/template/lib/ts/node_modules/eslint/lib/rules/require-jsdoc.js +0 -122
- package/template/lib/ts/node_modules/eslint/lib/rules/require-unicode-regexp.js +0 -129
- package/template/lib/ts/node_modules/eslint/lib/rules/require-yield.js +0 -77
- package/template/lib/ts/node_modules/eslint/lib/rules/rest-spread-spacing.js +0 -123
- package/template/lib/ts/node_modules/eslint/lib/rules/semi-spacing.js +0 -248
- package/template/lib/ts/node_modules/eslint/lib/rules/semi-style.js +0 -158
- package/template/lib/ts/node_modules/eslint/lib/rules/semi.js +0 -438
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-imports.js +0 -241
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-keys.js +0 -230
- package/template/lib/ts/node_modules/eslint/lib/rules/sort-vars.js +0 -104
- package/template/lib/ts/node_modules/eslint/lib/rules/space-before-blocks.js +0 -204
- package/template/lib/ts/node_modules/eslint/lib/rules/space-before-function-paren.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/rules/space-in-parens.js +0 -285
- package/template/lib/ts/node_modules/eslint/lib/rules/space-infix-ops.js +0 -198
- package/template/lib/ts/node_modules/eslint/lib/rules/space-unary-ops.js +0 -324
- package/template/lib/ts/node_modules/eslint/lib/rules/spaced-comment.js +0 -385
- package/template/lib/ts/node_modules/eslint/lib/rules/strict.js +0 -277
- package/template/lib/ts/node_modules/eslint/lib/rules/switch-colon-spacing.js +0 -132
- package/template/lib/ts/node_modules/eslint/lib/rules/symbol-description.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/template-curly-spacing.js +0 -144
- package/template/lib/ts/node_modules/eslint/lib/rules/template-tag-spacing.js +0 -93
- package/template/lib/ts/node_modules/eslint/lib/rules/unicode-bom.js +0 -73
- package/template/lib/ts/node_modules/eslint/lib/rules/use-isnan.js +0 -141
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/ast-utils.js +0 -2282
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/fix-tracker.js +0 -114
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/keywords.js +0 -67
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +0 -115
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/patterns/letters.js +0 -36
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/regular-expressions.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/index.js +0 -11
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +0 -13
- package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +0 -14
- package/template/lib/ts/node_modules/eslint/lib/rules/valid-jsdoc.js +0 -516
- package/template/lib/ts/node_modules/eslint/lib/rules/valid-typeof.js +0 -127
- package/template/lib/ts/node_modules/eslint/lib/rules/vars-on-top.js +0 -157
- package/template/lib/ts/node_modules/eslint/lib/rules/wrap-iife.js +0 -207
- package/template/lib/ts/node_modules/eslint/lib/rules/wrap-regex.js +0 -61
- package/template/lib/ts/node_modules/eslint/lib/rules/yield-star-spacing.js +0 -130
- package/template/lib/ts/node_modules/eslint/lib/rules/yoda.js +0 -353
- package/template/lib/ts/node_modules/eslint/lib/shared/ajv.js +0 -34
- package/template/lib/ts/node_modules/eslint/lib/shared/ast-utils.js +0 -29
- package/template/lib/ts/node_modules/eslint/lib/shared/config-validator.js +0 -347
- package/template/lib/ts/node_modules/eslint/lib/shared/deprecation-warnings.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/shared/directives.js +0 -15
- package/template/lib/ts/node_modules/eslint/lib/shared/logging.js +0 -30
- package/template/lib/ts/node_modules/eslint/lib/shared/relative-module-resolver.js +0 -50
- package/template/lib/ts/node_modules/eslint/lib/shared/runtime-info.js +0 -167
- package/template/lib/ts/node_modules/eslint/lib/shared/severity.js +0 -49
- package/template/lib/ts/node_modules/eslint/lib/shared/string-utils.js +0 -60
- package/template/lib/ts/node_modules/eslint/lib/shared/traverser.js +0 -195
- package/template/lib/ts/node_modules/eslint/lib/shared/types.js +0 -216
- package/template/lib/ts/node_modules/eslint/lib/source-code/index.js +0 -5
- package/template/lib/ts/node_modules/eslint/lib/source-code/source-code.js +0 -1055
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +0 -58
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursor.js +0 -76
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursors.js +0 -90
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +0 -39
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +0 -43
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +0 -57
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +0 -63
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/index.js +0 -627
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +0 -40
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +0 -38
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +0 -42
- package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/utils.js +0 -107
- package/template/lib/ts/node_modules/eslint/lib/unsupported-api.js +0 -30
- package/template/lib/ts/node_modules/eslint/messages/all-files-ignored.js +0 -16
- package/template/lib/ts/node_modules/eslint/messages/eslintrc-incompat.js +0 -98
- package/template/lib/ts/node_modules/eslint/messages/eslintrc-plugins.js +0 -24
- package/template/lib/ts/node_modules/eslint/messages/extend-config-missing.js +0 -13
- package/template/lib/ts/node_modules/eslint/messages/failed-to-read-json.js +0 -11
- package/template/lib/ts/node_modules/eslint/messages/file-not-found.js +0 -10
- package/template/lib/ts/node_modules/eslint/messages/invalid-rule-options.js +0 -17
- package/template/lib/ts/node_modules/eslint/messages/invalid-rule-severity.js +0 -13
- package/template/lib/ts/node_modules/eslint/messages/no-config-found.js +0 -15
- package/template/lib/ts/node_modules/eslint/messages/plugin-conflict.js +0 -22
- package/template/lib/ts/node_modules/eslint/messages/plugin-invalid.js +0 -16
- package/template/lib/ts/node_modules/eslint/messages/plugin-missing.js +0 -19
- package/template/lib/ts/node_modules/eslint/messages/print-config-with-directory-path.js +0 -8
- package/template/lib/ts/node_modules/eslint/messages/shared.js +0 -18
- package/template/lib/ts/node_modules/eslint/messages/whitespace-found.js +0 -11
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml +0 -17
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.CMD +0 -12
- package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint/package.json +0 -179
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/LICENSE +0 -5
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/README.md +0 -232
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.cjs +0 -278
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +0 -20
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +0 -251
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js +0 -252
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js.map +0 -1
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/package.json +0 -108
- package/template/lib/ts/node_modules/eslint-import-resolver-typescript/shim.d.ts +0 -4
- package/template/lib/ts/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
- package/template/lib/ts/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
- package/template/lib/ts/node_modules/eslint-plugin-import/LICENSE +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/README.md +0 -500
- package/template/lib/ts/node_modules/eslint-plugin-import/RELEASE.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/SECURITY.md +0 -11
- package/template/lib/ts/node_modules/eslint-plugin-import/config/electron.js +0 -8
- package/template/lib/ts/node_modules/eslint-plugin-import/config/errors.js +0 -14
- package/template/lib/ts/node_modules/eslint-plugin-import/config/react-native.js +0 -13
- package/template/lib/ts/node_modules/eslint-plugin-import/config/react.js +0 -18
- package/template/lib/ts/node_modules/eslint-plugin-import/config/recommended.js +0 -28
- package/template/lib/ts/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/config/typescript.js +0 -34
- package/template/lib/ts/node_modules/eslint-plugin-import/config/warnings.js +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
- package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/index.js +0 -71
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
- package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
- package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-import/package.json +0 -124
- package/template/lib/ts/node_modules/eslint-plugin-prettier/LICENSE.md +0 -24
- package/template/lib/ts/node_modules/eslint-plugin-prettier/README.md +0 -202
- package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +0 -254
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/eslint-plugin-prettier/package.json +0 -101
- package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.d.ts +0 -5
- package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.js +0 -17
- package/template/lib/ts/node_modules/eslint-plugin-prettier/worker.js +0 -181
- package/template/lib/ts/node_modules/prettier/LICENSE +0 -4857
- package/template/lib/ts/node_modules/prettier/README.md +0 -109
- package/template/lib/ts/node_modules/prettier/bin/prettier.cjs +0 -68
- package/template/lib/ts/node_modules/prettier/doc.d.ts +0 -243
- package/template/lib/ts/node_modules/prettier/doc.js +0 -1328
- package/template/lib/ts/node_modules/prettier/doc.mjs +0 -1300
- package/template/lib/ts/node_modules/prettier/index.cjs +0 -648
- package/template/lib/ts/node_modules/prettier/index.d.ts +0 -940
- package/template/lib/ts/node_modules/prettier/index.mjs +0 -24255
- package/template/lib/ts/node_modules/prettier/internal/cli.mjs +0 -7089
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier +0 -17
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.CMD +0 -12
- package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.ps1 +0 -41
- package/template/lib/ts/node_modules/prettier/package.json +0 -198
- package/template/lib/ts/node_modules/prettier/plugins/acorn.d.ts +0 -6
- package/template/lib/ts/node_modules/prettier/plugins/acorn.js +0 -13
- package/template/lib/ts/node_modules/prettier/plugins/acorn.mjs +0 -13
- package/template/lib/ts/node_modules/prettier/plugins/angular.d.ts +0 -8
- package/template/lib/ts/node_modules/prettier/plugins/angular.js +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/angular.mjs +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/babel.d.ts +0 -18
- package/template/lib/ts/node_modules/prettier/plugins/babel.js +0 -16
- package/template/lib/ts/node_modules/prettier/plugins/babel.mjs +0 -16
- package/template/lib/ts/node_modules/prettier/plugins/estree.d.ts +0 -1
- package/template/lib/ts/node_modules/prettier/plugins/estree.js +0 -36
- package/template/lib/ts/node_modules/prettier/plugins/estree.mjs +0 -36
- package/template/lib/ts/node_modules/prettier/plugins/flow.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/flow.js +0 -21
- package/template/lib/ts/node_modules/prettier/plugins/flow.mjs +0 -21
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.js +0 -30
- package/template/lib/ts/node_modules/prettier/plugins/glimmer.mjs +0 -30
- package/template/lib/ts/node_modules/prettier/plugins/graphql.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/graphql.js +0 -29
- package/template/lib/ts/node_modules/prettier/plugins/graphql.mjs +0 -29
- package/template/lib/ts/node_modules/prettier/plugins/html.d.ts +0 -8
- package/template/lib/ts/node_modules/prettier/plugins/html.js +0 -19
- package/template/lib/ts/node_modules/prettier/plugins/html.mjs +0 -19
- package/template/lib/ts/node_modules/prettier/plugins/markdown.d.ts +0 -7
- package/template/lib/ts/node_modules/prettier/plugins/markdown.js +0 -59
- package/template/lib/ts/node_modules/prettier/plugins/markdown.mjs +0 -59
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.js +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/meriyah.mjs +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/postcss.d.ts +0 -7
- package/template/lib/ts/node_modules/prettier/plugins/postcss.js +0 -49
- package/template/lib/ts/node_modules/prettier/plugins/postcss.mjs +0 -49
- package/template/lib/ts/node_modules/prettier/plugins/typescript.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/typescript.js +0 -25
- package/template/lib/ts/node_modules/prettier/plugins/typescript.mjs +0 -25
- package/template/lib/ts/node_modules/prettier/plugins/yaml.d.ts +0 -5
- package/template/lib/ts/node_modules/prettier/plugins/yaml.js +0 -161
- package/template/lib/ts/node_modules/prettier/plugins/yaml.mjs +0 -161
- package/template/lib/ts/node_modules/prettier/standalone.d.ts +0 -33
- package/template/lib/ts/node_modules/prettier/standalone.js +0 -34
- package/template/lib/ts/node_modules/prettier/standalone.mjs +0 -34
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/LICENSE +0 -21
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/README.md +0 -50
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/index.js +0 -67
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +0 -17
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +0 -12
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +0 -41
- package/template/lib/ts/node_modules/stylelint-config-standard-scss/package.json +0 -58
- /package/template/web-app/{react → react-rspack}/.editorconfig +0 -0
- /package/template/web-app/{react → react-rspack}/.eslintignore +0 -0
- /package/template/web-app/{react → react-rspack}/.gitignore +0 -0
- /package/template/web-app/{react → react-rspack}/.husky/commit-msg +0 -0
- /package/template/web-app/{react → react-rspack}/.husky/pre-commit +0 -0
- /package/template/web-app/{react → react-rspack}/.prettierignore +0 -0
- /package/template/web-app/{react → react-rspack}/.prettierrc +0 -0
- /package/template/web-app/{react → react-rspack}/.stylelintignore +0 -0
- /package/template/web-app/{react → react-rspack}/.stylelintrc +0 -0
- /package/template/web-app/{react → react-rspack}/.vscode/extensions.json +0 -0
- /package/template/web-app/{react → react-rspack}/.vscode/settings.json +0 -0
- /package/template/web-app/{react → react-rspack}/commitlint.config.cjs +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/app.model.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/app.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/app-context.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/app.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/components/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/app/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/ids.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/home/routes.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/ids.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/domain/router/router.types.ts +0 -0
- /package/template/web-app/{react → react-rspack}/main.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/home.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/home.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/home/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/pages/index.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/pages/not-found.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/postcss.config.cjs +0 -0
- /package/template/web-app/{react → react-rspack}/scripts/createChunks.ts +0 -0
- /package/template/web-app/{react → react-rspack}/scripts/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/assets/react.svg +0 -0
- /package/template/web-app/{react → react-rspack}/shared/components/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/constant/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/defineRouter.types.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/deineRouter.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/defineRouter/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useInterval.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useLoadingAction.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useLowPriorityState.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useSyncState.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/hooks/useVisible.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/service/api.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/service/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/theme/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/theme/theme.styled.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/tools/componentInstance.tsx +0 -0
- /package/template/web-app/{react → react-rspack}/shared/tools/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/types/index.ts +0 -0
- /package/template/web-app/{react → react-rspack}/shared/types/utils.ts +0 -0
- /package/template/web-app/{react → react-rspack}/tsconfig.json +0 -0
- /package/template/web-app/{react → react-vite}/.env +0 -0
- /package/template/web-app/{react → react-vite}/.env.development +0 -0
- /package/template/web-app/{react → react-vite}/.eslintrc +0 -0
- /package/template/web-app/{react → react-vite}/README.md +0 -0
- /package/template/web-app/{react → react-vite}/domain/router/router.tsx +0 -0
- /package/template/web-app/{react → react-vite}/index.html +0 -0
- /package/template/web-app/{react → react-vite}/mockUtils.ts +0 -0
- /package/template/web-app/{react → react-vite}/package.json +0 -0
- /package/template/web-app/{react → react-vite}/pages/home/home.mock.ts +0 -0
- /package/template/web-app/{react → react-vite}/public/vite.svg +0 -0
- /package/template/web-app/{react → react-vite}/shared/service/home.ts +0 -0
- /package/template/web-app/{react → react-vite}/shared/service/request.ts +0 -0
- /package/template/web-app/{react → react-vite}/tsconfig.node.json +0 -0
- /package/template/web-app/{react → react-vite}/vite-env.d.ts +0 -0
- /package/template/web-app/{react → react-vite}/vite.config.ts +0 -0
|
@@ -1,945 +0,0 @@
|
|
|
1
|
-
'use strict';var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {return typeof obj;} : function (obj) {return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;};
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _ignore = require('eslint-module-utils/ignore');
|
|
8
|
-
var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);
|
|
9
|
-
var _visit = require('eslint-module-utils/visit');var _visit2 = _interopRequireDefault(_visit);
|
|
10
|
-
var _path = require('path');
|
|
11
|
-
var _readPkgUp2 = require('eslint-module-utils/readPkgUp');var _readPkgUp3 = _interopRequireDefault(_readPkgUp2);
|
|
12
|
-
var _object = require('object.values');var _object2 = _interopRequireDefault(_object);
|
|
13
|
-
var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);
|
|
14
|
-
var _arrayPrototype = require('array.prototype.flatmap');var _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);
|
|
15
|
-
|
|
16
|
-
var _ExportMap = require('../ExportMap');var _ExportMap2 = _interopRequireDefault(_ExportMap);
|
|
17
|
-
var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}function _toConsumableArray(arr) {if (Array.isArray(arr)) {for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {arr2[i] = arr[i];}return arr2;} else {return Array.from(arr);}} /**
|
|
18
|
-
* @fileOverview Ensures that modules contain exports and/or all
|
|
19
|
-
* modules are consumed within other modules.
|
|
20
|
-
* @author René Fermann
|
|
21
|
-
*/var FileEnumerator = void 0;var listFilesToProcess = void 0;
|
|
22
|
-
try {var _require =
|
|
23
|
-
require('eslint/use-at-your-own-risk');FileEnumerator = _require.FileEnumerator;
|
|
24
|
-
} catch (e) {
|
|
25
|
-
try {var _require2 =
|
|
26
|
-
|
|
27
|
-
require('eslint/lib/cli-engine/file-enumerator'); // has been moved to eslint/lib/cli-engine/file-enumerator in version 6
|
|
28
|
-
FileEnumerator = _require2.FileEnumerator;} catch (e) {
|
|
29
|
-
try {
|
|
30
|
-
// eslint/lib/util/glob-util has been moved to eslint/lib/util/glob-utils with version 5.3
|
|
31
|
-
var _require3 = require('eslint/lib/util/glob-utils'),originalListFilesToProcess = _require3.listFilesToProcess;
|
|
32
|
-
|
|
33
|
-
// Prevent passing invalid options (extensions array) to old versions of the function.
|
|
34
|
-
// https://github.com/eslint/eslint/blob/v5.16.0/lib/util/glob-utils.js#L178-L280
|
|
35
|
-
// https://github.com/eslint/eslint/blob/v5.2.0/lib/util/glob-util.js#L174-L269
|
|
36
|
-
listFilesToProcess = function listFilesToProcess(src, extensions) {
|
|
37
|
-
return originalListFilesToProcess(src, {
|
|
38
|
-
extensions: extensions });
|
|
39
|
-
|
|
40
|
-
};
|
|
41
|
-
} catch (e) {var _require4 =
|
|
42
|
-
require('eslint/lib/util/glob-util'),_originalListFilesToProcess = _require4.listFilesToProcess;
|
|
43
|
-
|
|
44
|
-
listFilesToProcess = function listFilesToProcess(src, extensions) {
|
|
45
|
-
var patterns = src.concat((0, _arrayPrototype2['default'])(src, function (pattern) {return extensions.map(function (extension) {return (/\*\*|\*\./.test(pattern) ? pattern : String(pattern) + '/**/*' + String(extension));});}));
|
|
46
|
-
|
|
47
|
-
return _originalListFilesToProcess(patterns);
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
if (FileEnumerator) {
|
|
54
|
-
listFilesToProcess = function listFilesToProcess(src, extensions) {
|
|
55
|
-
var e = new FileEnumerator({
|
|
56
|
-
extensions: extensions });
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return Array.from(e.iterateFiles(src), function (_ref) {var filePath = _ref.filePath,ignored = _ref.ignored;return {
|
|
60
|
-
ignored: ignored,
|
|
61
|
-
filename: filePath };});
|
|
62
|
-
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
var EXPORT_DEFAULT_DECLARATION = 'ExportDefaultDeclaration';
|
|
67
|
-
var EXPORT_NAMED_DECLARATION = 'ExportNamedDeclaration';
|
|
68
|
-
var EXPORT_ALL_DECLARATION = 'ExportAllDeclaration';
|
|
69
|
-
var IMPORT_DECLARATION = 'ImportDeclaration';
|
|
70
|
-
var IMPORT_NAMESPACE_SPECIFIER = 'ImportNamespaceSpecifier';
|
|
71
|
-
var IMPORT_DEFAULT_SPECIFIER = 'ImportDefaultSpecifier';
|
|
72
|
-
var VARIABLE_DECLARATION = 'VariableDeclaration';
|
|
73
|
-
var FUNCTION_DECLARATION = 'FunctionDeclaration';
|
|
74
|
-
var CLASS_DECLARATION = 'ClassDeclaration';
|
|
75
|
-
var IDENTIFIER = 'Identifier';
|
|
76
|
-
var OBJECT_PATTERN = 'ObjectPattern';
|
|
77
|
-
var ARRAY_PATTERN = 'ArrayPattern';
|
|
78
|
-
var TS_INTERFACE_DECLARATION = 'TSInterfaceDeclaration';
|
|
79
|
-
var TS_TYPE_ALIAS_DECLARATION = 'TSTypeAliasDeclaration';
|
|
80
|
-
var TS_ENUM_DECLARATION = 'TSEnumDeclaration';
|
|
81
|
-
var DEFAULT = 'default';
|
|
82
|
-
|
|
83
|
-
function forEachDeclarationIdentifier(declaration, cb) {
|
|
84
|
-
if (declaration) {
|
|
85
|
-
if (
|
|
86
|
-
declaration.type === FUNCTION_DECLARATION ||
|
|
87
|
-
declaration.type === CLASS_DECLARATION ||
|
|
88
|
-
declaration.type === TS_INTERFACE_DECLARATION ||
|
|
89
|
-
declaration.type === TS_TYPE_ALIAS_DECLARATION ||
|
|
90
|
-
declaration.type === TS_ENUM_DECLARATION)
|
|
91
|
-
{
|
|
92
|
-
cb(declaration.id.name);
|
|
93
|
-
} else if (declaration.type === VARIABLE_DECLARATION) {
|
|
94
|
-
declaration.declarations.forEach(function (_ref2) {var id = _ref2.id;
|
|
95
|
-
if (id.type === OBJECT_PATTERN) {
|
|
96
|
-
(0, _ExportMap.recursivePatternCapture)(id, function (pattern) {
|
|
97
|
-
if (pattern.type === IDENTIFIER) {
|
|
98
|
-
cb(pattern.name);
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
} else if (id.type === ARRAY_PATTERN) {
|
|
102
|
-
id.elements.forEach(function (_ref3) {var name = _ref3.name;
|
|
103
|
-
cb(name);
|
|
104
|
-
});
|
|
105
|
-
} else {
|
|
106
|
-
cb(id.name);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* List of imports per file.
|
|
115
|
-
*
|
|
116
|
-
* Represented by a two-level Map to a Set of identifiers. The upper-level Map
|
|
117
|
-
* keys are the paths to the modules containing the imports, while the
|
|
118
|
-
* lower-level Map keys are the paths to the files which are being imported
|
|
119
|
-
* from. Lastly, the Set of identifiers contains either names being imported
|
|
120
|
-
* or a special AST node name listed above (e.g ImportDefaultSpecifier).
|
|
121
|
-
*
|
|
122
|
-
* For example, if we have a file named foo.js containing:
|
|
123
|
-
*
|
|
124
|
-
* import { o2 } from './bar.js';
|
|
125
|
-
*
|
|
126
|
-
* Then we will have a structure that looks like:
|
|
127
|
-
*
|
|
128
|
-
* Map { 'foo.js' => Map { 'bar.js' => Set { 'o2' } } }
|
|
129
|
-
*
|
|
130
|
-
* @type {Map<string, Map<string, Set<string>>>}
|
|
131
|
-
*/
|
|
132
|
-
var importList = new Map();
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* List of exports per file.
|
|
136
|
-
*
|
|
137
|
-
* Represented by a two-level Map to an object of metadata. The upper-level Map
|
|
138
|
-
* keys are the paths to the modules containing the exports, while the
|
|
139
|
-
* lower-level Map keys are the specific identifiers or special AST node names
|
|
140
|
-
* being exported. The leaf-level metadata object at the moment only contains a
|
|
141
|
-
* `whereUsed` property, which contains a Set of paths to modules that import
|
|
142
|
-
* the name.
|
|
143
|
-
*
|
|
144
|
-
* For example, if we have a file named bar.js containing the following exports:
|
|
145
|
-
*
|
|
146
|
-
* const o2 = 'bar';
|
|
147
|
-
* export { o2 };
|
|
148
|
-
*
|
|
149
|
-
* And a file named foo.js containing the following import:
|
|
150
|
-
*
|
|
151
|
-
* import { o2 } from './bar.js';
|
|
152
|
-
*
|
|
153
|
-
* Then we will have a structure that looks like:
|
|
154
|
-
*
|
|
155
|
-
* Map { 'bar.js' => Map { 'o2' => { whereUsed: Set { 'foo.js' } } } }
|
|
156
|
-
*
|
|
157
|
-
* @type {Map<string, Map<string, object>>}
|
|
158
|
-
*/
|
|
159
|
-
var exportList = new Map();
|
|
160
|
-
|
|
161
|
-
var visitorKeyMap = new Map();
|
|
162
|
-
|
|
163
|
-
var ignoredFiles = new Set();
|
|
164
|
-
var filesOutsideSrc = new Set();
|
|
165
|
-
|
|
166
|
-
var isNodeModule = function isNodeModule(path) {return (/\/(node_modules)\//.test(path));};
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* read all files matching the patterns in src and ignoreExports
|
|
170
|
-
*
|
|
171
|
-
* return all files matching src pattern, which are not matching the ignoreExports pattern
|
|
172
|
-
*/
|
|
173
|
-
var resolveFiles = function resolveFiles(src, ignoreExports, context) {
|
|
174
|
-
var extensions = Array.from((0, _ignore.getFileExtensions)(context.settings));
|
|
175
|
-
|
|
176
|
-
var srcFileList = listFilesToProcess(src, extensions);
|
|
177
|
-
|
|
178
|
-
// prepare list of ignored files
|
|
179
|
-
var ignoredFilesList = listFilesToProcess(ignoreExports, extensions);
|
|
180
|
-
ignoredFilesList.forEach(function (_ref4) {var filename = _ref4.filename;return ignoredFiles.add(filename);});
|
|
181
|
-
|
|
182
|
-
// prepare list of source files, don't consider files from node_modules
|
|
183
|
-
|
|
184
|
-
return new Set(
|
|
185
|
-
(0, _arrayPrototype2['default'])(srcFileList, function (_ref5) {var filename = _ref5.filename;return isNodeModule(filename) ? [] : filename;}));
|
|
186
|
-
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* parse all source files and build up 2 maps containing the existing imports and exports
|
|
191
|
-
*/
|
|
192
|
-
var prepareImportsAndExports = function prepareImportsAndExports(srcFiles, context) {
|
|
193
|
-
var exportAll = new Map();
|
|
194
|
-
srcFiles.forEach(function (file) {
|
|
195
|
-
var exports = new Map();
|
|
196
|
-
var imports = new Map();
|
|
197
|
-
var currentExports = _ExportMap2['default'].get(file, context);
|
|
198
|
-
if (currentExports) {var
|
|
199
|
-
|
|
200
|
-
dependencies =
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
currentExports.dependencies,reexports = currentExports.reexports,localImportList = currentExports.imports,namespace = currentExports.namespace,visitorKeys = currentExports.visitorKeys;
|
|
206
|
-
|
|
207
|
-
visitorKeyMap.set(file, visitorKeys);
|
|
208
|
-
// dependencies === export * from
|
|
209
|
-
var currentExportAll = new Set();
|
|
210
|
-
dependencies.forEach(function (getDependency) {
|
|
211
|
-
var dependency = getDependency();
|
|
212
|
-
if (dependency === null) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
currentExportAll.add(dependency.path);
|
|
217
|
-
});
|
|
218
|
-
exportAll.set(file, currentExportAll);
|
|
219
|
-
|
|
220
|
-
reexports.forEach(function (value, key) {
|
|
221
|
-
if (key === DEFAULT) {
|
|
222
|
-
exports.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: new Set() });
|
|
223
|
-
} else {
|
|
224
|
-
exports.set(key, { whereUsed: new Set() });
|
|
225
|
-
}
|
|
226
|
-
var reexport = value.getImport();
|
|
227
|
-
if (!reexport) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
var localImport = imports.get(reexport.path);
|
|
231
|
-
var currentValue = void 0;
|
|
232
|
-
if (value.local === DEFAULT) {
|
|
233
|
-
currentValue = IMPORT_DEFAULT_SPECIFIER;
|
|
234
|
-
} else {
|
|
235
|
-
currentValue = value.local;
|
|
236
|
-
}
|
|
237
|
-
if (typeof localImport !== 'undefined') {
|
|
238
|
-
localImport = new Set([].concat(_toConsumableArray(localImport), [currentValue]));
|
|
239
|
-
} else {
|
|
240
|
-
localImport = new Set([currentValue]);
|
|
241
|
-
}
|
|
242
|
-
imports.set(reexport.path, localImport);
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
localImportList.forEach(function (value, key) {
|
|
246
|
-
if (isNodeModule(key)) {
|
|
247
|
-
return;
|
|
248
|
-
}
|
|
249
|
-
var localImport = imports.get(key) || new Set();
|
|
250
|
-
value.declarations.forEach(function (_ref6) {var importedSpecifiers = _ref6.importedSpecifiers;
|
|
251
|
-
importedSpecifiers.forEach(function (specifier) {
|
|
252
|
-
localImport.add(specifier);
|
|
253
|
-
});
|
|
254
|
-
});
|
|
255
|
-
imports.set(key, localImport);
|
|
256
|
-
});
|
|
257
|
-
importList.set(file, imports);
|
|
258
|
-
|
|
259
|
-
// build up export list only, if file is not ignored
|
|
260
|
-
if (ignoredFiles.has(file)) {
|
|
261
|
-
return;
|
|
262
|
-
}
|
|
263
|
-
namespace.forEach(function (value, key) {
|
|
264
|
-
if (key === DEFAULT) {
|
|
265
|
-
exports.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: new Set() });
|
|
266
|
-
} else {
|
|
267
|
-
exports.set(key, { whereUsed: new Set() });
|
|
268
|
-
}
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
exports.set(EXPORT_ALL_DECLARATION, { whereUsed: new Set() });
|
|
272
|
-
exports.set(IMPORT_NAMESPACE_SPECIFIER, { whereUsed: new Set() });
|
|
273
|
-
exportList.set(file, exports);
|
|
274
|
-
});
|
|
275
|
-
exportAll.forEach(function (value, key) {
|
|
276
|
-
value.forEach(function (val) {
|
|
277
|
-
var currentExports = exportList.get(val);
|
|
278
|
-
if (currentExports) {
|
|
279
|
-
var currentExport = currentExports.get(EXPORT_ALL_DECLARATION);
|
|
280
|
-
currentExport.whereUsed.add(key);
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
};
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* traverse through all imports and add the respective path to the whereUsed-list
|
|
288
|
-
* of the corresponding export
|
|
289
|
-
*/
|
|
290
|
-
var determineUsage = function determineUsage() {
|
|
291
|
-
importList.forEach(function (listValue, listKey) {
|
|
292
|
-
listValue.forEach(function (value, key) {
|
|
293
|
-
var exports = exportList.get(key);
|
|
294
|
-
if (typeof exports !== 'undefined') {
|
|
295
|
-
value.forEach(function (currentImport) {
|
|
296
|
-
var specifier = void 0;
|
|
297
|
-
if (currentImport === IMPORT_NAMESPACE_SPECIFIER) {
|
|
298
|
-
specifier = IMPORT_NAMESPACE_SPECIFIER;
|
|
299
|
-
} else if (currentImport === IMPORT_DEFAULT_SPECIFIER) {
|
|
300
|
-
specifier = IMPORT_DEFAULT_SPECIFIER;
|
|
301
|
-
} else {
|
|
302
|
-
specifier = currentImport;
|
|
303
|
-
}
|
|
304
|
-
if (typeof specifier !== 'undefined') {
|
|
305
|
-
var exportStatement = exports.get(specifier);
|
|
306
|
-
if (typeof exportStatement !== 'undefined') {var
|
|
307
|
-
whereUsed = exportStatement.whereUsed;
|
|
308
|
-
whereUsed.add(listKey);
|
|
309
|
-
exports.set(specifier, { whereUsed: whereUsed });
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
});
|
|
316
|
-
};
|
|
317
|
-
|
|
318
|
-
var getSrc = function getSrc(src) {
|
|
319
|
-
if (src) {
|
|
320
|
-
return src;
|
|
321
|
-
}
|
|
322
|
-
return [process.cwd()];
|
|
323
|
-
};
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* prepare the lists of existing imports and exports - should only be executed once at
|
|
327
|
-
* the start of a new eslint run
|
|
328
|
-
*/
|
|
329
|
-
var srcFiles = void 0;
|
|
330
|
-
var lastPrepareKey = void 0;
|
|
331
|
-
var doPreparation = function doPreparation(src, ignoreExports, context) {
|
|
332
|
-
var prepareKey = JSON.stringify({
|
|
333
|
-
src: (src || []).sort(),
|
|
334
|
-
ignoreExports: (ignoreExports || []).sort(),
|
|
335
|
-
extensions: Array.from((0, _ignore.getFileExtensions)(context.settings)).sort() });
|
|
336
|
-
|
|
337
|
-
if (prepareKey === lastPrepareKey) {
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
importList.clear();
|
|
342
|
-
exportList.clear();
|
|
343
|
-
ignoredFiles.clear();
|
|
344
|
-
filesOutsideSrc.clear();
|
|
345
|
-
|
|
346
|
-
srcFiles = resolveFiles(getSrc(src), ignoreExports, context);
|
|
347
|
-
prepareImportsAndExports(srcFiles, context);
|
|
348
|
-
determineUsage();
|
|
349
|
-
lastPrepareKey = prepareKey;
|
|
350
|
-
};
|
|
351
|
-
|
|
352
|
-
var newNamespaceImportExists = function newNamespaceImportExists(specifiers) {return specifiers.some(function (_ref7) {var type = _ref7.type;return type === IMPORT_NAMESPACE_SPECIFIER;});};
|
|
353
|
-
|
|
354
|
-
var newDefaultImportExists = function newDefaultImportExists(specifiers) {return specifiers.some(function (_ref8) {var type = _ref8.type;return type === IMPORT_DEFAULT_SPECIFIER;});};
|
|
355
|
-
|
|
356
|
-
var fileIsInPkg = function fileIsInPkg(file) {var _readPkgUp =
|
|
357
|
-
(0, _readPkgUp3['default'])({ cwd: file }),path = _readPkgUp.path,pkg = _readPkgUp.pkg;
|
|
358
|
-
var basePath = (0, _path.dirname)(path);
|
|
359
|
-
|
|
360
|
-
var checkPkgFieldString = function checkPkgFieldString(pkgField) {
|
|
361
|
-
if ((0, _path.join)(basePath, pkgField) === file) {
|
|
362
|
-
return true;
|
|
363
|
-
}
|
|
364
|
-
};
|
|
365
|
-
|
|
366
|
-
var checkPkgFieldObject = function checkPkgFieldObject(pkgField) {
|
|
367
|
-
var pkgFieldFiles = (0, _arrayPrototype2['default'])((0, _object2['default'])(pkgField), function (value) {return typeof value === 'boolean' ? [] : (0, _path.join)(basePath, value);});
|
|
368
|
-
|
|
369
|
-
if ((0, _arrayIncludes2['default'])(pkgFieldFiles, file)) {
|
|
370
|
-
return true;
|
|
371
|
-
}
|
|
372
|
-
};
|
|
373
|
-
|
|
374
|
-
var checkPkgField = function checkPkgField(pkgField) {
|
|
375
|
-
if (typeof pkgField === 'string') {
|
|
376
|
-
return checkPkgFieldString(pkgField);
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
if ((typeof pkgField === 'undefined' ? 'undefined' : _typeof(pkgField)) === 'object') {
|
|
380
|
-
return checkPkgFieldObject(pkgField);
|
|
381
|
-
}
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
if (pkg['private'] === true) {
|
|
385
|
-
return false;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
if (pkg.bin) {
|
|
389
|
-
if (checkPkgField(pkg.bin)) {
|
|
390
|
-
return true;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
if (pkg.browser) {
|
|
395
|
-
if (checkPkgField(pkg.browser)) {
|
|
396
|
-
return true;
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
if (pkg.main) {
|
|
401
|
-
if (checkPkgFieldString(pkg.main)) {
|
|
402
|
-
return true;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
return false;
|
|
407
|
-
};
|
|
408
|
-
|
|
409
|
-
module.exports = {
|
|
410
|
-
meta: {
|
|
411
|
-
type: 'suggestion',
|
|
412
|
-
docs: {
|
|
413
|
-
category: 'Helpful warnings',
|
|
414
|
-
description: 'Forbid modules without exports, or exports without matching import in another module.',
|
|
415
|
-
url: (0, _docsUrl2['default'])('no-unused-modules') },
|
|
416
|
-
|
|
417
|
-
schema: [{
|
|
418
|
-
properties: {
|
|
419
|
-
src: {
|
|
420
|
-
description: 'files/paths to be analyzed (only for unused exports)',
|
|
421
|
-
type: 'array',
|
|
422
|
-
uniqueItems: true,
|
|
423
|
-
items: {
|
|
424
|
-
type: 'string',
|
|
425
|
-
minLength: 1 } },
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
ignoreExports: {
|
|
429
|
-
description: 'files/paths for which unused exports will not be reported (e.g module entry points)',
|
|
430
|
-
type: 'array',
|
|
431
|
-
uniqueItems: true,
|
|
432
|
-
items: {
|
|
433
|
-
type: 'string',
|
|
434
|
-
minLength: 1 } },
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
missingExports: {
|
|
438
|
-
description: 'report modules without any exports',
|
|
439
|
-
type: 'boolean' },
|
|
440
|
-
|
|
441
|
-
unusedExports: {
|
|
442
|
-
description: 'report exports without any usage',
|
|
443
|
-
type: 'boolean' } },
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
anyOf: [
|
|
447
|
-
{
|
|
448
|
-
properties: {
|
|
449
|
-
unusedExports: { 'enum': [true] },
|
|
450
|
-
src: {
|
|
451
|
-
minItems: 1 } },
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
required: ['unusedExports'] },
|
|
455
|
-
|
|
456
|
-
{
|
|
457
|
-
properties: {
|
|
458
|
-
missingExports: { 'enum': [true] } },
|
|
459
|
-
|
|
460
|
-
required: ['missingExports'] }] }] },
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
create: function () {function create(context) {var _ref9 =
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
context.options[0] || {},src = _ref9.src,_ref9$ignoreExports = _ref9.ignoreExports,ignoreExports = _ref9$ignoreExports === undefined ? [] : _ref9$ignoreExports,missingExports = _ref9.missingExports,unusedExports = _ref9.unusedExports;
|
|
473
|
-
|
|
474
|
-
if (unusedExports) {
|
|
475
|
-
doPreparation(src, ignoreExports, context);
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
var file = context.getPhysicalFilename ? context.getPhysicalFilename() : context.getFilename();
|
|
479
|
-
|
|
480
|
-
var checkExportPresence = function () {function checkExportPresence(node) {
|
|
481
|
-
if (!missingExports) {
|
|
482
|
-
return;
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
if (ignoredFiles.has(file)) {
|
|
486
|
-
return;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
var exportCount = exportList.get(file);
|
|
490
|
-
var exportAll = exportCount.get(EXPORT_ALL_DECLARATION);
|
|
491
|
-
var namespaceImports = exportCount.get(IMPORT_NAMESPACE_SPECIFIER);
|
|
492
|
-
|
|
493
|
-
exportCount['delete'](EXPORT_ALL_DECLARATION);
|
|
494
|
-
exportCount['delete'](IMPORT_NAMESPACE_SPECIFIER);
|
|
495
|
-
if (exportCount.size < 1) {
|
|
496
|
-
// node.body[0] === 'undefined' only happens, if everything is commented out in the file
|
|
497
|
-
// being linted
|
|
498
|
-
context.report(node.body[0] ? node.body[0] : node, 'No exports found');
|
|
499
|
-
}
|
|
500
|
-
exportCount.set(EXPORT_ALL_DECLARATION, exportAll);
|
|
501
|
-
exportCount.set(IMPORT_NAMESPACE_SPECIFIER, namespaceImports);
|
|
502
|
-
}return checkExportPresence;}();
|
|
503
|
-
|
|
504
|
-
var checkUsage = function () {function checkUsage(node, exportedValue) {
|
|
505
|
-
if (!unusedExports) {
|
|
506
|
-
return;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
if (ignoredFiles.has(file)) {
|
|
510
|
-
return;
|
|
511
|
-
}
|
|
512
|
-
|
|
513
|
-
if (fileIsInPkg(file)) {
|
|
514
|
-
return;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
if (filesOutsideSrc.has(file)) {
|
|
518
|
-
return;
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
// make sure file to be linted is included in source files
|
|
522
|
-
if (!srcFiles.has(file)) {
|
|
523
|
-
srcFiles = resolveFiles(getSrc(src), ignoreExports, context);
|
|
524
|
-
if (!srcFiles.has(file)) {
|
|
525
|
-
filesOutsideSrc.add(file);
|
|
526
|
-
return;
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
|
|
530
|
-
exports = exportList.get(file);
|
|
531
|
-
|
|
532
|
-
// special case: export * from
|
|
533
|
-
var exportAll = exports.get(EXPORT_ALL_DECLARATION);
|
|
534
|
-
if (typeof exportAll !== 'undefined' && exportedValue !== IMPORT_DEFAULT_SPECIFIER) {
|
|
535
|
-
if (exportAll.whereUsed.size > 0) {
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
// special case: namespace import
|
|
541
|
-
var namespaceImports = exports.get(IMPORT_NAMESPACE_SPECIFIER);
|
|
542
|
-
if (typeof namespaceImports !== 'undefined') {
|
|
543
|
-
if (namespaceImports.whereUsed.size > 0) {
|
|
544
|
-
return;
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
// exportsList will always map any imported value of 'default' to 'ImportDefaultSpecifier'
|
|
549
|
-
var exportsKey = exportedValue === DEFAULT ? IMPORT_DEFAULT_SPECIFIER : exportedValue;
|
|
550
|
-
|
|
551
|
-
var exportStatement = exports.get(exportsKey);
|
|
552
|
-
|
|
553
|
-
var value = exportsKey === IMPORT_DEFAULT_SPECIFIER ? DEFAULT : exportsKey;
|
|
554
|
-
|
|
555
|
-
if (typeof exportStatement !== 'undefined') {
|
|
556
|
-
if (exportStatement.whereUsed.size < 1) {
|
|
557
|
-
context.report(
|
|
558
|
-
node, 'exported declaration \'' +
|
|
559
|
-
value + '\' not used within other modules');
|
|
560
|
-
|
|
561
|
-
}
|
|
562
|
-
} else {
|
|
563
|
-
context.report(
|
|
564
|
-
node, 'exported declaration \'' +
|
|
565
|
-
value + '\' not used within other modules');
|
|
566
|
-
|
|
567
|
-
}
|
|
568
|
-
}return checkUsage;}();
|
|
569
|
-
|
|
570
|
-
/**
|
|
571
|
-
* only useful for tools like vscode-eslint
|
|
572
|
-
*
|
|
573
|
-
* update lists of existing exports during runtime
|
|
574
|
-
*/
|
|
575
|
-
var updateExportUsage = function () {function updateExportUsage(node) {
|
|
576
|
-
if (ignoredFiles.has(file)) {
|
|
577
|
-
return;
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
var exports = exportList.get(file);
|
|
581
|
-
|
|
582
|
-
// new module has been created during runtime
|
|
583
|
-
// include it in further processing
|
|
584
|
-
if (typeof exports === 'undefined') {
|
|
585
|
-
exports = new Map();
|
|
586
|
-
}
|
|
587
|
-
|
|
588
|
-
var newExports = new Map();
|
|
589
|
-
var newExportIdentifiers = new Set();
|
|
590
|
-
|
|
591
|
-
node.body.forEach(function (_ref10) {var type = _ref10.type,declaration = _ref10.declaration,specifiers = _ref10.specifiers;
|
|
592
|
-
if (type === EXPORT_DEFAULT_DECLARATION) {
|
|
593
|
-
newExportIdentifiers.add(IMPORT_DEFAULT_SPECIFIER);
|
|
594
|
-
}
|
|
595
|
-
if (type === EXPORT_NAMED_DECLARATION) {
|
|
596
|
-
if (specifiers.length > 0) {
|
|
597
|
-
specifiers.forEach(function (specifier) {
|
|
598
|
-
if (specifier.exported) {
|
|
599
|
-
newExportIdentifiers.add(specifier.exported.name || specifier.exported.value);
|
|
600
|
-
}
|
|
601
|
-
});
|
|
602
|
-
}
|
|
603
|
-
forEachDeclarationIdentifier(declaration, function (name) {
|
|
604
|
-
newExportIdentifiers.add(name);
|
|
605
|
-
});
|
|
606
|
-
}
|
|
607
|
-
});
|
|
608
|
-
|
|
609
|
-
// old exports exist within list of new exports identifiers: add to map of new exports
|
|
610
|
-
exports.forEach(function (value, key) {
|
|
611
|
-
if (newExportIdentifiers.has(key)) {
|
|
612
|
-
newExports.set(key, value);
|
|
613
|
-
}
|
|
614
|
-
});
|
|
615
|
-
|
|
616
|
-
// new export identifiers added: add to map of new exports
|
|
617
|
-
newExportIdentifiers.forEach(function (key) {
|
|
618
|
-
if (!exports.has(key)) {
|
|
619
|
-
newExports.set(key, { whereUsed: new Set() });
|
|
620
|
-
}
|
|
621
|
-
});
|
|
622
|
-
|
|
623
|
-
// preserve information about namespace imports
|
|
624
|
-
var exportAll = exports.get(EXPORT_ALL_DECLARATION);
|
|
625
|
-
var namespaceImports = exports.get(IMPORT_NAMESPACE_SPECIFIER);
|
|
626
|
-
|
|
627
|
-
if (typeof namespaceImports === 'undefined') {
|
|
628
|
-
namespaceImports = { whereUsed: new Set() };
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
newExports.set(EXPORT_ALL_DECLARATION, exportAll);
|
|
632
|
-
newExports.set(IMPORT_NAMESPACE_SPECIFIER, namespaceImports);
|
|
633
|
-
exportList.set(file, newExports);
|
|
634
|
-
}return updateExportUsage;}();
|
|
635
|
-
|
|
636
|
-
/**
|
|
637
|
-
* only useful for tools like vscode-eslint
|
|
638
|
-
*
|
|
639
|
-
* update lists of existing imports during runtime
|
|
640
|
-
*/
|
|
641
|
-
var updateImportUsage = function () {function updateImportUsage(node) {
|
|
642
|
-
if (!unusedExports) {
|
|
643
|
-
return;
|
|
644
|
-
}
|
|
645
|
-
|
|
646
|
-
var oldImportPaths = importList.get(file);
|
|
647
|
-
if (typeof oldImportPaths === 'undefined') {
|
|
648
|
-
oldImportPaths = new Map();
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
var oldNamespaceImports = new Set();
|
|
652
|
-
var newNamespaceImports = new Set();
|
|
653
|
-
|
|
654
|
-
var oldExportAll = new Set();
|
|
655
|
-
var newExportAll = new Set();
|
|
656
|
-
|
|
657
|
-
var oldDefaultImports = new Set();
|
|
658
|
-
var newDefaultImports = new Set();
|
|
659
|
-
|
|
660
|
-
var oldImports = new Map();
|
|
661
|
-
var newImports = new Map();
|
|
662
|
-
oldImportPaths.forEach(function (value, key) {
|
|
663
|
-
if (value.has(EXPORT_ALL_DECLARATION)) {
|
|
664
|
-
oldExportAll.add(key);
|
|
665
|
-
}
|
|
666
|
-
if (value.has(IMPORT_NAMESPACE_SPECIFIER)) {
|
|
667
|
-
oldNamespaceImports.add(key);
|
|
668
|
-
}
|
|
669
|
-
if (value.has(IMPORT_DEFAULT_SPECIFIER)) {
|
|
670
|
-
oldDefaultImports.add(key);
|
|
671
|
-
}
|
|
672
|
-
value.forEach(function (val) {
|
|
673
|
-
if (
|
|
674
|
-
val !== IMPORT_NAMESPACE_SPECIFIER &&
|
|
675
|
-
val !== IMPORT_DEFAULT_SPECIFIER)
|
|
676
|
-
{
|
|
677
|
-
oldImports.set(val, key);
|
|
678
|
-
}
|
|
679
|
-
});
|
|
680
|
-
});
|
|
681
|
-
|
|
682
|
-
function processDynamicImport(source) {
|
|
683
|
-
if (source.type !== 'Literal') {
|
|
684
|
-
return null;
|
|
685
|
-
}
|
|
686
|
-
var p = (0, _resolve2['default'])(source.value, context);
|
|
687
|
-
if (p == null) {
|
|
688
|
-
return null;
|
|
689
|
-
}
|
|
690
|
-
newNamespaceImports.add(p);
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
(0, _visit2['default'])(node, visitorKeyMap.get(file), {
|
|
694
|
-
ImportExpression: function () {function ImportExpression(child) {
|
|
695
|
-
processDynamicImport(child.source);
|
|
696
|
-
}return ImportExpression;}(),
|
|
697
|
-
CallExpression: function () {function CallExpression(child) {
|
|
698
|
-
if (child.callee.type === 'Import') {
|
|
699
|
-
processDynamicImport(child.arguments[0]);
|
|
700
|
-
}
|
|
701
|
-
}return CallExpression;}() });
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
node.body.forEach(function (astNode) {
|
|
705
|
-
var resolvedPath = void 0;
|
|
706
|
-
|
|
707
|
-
// support for export { value } from 'module'
|
|
708
|
-
if (astNode.type === EXPORT_NAMED_DECLARATION) {
|
|
709
|
-
if (astNode.source) {
|
|
710
|
-
resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
|
|
711
|
-
astNode.specifiers.forEach(function (specifier) {
|
|
712
|
-
var name = specifier.local.name || specifier.local.value;
|
|
713
|
-
if (name === DEFAULT) {
|
|
714
|
-
newDefaultImports.add(resolvedPath);
|
|
715
|
-
} else {
|
|
716
|
-
newImports.set(name, resolvedPath);
|
|
717
|
-
}
|
|
718
|
-
});
|
|
719
|
-
}
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
if (astNode.type === EXPORT_ALL_DECLARATION) {
|
|
723
|
-
resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
|
|
724
|
-
newExportAll.add(resolvedPath);
|
|
725
|
-
}
|
|
726
|
-
|
|
727
|
-
if (astNode.type === IMPORT_DECLARATION) {
|
|
728
|
-
resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
|
|
729
|
-
if (!resolvedPath) {
|
|
730
|
-
return;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
if (isNodeModule(resolvedPath)) {
|
|
734
|
-
return;
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
if (newNamespaceImportExists(astNode.specifiers)) {
|
|
738
|
-
newNamespaceImports.add(resolvedPath);
|
|
739
|
-
}
|
|
740
|
-
|
|
741
|
-
if (newDefaultImportExists(astNode.specifiers)) {
|
|
742
|
-
newDefaultImports.add(resolvedPath);
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
astNode.specifiers.
|
|
746
|
-
filter(function (specifier) {return specifier.type !== IMPORT_DEFAULT_SPECIFIER && specifier.type !== IMPORT_NAMESPACE_SPECIFIER;}).
|
|
747
|
-
forEach(function (specifier) {
|
|
748
|
-
newImports.set(specifier.imported.name || specifier.imported.value, resolvedPath);
|
|
749
|
-
});
|
|
750
|
-
}
|
|
751
|
-
});
|
|
752
|
-
|
|
753
|
-
newExportAll.forEach(function (value) {
|
|
754
|
-
if (!oldExportAll.has(value)) {
|
|
755
|
-
var imports = oldImportPaths.get(value);
|
|
756
|
-
if (typeof imports === 'undefined') {
|
|
757
|
-
imports = new Set();
|
|
758
|
-
}
|
|
759
|
-
imports.add(EXPORT_ALL_DECLARATION);
|
|
760
|
-
oldImportPaths.set(value, imports);
|
|
761
|
-
|
|
762
|
-
var _exports = exportList.get(value);
|
|
763
|
-
var currentExport = void 0;
|
|
764
|
-
if (typeof _exports !== 'undefined') {
|
|
765
|
-
currentExport = _exports.get(EXPORT_ALL_DECLARATION);
|
|
766
|
-
} else {
|
|
767
|
-
_exports = new Map();
|
|
768
|
-
exportList.set(value, _exports);
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
if (typeof currentExport !== 'undefined') {
|
|
772
|
-
currentExport.whereUsed.add(file);
|
|
773
|
-
} else {
|
|
774
|
-
var whereUsed = new Set();
|
|
775
|
-
whereUsed.add(file);
|
|
776
|
-
_exports.set(EXPORT_ALL_DECLARATION, { whereUsed: whereUsed });
|
|
777
|
-
}
|
|
778
|
-
}
|
|
779
|
-
});
|
|
780
|
-
|
|
781
|
-
oldExportAll.forEach(function (value) {
|
|
782
|
-
if (!newExportAll.has(value)) {
|
|
783
|
-
var imports = oldImportPaths.get(value);
|
|
784
|
-
imports['delete'](EXPORT_ALL_DECLARATION);
|
|
785
|
-
|
|
786
|
-
var _exports2 = exportList.get(value);
|
|
787
|
-
if (typeof _exports2 !== 'undefined') {
|
|
788
|
-
var currentExport = _exports2.get(EXPORT_ALL_DECLARATION);
|
|
789
|
-
if (typeof currentExport !== 'undefined') {
|
|
790
|
-
currentExport.whereUsed['delete'](file);
|
|
791
|
-
}
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
});
|
|
795
|
-
|
|
796
|
-
newDefaultImports.forEach(function (value) {
|
|
797
|
-
if (!oldDefaultImports.has(value)) {
|
|
798
|
-
var imports = oldImportPaths.get(value);
|
|
799
|
-
if (typeof imports === 'undefined') {
|
|
800
|
-
imports = new Set();
|
|
801
|
-
}
|
|
802
|
-
imports.add(IMPORT_DEFAULT_SPECIFIER);
|
|
803
|
-
oldImportPaths.set(value, imports);
|
|
804
|
-
|
|
805
|
-
var _exports3 = exportList.get(value);
|
|
806
|
-
var currentExport = void 0;
|
|
807
|
-
if (typeof _exports3 !== 'undefined') {
|
|
808
|
-
currentExport = _exports3.get(IMPORT_DEFAULT_SPECIFIER);
|
|
809
|
-
} else {
|
|
810
|
-
_exports3 = new Map();
|
|
811
|
-
exportList.set(value, _exports3);
|
|
812
|
-
}
|
|
813
|
-
|
|
814
|
-
if (typeof currentExport !== 'undefined') {
|
|
815
|
-
currentExport.whereUsed.add(file);
|
|
816
|
-
} else {
|
|
817
|
-
var whereUsed = new Set();
|
|
818
|
-
whereUsed.add(file);
|
|
819
|
-
_exports3.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: whereUsed });
|
|
820
|
-
}
|
|
821
|
-
}
|
|
822
|
-
});
|
|
823
|
-
|
|
824
|
-
oldDefaultImports.forEach(function (value) {
|
|
825
|
-
if (!newDefaultImports.has(value)) {
|
|
826
|
-
var imports = oldImportPaths.get(value);
|
|
827
|
-
imports['delete'](IMPORT_DEFAULT_SPECIFIER);
|
|
828
|
-
|
|
829
|
-
var _exports4 = exportList.get(value);
|
|
830
|
-
if (typeof _exports4 !== 'undefined') {
|
|
831
|
-
var currentExport = _exports4.get(IMPORT_DEFAULT_SPECIFIER);
|
|
832
|
-
if (typeof currentExport !== 'undefined') {
|
|
833
|
-
currentExport.whereUsed['delete'](file);
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
});
|
|
838
|
-
|
|
839
|
-
newNamespaceImports.forEach(function (value) {
|
|
840
|
-
if (!oldNamespaceImports.has(value)) {
|
|
841
|
-
var imports = oldImportPaths.get(value);
|
|
842
|
-
if (typeof imports === 'undefined') {
|
|
843
|
-
imports = new Set();
|
|
844
|
-
}
|
|
845
|
-
imports.add(IMPORT_NAMESPACE_SPECIFIER);
|
|
846
|
-
oldImportPaths.set(value, imports);
|
|
847
|
-
|
|
848
|
-
var _exports5 = exportList.get(value);
|
|
849
|
-
var currentExport = void 0;
|
|
850
|
-
if (typeof _exports5 !== 'undefined') {
|
|
851
|
-
currentExport = _exports5.get(IMPORT_NAMESPACE_SPECIFIER);
|
|
852
|
-
} else {
|
|
853
|
-
_exports5 = new Map();
|
|
854
|
-
exportList.set(value, _exports5);
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
if (typeof currentExport !== 'undefined') {
|
|
858
|
-
currentExport.whereUsed.add(file);
|
|
859
|
-
} else {
|
|
860
|
-
var whereUsed = new Set();
|
|
861
|
-
whereUsed.add(file);
|
|
862
|
-
_exports5.set(IMPORT_NAMESPACE_SPECIFIER, { whereUsed: whereUsed });
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
});
|
|
866
|
-
|
|
867
|
-
oldNamespaceImports.forEach(function (value) {
|
|
868
|
-
if (!newNamespaceImports.has(value)) {
|
|
869
|
-
var imports = oldImportPaths.get(value);
|
|
870
|
-
imports['delete'](IMPORT_NAMESPACE_SPECIFIER);
|
|
871
|
-
|
|
872
|
-
var _exports6 = exportList.get(value);
|
|
873
|
-
if (typeof _exports6 !== 'undefined') {
|
|
874
|
-
var currentExport = _exports6.get(IMPORT_NAMESPACE_SPECIFIER);
|
|
875
|
-
if (typeof currentExport !== 'undefined') {
|
|
876
|
-
currentExport.whereUsed['delete'](file);
|
|
877
|
-
}
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
});
|
|
881
|
-
|
|
882
|
-
newImports.forEach(function (value, key) {
|
|
883
|
-
if (!oldImports.has(key)) {
|
|
884
|
-
var imports = oldImportPaths.get(value);
|
|
885
|
-
if (typeof imports === 'undefined') {
|
|
886
|
-
imports = new Set();
|
|
887
|
-
}
|
|
888
|
-
imports.add(key);
|
|
889
|
-
oldImportPaths.set(value, imports);
|
|
890
|
-
|
|
891
|
-
var _exports7 = exportList.get(value);
|
|
892
|
-
var currentExport = void 0;
|
|
893
|
-
if (typeof _exports7 !== 'undefined') {
|
|
894
|
-
currentExport = _exports7.get(key);
|
|
895
|
-
} else {
|
|
896
|
-
_exports7 = new Map();
|
|
897
|
-
exportList.set(value, _exports7);
|
|
898
|
-
}
|
|
899
|
-
|
|
900
|
-
if (typeof currentExport !== 'undefined') {
|
|
901
|
-
currentExport.whereUsed.add(file);
|
|
902
|
-
} else {
|
|
903
|
-
var whereUsed = new Set();
|
|
904
|
-
whereUsed.add(file);
|
|
905
|
-
_exports7.set(key, { whereUsed: whereUsed });
|
|
906
|
-
}
|
|
907
|
-
}
|
|
908
|
-
});
|
|
909
|
-
|
|
910
|
-
oldImports.forEach(function (value, key) {
|
|
911
|
-
if (!newImports.has(key)) {
|
|
912
|
-
var imports = oldImportPaths.get(value);
|
|
913
|
-
imports['delete'](key);
|
|
914
|
-
|
|
915
|
-
var _exports8 = exportList.get(value);
|
|
916
|
-
if (typeof _exports8 !== 'undefined') {
|
|
917
|
-
var currentExport = _exports8.get(key);
|
|
918
|
-
if (typeof currentExport !== 'undefined') {
|
|
919
|
-
currentExport.whereUsed['delete'](file);
|
|
920
|
-
}
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
});
|
|
924
|
-
}return updateImportUsage;}();
|
|
925
|
-
|
|
926
|
-
return {
|
|
927
|
-
'Program:exit': function () {function ProgramExit(node) {
|
|
928
|
-
updateExportUsage(node);
|
|
929
|
-
updateImportUsage(node);
|
|
930
|
-
checkExportPresence(node);
|
|
931
|
-
}return ProgramExit;}(),
|
|
932
|
-
ExportDefaultDeclaration: function () {function ExportDefaultDeclaration(node) {
|
|
933
|
-
checkUsage(node, IMPORT_DEFAULT_SPECIFIER);
|
|
934
|
-
}return ExportDefaultDeclaration;}(),
|
|
935
|
-
ExportNamedDeclaration: function () {function ExportNamedDeclaration(node) {
|
|
936
|
-
node.specifiers.forEach(function (specifier) {
|
|
937
|
-
checkUsage(specifier, specifier.exported.name || specifier.exported.value);
|
|
938
|
-
});
|
|
939
|
-
forEachDeclarationIdentifier(node.declaration, function (name) {
|
|
940
|
-
checkUsage(node, name);
|
|
941
|
-
});
|
|
942
|
-
}return ExportNamedDeclaration;}() };
|
|
943
|
-
|
|
944
|
-
}return create;}() };
|
|
945
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnVzZWQtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJGaWxlRW51bWVyYXRvciIsImxpc3RGaWxlc1RvUHJvY2VzcyIsInJlcXVpcmUiLCJlIiwib3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3MiLCJzcmMiLCJleHRlbnNpb25zIiwicGF0dGVybnMiLCJjb25jYXQiLCJwYXR0ZXJuIiwibWFwIiwiZXh0ZW5zaW9uIiwidGVzdCIsIkFycmF5IiwiZnJvbSIsIml0ZXJhdGVGaWxlcyIsImZpbGVQYXRoIiwiaWdub3JlZCIsImZpbGVuYW1lIiwiRVhQT1JUX0RFRkFVTFRfREVDTEFSQVRJT04iLCJFWFBPUlRfTkFNRURfREVDTEFSQVRJT04iLCJFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OIiwiSU1QT1JUX0RFQ0xBUkFUSU9OIiwiSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIiLCJJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIiLCJWQVJJQUJMRV9ERUNMQVJBVElPTiIsIkZVTkNUSU9OX0RFQ0xBUkFUSU9OIiwiQ0xBU1NfREVDTEFSQVRJT04iLCJJREVOVElGSUVSIiwiT0JKRUNUX1BBVFRFUk4iLCJBUlJBWV9QQVRURVJOIiwiVFNfSU5URVJGQUNFX0RFQ0xBUkFUSU9OIiwiVFNfVFlQRV9BTElBU19ERUNMQVJBVElPTiIsIlRTX0VOVU1fREVDTEFSQVRJT04iLCJERUZBVUxUIiwiZm9yRWFjaERlY2xhcmF0aW9uSWRlbnRpZmllciIsImRlY2xhcmF0aW9uIiwiY2IiLCJ0eXBlIiwiaWQiLCJuYW1lIiwiZGVjbGFyYXRpb25zIiwiZm9yRWFjaCIsImVsZW1lbnRzIiwiaW1wb3J0TGlzdCIsIk1hcCIsImV4cG9ydExpc3QiLCJ2aXNpdG9yS2V5TWFwIiwiaWdub3JlZEZpbGVzIiwiU2V0IiwiZmlsZXNPdXRzaWRlU3JjIiwiaXNOb2RlTW9kdWxlIiwicGF0aCIsInJlc29sdmVGaWxlcyIsImlnbm9yZUV4cG9ydHMiLCJjb250ZXh0Iiwic2V0dGluZ3MiLCJzcmNGaWxlTGlzdCIsImlnbm9yZWRGaWxlc0xpc3QiLCJhZGQiLCJwcmVwYXJlSW1wb3J0c0FuZEV4cG9ydHMiLCJzcmNGaWxlcyIsImV4cG9ydEFsbCIsImZpbGUiLCJleHBvcnRzIiwiaW1wb3J0cyIsImN1cnJlbnRFeHBvcnRzIiwiRXhwb3J0cyIsImdldCIsImRlcGVuZGVuY2llcyIsInJlZXhwb3J0cyIsImxvY2FsSW1wb3J0TGlzdCIsIm5hbWVzcGFjZSIsInZpc2l0b3JLZXlzIiwic2V0IiwiY3VycmVudEV4cG9ydEFsbCIsImdldERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5IiwidmFsdWUiLCJrZXkiLCJ3aGVyZVVzZWQiLCJyZWV4cG9ydCIsImdldEltcG9ydCIsImxvY2FsSW1wb3J0IiwiY3VycmVudFZhbHVlIiwibG9jYWwiLCJpbXBvcnRlZFNwZWNpZmllcnMiLCJzcGVjaWZpZXIiLCJoYXMiLCJ2YWwiLCJjdXJyZW50RXhwb3J0IiwiZGV0ZXJtaW5lVXNhZ2UiLCJsaXN0VmFsdWUiLCJsaXN0S2V5IiwiY3VycmVudEltcG9ydCIsImV4cG9ydFN0YXRlbWVudCIsImdldFNyYyIsInByb2Nlc3MiLCJjd2QiLCJsYXN0UHJlcGFyZUtleSIsImRvUHJlcGFyYXRpb24iLCJwcmVwYXJlS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsInNvcnQiLCJjbGVhciIsIm5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyIsInNwZWNpZmllcnMiLCJzb21lIiwibmV3RGVmYXVsdEltcG9ydEV4aXN0cyIsImZpbGVJc0luUGtnIiwicGtnIiwiYmFzZVBhdGgiLCJjaGVja1BrZ0ZpZWxkU3RyaW5nIiwicGtnRmllbGQiLCJjaGVja1BrZ0ZpZWxkT2JqZWN0IiwicGtnRmllbGRGaWxlcyIsImNoZWNrUGtnRmllbGQiLCJiaW4iLCJicm93c2VyIiwibWFpbiIsIm1vZHVsZSIsIm1ldGEiLCJkb2NzIiwiY2F0ZWdvcnkiLCJkZXNjcmlwdGlvbiIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwibWluTGVuZ3RoIiwibWlzc2luZ0V4cG9ydHMiLCJ1bnVzZWRFeHBvcnRzIiwiYW55T2YiLCJtaW5JdGVtcyIsInJlcXVpcmVkIiwiY3JlYXRlIiwib3B0aW9ucyIsImdldFBoeXNpY2FsRmlsZW5hbWUiLCJnZXRGaWxlbmFtZSIsImNoZWNrRXhwb3J0UHJlc2VuY2UiLCJub2RlIiwiZXhwb3J0Q291bnQiLCJuYW1lc3BhY2VJbXBvcnRzIiwic2l6ZSIsInJlcG9ydCIsImJvZHkiLCJjaGVja1VzYWdlIiwiZXhwb3J0ZWRWYWx1ZSIsImV4cG9ydHNLZXkiLCJ1cGRhdGVFeHBvcnRVc2FnZSIsIm5ld0V4cG9ydHMiLCJuZXdFeHBvcnRJZGVudGlmaWVycyIsImxlbmd0aCIsImV4cG9ydGVkIiwidXBkYXRlSW1wb3J0VXNhZ2UiLCJvbGRJbXBvcnRQYXRocyIsIm9sZE5hbWVzcGFjZUltcG9ydHMiLCJuZXdOYW1lc3BhY2VJbXBvcnRzIiwib2xkRXhwb3J0QWxsIiwibmV3RXhwb3J0QWxsIiwib2xkRGVmYXVsdEltcG9ydHMiLCJuZXdEZWZhdWx0SW1wb3J0cyIsIm9sZEltcG9ydHMiLCJuZXdJbXBvcnRzIiwicHJvY2Vzc0R5bmFtaWNJbXBvcnQiLCJzb3VyY2UiLCJwIiwiSW1wb3J0RXhwcmVzc2lvbiIsImNoaWxkIiwiQ2FsbEV4cHJlc3Npb24iLCJjYWxsZWUiLCJhcmd1bWVudHMiLCJhc3ROb2RlIiwicmVzb2x2ZWRQYXRoIiwicmF3IiwicmVwbGFjZSIsImZpbHRlciIsImltcG9ydGVkIiwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uIiwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUE7QUFDQSxzRDtBQUNBLGtEO0FBQ0E7QUFDQSwyRDtBQUNBLHVDO0FBQ0EsK0M7QUFDQSx5RDs7QUFFQSx5QztBQUNBLHFDLDJVQWhCQTs7OzttWEFrQkEsSUFBSUEsdUJBQUosQ0FDQSxJQUFJQywyQkFBSjtBQUVBLElBQUk7QUFDb0JDLFVBQVEsNkJBQVIsQ0FEcEIsQ0FDQ0YsY0FERCxZQUNDQSxjQUREO0FBRUgsQ0FGRCxDQUVFLE9BQU9HLENBQVAsRUFBVTtBQUNWLE1BQUk7O0FBRW9CRCxZQUFRLHVDQUFSLENBRnBCLEVBQ0Y7QUFDR0Ysa0JBRkQsYUFFQ0EsY0FGRCxDQUdILENBSEQsQ0FHRSxPQUFPRyxDQUFQLEVBQVU7QUFDVixRQUFJO0FBQ0Y7QUFERSxzQkFFeURELFFBQVEsNEJBQVIsQ0FGekQsQ0FFMEJFLDBCQUYxQixhQUVNSCxrQkFGTjs7QUFJRjtBQUNBO0FBQ0E7QUFDQUEsMkJBQXFCLDRCQUFVSSxHQUFWLEVBQWVDLFVBQWYsRUFBMkI7QUFDOUMsZUFBT0YsMkJBQTJCQyxHQUEzQixFQUFnQztBQUNyQ0MsZ0NBRHFDLEVBQWhDLENBQVA7O0FBR0QsT0FKRDtBQUtELEtBWkQsQ0FZRSxPQUFPSCxDQUFQLEVBQVU7QUFDaURELGNBQVEsMkJBQVIsQ0FEakQsQ0FDa0JFLDJCQURsQixhQUNGSCxrQkFERTs7QUFHVkEsMkJBQXFCLDRCQUFVSSxHQUFWLEVBQWVDLFVBQWYsRUFBMkI7QUFDOUMsWUFBTUMsV0FBV0YsSUFBSUcsTUFBSixDQUFXLGlDQUFRSCxHQUFSLEVBQWEsVUFBQ0ksT0FBRCxVQUFhSCxXQUFXSSxHQUFYLENBQWUsVUFBQ0MsU0FBRCxVQUFnQixZQUFELENBQWNDLElBQWQsQ0FBbUJILE9BQW5CLElBQThCQSxPQUE5QixVQUEyQ0EsT0FBM0MscUJBQTBERSxTQUExRCxDQUFmLEdBQWYsQ0FBYixFQUFiLENBQVgsQ0FBakI7O0FBRUEsZUFBT1AsNEJBQTJCRyxRQUEzQixDQUFQO0FBQ0QsT0FKRDtBQUtEO0FBQ0Y7QUFDRjs7QUFFRCxJQUFJUCxjQUFKLEVBQW9CO0FBQ2xCQyx1QkFBcUIsNEJBQVVJLEdBQVYsRUFBZUMsVUFBZixFQUEyQjtBQUM5QyxRQUFNSCxJQUFJLElBQUlILGNBQUosQ0FBbUI7QUFDM0JNLDRCQUQyQixFQUFuQixDQUFWOzs7QUFJQSxXQUFPTyxNQUFNQyxJQUFOLENBQVdYLEVBQUVZLFlBQUYsQ0FBZVYsR0FBZixDQUFYLEVBQWdDLHFCQUFHVyxRQUFILFFBQUdBLFFBQUgsQ0FBYUMsT0FBYixRQUFhQSxPQUFiLFFBQTRCO0FBQ2pFQSx3QkFEaUU7QUFFakVDLGtCQUFVRixRQUZ1RCxFQUE1QixFQUFoQyxDQUFQOztBQUlELEdBVEQ7QUFVRDs7QUFFRCxJQUFNRyw2QkFBNkIsMEJBQW5DO0FBQ0EsSUFBTUMsMkJBQTJCLHdCQUFqQztBQUNBLElBQU1DLHlCQUF5QixzQkFBL0I7QUFDQSxJQUFNQyxxQkFBcUIsbUJBQTNCO0FBQ0EsSUFBTUMsNkJBQTZCLDBCQUFuQztBQUNBLElBQU1DLDJCQUEyQix3QkFBakM7QUFDQSxJQUFNQyx1QkFBdUIscUJBQTdCO0FBQ0EsSUFBTUMsdUJBQXVCLHFCQUE3QjtBQUNBLElBQU1DLG9CQUFvQixrQkFBMUI7QUFDQSxJQUFNQyxhQUFhLFlBQW5CO0FBQ0EsSUFBTUMsaUJBQWlCLGVBQXZCO0FBQ0EsSUFBTUMsZ0JBQWdCLGNBQXRCO0FBQ0EsSUFBTUMsMkJBQTJCLHdCQUFqQztBQUNBLElBQU1DLDRCQUE0Qix3QkFBbEM7QUFDQSxJQUFNQyxzQkFBc0IsbUJBQTVCO0FBQ0EsSUFBTUMsVUFBVSxTQUFoQjs7QUFFQSxTQUFTQyw0QkFBVCxDQUFzQ0MsV0FBdEMsRUFBbURDLEVBQW5ELEVBQXVEO0FBQ3JELE1BQUlELFdBQUosRUFBaUI7QUFDZjtBQUNFQSxnQkFBWUUsSUFBWixLQUFxQlosb0JBQXJCO0FBQ0dVLGdCQUFZRSxJQUFaLEtBQXFCWCxpQkFEeEI7QUFFR1MsZ0JBQVlFLElBQVosS0FBcUJQLHdCQUZ4QjtBQUdHSyxnQkFBWUUsSUFBWixLQUFxQk4seUJBSHhCO0FBSUdJLGdCQUFZRSxJQUFaLEtBQXFCTCxtQkFMMUI7QUFNRTtBQUNBSSxTQUFHRCxZQUFZRyxFQUFaLENBQWVDLElBQWxCO0FBQ0QsS0FSRCxNQVFPLElBQUlKLFlBQVlFLElBQVosS0FBcUJiLG9CQUF6QixFQUErQztBQUNwRFcsa0JBQVlLLFlBQVosQ0FBeUJDLE9BQXpCLENBQWlDLGlCQUFZLEtBQVRILEVBQVMsU0FBVEEsRUFBUztBQUMzQyxZQUFJQSxHQUFHRCxJQUFILEtBQVlULGNBQWhCLEVBQWdDO0FBQzlCLGtEQUF3QlUsRUFBeEIsRUFBNEIsVUFBQzlCLE9BQUQsRUFBYTtBQUN2QyxnQkFBSUEsUUFBUTZCLElBQVIsS0FBaUJWLFVBQXJCLEVBQWlDO0FBQy9CUyxpQkFBRzVCLFFBQVErQixJQUFYO0FBQ0Q7QUFDRixXQUpEO0FBS0QsU0FORCxNQU1PLElBQUlELEdBQUdELElBQUgsS0FBWVIsYUFBaEIsRUFBK0I7QUFDcENTLGFBQUdJLFFBQUgsQ0FBWUQsT0FBWixDQUFvQixpQkFBYyxLQUFYRixJQUFXLFNBQVhBLElBQVc7QUFDaENILGVBQUdHLElBQUg7QUFDRCxXQUZEO0FBR0QsU0FKTSxNQUlBO0FBQ0xILGFBQUdFLEdBQUdDLElBQU47QUFDRDtBQUNGLE9BZEQ7QUFlRDtBQUNGO0FBQ0Y7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsSUFBTUksYUFBYSxJQUFJQyxHQUFKLEVBQW5COztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBeUJBLElBQU1DLGFBQWEsSUFBSUQsR0FBSixFQUFuQjs7QUFFQSxJQUFNRSxnQkFBZ0IsSUFBSUYsR0FBSixFQUF0Qjs7QUFFQSxJQUFNRyxlQUFlLElBQUlDLEdBQUosRUFBckI7QUFDQSxJQUFNQyxrQkFBa0IsSUFBSUQsR0FBSixFQUF4Qjs7QUFFQSxJQUFNRSxlQUFlLFNBQWZBLFlBQWUsQ0FBQ0MsSUFBRCxVQUFXLHFCQUFELENBQXVCeEMsSUFBdkIsQ0FBNEJ3QyxJQUE1QixDQUFWLEdBQXJCOztBQUVBOzs7OztBQUtBLElBQU1DLGVBQWUsU0FBZkEsWUFBZSxDQUFDaEQsR0FBRCxFQUFNaUQsYUFBTixFQUFxQkMsT0FBckIsRUFBaUM7QUFDcEQsTUFBTWpELGFBQWFPLE1BQU1DLElBQU4sQ0FBVywrQkFBa0J5QyxRQUFRQyxRQUExQixDQUFYLENBQW5COztBQUVBLE1BQU1DLGNBQWN4RCxtQkFBbUJJLEdBQW5CLEVBQXdCQyxVQUF4QixDQUFwQjs7QUFFQTtBQUNBLE1BQU1vRCxtQkFBbUJ6RCxtQkFBbUJxRCxhQUFuQixFQUFrQ2hELFVBQWxDLENBQXpCO0FBQ0FvRCxtQkFBaUJoQixPQUFqQixDQUF5QixzQkFBR3hCLFFBQUgsU0FBR0EsUUFBSCxRQUFrQjhCLGFBQWFXLEdBQWIsQ0FBaUJ6QyxRQUFqQixDQUFsQixFQUF6Qjs7QUFFQTs7QUFFQSxTQUFPLElBQUkrQixHQUFKO0FBQ0wsbUNBQVFRLFdBQVIsRUFBcUIsc0JBQUd2QyxRQUFILFNBQUdBLFFBQUgsUUFBa0JpQyxhQUFhakMsUUFBYixJQUF5QixFQUF6QixHQUE4QkEsUUFBaEQsRUFBckIsQ0FESyxDQUFQOztBQUdELENBZEQ7O0FBZ0JBOzs7QUFHQSxJQUFNMEMsMkJBQTJCLFNBQTNCQSx3QkFBMkIsQ0FBQ0MsUUFBRCxFQUFXTixPQUFYLEVBQXVCO0FBQ3RELE1BQU1PLFlBQVksSUFBSWpCLEdBQUosRUFBbEI7QUFDQWdCLFdBQVNuQixPQUFULENBQWlCLFVBQUNxQixJQUFELEVBQVU7QUFDekIsUUFBTUMsVUFBVSxJQUFJbkIsR0FBSixFQUFoQjtBQUNBLFFBQU1vQixVQUFVLElBQUlwQixHQUFKLEVBQWhCO0FBQ0EsUUFBTXFCLGlCQUFpQkMsdUJBQVFDLEdBQVIsQ0FBWUwsSUFBWixFQUFrQlIsT0FBbEIsQ0FBdkI7QUFDQSxRQUFJVyxjQUFKLEVBQW9COztBQUVoQkcsa0JBRmdCOzs7OztBQU9kSCxvQkFQYyxDQUVoQkcsWUFGZ0IsQ0FHaEJDLFNBSGdCLEdBT2RKLGNBUGMsQ0FHaEJJLFNBSGdCLENBSVBDLGVBSk8sR0FPZEwsY0FQYyxDQUloQkQsT0FKZ0IsQ0FLaEJPLFNBTGdCLEdBT2ROLGNBUGMsQ0FLaEJNLFNBTGdCLENBTWhCQyxXQU5nQixHQU9kUCxjQVBjLENBTWhCTyxXQU5nQjs7QUFTbEIxQixvQkFBYzJCLEdBQWQsQ0FBa0JYLElBQWxCLEVBQXdCVSxXQUF4QjtBQUNBO0FBQ0EsVUFBTUUsbUJBQW1CLElBQUkxQixHQUFKLEVBQXpCO0FBQ0FvQixtQkFBYTNCLE9BQWIsQ0FBcUIsVUFBQ2tDLGFBQUQsRUFBbUI7QUFDdEMsWUFBTUMsYUFBYUQsZUFBbkI7QUFDQSxZQUFJQyxlQUFlLElBQW5CLEVBQXlCO0FBQ3ZCO0FBQ0Q7O0FBRURGLHlCQUFpQmhCLEdBQWpCLENBQXFCa0IsV0FBV3pCLElBQWhDO0FBQ0QsT0FQRDtBQVFBVSxnQkFBVVksR0FBVixDQUFjWCxJQUFkLEVBQW9CWSxnQkFBcEI7O0FBRUFMLGdCQUFVNUIsT0FBVixDQUFrQixVQUFDb0MsS0FBRCxFQUFRQyxHQUFSLEVBQWdCO0FBQ2hDLFlBQUlBLFFBQVE3QyxPQUFaLEVBQXFCO0FBQ25COEIsa0JBQVFVLEdBQVIsQ0FBWWxELHdCQUFaLEVBQXNDLEVBQUV3RCxXQUFXLElBQUkvQixHQUFKLEVBQWIsRUFBdEM7QUFDRCxTQUZELE1BRU87QUFDTGUsa0JBQVFVLEdBQVIsQ0FBWUssR0FBWixFQUFpQixFQUFFQyxXQUFXLElBQUkvQixHQUFKLEVBQWIsRUFBakI7QUFDRDtBQUNELFlBQU1nQyxXQUFZSCxNQUFNSSxTQUFOLEVBQWxCO0FBQ0EsWUFBSSxDQUFDRCxRQUFMLEVBQWU7QUFDYjtBQUNEO0FBQ0QsWUFBSUUsY0FBY2xCLFFBQVFHLEdBQVIsQ0FBWWEsU0FBUzdCLElBQXJCLENBQWxCO0FBQ0EsWUFBSWdDLHFCQUFKO0FBQ0EsWUFBSU4sTUFBTU8sS0FBTixLQUFnQm5ELE9BQXBCLEVBQTZCO0FBQzNCa0QseUJBQWU1RCx3QkFBZjtBQUNELFNBRkQsTUFFTztBQUNMNEQseUJBQWVOLE1BQU1PLEtBQXJCO0FBQ0Q7QUFDRCxZQUFJLE9BQU9GLFdBQVAsS0FBdUIsV0FBM0IsRUFBd0M7QUFDdENBLHdCQUFjLElBQUlsQyxHQUFKLDhCQUFZa0MsV0FBWixJQUF5QkMsWUFBekIsR0FBZDtBQUNELFNBRkQsTUFFTztBQUNMRCx3QkFBYyxJQUFJbEMsR0FBSixDQUFRLENBQUNtQyxZQUFELENBQVIsQ0FBZDtBQUNEO0FBQ0RuQixnQkFBUVMsR0FBUixDQUFZTyxTQUFTN0IsSUFBckIsRUFBMkIrQixXQUEzQjtBQUNELE9BdkJEOztBQXlCQVosc0JBQWdCN0IsT0FBaEIsQ0FBd0IsVUFBQ29DLEtBQUQsRUFBUUMsR0FBUixFQUFnQjtBQUN0QyxZQUFJNUIsYUFBYTRCLEdBQWIsQ0FBSixFQUF1QjtBQUNyQjtBQUNEO0FBQ0QsWUFBTUksY0FBY2xCLFFBQVFHLEdBQVIsQ0FBWVcsR0FBWixLQUFvQixJQUFJOUIsR0FBSixFQUF4QztBQUNBNkIsY0FBTXJDLFlBQU4sQ0FBbUJDLE9BQW5CLENBQTJCLGlCQUE0QixLQUF6QjRDLGtCQUF5QixTQUF6QkEsa0JBQXlCO0FBQ3JEQSw2QkFBbUI1QyxPQUFuQixDQUEyQixVQUFDNkMsU0FBRCxFQUFlO0FBQ3hDSix3QkFBWXhCLEdBQVosQ0FBZ0I0QixTQUFoQjtBQUNELFdBRkQ7QUFHRCxTQUpEO0FBS0F0QixnQkFBUVMsR0FBUixDQUFZSyxHQUFaLEVBQWlCSSxXQUFqQjtBQUNELE9BWEQ7QUFZQXZDLGlCQUFXOEIsR0FBWCxDQUFlWCxJQUFmLEVBQXFCRSxPQUFyQjs7QUFFQTtBQUNBLFVBQUlqQixhQUFhd0MsR0FBYixDQUFpQnpCLElBQWpCLENBQUosRUFBNEI7QUFDMUI7QUFDRDtBQUNEUyxnQkFBVTlCLE9BQVYsQ0FBa0IsVUFBQ29DLEtBQUQsRUFBUUMsR0FBUixFQUFnQjtBQUNoQyxZQUFJQSxRQUFRN0MsT0FBWixFQUFxQjtBQUNuQjhCLGtCQUFRVSxHQUFSLENBQVlsRCx3QkFBWixFQUFzQyxFQUFFd0QsV0FBVyxJQUFJL0IsR0FBSixFQUFiLEVBQXRDO0FBQ0QsU0FGRCxNQUVPO0FBQ0xlLGtCQUFRVSxHQUFSLENBQVlLLEdBQVosRUFBaUIsRUFBRUMsV0FBVyxJQUFJL0IsR0FBSixFQUFiLEVBQWpCO0FBQ0Q7QUFDRixPQU5EO0FBT0Q7QUFDRGUsWUFBUVUsR0FBUixDQUFZckQsc0JBQVosRUFBb0MsRUFBRTJELFdBQVcsSUFBSS9CLEdBQUosRUFBYixFQUFwQztBQUNBZSxZQUFRVSxHQUFSLENBQVluRCwwQkFBWixFQUF3QyxFQUFFeUQsV0FBVyxJQUFJL0IsR0FBSixFQUFiLEVBQXhDO0FBQ0FILGVBQVc0QixHQUFYLENBQWVYLElBQWYsRUFBcUJDLE9BQXJCO0FBQ0QsR0FoRkQ7QUFpRkFGLFlBQVVwQixPQUFWLENBQWtCLFVBQUNvQyxLQUFELEVBQVFDLEdBQVIsRUFBZ0I7QUFDaENELFVBQU1wQyxPQUFOLENBQWMsVUFBQytDLEdBQUQsRUFBUztBQUNyQixVQUFNdkIsaUJBQWlCcEIsV0FBV3NCLEdBQVgsQ0FBZXFCLEdBQWYsQ0FBdkI7QUFDQSxVQUFJdkIsY0FBSixFQUFvQjtBQUNsQixZQUFNd0IsZ0JBQWdCeEIsZUFBZUUsR0FBZixDQUFtQi9DLHNCQUFuQixDQUF0QjtBQUNBcUUsc0JBQWNWLFNBQWQsQ0FBd0JyQixHQUF4QixDQUE0Qm9CLEdBQTVCO0FBQ0Q7QUFDRixLQU5EO0FBT0QsR0FSRDtBQVNELENBNUZEOztBQThGQTs7OztBQUlBLElBQU1ZLGlCQUFpQixTQUFqQkEsY0FBaUIsR0FBTTtBQUMzQi9DLGFBQVdGLE9BQVgsQ0FBbUIsVUFBQ2tELFNBQUQsRUFBWUMsT0FBWixFQUF3QjtBQUN6Q0QsY0FBVWxELE9BQVYsQ0FBa0IsVUFBQ29DLEtBQUQsRUFBUUMsR0FBUixFQUFnQjtBQUNoQyxVQUFNZixVQUFVbEIsV0FBV3NCLEdBQVgsQ0FBZVcsR0FBZixDQUFoQjtBQUNBLFVBQUksT0FBT2YsT0FBUCxLQUFtQixXQUF2QixFQUFvQztBQUNsQ2MsY0FBTXBDLE9BQU4sQ0FBYyxVQUFDb0QsYUFBRCxFQUFtQjtBQUMvQixjQUFJUCxrQkFBSjtBQUNBLGNBQUlPLGtCQUFrQnZFLDBCQUF0QixFQUFrRDtBQUNoRGdFLHdCQUFZaEUsMEJBQVo7QUFDRCxXQUZELE1BRU8sSUFBSXVFLGtCQUFrQnRFLHdCQUF0QixFQUFnRDtBQUNyRCtELHdCQUFZL0Qsd0JBQVo7QUFDRCxXQUZNLE1BRUE7QUFDTCtELHdCQUFZTyxhQUFaO0FBQ0Q7QUFDRCxjQUFJLE9BQU9QLFNBQVAsS0FBcUIsV0FBekIsRUFBc0M7QUFDcEMsZ0JBQU1RLGtCQUFrQi9CLFFBQVFJLEdBQVIsQ0FBWW1CLFNBQVosQ0FBeEI7QUFDQSxnQkFBSSxPQUFPUSxlQUFQLEtBQTJCLFdBQS9CLEVBQTRDO0FBQ2xDZix1QkFEa0MsR0FDcEJlLGVBRG9CLENBQ2xDZixTQURrQztBQUUxQ0Esd0JBQVVyQixHQUFWLENBQWNrQyxPQUFkO0FBQ0E3QixzQkFBUVUsR0FBUixDQUFZYSxTQUFaLEVBQXVCLEVBQUVQLG9CQUFGLEVBQXZCO0FBQ0Q7QUFDRjtBQUNGLFNBakJEO0FBa0JEO0FBQ0YsS0F0QkQ7QUF1QkQsR0F4QkQ7QUF5QkQsQ0ExQkQ7O0FBNEJBLElBQU1nQixTQUFTLFNBQVRBLE1BQVMsQ0FBQzNGLEdBQUQsRUFBUztBQUN0QixNQUFJQSxHQUFKLEVBQVM7QUFDUCxXQUFPQSxHQUFQO0FBQ0Q7QUFDRCxTQUFPLENBQUM0RixRQUFRQyxHQUFSLEVBQUQsQ0FBUDtBQUNELENBTEQ7O0FBT0E7Ozs7QUFJQSxJQUFJckMsaUJBQUo7QUFDQSxJQUFJc0MsdUJBQUo7QUFDQSxJQUFNQyxnQkFBZ0IsU0FBaEJBLGFBQWdCLENBQUMvRixHQUFELEVBQU1pRCxhQUFOLEVBQXFCQyxPQUFyQixFQUFpQztBQUNyRCxNQUFNOEMsYUFBYUMsS0FBS0MsU0FBTCxDQUFlO0FBQ2hDbEcsU0FBSyxDQUFDQSxPQUFPLEVBQVIsRUFBWW1HLElBQVosRUFEMkI7QUFFaENsRCxtQkFBZSxDQUFDQSxpQkFBaUIsRUFBbEIsRUFBc0JrRCxJQUF0QixFQUZpQjtBQUdoQ2xHLGdCQUFZTyxNQUFNQyxJQUFOLENBQVcsK0JBQWtCeUMsUUFBUUMsUUFBMUIsQ0FBWCxFQUFnRGdELElBQWhELEVBSG9CLEVBQWYsQ0FBbkI7O0FBS0EsTUFBSUgsZUFBZUYsY0FBbkIsRUFBbUM7QUFDakM7QUFDRDs7QUFFRHZELGFBQVc2RCxLQUFYO0FBQ0EzRCxhQUFXMkQsS0FBWDtBQUNBekQsZUFBYXlELEtBQWI7QUFDQXZELGtCQUFnQnVELEtBQWhCOztBQUVBNUMsYUFBV1IsYUFBYTJDLE9BQU8zRixHQUFQLENBQWIsRUFBMEJpRCxhQUExQixFQUF5Q0MsT0FBekMsQ0FBWDtBQUNBSywyQkFBeUJDLFFBQXpCLEVBQW1DTixPQUFuQztBQUNBb0M7QUFDQVEsbUJBQWlCRSxVQUFqQjtBQUNELENBbkJEOztBQXFCQSxJQUFNSywyQkFBMkIsU0FBM0JBLHdCQUEyQixDQUFDQyxVQUFELFVBQWdCQSxXQUFXQyxJQUFYLENBQWdCLHNCQUFHdEUsSUFBSCxTQUFHQSxJQUFILFFBQWNBLFNBQVNmLDBCQUF2QixFQUFoQixDQUFoQixFQUFqQzs7QUFFQSxJQUFNc0YseUJBQXlCLFNBQXpCQSxzQkFBeUIsQ0FBQ0YsVUFBRCxVQUFnQkEsV0FBV0MsSUFBWCxDQUFnQixzQkFBR3RFLElBQUgsU0FBR0EsSUFBSCxRQUFjQSxTQUFTZCx3QkFBdkIsRUFBaEIsQ0FBaEIsRUFBL0I7O0FBRUEsSUFBTXNGLGNBQWMsU0FBZEEsV0FBYyxDQUFDL0MsSUFBRCxFQUFVO0FBQ04sOEJBQVUsRUFBRW1DLEtBQUtuQyxJQUFQLEVBQVYsQ0FETSxDQUNwQlgsSUFEb0IsY0FDcEJBLElBRG9CLENBQ2QyRCxHQURjLGNBQ2RBLEdBRGM7QUFFNUIsTUFBTUMsV0FBVyxtQkFBUTVELElBQVIsQ0FBakI7O0FBRUEsTUFBTTZELHNCQUFzQixTQUF0QkEsbUJBQXNCLENBQUNDLFFBQUQsRUFBYztBQUN4QyxRQUFJLGdCQUFLRixRQUFMLEVBQWVFLFFBQWYsTUFBNkJuRCxJQUFqQyxFQUF1QztBQUNyQyxhQUFPLElBQVA7QUFDRDtBQUNGLEdBSkQ7O0FBTUEsTUFBTW9ELHNCQUFzQixTQUF0QkEsbUJBQXNCLENBQUNELFFBQUQsRUFBYztBQUN4QyxRQUFNRSxnQkFBZ0IsaUNBQVEseUJBQU9GLFFBQVAsQ0FBUixFQUEwQixVQUFDcEMsS0FBRCxVQUFXLE9BQU9BLEtBQVAsS0FBaUIsU0FBakIsR0FBNkIsRUFBN0IsR0FBa0MsZ0JBQUtrQyxRQUFMLEVBQWVsQyxLQUFmLENBQTdDLEVBQTFCLENBQXRCOztBQUVBLFFBQUksZ0NBQVNzQyxhQUFULEVBQXdCckQsSUFBeEIsQ0FBSixFQUFtQztBQUNqQyxhQUFPLElBQVA7QUFDRDtBQUNGLEdBTkQ7O0FBUUEsTUFBTXNELGdCQUFnQixTQUFoQkEsYUFBZ0IsQ0FBQ0gsUUFBRCxFQUFjO0FBQ2xDLFFBQUksT0FBT0EsUUFBUCxLQUFvQixRQUF4QixFQUFrQztBQUNoQyxhQUFPRCxvQkFBb0JDLFFBQXBCLENBQVA7QUFDRDs7QUFFRCxRQUFJLFFBQU9BLFFBQVAseUNBQU9BLFFBQVAsT0FBb0IsUUFBeEIsRUFBa0M7QUFDaEMsYUFBT0Msb0JBQW9CRCxRQUFwQixDQUFQO0FBQ0Q7QUFDRixHQVJEOztBQVVBLE1BQUlILG1CQUFnQixJQUFwQixFQUEwQjtBQUN4QixXQUFPLEtBQVA7QUFDRDs7QUFFRCxNQUFJQSxJQUFJTyxHQUFSLEVBQWE7QUFDWCxRQUFJRCxjQUFjTixJQUFJTyxHQUFsQixDQUFKLEVBQTRCO0FBQzFCLGFBQU8sSUFBUDtBQUNEO0FBQ0Y7O0FBRUQsTUFBSVAsSUFBSVEsT0FBUixFQUFpQjtBQUNmLFFBQUlGLGNBQWNOLElBQUlRLE9BQWxCLENBQUosRUFBZ0M7QUFDOUIsYUFBTyxJQUFQO0FBQ0Q7QUFDRjs7QUFFRCxNQUFJUixJQUFJUyxJQUFSLEVBQWM7QUFDWixRQUFJUCxvQkFBb0JGLElBQUlTLElBQXhCLENBQUosRUFBbUM7QUFDakMsYUFBTyxJQUFQO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPLEtBQVA7QUFDRCxDQW5ERDs7QUFxREFDLE9BQU96RCxPQUFQLEdBQWlCO0FBQ2YwRCxRQUFNO0FBQ0pwRixVQUFNLFlBREY7QUFFSnFGLFVBQU07QUFDSkMsZ0JBQVUsa0JBRE47QUFFSkMsbUJBQWEsdUZBRlQ7QUFHSkMsV0FBSywwQkFBUSxtQkFBUixDQUhELEVBRkY7O0FBT0pDLFlBQVEsQ0FBQztBQUNQQyxrQkFBWTtBQUNWM0gsYUFBSztBQUNId0gsdUJBQWEsc0RBRFY7QUFFSHZGLGdCQUFNLE9BRkg7QUFHSDJGLHVCQUFhLElBSFY7QUFJSEMsaUJBQU87QUFDTDVGLGtCQUFNLFFBREQ7QUFFTDZGLHVCQUFXLENBRk4sRUFKSixFQURLOzs7QUFVVjdFLHVCQUFlO0FBQ2J1RSx1QkFBYSxxRkFEQTtBQUVidkYsZ0JBQU0sT0FGTztBQUdiMkYsdUJBQWEsSUFIQTtBQUliQyxpQkFBTztBQUNMNUYsa0JBQU0sUUFERDtBQUVMNkYsdUJBQVcsQ0FGTixFQUpNLEVBVkw7OztBQW1CVkMsd0JBQWdCO0FBQ2RQLHVCQUFhLG9DQURDO0FBRWR2RixnQkFBTSxTQUZRLEVBbkJOOztBQXVCVitGLHVCQUFlO0FBQ2JSLHVCQUFhLGtDQURBO0FBRWJ2RixnQkFBTSxTQUZPLEVBdkJMLEVBREw7OztBQTZCUGdHLGFBQU87QUFDTDtBQUNFTixvQkFBWTtBQUNWSyx5QkFBZSxFQUFFLFFBQU0sQ0FBQyxJQUFELENBQVIsRUFETDtBQUVWaEksZUFBSztBQUNIa0ksc0JBQVUsQ0FEUCxFQUZLLEVBRGQ7OztBQU9FQyxrQkFBVSxDQUFDLGVBQUQsQ0FQWixFQURLOztBQVVMO0FBQ0VSLG9CQUFZO0FBQ1ZJLDBCQUFnQixFQUFFLFFBQU0sQ0FBQyxJQUFELENBQVIsRUFETixFQURkOztBQUlFSSxrQkFBVSxDQUFDLGdCQUFELENBSlosRUFWSyxDQTdCQSxFQUFELENBUEosRUFEUzs7Ozs7O0FBeURmQyxRQXpEZSwrQkF5RFJsRixPQXpEUSxFQXlEQzs7Ozs7O0FBTVZBLGNBQVFtRixPQUFSLENBQWdCLENBQWhCLEtBQXNCLEVBTlosQ0FFWnJJLEdBRlksU0FFWkEsR0FGWSw2QkFHWmlELGFBSFksQ0FHWkEsYUFIWSx1Q0FHSSxFQUhKLHVCQUlaOEUsY0FKWSxTQUlaQSxjQUpZLENBS1pDLGFBTFksU0FLWkEsYUFMWTs7QUFRZCxVQUFJQSxhQUFKLEVBQW1CO0FBQ2pCakMsc0JBQWMvRixHQUFkLEVBQW1CaUQsYUFBbkIsRUFBa0NDLE9BQWxDO0FBQ0Q7O0FBRUQsVUFBTVEsT0FBT1IsUUFBUW9GLG1CQUFSLEdBQThCcEYsUUFBUW9GLG1CQUFSLEVBQTlCLEdBQThEcEYsUUFBUXFGLFdBQVIsRUFBM0U7O0FBRUEsVUFBTUMsbUNBQXNCLFNBQXRCQSxtQkFBc0IsQ0FBQ0MsSUFBRCxFQUFVO0FBQ3BDLGNBQUksQ0FBQ1YsY0FBTCxFQUFxQjtBQUNuQjtBQUNEOztBQUVELGNBQUlwRixhQUFhd0MsR0FBYixDQUFpQnpCLElBQWpCLENBQUosRUFBNEI7QUFDMUI7QUFDRDs7QUFFRCxjQUFNZ0YsY0FBY2pHLFdBQVdzQixHQUFYLENBQWVMLElBQWYsQ0FBcEI7QUFDQSxjQUFNRCxZQUFZaUYsWUFBWTNFLEdBQVosQ0FBZ0IvQyxzQkFBaEIsQ0FBbEI7QUFDQSxjQUFNMkgsbUJBQW1CRCxZQUFZM0UsR0FBWixDQUFnQjdDLDBCQUFoQixDQUF6Qjs7QUFFQXdILGdDQUFtQjFILHNCQUFuQjtBQUNBMEgsZ0NBQW1CeEgsMEJBQW5CO0FBQ0EsY0FBSXdILFlBQVlFLElBQVosR0FBbUIsQ0FBdkIsRUFBMEI7QUFDeEI7QUFDQTtBQUNBMUYsb0JBQVEyRixNQUFSLENBQWVKLEtBQUtLLElBQUwsQ0FBVSxDQUFWLElBQWVMLEtBQUtLLElBQUwsQ0FBVSxDQUFWLENBQWYsR0FBOEJMLElBQTdDLEVBQW1ELGtCQUFuRDtBQUNEO0FBQ0RDLHNCQUFZckUsR0FBWixDQUFnQnJELHNCQUFoQixFQUF3Q3lDLFNBQXhDO0FBQ0FpRixzQkFBWXJFLEdBQVosQ0FBZ0JuRCwwQkFBaEIsRUFBNEN5SCxnQkFBNUM7QUFDRCxTQXRCSyw4QkFBTjs7QUF3QkEsVUFBTUksMEJBQWEsU0FBYkEsVUFBYSxDQUFDTixJQUFELEVBQU9PLGFBQVAsRUFBeUI7QUFDMUMsY0FBSSxDQUFDaEIsYUFBTCxFQUFvQjtBQUNsQjtBQUNEOztBQUVELGNBQUlyRixhQUFhd0MsR0FBYixDQUFpQnpCLElBQWpCLENBQUosRUFBNEI7QUFDMUI7QUFDRDs7QUFFRCxjQUFJK0MsWUFBWS9DLElBQVosQ0FBSixFQUF1QjtBQUNyQjtBQUNEOztBQUVELGNBQUliLGdCQUFnQnNDLEdBQWhCLENBQW9CekIsSUFBcEIsQ0FBSixFQUErQjtBQUM3QjtBQUNEOztBQUVEO0FBQ0EsY0FBSSxDQUFDRixTQUFTMkIsR0FBVCxDQUFhekIsSUFBYixDQUFMLEVBQXlCO0FBQ3ZCRix1QkFBV1IsYUFBYTJDLE9BQU8zRixHQUFQLENBQWIsRUFBMEJpRCxhQUExQixFQUF5Q0MsT0FBekMsQ0FBWDtBQUNBLGdCQUFJLENBQUNNLFNBQVMyQixHQUFULENBQWF6QixJQUFiLENBQUwsRUFBeUI7QUFDdkJiLDhCQUFnQlMsR0FBaEIsQ0FBb0JJLElBQXBCO0FBQ0E7QUFDRDtBQUNGOztBQUVEQyxvQkFBVWxCLFdBQVdzQixHQUFYLENBQWVMLElBQWYsQ0FBVjs7QUFFQTtBQUNBLGNBQU1ELFlBQVlFLFFBQVFJLEdBQVIsQ0FBWS9DLHNCQUFaLENBQWxCO0FBQ0EsY0FBSSxPQUFPeUMsU0FBUCxLQUFxQixXQUFyQixJQUFvQ3VGLGtCQUFrQjdILHdCQUExRCxFQUFvRjtBQUNsRixnQkFBSXNDLFVBQVVrQixTQUFWLENBQW9CaUUsSUFBcEIsR0FBMkIsQ0FBL0IsRUFBa0M7QUFDaEM7QUFDRDtBQUNGOztBQUVEO0FBQ0EsY0FBTUQsbUJBQW1CaEYsUUFBUUksR0FBUixDQUFZN0MsMEJBQVosQ0FBekI7QUFDQSxjQUFJLE9BQU95SCxnQkFBUCxLQUE0QixXQUFoQyxFQUE2QztBQUMzQyxnQkFBSUEsaUJBQWlCaEUsU0FBakIsQ0FBMkJpRSxJQUEzQixHQUFrQyxDQUF0QyxFQUF5QztBQUN2QztBQUNEO0FBQ0Y7O0FBRUQ7QUFDQSxjQUFNSyxhQUFhRCxrQkFBa0JuSCxPQUFsQixHQUE0QlYsd0JBQTVCLEdBQXVENkgsYUFBMUU7O0FBRUEsY0FBTXRELGtCQUFrQi9CLFFBQVFJLEdBQVIsQ0FBWWtGLFVBQVosQ0FBeEI7O0FBRUEsY0FBTXhFLFFBQVF3RSxlQUFlOUgsd0JBQWYsR0FBMENVLE9BQTFDLEdBQW9Eb0gsVUFBbEU7O0FBRUEsY0FBSSxPQUFPdkQsZUFBUCxLQUEyQixXQUEvQixFQUE0QztBQUMxQyxnQkFBSUEsZ0JBQWdCZixTQUFoQixDQUEwQmlFLElBQTFCLEdBQWlDLENBQXJDLEVBQXdDO0FBQ3RDMUYsc0JBQVEyRixNQUFSO0FBQ0VKLGtCQURGO0FBRTJCaEUsbUJBRjNCOztBQUlEO0FBQ0YsV0FQRCxNQU9PO0FBQ0x2QixvQkFBUTJGLE1BQVI7QUFDRUosZ0JBREY7QUFFMkJoRSxpQkFGM0I7O0FBSUQ7QUFDRixTQWhFSyxxQkFBTjs7QUFrRUE7Ozs7O0FBS0EsVUFBTXlFLGlDQUFvQixTQUFwQkEsaUJBQW9CLENBQUNULElBQUQsRUFBVTtBQUNsQyxjQUFJOUYsYUFBYXdDLEdBQWIsQ0FBaUJ6QixJQUFqQixDQUFKLEVBQTRCO0FBQzFCO0FBQ0Q7O0FBRUQsY0FBSUMsVUFBVWxCLFdBQVdzQixHQUFYLENBQWVMLElBQWYsQ0FBZDs7QUFFQTtBQUNBO0FBQ0EsY0FBSSxPQUFPQyxPQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDQSxzQkFBVSxJQUFJbkIsR0FBSixFQUFWO0FBQ0Q7O0FBRUQsY0FBTTJHLGFBQWEsSUFBSTNHLEdBQUosRUFBbkI7QUFDQSxjQUFNNEcsdUJBQXVCLElBQUl4RyxHQUFKLEVBQTdCOztBQUVBNkYsZUFBS0ssSUFBTCxDQUFVekcsT0FBVixDQUFrQixrQkFBdUMsS0FBcENKLElBQW9DLFVBQXBDQSxJQUFvQyxDQUE5QkYsV0FBOEIsVUFBOUJBLFdBQThCLENBQWpCdUUsVUFBaUIsVUFBakJBLFVBQWlCO0FBQ3ZELGdCQUFJckUsU0FBU25CLDBCQUFiLEVBQXlDO0FBQ3ZDc0ksbUNBQXFCOUYsR0FBckIsQ0FBeUJuQyx3QkFBekI7QUFDRDtBQUNELGdCQUFJYyxTQUFTbEIsd0JBQWIsRUFBdUM7QUFDckMsa0JBQUl1RixXQUFXK0MsTUFBWCxHQUFvQixDQUF4QixFQUEyQjtBQUN6Qi9DLDJCQUFXakUsT0FBWCxDQUFtQixVQUFDNkMsU0FBRCxFQUFlO0FBQ2hDLHNCQUFJQSxVQUFVb0UsUUFBZCxFQUF3QjtBQUN0QkYseUNBQXFCOUYsR0FBckIsQ0FBeUI0QixVQUFVb0UsUUFBVixDQUFtQm5ILElBQW5CLElBQTJCK0MsVUFBVW9FLFFBQVYsQ0FBbUI3RSxLQUF2RTtBQUNEO0FBQ0YsaUJBSkQ7QUFLRDtBQUNEM0MsMkNBQTZCQyxXQUE3QixFQUEwQyxVQUFDSSxJQUFELEVBQVU7QUFDbERpSCxxQ0FBcUI5RixHQUFyQixDQUF5Qm5CLElBQXpCO0FBQ0QsZUFGRDtBQUdEO0FBQ0YsV0FoQkQ7O0FBa0JBO0FBQ0F3QixrQkFBUXRCLE9BQVIsQ0FBZ0IsVUFBQ29DLEtBQUQsRUFBUUMsR0FBUixFQUFnQjtBQUM5QixnQkFBSTBFLHFCQUFxQmpFLEdBQXJCLENBQXlCVCxHQUF6QixDQUFKLEVBQW1DO0FBQ2pDeUUseUJBQVc5RSxHQUFYLENBQWVLLEdBQWYsRUFBb0JELEtBQXBCO0FBQ0Q7QUFDRixXQUpEOztBQU1BO0FBQ0EyRSwrQkFBcUIvRyxPQUFyQixDQUE2QixVQUFDcUMsR0FBRCxFQUFTO0FBQ3BDLGdCQUFJLENBQUNmLFFBQVF3QixHQUFSLENBQVlULEdBQVosQ0FBTCxFQUF1QjtBQUNyQnlFLHlCQUFXOUUsR0FBWCxDQUFlSyxHQUFmLEVBQW9CLEVBQUVDLFdBQVcsSUFBSS9CLEdBQUosRUFBYixFQUFwQjtBQUNEO0FBQ0YsV0FKRDs7QUFNQTtBQUNBLGNBQU1hLFlBQVlFLFFBQVFJLEdBQVIsQ0FBWS9DLHNCQUFaLENBQWxCO0FBQ0EsY0FBSTJILG1CQUFtQmhGLFFBQVFJLEdBQVIsQ0FBWTdDLDBCQUFaLENBQXZCOztBQUVBLGNBQUksT0FBT3lILGdCQUFQLEtBQTRCLFdBQWhDLEVBQTZDO0FBQzNDQSwrQkFBbUIsRUFBRWhFLFdBQVcsSUFBSS9CLEdBQUosRUFBYixFQUFuQjtBQUNEOztBQUVEdUcscUJBQVc5RSxHQUFYLENBQWVyRCxzQkFBZixFQUF1Q3lDLFNBQXZDO0FBQ0EwRixxQkFBVzlFLEdBQVgsQ0FBZW5ELDBCQUFmLEVBQTJDeUgsZ0JBQTNDO0FBQ0FsRyxxQkFBVzRCLEdBQVgsQ0FBZVgsSUFBZixFQUFxQnlGLFVBQXJCO0FBQ0QsU0EzREssNEJBQU47O0FBNkRBOzs7OztBQUtBLFVBQU1JLGlDQUFvQixTQUFwQkEsaUJBQW9CLENBQUNkLElBQUQsRUFBVTtBQUNsQyxjQUFJLENBQUNULGFBQUwsRUFBb0I7QUFDbEI7QUFDRDs7QUFFRCxjQUFJd0IsaUJBQWlCakgsV0FBV3dCLEdBQVgsQ0FBZUwsSUFBZixDQUFyQjtBQUNBLGNBQUksT0FBTzhGLGNBQVAsS0FBMEIsV0FBOUIsRUFBMkM7QUFDekNBLDZCQUFpQixJQUFJaEgsR0FBSixFQUFqQjtBQUNEOztBQUVELGNBQU1pSCxzQkFBc0IsSUFBSTdHLEdBQUosRUFBNUI7QUFDQSxjQUFNOEcsc0JBQXNCLElBQUk5RyxHQUFKLEVBQTVCOztBQUVBLGNBQU0rRyxlQUFlLElBQUkvRyxHQUFKLEVBQXJCO0FBQ0EsY0FBTWdILGVBQWUsSUFBSWhILEdBQUosRUFBckI7O0FBRUEsY0FBTWlILG9CQUFvQixJQUFJakgsR0FBSixFQUExQjtBQUNBLGNBQU1rSCxvQkFBb0IsSUFBSWxILEdBQUosRUFBMUI7O0FBRUEsY0FBTW1ILGFBQWEsSUFBSXZILEdBQUosRUFBbkI7QUFDQSxjQUFNd0gsYUFBYSxJQUFJeEgsR0FBSixFQUFuQjtBQUNBZ0gseUJBQWVuSCxPQUFmLENBQXVCLFVBQUNvQyxLQUFELEVBQVFDLEdBQVIsRUFBZ0I7QUFDckMsZ0JBQUlELE1BQU1VLEdBQU4sQ0FBVW5FLHNCQUFWLENBQUosRUFBdUM7QUFDckMySSwyQkFBYXJHLEdBQWIsQ0FBaUJvQixHQUFqQjtBQUNEO0FBQ0QsZ0JBQUlELE1BQU1VLEdBQU4sQ0FBVWpFLDBCQUFWLENBQUosRUFBMkM7QUFDekN1SSxrQ0FBb0JuRyxHQUFwQixDQUF3Qm9CLEdBQXhCO0FBQ0Q7QUFDRCxnQkFBSUQsTUFBTVUsR0FBTixDQUFVaEUsd0JBQVYsQ0FBSixFQUF5QztBQUN2QzBJLGdDQUFrQnZHLEdBQWxCLENBQXNCb0IsR0FBdEI7QUFDRDtBQUNERCxrQkFBTXBDLE9BQU4sQ0FBYyxVQUFDK0MsR0FBRCxFQUFTO0FBQ3JCO0FBQ0VBLHNCQUFRbEUsMEJBQVI7QUFDR2tFLHNCQUFRakUsd0JBRmI7QUFHRTtBQUNBNEksMkJBQVcxRixHQUFYLENBQWVlLEdBQWYsRUFBb0JWLEdBQXBCO0FBQ0Q7QUFDRixhQVBEO0FBUUQsV0FsQkQ7O0FBb0JBLG1CQUFTdUYsb0JBQVQsQ0FBOEJDLE1BQTlCLEVBQXNDO0FBQ3BDLGdCQUFJQSxPQUFPakksSUFBUCxLQUFnQixTQUFwQixFQUErQjtBQUM3QixxQkFBTyxJQUFQO0FBQ0Q7QUFDRCxnQkFBTWtJLElBQUksMEJBQVFELE9BQU96RixLQUFmLEVBQXNCdkIsT0FBdEIsQ0FBVjtBQUNBLGdCQUFJaUgsS0FBSyxJQUFULEVBQWU7QUFDYixxQkFBTyxJQUFQO0FBQ0Q7QUFDRFQsZ0NBQW9CcEcsR0FBcEIsQ0FBd0I2RyxDQUF4QjtBQUNEOztBQUVELGtDQUFNMUIsSUFBTixFQUFZL0YsY0FBY3FCLEdBQWQsQ0FBa0JMLElBQWxCLENBQVosRUFBcUM7QUFDbkMwRyw0QkFEbUMseUNBQ2xCQyxLQURrQixFQUNYO0FBQ3RCSixxQ0FBcUJJLE1BQU1ILE1BQTNCO0FBQ0QsZUFIa0M7QUFJbkNJLDBCQUptQyx1Q0FJcEJELEtBSm9CLEVBSWI7QUFDcEIsb0JBQUlBLE1BQU1FLE1BQU4sQ0FBYXRJLElBQWIsS0FBc0IsUUFBMUIsRUFBb0M7QUFDbENnSSx1Q0FBcUJJLE1BQU1HLFNBQU4sQ0FBZ0IsQ0FBaEIsQ0FBckI7QUFDRDtBQUNGLGVBUmtDLDJCQUFyQzs7O0FBV0EvQixlQUFLSyxJQUFMLENBQVV6RyxPQUFWLENBQWtCLFVBQUNvSSxPQUFELEVBQWE7QUFDN0IsZ0JBQUlDLHFCQUFKOztBQUVBO0FBQ0EsZ0JBQUlELFFBQVF4SSxJQUFSLEtBQWlCbEIsd0JBQXJCLEVBQStDO0FBQzdDLGtCQUFJMEosUUFBUVAsTUFBWixFQUFvQjtBQUNsQlEsK0JBQWUsMEJBQVFELFFBQVFQLE1BQVIsQ0FBZVMsR0FBZixDQUFtQkMsT0FBbkIsQ0FBMkIsUUFBM0IsRUFBcUMsRUFBckMsQ0FBUixFQUFrRDFILE9BQWxELENBQWY7QUFDQXVILHdCQUFRbkUsVUFBUixDQUFtQmpFLE9BQW5CLENBQTJCLFVBQUM2QyxTQUFELEVBQWU7QUFDeEMsc0JBQU0vQyxPQUFPK0MsVUFBVUYsS0FBVixDQUFnQjdDLElBQWhCLElBQXdCK0MsVUFBVUYsS0FBVixDQUFnQlAsS0FBckQ7QUFDQSxzQkFBSXRDLFNBQVNOLE9BQWIsRUFBc0I7QUFDcEJpSSxzQ0FBa0J4RyxHQUFsQixDQUFzQm9ILFlBQXRCO0FBQ0QsbUJBRkQsTUFFTztBQUNMViwrQkFBVzNGLEdBQVgsQ0FBZWxDLElBQWYsRUFBcUJ1SSxZQUFyQjtBQUNEO0FBQ0YsaUJBUEQ7QUFRRDtBQUNGOztBQUVELGdCQUFJRCxRQUFReEksSUFBUixLQUFpQmpCLHNCQUFyQixFQUE2QztBQUMzQzBKLDZCQUFlLDBCQUFRRCxRQUFRUCxNQUFSLENBQWVTLEdBQWYsQ0FBbUJDLE9BQW5CLENBQTJCLFFBQTNCLEVBQXFDLEVBQXJDLENBQVIsRUFBa0QxSCxPQUFsRCxDQUFmO0FBQ0EwRywyQkFBYXRHLEdBQWIsQ0FBaUJvSCxZQUFqQjtBQUNEOztBQUVELGdCQUFJRCxRQUFReEksSUFBUixLQUFpQmhCLGtCQUFyQixFQUF5QztBQUN2Q3lKLDZCQUFlLDBCQUFRRCxRQUFRUCxNQUFSLENBQWVTLEdBQWYsQ0FBbUJDLE9BQW5CLENBQTJCLFFBQTNCLEVBQXFDLEVBQXJDLENBQVIsRUFBa0QxSCxPQUFsRCxDQUFmO0FBQ0Esa0JBQUksQ0FBQ3dILFlBQUwsRUFBbUI7QUFDakI7QUFDRDs7QUFFRCxrQkFBSTVILGFBQWE0SCxZQUFiLENBQUosRUFBZ0M7QUFDOUI7QUFDRDs7QUFFRCxrQkFBSXJFLHlCQUF5Qm9FLFFBQVFuRSxVQUFqQyxDQUFKLEVBQWtEO0FBQ2hEb0Qsb0NBQW9CcEcsR0FBcEIsQ0FBd0JvSCxZQUF4QjtBQUNEOztBQUVELGtCQUFJbEUsdUJBQXVCaUUsUUFBUW5FLFVBQS9CLENBQUosRUFBZ0Q7QUFDOUN3RCxrQ0FBa0J4RyxHQUFsQixDQUFzQm9ILFlBQXRCO0FBQ0Q7O0FBRURELHNCQUFRbkUsVUFBUjtBQUNHdUUsb0JBREgsQ0FDVSxVQUFDM0YsU0FBRCxVQUFlQSxVQUFVakQsSUFBVixLQUFtQmQsd0JBQW5CLElBQStDK0QsVUFBVWpELElBQVYsS0FBbUJmLDBCQUFqRixFQURWO0FBRUdtQixxQkFGSCxDQUVXLFVBQUM2QyxTQUFELEVBQWU7QUFDdEI4RSwyQkFBVzNGLEdBQVgsQ0FBZWEsVUFBVTRGLFFBQVYsQ0FBbUIzSSxJQUFuQixJQUEyQitDLFVBQVU0RixRQUFWLENBQW1CckcsS0FBN0QsRUFBb0VpRyxZQUFwRTtBQUNELGVBSkg7QUFLRDtBQUNGLFdBL0NEOztBQWlEQWQsdUJBQWF2SCxPQUFiLENBQXFCLFVBQUNvQyxLQUFELEVBQVc7QUFDOUIsZ0JBQUksQ0FBQ2tGLGFBQWF4RSxHQUFiLENBQWlCVixLQUFqQixDQUFMLEVBQThCO0FBQzVCLGtCQUFJYixVQUFVNEYsZUFBZXpGLEdBQWYsQ0FBbUJVLEtBQW5CLENBQWQ7QUFDQSxrQkFBSSxPQUFPYixPQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDQSwwQkFBVSxJQUFJaEIsR0FBSixFQUFWO0FBQ0Q7QUFDRGdCLHNCQUFRTixHQUFSLENBQVl0QyxzQkFBWjtBQUNBd0ksNkJBQWVuRixHQUFmLENBQW1CSSxLQUFuQixFQUEwQmIsT0FBMUI7O0FBRUEsa0JBQUlELFdBQVVsQixXQUFXc0IsR0FBWCxDQUFlVSxLQUFmLENBQWQ7QUFDQSxrQkFBSVksc0JBQUo7QUFDQSxrQkFBSSxPQUFPMUIsUUFBUCxLQUFtQixXQUF2QixFQUFvQztBQUNsQzBCLGdDQUFnQjFCLFNBQVFJLEdBQVIsQ0FBWS9DLHNCQUFaLENBQWhCO0FBQ0QsZUFGRCxNQUVPO0FBQ0wyQywyQkFBVSxJQUFJbkIsR0FBSixFQUFWO0FBQ0FDLDJCQUFXNEIsR0FBWCxDQUFlSSxLQUFmLEVBQXNCZCxRQUF0QjtBQUNEOztBQUVELGtCQUFJLE9BQU8wQixhQUFQLEtBQXlCLFdBQTdCLEVBQTBDO0FBQ3hDQSw4QkFBY1YsU0FBZCxDQUF3QnJCLEdBQXhCLENBQTRCSSxJQUE1QjtBQUNELGVBRkQsTUFFTztBQUNMLG9CQUFNaUIsWUFBWSxJQUFJL0IsR0FBSixFQUFsQjtBQUNBK0IsMEJBQVVyQixHQUFWLENBQWNJLElBQWQ7QUFDQUMseUJBQVFVLEdBQVIsQ0FBWXJELHNCQUFaLEVBQW9DLEVBQUUyRCxvQkFBRixFQUFwQztBQUNEO0FBQ0Y7QUFDRixXQTFCRDs7QUE0QkFnRix1QkFBYXRILE9BQWIsQ0FBcUIsVUFBQ29DLEtBQUQsRUFBVztBQUM5QixnQkFBSSxDQUFDbUYsYUFBYXpFLEdBQWIsQ0FBaUJWLEtBQWpCLENBQUwsRUFBOEI7QUFDNUIsa0JBQU1iLFVBQVU0RixlQUFlekYsR0FBZixDQUFtQlUsS0FBbkIsQ0FBaEI7QUFDQWIsZ0NBQWU1QyxzQkFBZjs7QUFFQSxrQkFBTTJDLFlBQVVsQixXQUFXc0IsR0FBWCxDQUFlVSxLQUFmLENBQWhCO0FBQ0Esa0JBQUksT0FBT2QsU0FBUCxLQUFtQixXQUF2QixFQUFvQztBQUNsQyxvQkFBTTBCLGdCQUFnQjFCLFVBQVFJLEdBQVIsQ0FBWS9DLHNCQUFaLENBQXRCO0FBQ0Esb0JBQUksT0FBT3FFLGFBQVAsS0FBeUIsV0FBN0IsRUFBMEM7QUFDeENBLGdDQUFjVixTQUFkLFdBQStCakIsSUFBL0I7QUFDRDtBQUNGO0FBQ0Y7QUFDRixXQWJEOztBQWVBb0csNEJBQWtCekgsT0FBbEIsQ0FBMEIsVUFBQ29DLEtBQUQsRUFBVztBQUNuQyxnQkFBSSxDQUFDb0Ysa0JBQWtCMUUsR0FBbEIsQ0FBc0JWLEtBQXRCLENBQUwsRUFBbUM7QUFDakMsa0JBQUliLFVBQVU0RixlQUFlekYsR0FBZixDQUFtQlUsS0FBbkIsQ0FBZDtBQUNBLGtCQUFJLE9BQU9iLE9BQVAsS0FBbUIsV0FBdkIsRUFBb0M7QUFDbENBLDBCQUFVLElBQUloQixHQUFKLEVBQVY7QUFDRDtBQUNEZ0Isc0JBQVFOLEdBQVIsQ0FBWW5DLHdCQUFaO0FBQ0FxSSw2QkFBZW5GLEdBQWYsQ0FBbUJJLEtBQW5CLEVBQTBCYixPQUExQjs7QUFFQSxrQkFBSUQsWUFBVWxCLFdBQVdzQixHQUFYLENBQWVVLEtBQWYsQ0FBZDtBQUNBLGtCQUFJWSxzQkFBSjtBQUNBLGtCQUFJLE9BQU8xQixTQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDMEIsZ0NBQWdCMUIsVUFBUUksR0FBUixDQUFZNUMsd0JBQVosQ0FBaEI7QUFDRCxlQUZELE1BRU87QUFDTHdDLDRCQUFVLElBQUluQixHQUFKLEVBQVY7QUFDQUMsMkJBQVc0QixHQUFYLENBQWVJLEtBQWYsRUFBc0JkLFNBQXRCO0FBQ0Q7O0FBRUQsa0JBQUksT0FBTzBCLGFBQVAsS0FBeUIsV0FBN0IsRUFBMEM7QUFDeENBLDhCQUFjVixTQUFkLENBQXdCckIsR0FBeEIsQ0FBNEJJLElBQTVCO0FBQ0QsZUFGRCxNQUVPO0FBQ0wsb0JBQU1pQixZQUFZLElBQUkvQixHQUFKLEVBQWxCO0FBQ0ErQiwwQkFBVXJCLEdBQVYsQ0FBY0ksSUFBZDtBQUNBQywwQkFBUVUsR0FBUixDQUFZbEQsd0JBQVosRUFBc0MsRUFBRXdELG9CQUFGLEVBQXRDO0FBQ0Q7QUFDRjtBQUNGLFdBMUJEOztBQTRCQWtGLDRCQUFrQnhILE9BQWxCLENBQTBCLFVBQUNvQyxLQUFELEVBQVc7QUFDbkMsZ0JBQUksQ0FBQ3FGLGtCQUFrQjNFLEdBQWxCLENBQXNCVixLQUF0QixDQUFMLEVBQW1DO0FBQ2pDLGtCQUFNYixVQUFVNEYsZUFBZXpGLEdBQWYsQ0FBbUJVLEtBQW5CLENBQWhCO0FBQ0FiLGdDQUFlekMsd0JBQWY7O0FBRUEsa0JBQU13QyxZQUFVbEIsV0FBV3NCLEdBQVgsQ0FBZVUsS0FBZixDQUFoQjtBQUNBLGtCQUFJLE9BQU9kLFNBQVAsS0FBbUIsV0FBdkIsRUFBb0M7QUFDbEMsb0JBQU0wQixnQkFBZ0IxQixVQUFRSSxHQUFSLENBQVk1Qyx3QkFBWixDQUF0QjtBQUNBLG9CQUFJLE9BQU9rRSxhQUFQLEtBQXlCLFdBQTdCLEVBQTBDO0FBQ3hDQSxnQ0FBY1YsU0FBZCxXQUErQmpCLElBQS9CO0FBQ0Q7QUFDRjtBQUNGO0FBQ0YsV0FiRDs7QUFlQWdHLDhCQUFvQnJILE9BQXBCLENBQTRCLFVBQUNvQyxLQUFELEVBQVc7QUFDckMsZ0JBQUksQ0FBQ2dGLG9CQUFvQnRFLEdBQXBCLENBQXdCVixLQUF4QixDQUFMLEVBQXFDO0FBQ25DLGtCQUFJYixVQUFVNEYsZUFBZXpGLEdBQWYsQ0FBbUJVLEtBQW5CLENBQWQ7QUFDQSxrQkFBSSxPQUFPYixPQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDQSwwQkFBVSxJQUFJaEIsR0FBSixFQUFWO0FBQ0Q7QUFDRGdCLHNCQUFRTixHQUFSLENBQVlwQywwQkFBWjtBQUNBc0ksNkJBQWVuRixHQUFmLENBQW1CSSxLQUFuQixFQUEwQmIsT0FBMUI7O0FBRUEsa0JBQUlELFlBQVVsQixXQUFXc0IsR0FBWCxDQUFlVSxLQUFmLENBQWQ7QUFDQSxrQkFBSVksc0JBQUo7QUFDQSxrQkFBSSxPQUFPMUIsU0FBUCxLQUFtQixXQUF2QixFQUFvQztBQUNsQzBCLGdDQUFnQjFCLFVBQVFJLEdBQVIsQ0FBWTdDLDBCQUFaLENBQWhCO0FBQ0QsZUFGRCxNQUVPO0FBQ0x5Qyw0QkFBVSxJQUFJbkIsR0FBSixFQUFWO0FBQ0FDLDJCQUFXNEIsR0FBWCxDQUFlSSxLQUFmLEVBQXNCZCxTQUF0QjtBQUNEOztBQUVELGtCQUFJLE9BQU8wQixhQUFQLEtBQXlCLFdBQTdCLEVBQTBDO0FBQ3hDQSw4QkFBY1YsU0FBZCxDQUF3QnJCLEdBQXhCLENBQTRCSSxJQUE1QjtBQUNELGVBRkQsTUFFTztBQUNMLG9CQUFNaUIsWUFBWSxJQUFJL0IsR0FBSixFQUFsQjtBQUNBK0IsMEJBQVVyQixHQUFWLENBQWNJLElBQWQ7QUFDQUMsMEJBQVFVLEdBQVIsQ0FBWW5ELDBCQUFaLEVBQXdDLEVBQUV5RCxvQkFBRixFQUF4QztBQUNEO0FBQ0Y7QUFDRixXQTFCRDs7QUE0QkE4RSw4QkFBb0JwSCxPQUFwQixDQUE0QixVQUFDb0MsS0FBRCxFQUFXO0FBQ3JDLGdCQUFJLENBQUNpRixvQkFBb0J2RSxHQUFwQixDQUF3QlYsS0FBeEIsQ0FBTCxFQUFxQztBQUNuQyxrQkFBTWIsVUFBVTRGLGVBQWV6RixHQUFmLENBQW1CVSxLQUFuQixDQUFoQjtBQUNBYixnQ0FBZTFDLDBCQUFmOztBQUVBLGtCQUFNeUMsWUFBVWxCLFdBQVdzQixHQUFYLENBQWVVLEtBQWYsQ0FBaEI7QUFDQSxrQkFBSSxPQUFPZCxTQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDLG9CQUFNMEIsZ0JBQWdCMUIsVUFBUUksR0FBUixDQUFZN0MsMEJBQVosQ0FBdEI7QUFDQSxvQkFBSSxPQUFPbUUsYUFBUCxLQUF5QixXQUE3QixFQUEwQztBQUN4Q0EsZ0NBQWNWLFNBQWQsV0FBK0JqQixJQUEvQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGLFdBYkQ7O0FBZUFzRyxxQkFBVzNILE9BQVgsQ0FBbUIsVUFBQ29DLEtBQUQsRUFBUUMsR0FBUixFQUFnQjtBQUNqQyxnQkFBSSxDQUFDcUYsV0FBVzVFLEdBQVgsQ0FBZVQsR0FBZixDQUFMLEVBQTBCO0FBQ3hCLGtCQUFJZCxVQUFVNEYsZUFBZXpGLEdBQWYsQ0FBbUJVLEtBQW5CLENBQWQ7QUFDQSxrQkFBSSxPQUFPYixPQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDQSwwQkFBVSxJQUFJaEIsR0FBSixFQUFWO0FBQ0Q7QUFDRGdCLHNCQUFRTixHQUFSLENBQVlvQixHQUFaO0FBQ0E4RSw2QkFBZW5GLEdBQWYsQ0FBbUJJLEtBQW5CLEVBQTBCYixPQUExQjs7QUFFQSxrQkFBSUQsWUFBVWxCLFdBQVdzQixHQUFYLENBQWVVLEtBQWYsQ0FBZDtBQUNBLGtCQUFJWSxzQkFBSjtBQUNBLGtCQUFJLE9BQU8xQixTQUFQLEtBQW1CLFdBQXZCLEVBQW9DO0FBQ2xDMEIsZ0NBQWdCMUIsVUFBUUksR0FBUixDQUFZVyxHQUFaLENBQWhCO0FBQ0QsZUFGRCxNQUVPO0FBQ0xmLDRCQUFVLElBQUluQixHQUFKLEVBQVY7QUFDQUMsMkJBQVc0QixHQUFYLENBQWVJLEtBQWYsRUFBc0JkLFNBQXRCO0FBQ0Q7O0FBRUQsa0JBQUksT0FBTzBCLGFBQVAsS0FBeUIsV0FBN0IsRUFBMEM7QUFDeENBLDhCQUFjVixTQUFkLENBQXdCckIsR0FBeEIsQ0FBNEJJLElBQTVCO0FBQ0QsZUFGRCxNQUVPO0FBQ0wsb0JBQU1pQixZQUFZLElBQUkvQixHQUFKLEVBQWxCO0FBQ0ErQiwwQkFBVXJCLEdBQVYsQ0FBY0ksSUFBZDtBQUNBQywwQkFBUVUsR0FBUixDQUFZSyxHQUFaLEVBQWlCLEVBQUVDLG9CQUFGLEVBQWpCO0FBQ0Q7QUFDRjtBQUNGLFdBMUJEOztBQTRCQW9GLHFCQUFXMUgsT0FBWCxDQUFtQixVQUFDb0MsS0FBRCxFQUFRQyxHQUFSLEVBQWdCO0FBQ2pDLGdCQUFJLENBQUNzRixXQUFXN0UsR0FBWCxDQUFlVCxHQUFmLENBQUwsRUFBMEI7QUFDeEIsa0JBQU1kLFVBQVU0RixlQUFlekYsR0FBZixDQUFtQlUsS0FBbkIsQ0FBaEI7QUFDQWIsZ0NBQWVjLEdBQWY7O0FBRUEsa0JBQU1mLFlBQVVsQixXQUFXc0IsR0FBWCxDQUFlVSxLQUFmLENBQWhCO0FBQ0Esa0JBQUksT0FBT2QsU0FBUCxLQUFtQixXQUF2QixFQUFvQztBQUNsQyxvQkFBTTBCLGdCQUFnQjFCLFVBQVFJLEdBQVIsQ0FBWVcsR0FBWixDQUF0QjtBQUNBLG9CQUFJLE9BQU9XLGFBQVAsS0FBeUIsV0FBN0IsRUFBMEM7QUFDeENBLGdDQUFjVixTQUFkLFdBQStCakIsSUFBL0I7QUFDRDtBQUNGO0FBQ0Y7QUFDRixXQWJEO0FBY0QsU0EzUkssNEJBQU47O0FBNlJBLGFBQU87QUFDTCxzQkFESyxvQ0FDVStFLElBRFYsRUFDZ0I7QUFDbkJTLDhCQUFrQlQsSUFBbEI7QUFDQWMsOEJBQWtCZCxJQUFsQjtBQUNBRCxnQ0FBb0JDLElBQXBCO0FBQ0QsV0FMSTtBQU1Mc0MsZ0NBTkssaURBTW9CdEMsSUFOcEIsRUFNMEI7QUFDN0JNLHVCQUFXTixJQUFYLEVBQWlCdEgsd0JBQWpCO0FBQ0QsV0FSSTtBQVNMNkosOEJBVEssK0NBU2tCdkMsSUFUbEIsRUFTd0I7QUFDM0JBLGlCQUFLbkMsVUFBTCxDQUFnQmpFLE9BQWhCLENBQXdCLFVBQUM2QyxTQUFELEVBQWU7QUFDckM2RCx5QkFBVzdELFNBQVgsRUFBc0JBLFVBQVVvRSxRQUFWLENBQW1CbkgsSUFBbkIsSUFBMkIrQyxVQUFVb0UsUUFBVixDQUFtQjdFLEtBQXBFO0FBQ0QsYUFGRDtBQUdBM0MseUNBQTZCMkcsS0FBSzFHLFdBQWxDLEVBQStDLFVBQUNJLElBQUQsRUFBVTtBQUN2RDRHLHlCQUFXTixJQUFYLEVBQWlCdEcsSUFBakI7QUFDRCxhQUZEO0FBR0QsV0FoQkksbUNBQVA7O0FBa0JELEtBdmhCYyxtQkFBakIiLCJmaWxlIjoibm8tdW51c2VkLW1vZHVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IG1vZHVsZXMgY29udGFpbiBleHBvcnRzIGFuZC9vciBhbGxcbiAqIG1vZHVsZXMgYXJlIGNvbnN1bWVkIHdpdGhpbiBvdGhlciBtb2R1bGVzLlxuICogQGF1dGhvciBSZW7DqSBGZXJtYW5uXG4gKi9cblxuaW1wb3J0IHsgZ2V0RmlsZUV4dGVuc2lvbnMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2lnbm9yZSc7XG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IHZpc2l0IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvdmlzaXQnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRQa2dVcCBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3JlYWRQa2dVcCc7XG5pbXBvcnQgdmFsdWVzIGZyb20gJ29iamVjdC52YWx1ZXMnO1xuaW1wb3J0IGluY2x1ZGVzIGZyb20gJ2FycmF5LWluY2x1ZGVzJztcbmltcG9ydCBmbGF0TWFwIGZyb20gJ2FycmF5LnByb3RvdHlwZS5mbGF0bWFwJztcblxuaW1wb3J0IEV4cG9ydHMsIHsgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUgfSBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmxldCBGaWxlRW51bWVyYXRvcjtcbmxldCBsaXN0RmlsZXNUb1Byb2Nlc3M7XG5cbnRyeSB7XG4gICh7IEZpbGVFbnVtZXJhdG9yIH0gPSByZXF1aXJlKCdlc2xpbnQvdXNlLWF0LXlvdXItb3duLXJpc2snKSk7XG59IGNhdGNoIChlKSB7XG4gIHRyeSB7XG4gICAgLy8gaGFzIGJlZW4gbW92ZWQgdG8gZXNsaW50L2xpYi9jbGktZW5naW5lL2ZpbGUtZW51bWVyYXRvciBpbiB2ZXJzaW9uIDZcbiAgICAoeyBGaWxlRW51bWVyYXRvciB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi9jbGktZW5naW5lL2ZpbGUtZW51bWVyYXRvcicpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsIGhhcyBiZWVuIG1vdmVkIHRvIGVzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzIHdpdGggdmVyc2lvbiA1LjNcbiAgICAgIGNvbnN0IHsgbGlzdEZpbGVzVG9Qcm9jZXNzOiBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi91dGlsL2dsb2ItdXRpbHMnKTtcblxuICAgICAgLy8gUHJldmVudCBwYXNzaW5nIGludmFsaWQgb3B0aW9ucyAoZXh0ZW5zaW9ucyBhcnJheSkgdG8gb2xkIHZlcnNpb25zIG9mIHRoZSBmdW5jdGlvbi5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2Jsb2IvdjUuMTYuMC9saWIvdXRpbC9nbG9iLXV0aWxzLmpzI0wxNzgtTDI4MFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvYmxvYi92NS4yLjAvbGliL3V0aWwvZ2xvYi11dGlsLmpzI0wxNzQtTDI2OVxuICAgICAgbGlzdEZpbGVzVG9Qcm9jZXNzID0gZnVuY3Rpb24gKHNyYywgZXh0ZW5zaW9ucykge1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3Moc3JjLCB7XG4gICAgICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IHsgbGlzdEZpbGVzVG9Qcm9jZXNzOiBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi91dGlsL2dsb2ItdXRpbCcpO1xuXG4gICAgICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgICAgIGNvbnN0IHBhdHRlcm5zID0gc3JjLmNvbmNhdChmbGF0TWFwKHNyYywgKHBhdHRlcm4pID0+IGV4dGVuc2lvbnMubWFwKChleHRlbnNpb24pID0+ICgvXFwqXFwqfFxcKlxcLi8pLnRlc3QocGF0dGVybikgPyBwYXR0ZXJuIDogYCR7cGF0dGVybn0vKiovKiR7ZXh0ZW5zaW9ufWApKSk7XG5cbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsTGlzdEZpbGVzVG9Qcm9jZXNzKHBhdHRlcm5zKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmlmIChGaWxlRW51bWVyYXRvcikge1xuICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgY29uc3QgZSA9IG5ldyBGaWxlRW51bWVyYXRvcih7XG4gICAgICBleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZS5pdGVyYXRlRmlsZXMoc3JjKSwgKHsgZmlsZVBhdGgsIGlnbm9yZWQgfSkgPT4gKHtcbiAgICAgIGlnbm9yZWQsXG4gICAgICBmaWxlbmFtZTogZmlsZVBhdGgsXG4gICAgfSkpO1xuICB9O1xufVxuXG5jb25zdCBFWFBPUlRfREVGQVVMVF9ERUNMQVJBVElPTiA9ICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nO1xuY29uc3QgRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OID0gJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nO1xuY29uc3QgRVhQT1JUX0FMTF9ERUNMQVJBVElPTiA9ICdFeHBvcnRBbGxEZWNsYXJhdGlvbic7XG5jb25zdCBJTVBPUlRfREVDTEFSQVRJT04gPSAnSW1wb3J0RGVjbGFyYXRpb24nO1xuY29uc3QgSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIgPSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJztcbmNvbnN0IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiA9ICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJztcbmNvbnN0IFZBUklBQkxFX0RFQ0xBUkFUSU9OID0gJ1ZhcmlhYmxlRGVjbGFyYXRpb24nO1xuY29uc3QgRlVOQ1RJT05fREVDTEFSQVRJT04gPSAnRnVuY3Rpb25EZWNsYXJhdGlvbic7XG5jb25zdCBDTEFTU19ERUNMQVJBVElPTiA9ICdDbGFzc0RlY2xhcmF0aW9uJztcbmNvbnN0IElERU5USUZJRVIgPSAnSWRlbnRpZmllcic7XG5jb25zdCBPQkpFQ1RfUEFUVEVSTiA9ICdPYmplY3RQYXR0ZXJuJztcbmNvbnN0IEFSUkFZX1BBVFRFUk4gPSAnQXJyYXlQYXR0ZXJuJztcbmNvbnN0IFRTX0lOVEVSRkFDRV9ERUNMQVJBVElPTiA9ICdUU0ludGVyZmFjZURlY2xhcmF0aW9uJztcbmNvbnN0IFRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04gPSAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbic7XG5jb25zdCBUU19FTlVNX0RFQ0xBUkFUSU9OID0gJ1RTRW51bURlY2xhcmF0aW9uJztcbmNvbnN0IERFRkFVTFQgPSAnZGVmYXVsdCc7XG5cbmZ1bmN0aW9uIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIGNiKSB7XG4gIGlmIChkZWNsYXJhdGlvbikge1xuICAgIGlmIChcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IEZVTkNUSU9OX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBDTEFTU19ERUNMQVJBVElPTlxuICAgICAgfHwgZGVjbGFyYXRpb24udHlwZSA9PT0gVFNfSU5URVJGQUNFX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBUU19UWVBFX0FMSUFTX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBUU19FTlVNX0RFQ0xBUkFUSU9OXG4gICAgKSB7XG4gICAgICBjYihkZWNsYXJhdGlvbi5pZC5uYW1lKTtcbiAgICB9IGVsc2UgaWYgKGRlY2xhcmF0aW9uLnR5cGUgPT09IFZBUklBQkxFX0RFQ0xBUkFUSU9OKSB7XG4gICAgICBkZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMuZm9yRWFjaCgoeyBpZCB9KSA9PiB7XG4gICAgICAgIGlmIChpZC50eXBlID09PSBPQkpFQ1RfUEFUVEVSTikge1xuICAgICAgICAgIHJlY3Vyc2l2ZVBhdHRlcm5DYXB0dXJlKGlkLCAocGF0dGVybikgPT4ge1xuICAgICAgICAgICAgaWYgKHBhdHRlcm4udHlwZSA9PT0gSURFTlRJRklFUikge1xuICAgICAgICAgICAgICBjYihwYXR0ZXJuLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGlkLnR5cGUgPT09IEFSUkFZX1BBVFRFUk4pIHtcbiAgICAgICAgICBpZC5lbGVtZW50cy5mb3JFYWNoKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgICAgICAgY2IobmFtZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2IoaWQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExpc3Qgb2YgaW1wb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYSBTZXQgb2YgaWRlbnRpZmllcnMuIFRoZSB1cHBlci1sZXZlbCBNYXBcbiAqIGtleXMgYXJlIHRoZSBwYXRocyB0byB0aGUgbW9kdWxlcyBjb250YWluaW5nIHRoZSBpbXBvcnRzLCB3aGlsZSB0aGVcbiAqIGxvd2VyLWxldmVsIE1hcCBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIGZpbGVzIHdoaWNoIGFyZSBiZWluZyBpbXBvcnRlZFxuICogZnJvbS4gTGFzdGx5LCB0aGUgU2V0IG9mIGlkZW50aWZpZXJzIGNvbnRhaW5zIGVpdGhlciBuYW1lcyBiZWluZyBpbXBvcnRlZFxuICogb3IgYSBzcGVjaWFsIEFTVCBub2RlIG5hbWUgbGlzdGVkIGFib3ZlIChlLmcgSW1wb3J0RGVmYXVsdFNwZWNpZmllcikuXG4gKlxuICogRm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nOlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Zvby5qcycgPT4gTWFwIHsgJ2Jhci5qcycgPT4gU2V0IHsgJ28yJyB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4+fVxuICovXG5jb25zdCBpbXBvcnRMaXN0ID0gbmV3IE1hcCgpO1xuXG4vKipcbiAqIExpc3Qgb2YgZXhwb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYW4gb2JqZWN0IG9mIG1ldGFkYXRhLiBUaGUgdXBwZXItbGV2ZWwgTWFwXG4gKiBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIG1vZHVsZXMgY29udGFpbmluZyB0aGUgZXhwb3J0cywgd2hpbGUgdGhlXG4gKiBsb3dlci1sZXZlbCBNYXAga2V5cyBhcmUgdGhlIHNwZWNpZmljIGlkZW50aWZpZXJzIG9yIHNwZWNpYWwgQVNUIG5vZGUgbmFtZXNcbiAqIGJlaW5nIGV4cG9ydGVkLiBUaGUgbGVhZi1sZXZlbCBtZXRhZGF0YSBvYmplY3QgYXQgdGhlIG1vbWVudCBvbmx5IGNvbnRhaW5zIGFcbiAqIGB3aGVyZVVzZWRgIHByb3BlcnR5LCB3aGljaCBjb250YWlucyBhIFNldCBvZiBwYXRocyB0byBtb2R1bGVzIHRoYXQgaW1wb3J0XG4gKiB0aGUgbmFtZS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgaWYgd2UgaGF2ZSBhIGZpbGUgbmFtZWQgYmFyLmpzIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBleHBvcnRzOlxuICpcbiAqICAgY29uc3QgbzIgPSAnYmFyJztcbiAqICAgZXhwb3J0IHsgbzIgfTtcbiAqXG4gKiBBbmQgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgaW1wb3J0OlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Jhci5qcycgPT4gTWFwIHsgJ28yJyA9PiB7IHdoZXJlVXNlZDogU2V0IHsgJ2Zvby5qcycgfSB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBvYmplY3Q+Pn1cbiAqL1xuY29uc3QgZXhwb3J0TGlzdCA9IG5ldyBNYXAoKTtcblxuY29uc3QgdmlzaXRvcktleU1hcCA9IG5ldyBNYXAoKTtcblxuY29uc3QgaWdub3JlZEZpbGVzID0gbmV3IFNldCgpO1xuY29uc3QgZmlsZXNPdXRzaWRlU3JjID0gbmV3IFNldCgpO1xuXG5jb25zdCBpc05vZGVNb2R1bGUgPSAocGF0aCkgPT4gKC9cXC8obm9kZV9tb2R1bGVzKVxcLy8pLnRlc3QocGF0aCk7XG5cbi8qKlxuICogcmVhZCBhbGwgZmlsZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm5zIGluIHNyYyBhbmQgaWdub3JlRXhwb3J0c1xuICpcbiAqIHJldHVybiBhbGwgZmlsZXMgbWF0Y2hpbmcgc3JjIHBhdHRlcm4sIHdoaWNoIGFyZSBub3QgbWF0Y2hpbmcgdGhlIGlnbm9yZUV4cG9ydHMgcGF0dGVyblxuICovXG5jb25zdCByZXNvbHZlRmlsZXMgPSAoc3JjLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbnMgPSBBcnJheS5mcm9tKGdldEZpbGVFeHRlbnNpb25zKGNvbnRleHQuc2V0dGluZ3MpKTtcblxuICBjb25zdCBzcmNGaWxlTGlzdCA9IGxpc3RGaWxlc1RvUHJvY2VzcyhzcmMsIGV4dGVuc2lvbnMpO1xuXG4gIC8vIHByZXBhcmUgbGlzdCBvZiBpZ25vcmVkIGZpbGVzXG4gIGNvbnN0IGlnbm9yZWRGaWxlc0xpc3QgPSBsaXN0RmlsZXNUb1Byb2Nlc3MoaWdub3JlRXhwb3J0cywgZXh0ZW5zaW9ucyk7XG4gIGlnbm9yZWRGaWxlc0xpc3QuZm9yRWFjaCgoeyBmaWxlbmFtZSB9KSA9PiBpZ25vcmVkRmlsZXMuYWRkKGZpbGVuYW1lKSk7XG5cbiAgLy8gcHJlcGFyZSBsaXN0IG9mIHNvdXJjZSBmaWxlcywgZG9uJ3QgY29uc2lkZXIgZmlsZXMgZnJvbSBub2RlX21vZHVsZXNcblxuICByZXR1cm4gbmV3IFNldChcbiAgICBmbGF0TWFwKHNyY0ZpbGVMaXN0LCAoeyBmaWxlbmFtZSB9KSA9PiBpc05vZGVNb2R1bGUoZmlsZW5hbWUpID8gW10gOiBmaWxlbmFtZSksXG4gICk7XG59O1xuXG4vKipcbiAqIHBhcnNlIGFsbCBzb3VyY2UgZmlsZXMgYW5kIGJ1aWxkIHVwIDIgbWFwcyBjb250YWluaW5nIHRoZSBleGlzdGluZyBpbXBvcnRzIGFuZCBleHBvcnRzXG4gKi9cbmNvbnN0IHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyA9IChzcmNGaWxlcywgY29udGV4dCkgPT4ge1xuICBjb25zdCBleHBvcnRBbGwgPSBuZXcgTWFwKCk7XG4gIHNyY0ZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICBjb25zdCBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGltcG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgY3VycmVudEV4cG9ydHMgPSBFeHBvcnRzLmdldChmaWxlLCBjb250ZXh0KTtcbiAgICBpZiAoY3VycmVudEV4cG9ydHMpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICByZWV4cG9ydHMsXG4gICAgICAgIGltcG9ydHM6IGxvY2FsSW1wb3J0TGlzdCxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICB2aXNpdG9yS2V5cyxcbiAgICAgIH0gPSBjdXJyZW50RXhwb3J0cztcblxuICAgICAgdmlzaXRvcktleU1hcC5zZXQoZmlsZSwgdmlzaXRvcktleXMpO1xuICAgICAgLy8gZGVwZW5kZW5jaWVzID09PSBleHBvcnQgKiBmcm9tXG4gICAgICBjb25zdCBjdXJyZW50RXhwb3J0QWxsID0gbmV3IFNldCgpO1xuICAgICAgZGVwZW5kZW5jaWVzLmZvckVhY2goKGdldERlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeSA9IGdldERlcGVuZGVuY3koKTtcbiAgICAgICAgaWYgKGRlcGVuZGVuY3kgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RXhwb3J0QWxsLmFkZChkZXBlbmRlbmN5LnBhdGgpO1xuICAgICAgfSk7XG4gICAgICBleHBvcnRBbGwuc2V0KGZpbGUsIGN1cnJlbnRFeHBvcnRBbGwpO1xuXG4gICAgICByZWV4cG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZWV4cG9ydCA9ICB2YWx1ZS5nZXRJbXBvcnQoKTtcbiAgICAgICAgaWYgKCFyZWV4cG9ydCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbG9jYWxJbXBvcnQgPSBpbXBvcnRzLmdldChyZWV4cG9ydC5wYXRoKTtcbiAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlLmxvY2FsID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbHVlLmxvY2FsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbG9jYWxJbXBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFsuLi5sb2NhbEltcG9ydCwgY3VycmVudFZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFtjdXJyZW50VmFsdWVdKTtcbiAgICAgICAgfVxuICAgICAgICBpbXBvcnRzLnNldChyZWV4cG9ydC5wYXRoLCBsb2NhbEltcG9ydCk7XG4gICAgICB9KTtcblxuICAgICAgbG9jYWxJbXBvcnRMaXN0LmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGlzTm9kZU1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvY2FsSW1wb3J0ID0gaW1wb3J0cy5nZXQoa2V5KSB8fCBuZXcgU2V0KCk7XG4gICAgICAgIHZhbHVlLmRlY2xhcmF0aW9ucy5mb3JFYWNoKCh7IGltcG9ydGVkU3BlY2lmaWVycyB9KSA9PiB7XG4gICAgICAgICAgaW1wb3J0ZWRTcGVjaWZpZXJzLmZvckVhY2goKHNwZWNpZmllcikgPT4ge1xuICAgICAgICAgICAgbG9jYWxJbXBvcnQuYWRkKHNwZWNpZmllcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpbXBvcnRzLnNldChrZXksIGxvY2FsSW1wb3J0KTtcbiAgICAgIH0pO1xuICAgICAgaW1wb3J0TGlzdC5zZXQoZmlsZSwgaW1wb3J0cyk7XG5cbiAgICAgIC8vIGJ1aWxkIHVwIGV4cG9ydCBsaXN0IG9ubHksIGlmIGZpbGUgaXMgbm90IGlnbm9yZWRcbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG5hbWVzcGFjZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09IERFRkFVTFQpIHtcbiAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICBleHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICBleHBvcnRMaXN0LnNldChmaWxlLCBleHBvcnRzKTtcbiAgfSk7XG4gIGV4cG9ydEFsbC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgdmFsdWUuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbCk7XG4gICAgICBpZiAoY3VycmVudEV4cG9ydHMpIHtcbiAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGN1cnJlbnRFeHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiB0cmF2ZXJzZSB0aHJvdWdoIGFsbCBpbXBvcnRzIGFuZCBhZGQgdGhlIHJlc3BlY3RpdmUgcGF0aCB0byB0aGUgd2hlcmVVc2VkLWxpc3RcbiAqIG9mIHRoZSBjb3JyZXNwb25kaW5nIGV4cG9ydFxuICovXG5jb25zdCBkZXRlcm1pbmVVc2FnZSA9ICgpID0+IHtcbiAgaW1wb3J0TGlzdC5mb3JFYWNoKChsaXN0VmFsdWUsIGxpc3RLZXkpID0+IHtcbiAgICBsaXN0VmFsdWUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgY29uc3QgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KGtleSk7XG4gICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goKGN1cnJlbnRJbXBvcnQpID0+IHtcbiAgICAgICAgICBsZXQgc3BlY2lmaWVyO1xuICAgICAgICAgIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUikge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVI7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgIHNwZWNpZmllciA9IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gY3VycmVudEltcG9ydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBzcGVjaWZpZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChzcGVjaWZpZXIpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgd2hlcmVVc2VkIH0gPSBleHBvcnRTdGF0ZW1lbnQ7XG4gICAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQobGlzdEtleSk7XG4gICAgICAgICAgICAgIGV4cG9ydHMuc2V0KHNwZWNpZmllciwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRTcmMgPSAoc3JjKSA9PiB7XG4gIGlmIChzcmMpIHtcbiAgICByZXR1cm4gc3JjO1xuICB9XG4gIHJldHVybiBbcHJvY2Vzcy5jd2QoKV07XG59O1xuXG4vKipcbiAqIHByZXBhcmUgdGhlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgYW5kIGV4cG9ydHMgLSBzaG91bGQgb25seSBiZSBleGVjdXRlZCBvbmNlIGF0XG4gKiB0aGUgc3RhcnQgb2YgYSBuZXcgZXNsaW50IHJ1blxuICovXG5sZXQgc3JjRmlsZXM7XG5sZXQgbGFzdFByZXBhcmVLZXk7XG5jb25zdCBkb1ByZXBhcmF0aW9uID0gKHNyYywgaWdub3JlRXhwb3J0cywgY29udGV4dCkgPT4ge1xuICBjb25zdCBwcmVwYXJlS2V5ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIHNyYzogKHNyYyB8fCBbXSkuc29ydCgpLFxuICAgIGlnbm9yZUV4cG9ydHM6IChpZ25vcmVFeHBvcnRzIHx8IFtdKS5zb3J0KCksXG4gICAgZXh0ZW5zaW9uczogQXJyYXkuZnJvbShnZXRGaWxlRXh0ZW5zaW9ucyhjb250ZXh0LnNldHRpbmdzKSkuc29ydCgpLFxuICB9KTtcbiAgaWYgKHByZXBhcmVLZXkgPT09IGxhc3RQcmVwYXJlS2V5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaW1wb3J0TGlzdC5jbGVhcigpO1xuICBleHBvcnRMaXN0LmNsZWFyKCk7XG4gIGlnbm9yZWRGaWxlcy5jbGVhcigpO1xuICBmaWxlc091dHNpZGVTcmMuY2xlYXIoKTtcblxuICBzcmNGaWxlcyA9IHJlc29sdmVGaWxlcyhnZXRTcmMoc3JjKSwgaWdub3JlRXhwb3J0cywgY29udGV4dCk7XG4gIHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyhzcmNGaWxlcywgY29udGV4dCk7XG4gIGRldGVybWluZVVzYWdlKCk7XG4gIGxhc3RQcmVwYXJlS2V5ID0gcHJlcGFyZUtleTtcbn07XG5cbmNvbnN0IG5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyA9IChzcGVjaWZpZXJzKSA9PiBzcGVjaWZpZXJzLnNvbWUoKHsgdHlwZSB9KSA9PiB0eXBlID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUik7XG5cbmNvbnN0IG5ld0RlZmF1bHRJbXBvcnRFeGlzdHMgPSAoc3BlY2lmaWVycykgPT4gc3BlY2lmaWVycy5zb21lKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcblxuY29uc3QgZmlsZUlzSW5Qa2cgPSAoZmlsZSkgPT4ge1xuICBjb25zdCB7IHBhdGgsIHBrZyB9ID0gcmVhZFBrZ1VwKHsgY3dkOiBmaWxlIH0pO1xuICBjb25zdCBiYXNlUGF0aCA9IGRpcm5hbWUocGF0aCk7XG5cbiAgY29uc3QgY2hlY2tQa2dGaWVsZFN0cmluZyA9IChwa2dGaWVsZCkgPT4ge1xuICAgIGlmIChqb2luKGJhc2VQYXRoLCBwa2dGaWVsZCkgPT09IGZpbGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjaGVja1BrZ0ZpZWxkT2JqZWN0ID0gKHBrZ0ZpZWxkKSA9PiB7XG4gICAgY29uc3QgcGtnRmllbGRGaWxlcyA9IGZsYXRNYXAodmFsdWVzKHBrZ0ZpZWxkKSwgKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyA/IFtdIDogam9pbihiYXNlUGF0aCwgdmFsdWUpKTtcblxuICAgIGlmIChpbmNsdWRlcyhwa2dGaWVsZEZpbGVzLCBmaWxlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNoZWNrUGtnRmllbGQgPSAocGtnRmllbGQpID0+IHtcbiAgICBpZiAodHlwZW9mIHBrZ0ZpZWxkID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNoZWNrUGtnRmllbGRTdHJpbmcocGtnRmllbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcGtnRmllbGQgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gY2hlY2tQa2dGaWVsZE9iamVjdChwa2dGaWVsZCk7XG4gICAgfVxuICB9O1xuXG4gIGlmIChwa2cucHJpdmF0ZSA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChwa2cuYmluKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGQocGtnLmJpbikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwa2cuYnJvd3Nlcikge1xuICAgIGlmIChjaGVja1BrZ0ZpZWxkKHBrZy5icm93c2VyKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBrZy5tYWluKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGRTdHJpbmcocGtnLm1haW4pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBjYXRlZ29yeTogJ0hlbHBmdWwgd2FybmluZ3MnLFxuICAgICAgZGVzY3JpcHRpb246ICdGb3JiaWQgbW9kdWxlcyB3aXRob3V0IGV4cG9ydHMsIG9yIGV4cG9ydHMgd2l0aG91dCBtYXRjaGluZyBpbXBvcnQgaW4gYW5vdGhlciBtb2R1bGUuJyxcbiAgICAgIHVybDogZG9jc1VybCgnbm8tdW51c2VkLW1vZHVsZXMnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW3tcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgc3JjOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdmaWxlcy9wYXRocyB0byBiZSBhbmFseXplZCAob25seSBmb3IgdW51c2VkIGV4cG9ydHMpJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpZ25vcmVFeHBvcnRzOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdmaWxlcy9wYXRocyBmb3Igd2hpY2ggdW51c2VkIGV4cG9ydHMgd2lsbCBub3QgYmUgcmVwb3J0ZWQgKGUuZyBtb2R1bGUgZW50cnkgcG9pbnRzKScsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ3JlcG9ydCBtb2R1bGVzIHdpdGhvdXQgYW55IGV4cG9ydHMnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgdW51c2VkRXhwb3J0czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAncmVwb3J0IGV4cG9ydHMgd2l0aG91dCBhbnkgdXNhZ2UnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhbnlPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdW51c2VkRXhwb3J0czogeyBlbnVtOiBbdHJ1ZV0gfSxcbiAgICAgICAgICAgIHNyYzoge1xuICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1bnVzZWRFeHBvcnRzJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBtaXNzaW5nRXhwb3J0czogeyBlbnVtOiBbdHJ1ZV0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ21pc3NpbmdFeHBvcnRzJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1dLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qge1xuICAgICAgc3JjLFxuICAgICAgaWdub3JlRXhwb3J0cyA9IFtdLFxuICAgICAgbWlzc2luZ0V4cG9ydHMsXG4gICAgICB1bnVzZWRFeHBvcnRzLFxuICAgIH0gPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG5cbiAgICBpZiAodW51c2VkRXhwb3J0cykge1xuICAgICAgZG9QcmVwYXJhdGlvbihzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBjb250ZXh0LmdldFBoeXNpY2FsRmlsZW5hbWUgPyBjb250ZXh0LmdldFBoeXNpY2FsRmlsZW5hbWUoKSA6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcblxuICAgIGNvbnN0IGNoZWNrRXhwb3J0UHJlc2VuY2UgPSAobm9kZSkgPT4ge1xuICAgICAgaWYgKCFtaXNzaW5nRXhwb3J0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXhwb3J0Q291bnQgPSBleHBvcnRMaXN0LmdldChmaWxlKTtcbiAgICAgIGNvbnN0IGV4cG9ydEFsbCA9IGV4cG9ydENvdW50LmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgIGNvbnN0IG5hbWVzcGFjZUltcG9ydHMgPSBleHBvcnRDb3VudC5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuXG4gICAgICBleHBvcnRDb3VudC5kZWxldGUoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBleHBvcnRDb3VudC5kZWxldGUoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuICAgICAgaWYgKGV4cG9ydENvdW50LnNpemUgPCAxKSB7XG4gICAgICAgIC8vIG5vZGUuYm9keVswXSA9PT0gJ3VuZGVmaW5lZCcgb25seSBoYXBwZW5zLCBpZiBldmVyeXRoaW5nIGlzIGNvbW1lbnRlZCBvdXQgaW4gdGhlIGZpbGVcbiAgICAgICAgLy8gYmVpbmcgbGludGVkXG4gICAgICAgIGNvbnRleHQucmVwb3J0KG5vZGUuYm9keVswXSA/IG5vZGUuYm9keVswXSA6IG5vZGUsICdObyBleHBvcnRzIGZvdW5kJyk7XG4gICAgICB9XG4gICAgICBleHBvcnRDb3VudC5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgZXhwb3J0QWxsKTtcbiAgICAgIGV4cG9ydENvdW50LnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNoZWNrVXNhZ2UgPSAobm9kZSwgZXhwb3J0ZWRWYWx1ZSkgPT4ge1xuICAgICAgaWYgKCF1bnVzZWRFeHBvcnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZUlzSW5Qa2coZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZXNPdXRzaWRlU3JjLmhhcyhmaWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIG1ha2Ugc3VyZSBmaWxlIHRvIGJlIGxpbnRlZCBpcyBpbmNsdWRlZCBpbiBzb3VyY2UgZmlsZXNcbiAgICAgIGlmICghc3JjRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHNyY0ZpbGVzID0gcmVzb2x2ZUZpbGVzKGdldFNyYyhzcmMpLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcmNGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgICBmaWxlc091dHNpZGVTcmMuYWRkKGZpbGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoZmlsZSk7XG5cbiAgICAgIC8vIHNwZWNpYWwgY2FzZTogZXhwb3J0ICogZnJvbVxuICAgICAgY29uc3QgZXhwb3J0QWxsID0gZXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBpZiAodHlwZW9mIGV4cG9ydEFsbCAhPT0gJ3VuZGVmaW5lZCcgJiYgZXhwb3J0ZWRWYWx1ZSAhPT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKSB7XG4gICAgICAgIGlmIChleHBvcnRBbGwud2hlcmVVc2VkLnNpemUgPiAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNwZWNpYWwgY2FzZTogbmFtZXNwYWNlIGltcG9ydFxuICAgICAgY29uc3QgbmFtZXNwYWNlSW1wb3J0cyA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgIGlmICh0eXBlb2YgbmFtZXNwYWNlSW1wb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKG5hbWVzcGFjZUltcG9ydHMud2hlcmVVc2VkLnNpemUgPiAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGV4cG9ydHNMaXN0IHdpbGwgYWx3YXlzIG1hcCBhbnkgaW1wb3J0ZWQgdmFsdWUgb2YgJ2RlZmF1bHQnIHRvICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJ1xuICAgICAgY29uc3QgZXhwb3J0c0tleSA9IGV4cG9ydGVkVmFsdWUgPT09IERFRkFVTFQgPyBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgOiBleHBvcnRlZFZhbHVlO1xuXG4gICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChleHBvcnRzS2V5KTtcblxuICAgICAgY29uc3QgdmFsdWUgPSBleHBvcnRzS2V5ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgPyBERUZBVUxUIDogZXhwb3J0c0tleTtcblxuICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmIChleHBvcnRTdGF0ZW1lbnQud2hlcmVVc2VkLnNpemUgPCAxKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBvbmx5IHVzZWZ1bCBmb3IgdG9vbHMgbGlrZSB2c2NvZGUtZXNsaW50XG4gICAgICpcbiAgICAgKiB1cGRhdGUgbGlzdHMgb2YgZXhpc3RpbmcgZXhwb3J0cyBkdXJpbmcgcnVudGltZVxuICAgICAqL1xuICAgIGNvbnN0IHVwZGF0ZUV4cG9ydFVzYWdlID0gKG5vZGUpID0+IHtcbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldChmaWxlKTtcblxuICAgICAgLy8gbmV3IG1vZHVsZSBoYXMgYmVlbiBjcmVhdGVkIGR1cmluZyBydW50aW1lXG4gICAgICAvLyBpbmNsdWRlIGl0IGluIGZ1cnRoZXIgcHJvY2Vzc2luZ1xuICAgICAgaWYgKHR5cGVvZiBleHBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdFeHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgY29uc3QgbmV3RXhwb3J0SWRlbnRpZmllcnMgPSBuZXcgU2V0KCk7XG5cbiAgICAgIG5vZGUuYm9keS5mb3JFYWNoKCh7IHR5cGUsIGRlY2xhcmF0aW9uLCBzcGVjaWZpZXJzIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGUgPT09IEVYUE9SVF9ERUZBVUxUX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgbmV3RXhwb3J0SWRlbnRpZmllcnMuYWRkKElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGUgPT09IEVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTikge1xuICAgICAgICAgIGlmIChzcGVjaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHNwZWNpZmllcnMuZm9yRWFjaCgoc3BlY2lmaWVyKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXIuZXhwb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQoc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUgfHwgc3BlY2lmaWVyLmV4cG9ydGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQobmFtZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBvbGQgZXhwb3J0cyBleGlzdCB3aXRoaW4gbGlzdCBvZiBuZXcgZXhwb3J0cyBpZGVudGlmaWVyczogYWRkIHRvIG1hcCBvZiBuZXcgZXhwb3J0c1xuICAgICAgZXhwb3J0cy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChuZXdFeHBvcnRJZGVudGlmaWVycy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gbmV3IGV4cG9ydCBpZGVudGlmaWVycyBhZGRlZDogYWRkIHRvIG1hcCBvZiBuZXcgZXhwb3J0c1xuICAgICAgbmV3RXhwb3J0SWRlbnRpZmllcnMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmICghZXhwb3J0cy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHByZXNlcnZlIGluZm9ybWF0aW9uIGFib3V0IG5hbWVzcGFjZSBpbXBvcnRzXG4gICAgICBjb25zdCBleHBvcnRBbGwgPSBleHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgIGxldCBuYW1lc3BhY2VJbXBvcnRzID0gZXhwb3J0cy5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuXG4gICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZUltcG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG5hbWVzcGFjZUltcG9ydHMgPSB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH07XG4gICAgICB9XG5cbiAgICAgIG5ld0V4cG9ydHMuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIGV4cG9ydEFsbCk7XG4gICAgICBuZXdFeHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cyk7XG4gICAgICBleHBvcnRMaXN0LnNldChmaWxlLCBuZXdFeHBvcnRzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVJbXBvcnRVc2FnZSA9IChub2RlKSA9PiB7XG4gICAgICBpZiAoIXVudXNlZEV4cG9ydHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgb2xkSW1wb3J0UGF0aHMgPSBpbXBvcnRMaXN0LmdldChmaWxlKTtcbiAgICAgIGlmICh0eXBlb2Ygb2xkSW1wb3J0UGF0aHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG9sZEltcG9ydFBhdGhzID0gbmV3IE1hcCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGROYW1lc3BhY2VJbXBvcnRzID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbmV3TmFtZXNwYWNlSW1wb3J0cyA9IG5ldyBTZXQoKTtcblxuICAgICAgY29uc3Qgb2xkRXhwb3J0QWxsID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbmV3RXhwb3J0QWxsID0gbmV3IFNldCgpO1xuXG4gICAgICBjb25zdCBvbGREZWZhdWx0SW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IG5ld0RlZmF1bHRJbXBvcnRzID0gbmV3IFNldCgpO1xuXG4gICAgICBjb25zdCBvbGRJbXBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgY29uc3QgbmV3SW1wb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgIG9sZEltcG9ydFBhdGhzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmhhcyhFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKSkge1xuICAgICAgICAgIG9sZEV4cG9ydEFsbC5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuaGFzKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKSkge1xuICAgICAgICAgIG9sZE5hbWVzcGFjZUltcG9ydHMuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmhhcyhJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpKSB7XG4gICAgICAgICAgb2xkRGVmYXVsdEltcG9ydHMuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdmFsICE9PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUlxuICAgICAgICAgICAgJiYgdmFsICE9PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9sZEltcG9ydHMuc2V0KHZhbCwga2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGZ1bmN0aW9uIHByb2Nlc3NEeW5hbWljSW1wb3J0KHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLnR5cGUgIT09ICdMaXRlcmFsJykge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHAgPSByZXNvbHZlKHNvdXJjZS52YWx1ZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChwID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmFkZChwKTtcbiAgICAgIH1cblxuICAgICAgdmlzaXQobm9kZSwgdmlzaXRvcktleU1hcC5nZXQoZmlsZSksIHtcbiAgICAgICAgSW1wb3J0RXhwcmVzc2lvbihjaGlsZCkge1xuICAgICAgICAgIHByb2Nlc3NEeW5hbWljSW1wb3J0KGNoaWxkLnNvdXJjZSk7XG4gICAgICAgIH0sXG4gICAgICAgIENhbGxFeHByZXNzaW9uKGNoaWxkKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLmNhbGxlZS50eXBlID09PSAnSW1wb3J0Jykge1xuICAgICAgICAgICAgcHJvY2Vzc0R5bmFtaWNJbXBvcnQoY2hpbGQuYXJndW1lbnRzWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbm9kZS5ib2R5LmZvckVhY2goKGFzdE5vZGUpID0+IHtcbiAgICAgICAgbGV0IHJlc29sdmVkUGF0aDtcblxuICAgICAgICAvLyBzdXBwb3J0IGZvciBleHBvcnQgeyB2YWx1ZSB9IGZyb20gJ21vZHVsZSdcbiAgICAgICAgaWYgKGFzdE5vZGUudHlwZSA9PT0gRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgaWYgKGFzdE5vZGUuc291cmNlKSB7XG4gICAgICAgICAgICByZXNvbHZlZFBhdGggPSByZXNvbHZlKGFzdE5vZGUuc291cmNlLnJhdy5yZXBsYWNlKC8oJ3xcIikvZywgJycpLCBjb250ZXh0KTtcbiAgICAgICAgICAgIGFzdE5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKChzcGVjaWZpZXIpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHNwZWNpZmllci5sb2NhbC5uYW1lIHx8IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKG5hbWUgPT09IERFRkFVTFQpIHtcbiAgICAgICAgICAgICAgICBuZXdEZWZhdWx0SW1wb3J0cy5hZGQocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdJbXBvcnRzLnNldChuYW1lLCByZXNvbHZlZFBhdGgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXN0Tm9kZS50eXBlID09PSBFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dCk7XG4gICAgICAgICAgbmV3RXhwb3J0QWxsLmFkZChyZXNvbHZlZFBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFzdE5vZGUudHlwZSA9PT0gSU1QT1JUX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dCk7XG4gICAgICAgICAgaWYgKCFyZXNvbHZlZFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNOb2RlTW9kdWxlKHJlc29sdmVkUGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobmV3TmFtZXNwYWNlSW1wb3J0RXhpc3RzKGFzdE5vZGUuc3BlY2lmaWVycykpIHtcbiAgICAgICAgICAgIG5ld05hbWVzcGFjZUltcG9ydHMuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5ld0RlZmF1bHRJbXBvcnRFeGlzdHMoYXN0Tm9kZS5zcGVjaWZpZXJzKSkge1xuICAgICAgICAgICAgbmV3RGVmYXVsdEltcG9ydHMuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYXN0Tm9kZS5zcGVjaWZpZXJzXG4gICAgICAgICAgICAuZmlsdGVyKChzcGVjaWZpZXIpID0+IHNwZWNpZmllci50eXBlICE9PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgJiYgc3BlY2lmaWVyLnR5cGUgIT09IElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKVxuICAgICAgICAgICAgLmZvckVhY2goKHNwZWNpZmllcikgPT4ge1xuICAgICAgICAgICAgICBuZXdJbXBvcnRzLnNldChzcGVjaWZpZXIuaW1wb3J0ZWQubmFtZSB8fCBzcGVjaWZpZXIuaW1wb3J0ZWQudmFsdWUsIHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld0V4cG9ydEFsbC5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW9sZEV4cG9ydEFsbC5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgICAgIG9sZEltcG9ydFBhdGhzLnNldCh2YWx1ZSwgaW1wb3J0cyk7XG5cbiAgICAgICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBsZXQgY3VycmVudEV4cG9ydDtcbiAgICAgICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0ID0gZXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBleHBvcnRMaXN0LnNldCh2YWx1ZSwgZXhwb3J0cyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB3aGVyZVVzZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB3aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgICAgZXhwb3J0cy5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkRXhwb3J0QWxsLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbmV3RXhwb3J0QWxsLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5kZWxldGUoZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbmV3RGVmYXVsdEltcG9ydHMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFvbGREZWZhdWx0SW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgICAgb2xkSW1wb3J0UGF0aHMuc2V0KHZhbHVlLCBpbXBvcnRzKTtcblxuICAgICAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0O1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZXhwb3J0TGlzdC5zZXQodmFsdWUsIGV4cG9ydHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgd2hlcmVVc2VkID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICAgIGV4cG9ydHMuc2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkRGVmYXVsdEltcG9ydHMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFuZXdEZWZhdWx0SW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghb2xkTmFtZXNwYWNlSW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpO1xuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkTmFtZXNwYWNlSW1wb3J0cy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW5ld05hbWVzcGFjZUltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGltcG9ydHMuZGVsZXRlKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuZGVsZXRlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld0ltcG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIW9sZEltcG9ydHMuaGFzKGtleSkpIHtcbiAgICAgICAgICBsZXQgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpbXBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoa2V5KTtcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpO1xuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KGtleSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBleHBvcnRMaXN0LnNldCh2YWx1ZSwgZXhwb3J0cyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB3aGVyZVVzZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB3aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBvbGRJbXBvcnRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCFuZXdJbXBvcnRzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoa2V5KTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ1Byb2dyYW06ZXhpdCcobm9kZSkge1xuICAgICAgICB1cGRhdGVFeHBvcnRVc2FnZShub2RlKTtcbiAgICAgICAgdXBkYXRlSW1wb3J0VXNhZ2Uobm9kZSk7XG4gICAgICAgIGNoZWNrRXhwb3J0UHJlc2VuY2Uobm9kZSk7XG4gICAgICB9LFxuICAgICAgRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgY2hlY2tVc2FnZShub2RlLCBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgfSxcbiAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaCgoc3BlY2lmaWVyKSA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShzcGVjaWZpZXIsIHNwZWNpZmllci5leHBvcnRlZC5uYW1lIHx8IHNwZWNpZmllci5leHBvcnRlZC52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JFYWNoRGVjbGFyYXRpb25JZGVudGlmaWVyKG5vZGUuZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShub2RlLCBuYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19
|