From aedb54a50c7323823fa9d48a55f28524f2f1f686 Mon Sep 17 00:00:00 2001 From: abchen Date: Fri, 29 Mar 2024 23:46:30 +0800 Subject: [PATCH 1/9] refector: refactor project --- .eslintignore | 7 + .github/ISSUE_TEMPLATE/bug_report.md | 27 + .github/ISSUE_TEMPLATE/custom.md | 10 + .github/ISSUE_TEMPLATE/feature_request.md | 20 + .github/pull-request-template.md | 10 + .github/release-drafter.yml | 48 + .github/workflows/release.yml | 35 + .gitignore | 2 + .prettierignore | 4 + .prettierrc.json | 11 + .swcrc | 15 + .vscode/launch.json | 6 +- .vscode/tasks.json | 33 +- .vscodeignore | 12 +- .yarnrc | 1 + CONTRIBUTING.md | 0 LICENSE.md | 21 + README-ZH_CN.md | 0 README.md | 26 +- images/image.png | Bin 0 -> 146465 bytes l10n/bundle.l10n.json | 23 + l10n/bundle.l10n.zh.json | 23 + package-lock.json | 2025 --------- package.json | 500 ++- package.nls.json | 27 + package.nls.zh.json | 27 + scripts/commands.txt | 1 + scripts/constants.js | 205 + scripts/generate.js | 159 + src/constants/commands.ts | 175 + src/constants/index.ts | 7 + src/constants/other.ts | 80 + src/extension.ts | 51 +- src/model/index.ts | 1 - src/model/nest.ts | 45 - src/services/command-service.ts | 103 + src/services/config-service.ts | 67 + src/services/index.ts | 3 + src/services/logger-service.ts | 31 + src/services/output-service.ts | 45 + src/services/service-manager.ts | 36 + src/templates/controller.mustache | 4 - src/templates/decorator.mustache | 8 - src/templates/exception.mustache | 7 - src/templates/filter.mustache | 27 - src/templates/guard.mustache | 12 - src/templates/import.mustache | 1 - src/templates/interceptor.mustache | 15 - src/templates/middleware.mustache | 10 - src/templates/module.mustache | 8 - src/templates/pipe.mustache | 8 - src/templates/service.mustache | 4 - src/templates/spec.mustache | 19 - src/test/runTest.ts | 23 - src/test/suite/extension.test.ts | 15 - src/test/suite/index.ts | 38 - src/types/command.ts | 43 + src/types/configuration.ts | 39 + src/types/index.ts | 2 + src/utils/commands.ts | 67 - src/utils/file.ts | 117 +- src/utils/index.ts | 1 - src/utils/util.ts | 119 +- tsconfig.json | 31 +- webpack.config.js | 55 + yarn.lock | 4903 ++++++++++++++++++--- 66 files changed, 5982 insertions(+), 3516 deletions(-) create mode 100644 .eslintignore create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/custom.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/pull-request-template.md create mode 100644 .github/release-drafter.yml create mode 100644 .github/workflows/release.yml create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 .swcrc create mode 100644 .yarnrc create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.md create mode 100644 README-ZH_CN.md create mode 100644 images/image.png create mode 100644 l10n/bundle.l10n.json create mode 100644 l10n/bundle.l10n.zh.json delete mode 100644 package-lock.json create mode 100644 package.nls.json create mode 100644 package.nls.zh.json create mode 100644 scripts/commands.txt create mode 100644 scripts/constants.js create mode 100644 scripts/generate.js create mode 100644 src/constants/commands.ts create mode 100644 src/constants/index.ts create mode 100644 src/constants/other.ts delete mode 100644 src/model/index.ts delete mode 100644 src/model/nest.ts create mode 100644 src/services/command-service.ts create mode 100644 src/services/config-service.ts create mode 100644 src/services/index.ts create mode 100644 src/services/logger-service.ts create mode 100644 src/services/output-service.ts create mode 100644 src/services/service-manager.ts delete mode 100644 src/templates/controller.mustache delete mode 100644 src/templates/decorator.mustache delete mode 100644 src/templates/exception.mustache delete mode 100644 src/templates/filter.mustache delete mode 100644 src/templates/guard.mustache delete mode 100644 src/templates/import.mustache delete mode 100644 src/templates/interceptor.mustache delete mode 100644 src/templates/middleware.mustache delete mode 100644 src/templates/module.mustache delete mode 100644 src/templates/pipe.mustache delete mode 100644 src/templates/service.mustache delete mode 100644 src/templates/spec.mustache delete mode 100644 src/test/runTest.ts delete mode 100644 src/test/suite/extension.test.ts delete mode 100644 src/test/suite/index.ts create mode 100644 src/types/command.ts create mode 100644 src/types/configuration.ts create mode 100644 src/types/index.ts delete mode 100644 src/utils/commands.ts create mode 100644 webpack.config.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..7ef1d55 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,7 @@ +.git +.github +.changeset +.husky +.vscode +dist +node_modules diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..0366bb4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[BUG]" +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 0000000..48d5f81 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,10 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. +title: '' +labels: '' +assignees: '' + +--- + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..11fc491 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/pull-request-template.md b/.github/pull-request-template.md new file mode 100644 index 0000000..2e590b9 --- /dev/null +++ b/.github/pull-request-template.md @@ -0,0 +1,10 @@ +**在提出此拉取请求时,我确认了以下几点(请复选框):** + +- [] 我已阅读并理解[贡献者指南](./CONTRIBUTING.md)。 +- [] 我已检查没有与此请求重复的拉取请求。 +- [] 我已经考虑过,并确认这份呈件对其他人很有价值。 +- [] 我接受此提交可能不会被使用,并根据维护人员的意愿关闭拉取请求。 + +**填写PR内容:** + +- diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..e4109b8 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,48 @@ +# Configuration for Release Drafter: https://github.com/toolmantim/release-drafter +name-template: 'v$NEXT_PATCH_VERSION 🌈' +tag-template: 'v$NEXT_PATCH_VERSION' +version-template: $MAJOR.$MINOR.$PATCH +# Emoji reference: https://gitmoji.carloscuesta.me/ +categories: + - title: '🚀 Features' + labels: + - 'feature' + - 'enhancement' + - title: '🐛 Bug Fixes' + labels: + - 'fix' + - 'bugfix' + - 'bug' + - 'regression' + - title: 📝 Documentation updates + labels: + - documentation + - title: 👻 Maintenance + labels: + - chore + - dependencies + - title: 🚦 Tests + labels: + - test + - tests +exclude-labels: + - reverted + - no-changelog + - skip-changelog + - invalid +change-template: '- $TITLE (#$NUMBER) @$AUTHOR' +change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. +version-resolver: + major: + labels: + - 'major' + minor: + labels: + - 'minor' + patch: + labels: + - 'patch' + default: patch +template: | + ## What's Changed + $CHANGES diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..dfab3ef --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Publish to vscode extension marketplace + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + env: + VSCE_AIUTH_TOKEN: ${{secrets.RELEASE_TOEKN}} + + strategy: + matrix: + node-version: [18.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'yarn' + - name: 'install dependencies' + run: yarn + - name: 'Publish to marketplace' + run: 'yarn publish -p $VSCE_AIUTH_TOKEN' + env: + VSCE_AIUTH_TOKEN: ${{secrets.RELEASE_TOEKN}} diff --git a/.gitignore b/.gitignore index 0b60dfa..33b9fa9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ dist node_modules .vscode-test/ *.vsix + +bookmark-manager.json \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..cae465a --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +**/.git +**/.svn +**/.hg +**/node_modules \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..c472577 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,11 @@ +{ + "arrowParens": "avoid", + "bracketSameLine": true, + "bracketSpacing": false, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 80, + "semi": true, + "useTabs": false, + "tabWidth": 2 +} diff --git a/.swcrc b/.swcrc new file mode 100644 index 0000000..1a350a2 --- /dev/null +++ b/.swcrc @@ -0,0 +1,15 @@ +{ + "$schema": "https://json.schemastore.org/swcrc", + "jsc": { + "parser": { + "syntax": "typescript", + "dynamicImport": true, + "decorators": false + }, + "target": "es5", + "loose": false, + "externalHelpers": false, + "keepClassNames": false + }, + "minify": true +} diff --git a/.vscode/launch.json b/.vscode/launch.json index 45850d0..c0a578f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -14,7 +14,7 @@ "--extensionDevelopmentPath=${workspaceFolder}" ], "outFiles": [ - "${workspaceFolder}/out/**/*.js" + "${workspaceFolder}/dist/**/*.js" ], "preLaunchTask": "${defaultBuildTask}" }, @@ -24,10 +24,10 @@ "request": "launch", "args": [ "--extensionDevelopmentPath=${workspaceFolder}", - "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" + "--extensionTestsPath=${workspaceFolder}/dist/test/suite/index" ], "outFiles": [ - "${workspaceFolder}/out/test/**/*.js" + "${workspaceFolder}/dist/test/**/*.js" ], "preLaunchTask": "${defaultBuildTask}" } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 3b17e53..846f501 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,20 +1,21 @@ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format { - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "watch", - "problemMatcher": "$tsc-watch", - "isBackground": true, - "presentation": { - "reveal": "never" - }, - "group": { - "kind": "build", - "isDefault": true - } - } - ] + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "watch", + "problemMatcher": "$ts-webpack-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": { + "kind": "build", + "isDefault": true + } + } + ] } diff --git a/.vscodeignore b/.vscodeignore index 0a5a2bf..0630f6e 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -1,11 +1,21 @@ .vscode/** .vscode-test/** -out/test/** +out/** +node_modules/** src/** .gitignore .yarnrc +webpack.config.js vsc-extension-quickstart.md **/tsconfig.json **/.eslintrc.json **/*.map **/*.ts +.changeset/** +resources/bootstrap-icons.json +resources/bootstrap-icons.svg +resources/bootstrap-icons.woff +.swrrc +.github/** +.husky/** +.eslintignore diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000..f757a6a --- /dev/null +++ b/.yarnrc @@ -0,0 +1 @@ +--ignore-engines true \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..80f7beb --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023-present czfadmin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README-ZH_CN.md b/README-ZH_CN.md new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 56c0671..3e3d0bf 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,21 @@ -# NestJSTool +# NestJS Tool -This is a fork of [NestJS Files](https://github.com/SpartanX1/nestjs-files), VSCode extension to quickly create **NestJS Files** using **GUI** +## Overview + +NestJS Tool is a tool to help you generate NestJS controllers, modules, services, exceptions, middlewares, pipes, interceptors, decorators, guards, exception filters, unit tests and more. ## Features Right click on any folder/file in your current project. You can find multiple options that has been added to the context menu: -| Folder Menu Options | -| -------------------------------------- | -| NestJSTool - Generate Controller | -| NestJSTool - Generate Module | -| NestJSTool - Generate Service | -| NestJSTool - Generate Exception | -| NestJSTool - Generate Middleware | -| NestJSTool - Generate Pipe | -| NestJSTool - Generate Interceptor | -| NestJSTool - Generate Decorator | -| NestJSTool - Generate Guard | -| NestJSTool - Generate Exception Filter | - -| File Menu Options | -| ------------------------------- | -| NestJSTool - Generate Unit Test | +![alt text](./images/image.png) + > It will also automatically add your created files to app module or your own module depending on the context ## Installation -1. Install Visual Studio Code 1.40.0 or higher +1. Install Visual Studio Code 1.82.0 or higher 2. Launch Code 3. From the command palette `Ctrl`-`Shift`-`P` (Windows, Linux) or `Cmd`-`Shift`-`P` (OSX) 4. Select `Install Extension` diff --git a/images/image.png b/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..8a28c35ca954ce1776bb09b706445df9969c2988 GIT binary patch literal 146465 zcma&Oby!qi^yrO9OG-$Ol!!=)bV-NO-6bL2%^=-_sB}x`&>`K@B^^T#(mgcypx@uU z&wbwakGr1-cm~edXYaH2UTf{oT8nTc1!){Cax5eyBpg{82^AzHlp7?Z$L$zsz;CR; z)lYyQkDOJc#gNK|DgOW;P%K2{MUjvyVxHU>qXM5X9b~kfk&tjZAHE*-+82C8Lb}hD zl@L|)FxXv0H;O{sqaW7Al7m-~niV)wn1eZ~PomzJ0J z0$T!TSeb2Y@91B=&>4C7Btg$CSM3LGMiwD(9F0LHVDfm{x|iFg`1emKa@F>J;Vm1H zVPP`u&fUDIVA_Yqr!@Za836$Slh*JSj9&8LQl}qkdvmTK+A)$6A;S?jk*WA7D=d}M6)M`lsf~5B-lT%`66iTNHu*GyNIWUn z&1Z35USd6UY=nvl>Gb+x4p?;R7vV&7WWL6IHv@yS(`U`n62syAi?NlSwP<@^kR^%z zfF4vxUmg-Ny=X%9O3$xKZui=XQxPHPv&hn<^E|QP`V;5;qS!cHOypt8TgPt?nPJBy zr&iwBJKR*&d0{f5Una}hZhb5=EU1xG;?18D^d*nl$;`fyCI&k#eI(gsx*!B55%3D{ zaqH&R$xQUtXbFqX_xY&cSgczKEM!Gv!yeHLZ`X{Ia6kxraIrG6<9K`Z6~;?ep7#Hq z8ulOv*(G0bs5?tK_~KPioJdFksAsLzbH4PM#JbNf!Chw@#Bd@TOG``c%9<)xu3Vg0 z-`A_BbhNbH1AX5Z9apdwClXVwEJFGR_eot>Q6oNfD9FEh6ggCK9|QYE>yRG;nD_6F7fJ~&fH67+pNXCmLhW5oQ1XHSH_zU+rSv)&vJ z_ML#{@-+|Q`SMcaXtg$%+UucbiYr_GS~lsocy6T}&iPngn~HtT zAYWdY4gFNe5Df6$nKIeS5puBK)vA;y?SSG*5A~a^n3@X*cLfR@!Yc9eDB>UFr3@+Fac z@EDgJ@*^FT#X*$O^D&Px!+DiE@Zy*?r5twnd3}wZJayAPa6CNtjl#v8w>+AKg>f*8 zGO2=V>b^ijDa#*TN&G5HWk@NATOcG+65W``>-3K&Q(1kXaM5?Z@J{a%*YBs|x&3C2 zE-9v$z}}=hqCP*WxP&&q5wTdr{YmCcMZ3U4=_5ryHrjGOTyB5cs=N4D_^(D$!C$vu zmhR227{t0wuKnb{t?XxV2HvSjwbVj2bBA`p>~ACWBTez)^?P@|bhtr05_?wuhb+Y5 zixefEdu>n?R}@oplIROUT|dVb#`8Ly87dWY*P`nztG%yb2IY9?q&CBCBhS>gFV>bb zMAo2q+)0QomW2>o3P_eoV{(C31G&$LP1h2Ok2KfYmV8WPUtFU_fs-RxQ`Jt`oHvmL zgtGmp>YntqlfjIk!tN;4M%$3^v|>aUPzZgbDTu49s~;|Z#`DHU@?QN_5@8=AXPkS{ zg*Qq=`MBJPr-pcSwJjoHo4a(QP#rVpj41+})LN|2#h(NpC|faNQ#Eo)0w@IX8{}qN zu$WuqD$})V?Rz5(O=4GP5|&?Zm4<^~j@-%#M@iJh$L4Ex(Hdu;Nvu;kL(fe|E$(*e zne~4X;ev#1(jWBn=1gctMuuTB4Eo1!Is(|?seYHB3-$e|(2QnOdFJ%4Vb}|k4moQt zyYC2pKLq=4?;JuM?7fh(YZ;Yj z6zNWE3aTUTa{WmmIf@^rG3eYmz+V5YZ^?^(kA6zYVLHUN@Dk|-149Gq9IyvhiJ7na zzcZN%ohZ;`K8(fwlHwv4^IEuT#}E!SLdqz!9rf(OsXv|5z_8cDQGe{?;BqhA)n$gS zM=2bYJ=N)=FpuN8$Urlu+v+X7xbx&&x#=<1t{mDc?j}-w!v@R*;b|;UTRClLWGV%j zU%La&EhXsgD}%#v&h;qg!vKcSQ?oEv;k z2d2Eh0aKk)-BCAS+?OKA|D;jO*O?AQ!d6EN>r69DRd1|AvW6CUR>m2{mQ9CfomkUu zk5|Y~k3`O8nt_KrG!>!^#pMK$afW!`d+R_PcfzUH?Ngv{<7aDdb!`w-K&R|S##$>A z@AgzHX!(huh4xTx~W^ZmU;Ndn(m%Tg|Ll*S`V< z7%7M};9V#1Gp20>X1*8(KU$3YL>3hRx$flfZVG|qYudC$zqMQ zP8T0+GSG4?2j<(@K%K(;UKc?P&~e_^@|@ZkWzT4u?4)it)J4BFb}03@1}z_h3(hQ= zgTA9Z<&j7>uix+Iu?y@;n_#W`2-mQjE(*ZJU+ znNg`lWC0|BtYW3(ZGSq^%dd^z$X#nn)x63rx3_p2V5N!XR@R2F*AX>s)TpnvC%r)& zw3qd_7pTAK*QkT!VU=NEkVQ_%}3h*>DU0em=MPNf?$j5JJd-xA7$2(%c9hK|~2HcIXFbto& zOZe7Ob0ZgV{q=t1(b=@&S_3@2Di8P@&}5YJ+7xrNUK#{9xwUaQZ+;NGSPq<08^Q7- zC3*TZz;Uf7$@bK3P59r{VKWbdq;T8P^yz5*%JBY&X)k1JG%JuR_mJQB>MaB$0?C$+ z$!la_WK8kAyG0nD9>74pSEubUB6pT~!25i7;*si)+moG0%|9_Ru`9=8X01Lx!?G3% zDZ*ESZg|@QufU*G}n6^`h@d z@CfEIc2U~vSyNtkk?gk@iElqW&HIoPFjcCntD45|y8RJt+5@rZuAC)?YHhVYb9*bF z#!t+mQ(c~CUgCAO?Xg{$e>iKAk#vV-F_`F&fce386aGnqNCEH!b7V}-K+LyV8}27V zJo#v@Nrn22+y>rzT%2<(%x{1E_)+c*SD28f*Mu6>!_&P7eQa25c&O}V%CnNpO}91= z4(tOud!i|TvGCd_y)i4do#&2`j~+p_gB3$ttgiS39am9mZDs@N>v>U7QIj%Hu6Cex zn?!%tY;1>we?}P5r+kI9juP!EhpkZ>RY&(l*J*9&$KA5VeKBBujU$*YZe*4Br!tgiG}#|)Xaz?$-jdkV7dSnr%Y_`n6=;K z#xqVUHt~}3a`qkKk(rzL6(cdRfKRLa<)gJ9`<|BQH%^@vPFH_Y<&0JbQ%X+Pbi{~~ zUE_W1ri2;RSgETOYYa8@JdYjGo~<+PMB`-P+!#pcjbv-FOkVuCB*?`u95KM!IB3&b zrr-F%*&yU=?Lq7Pk{Y!}nI7MOeBi$wp0lh3?A`8;g$8H&ss-R^IYG~po!5+gOj^!y zI#=(Q&2?6Cap5sB$ivG!BN!7EC8477^$#9YG!V^v4)vLyQSxP(ZXIq#MMVMN{9DBt z0?JZ8m?{OMip*AnT}cppQ(wsH(h69Q#*WU;m9;g~+7Yf%`Vc>xyuoSDrvDU(1E6JS zyOE3k@NS_UXx9L%j%O$ClysP5)EZF5KO^{;cvo2}_+E1mEwuWzVjk_b#SjNjz7Cr7 zqr^#CNz#AxYdL15ic{`QXA2L^htT)>T;6%@Gex8OLG5Ngzs3OpGqunjT?#Xy_=o?b zp!Xn!iVBl%tec}=P~OjjIcw+{xp{?%@LZjJMq%5Dn`tn01ubOceFAIrPuHE~WvD^3 z*XFIw-N3sq{%KSfM>T*}@hqVh)T}QpA^&)mbq#J!QRNECy?48wTJJTuCq*oj_rW+u`wPq@`bT$FEU3OxyO+c!$U&w#` zU95jvhPxjjVK*@^c)g%iVRy_~l#C=v%4?*|>~sy%(W$jb!n`F#TXKi_zSJyBJ&Pa= z>;N_^>(ExcP0Ij*Js;aO#(L(nGP*;%#h;TwpD71B!C+w)z4}pX;f^+_-~HVmu~z1? z`VQbYMD4jwz-e;S=Kr{qNju}kzahXisL{YwN28yqx7@BVqC7K6gTO;x#-o{{9?Mv+ zmUwE?)97e?5NWozRe9@)km6LjiG0Q0^S${MI6Q%M*JOjL7>R6-VVsB+JHl82R2rR@A_IO2t4yv=mj-hGJ2E5iz_x-l(u!yVAqm!?k zTev3w)2*rA3;}_GBU&*hJ*c4CFB0_qzBo-U6=$$3Om(N_^q>Q$v8|;_ncc(<_f9}(iT-hL#q*?`2Ko0`SUk&3T6sf{G z0vepltqkV~c%r|?;m?(E{;akN+P>33zs*;8E^JOra@T~Pg2%_$Q2aZSv#h0>*h-x> zP=$fYUUn{0-p?=eK*9BF>9kr!+@+<6b1oPy8Ns_0)SME(+?%0kY+vadzw59F-?-Cv zTvQ)Yo*1dX%U7fU&m;Q?SP-u&J_er&to;!+%6kq1;UA1&mH}S~{i;>WOUmP@2yaI zgi)e`W4zKXqeU2g%j%ivOaXnDy$ycp`jTYc6hT9?LMo?;DW>!b)zaBNbnnzUB;^_w zz|D2D?Crz$!*mtj?-1o?Cn#Gza_&$_m3qS$&v<9`-l*3Fd^VRU8C}U+?aFcYewr!+ z)G=56F1qp)EHE=~YbI0W=bBYU=X)w>9G{KtN%(kyPBZs*o#of_o5|e>^ea~m_;aRV zPh3bUYh*uUP1!3Z-WU43lEKsRYnQK?Kg#dl`OY#0>{Z7%(Lm`4_Lq_T4 z#*JabO`SR4RG0d@NDWuzsUse}WTT=FoTp9MbO8$8Chc%ScKbiGXEto}L_;0hwAF+0 z)uI|CGuL`7TPX30;ca?VEIZ{+iv+*zmXQ1>w=-pBp5vA#28G!t2uwFP;Xo$sqS<>v zx&Hb0o!g0o!@-v|Vk1jb_-e=aQ@)&-8Mn3LgZA-=5kFpyHL;+{f@mrA^OX#F^wa}K z%Ff!lMTmy_XYpbSqunTxBl~S{Zd$$)oMbhYy+pQF5tRv72)Gm zHUU!)oI5feoMZwf?Bjeq5vb3~j)l-*ZqAv=%CzOQd8({dor4hRNn9au$UC^i^J-51 zpm=25*X<>sY)a?cZls;YUxW}IE{R4Bvy#GhRkcIQp{g@C1K1@_*83^dlNI~X8lN|R zc;(|_oS~W|47NMfnO9dlAu(}&qf`jyRIAG~(;WAEQaWACh@a& z(~I}j+U7+QM_PA#l~w-wU<|j^&Yuux(rcd0*UnE0O#He#UiOlxV~JN8DHH_B-8G2> zT`V@aJ6dx7i12VW_@|c%VsG$nkiCs&8Xu2xKSxz|mNM!Rv-V=`mXy|w(c7K1Mi%-0 z8r6c$?OpDdWTPI^Mmw^m$v2X=jv-oH;+?64qxi0(^P3;XMTz73<36+zk}AdTzvl>J){^nCM8@wF-wa>O6{C~+CqO^XuzUlFJ6;5Cm= zI8uE?L!&ugkx>@$iQa$^YUXKJEL_e!7j!|mZsBjI0_^;6%PAOWZDWIVwCpn3=4;Fn zDD|nKt|k(rn9F{$F!0#MH>s1N>EB@?KVlkoPxYSSHdkfvi|o6nY437pU)c!`<9EOUPj-woOh5M6EgLTIgiurfgz;}nwZ0_uBl=Pv zb53ofuETVpKA351F+2Wpr(VFdgIsjRj$E%|e6|H?@w;OaW2pz_>dT5;TpFk0*MrG> zd*_5xX&GXCq0Q`}ozr-6Z}=%&HZ7MWDo;F9JyprnOe%7u&6JagV`smfA-X_L>7C-S z=@9tryyE>&>KRquYFkWmc^~v_#=&-ejT=<=wrI^@9q9jzj7Z)SbU~b197Sg zEHE?%Y*7PqTOys#S@twlrLbF!$QkS@;o4O`vQE73T8_%i<9@*5UnYH7u zijWY^^UA9oXLYPeU076^d`UiB_O#M9Ok{5+^c-TlvejKCry+KMGo6*R=0K@)!b3}S zLUvyoK!#mE)m>kaI}f=GUfC|A9OG>k=cssLbN1xGCO)a?qrA)BEX_{)d{1k|`Ij{e z?)s=nsVJZ)2jByS%=}tD=UhNMn;B z=;t(LMSm|Cdw_3Rf5nt-2PC^l1oktQTkOf%yq|72z)yCw`7FnHZZyYALJ8c+Q>C+!z>XnjpGTiIj2_54Lh6HR*93| z3{!R#fhgfg@=(|#Fa@ngF{**y*X?`K&VRxi5dupxJkskQg zA`Ot8`!@Ap&0~e-xF&MBJ#En?i@xBDQ?3G&c2L%39-|X9A2WVPVt=wTZhL6(`qBhz z^R;UeJO@-X?b?)YK&8gtfZ3{$^x1H&WOkwJjsughMLS?CkWrbN{dWmti2=SGD6Hda z10lObGuN8u_i8(mrHo@L4cnOBJ~=Mcx{BQ_%aSWcEaBv4*2PPKiX(xjj4NhZ1fM|# zOtp$=HDRcu3p&-leLE`ubZY1dxm9Xkay&_Hc+H^hse;WFvEktHIW?QfGb5EQ%GWF0 z38fGv)&a*S$Kley$N3Tu)AZ9lF;b=lhP9ov;e2a8G;t1sUYMH_yu-RBTq*x)Fc|{% zhmd&GnU+MvXHJW8aE^XPqp;mpvf}CAh0Z?_t9s4N*z8_Lh$>&MFslz ze=k@E{fF5eV$LT2_pjDhGO7NZWP$HaEldxL^}ih^_V>zvgD0Z-8yo$n{Uh-I_V@2L z$*{jp%HMlpX&>ZRDYTn&6dWqmfPfI zgLNYQ8Ah4*hkhbb8xLA24E=7o%!gCM(Lp|=$=gXn2hJlx7V=D5Vq#+Kb_={!(Mxs< z=>PSc0*s5PQZD{=ID|^zhj=LN)c1~^(?1gcMC64~3nlNzr>5ErG5j0T-$#@`a8MxB zT>mF8Wzg5Sr~F`u2POe)@ts&~xjBAs&H7)@!0c6my1TlT0Th7or8Iy|AA<>J>b!+SyMmnvgEg)0syXQ41}{R z7k}1pO%|%=D_q>1j2!JZ9&CD^8J}%W9{r+=F znOYz&O37y;KO|IkGO20EC7K3>vH=MJ{w%t+&zYDo0T{$%tglf_bLMoMK9Kb_5i{?8sr>V?qke& zOYB)f*>pPoUcQDh1;-xNvWTLdm6bKsm`2WJ6-3CWkZ8MXs)>E0kS-Wrs#~X{>J*dp zqE3LFebk1h_y!G!JP42g!2X9aL|`cCLf+?t)pHfj@Zqhwn&MeE4fZz|YfjYOyBw-< zaDX=2?N@p&=y5EpoxcV+R8UkM3@orYlw#5R>YspS5)RR|&{lxZt{Ok6)8f$=6h33hpB!4P7 zUVHho41jQDI@wYjX)PACWdnzP2a?M!+5hk*|OG&)+1WJ@-$DdU;W z>q;;LH(*jBc4q^Dcm?l}8)rRW9^QTYm{VA5`fW9e{g7F=_H{gqZpdtv1pv&!*Lys` zIv1I$s;cx}u)%)cFa!c$7$+nCsTP^x_2-AoF(fQdi2`rq-W6Ldb~rfd=2~d*wvo*s z?c{MSb*;gBb!z!J!O!GVoCLAXX8Q{bd7ezgu$k(&52!eYw7jBW51{jTQ8Qu?V3V3tN7GeXFM)3IMzPZpUK5o#C0F;lSeb8@ssQXi(XP)5wGk?8$T zU-UKaqJuX;ZR*i_MW+f>-BXeWE0gxVHYOcJ%UE^ywYFuaHK}4A-DD3C?r}F z5)u3w6OM-%OH~<-0O{0*=JYy1+SO9HZO7GrAGvkn@FZR$BO?zAb(Y>``88Y0%dWYucGyF%p`~N7#g&9WJ{$k^hAT}i#wz(QZ@2y37yz+8iUVF*D zX=d+jf6*>A55;sRkc0KN^-;`X-;l2*<0jCyc}*YLiWsd%wItT>DN;&%sy(5OVDth9 zJo5qv8MF^6kz>yMw8fVi_P~2mJ3Hj#tJJ!YU3Bb>QLu<4N<4w^XP~_dRR8FAa}5L-@th1dp=99ww~n58vy-5;FPR11~8n)~zeUyxX2Ewpbc5FTqA3o0;_o83G_V zvG-N|!mna~)|uUSe?upy%EIS^e}^mH-_<3tlk{()t!vaGw~lk|ONAy6_g=^2b?!t8 zw`*t|#Qj7QYETy8Du6J{K2DBcF|nOEp*PfkTO<@`8s8X+kR=`bj%{A zZQzv%#A)CY9Z-`b`=F_gajp#4iYpzX_VtpNY$eA=KuiqBXJ56B zYPe^&oV~V3$sFj+#^*>2wBog|%7=7+F<@D?7>ezOqIwDOkf>Uu1Hq!fLegu8O>wPL zzl;;b-tvJ`%ys@Y^n}|Etq&QdEbhZDQNCHvbn0y+5}xIyOrzDfD_}Q{B~P0*l+1GWfNfZTfWyGd9ZcN;^D>sMIAz=yL zS%uc1L1- z|9H;XX>cENaW|T^1}>G4h}uyU-^|t8TFVO!7(l$MmQyKt{#&Bn+PF8!+b{?TaVaBf zk!EQO)>31DlMm~A|io;<+0{bU7rD&M=;O0w-y)bd7ZhV(r z9&D%xzTME)@-$9o4~}%}FbxJTb>K_uC3+ZAP!OCu0K5H54CR2`e#~R#DW{dtFXy-H zyBh|D?WP^WGF3~7C>EgzSx1Ox162wgf%E7G{^E9g?1nm)04+Y*LYDK6G5b>q?0Z9= zAoNQb$GYYyQp$J4DASeZ1C41G+ecI-(cT@R~H^{=<0 zW)2&|S}4+aW**(_hb`CpoN;z#q(s7q1?R%-wWlc+`*Sq|g9F0Icp%|abCe}O_a)}vL{?)YOFol!5 zVl@uZSIU#~{cC)*xsxS6B2|+0<0l@?wU+K4)FDd~JgyY`*G7C#DcLUd99*}#OOoCW zmbhQ#eLNAg3pX_wzF%jTD0%ZuW%6JFS4#l3bAQu_Mu^=Zz}aiQJ#cgf88{o`(4w8a zgFQNbLwW6GG4lJea(AwAv@{(LU*LY1!{v3c{YVSx?GSkt9<5{_;9gevUb{^grg`U* z7td><{u+hQOa@^RvU{CcHXZd)kn-43rh9IZanhCv@s~vtyOpG`Z8cHK1g<1RuYeK; zw(A1X@l1x2xu%#sLyckZ48MKH#@-lE%uZS3up0LpcIQQIMcyKgVx(Ijp8ciAy#D+S zFsl>0#n&&J`GoA2*eN$IF|n}32I5(S6xK{}zjrv#)H|9Iy8UyeiQGN$>(VU1w~m}C zJugbzOIE64^J3>hFg|D}BV7b#N%C0u>fg4#+7xy~IMF9blk{F&_@vEqSg##khpv_P zn6=A_#B>DM`Va-7X(r0fE{7t$?(`NnH}Y)a3ctC^a+gLccT5!Vd1;=(LfhYM!LP%rwKp@}V*VUKOg{aTJU222-!y5@BZ zQd3R$;Kvw0lZMy8EY^&O-9Ya9#zqFKZmk!qkr%*g`4CKvPO#$UthNk9kW+kD1(S?D zc%0T{ZcZl@&6jb}J{cPu=gB$FRev(SOkZEG_v}=Pg)_3U;sUPSIdAl%7b()thI|-u z8VM|ay(*ROaTvI`!lpvQO7CuC*tb@z)WKtZ3jr}yFwGsFl!$Ac?{#@zZXbudNgMVR zpMQKCVyH2aynQj=xaH_m&a!72J?nNrI@rj7Ez8`KiFkif8qP}X&;-t2JIl=;yPiaS z2USj7WTO;j;z+z7!;rY4{KkDzRguw{Ki^?LZ*%JLx+8gOR~Ks0O#j-im?z}cPQDs0 zuN6h$D{WN4HQOV6J!5G2JGF|~Yu%QgZ~Af9?dg}b3SD-GMpMu}7CQF_(GgM3lJME( zPcR)Ev94l${2-K)%Uz+U^v#kF-#bE$zcEk4%VM;ty1{VZJVw6*c&^{)q?wC<3N8Nc z)4F!q;rkhW9BW)%MLkNPc+dQk-Wbm?2rje>uL0+pQb)~IWB;;-%)>1cb9z2{`0nv- zkyi8Q5NSw-U)44n$|5x=^3Mbv`}Ps_C$!056@iX_I$9QF+tasB)!)%f7JU}ap?|S{ zcaf{ZMV<|p;F}`-OyZ8y`I}Fb<2?9o>#1e)L!Q##7A(e{e0mqIJ;0qD>#4uDbj<$O zuk*rq?C3#3GS~n*u+z4XFVB7MHJSe_l6B|S$9KqAu1Ux;IAMO6mlO0Q=(6+r$H9Ao z#8$pXOlE=j;7KIx3`&1d%?-)zgoLlLt1I;(YA*ZEPL;iLU6hfj?D+0Dq=B==T4$u6 zznlwkSgyK6nQ&$O&taAbYj(TyV0~Y)f`00fw|auH9=eqKa>v8x<`-k)#oq13@^svc z`yj`P7Uk3pKP40_fFS}hb~QxWo~DR~^J@=zu4%5$CpHx-=r&Dj3ne!BrgJ@vRrh4j zr#6VVies~{WvdUMi+u6QtQh+HpaANr9n_@e5p`t2C~)d~SphiRYH;Z2bq}CyoUv8p zE@^Jg{Yi~*c>m{((W2^dqwmdxf#Pq%gC-!MxsR1vC)PYxLdNQg#6FvfA-f$=L)mYXts1LK;hqeF&n(;Xrq=PKr#VobMKSBU}9}eA( z8TWQU1~0k%_F7e{p#HgVfoZVCPh>j~hpxc5eDNvMr9pSJc;{`C!x~qC;aGCQ`E4}F zt+7c&;06f1o_Z$oIRBo_w4QW%y%dj(;?}jshCs@e)&viE8_%Q!j&^%3t@arFxz0U# z;tzUH9Q(Om-MpVK)`x#~0UgDhvuJ_9KZCUEGH4A_hxWrXd2|GiHIY=ZcAUO7xgaEjEx8e~%fgO{UMrCQKSGyjkH2lhlddp7V+%81NrM)p7$9Zt#h6MY{g*s0_L2XG{oNss;sDc1n&*Dw;FV(S;aqyVfhq?Bzks`hh)k*VUsA5 zMLdEI^E_JMJGsSZ;^D!<%=f`p>aAem`rH*bWt}9O97BMI*Il1MN8rAIC+Z`DXs|&x zAyE+RdX~zBJHR6_qPj45sbxp)S>c33yGH44I3~<$jKNAA`s+Y?t)-V1|I^TaSs6fP zplE>xPmx0$Q%12Rg0+=8(JWx5i>)+Iq!Afd9?JLTFL@D*d78Q}gIL^?Dv zl196eqG8vjFRx;BOy%Q#h&>Q6nY(|uD_C?m`BZLYV;bj{4cAFfrfo`u`21fY1`zMz z!n%nFMDNiG{2tZ)yYKN>EiL-XqzFX({|PO~#AdZYd3jw>*aN=@Jt-K*zLka3C`1^_sR@#=(Job#1NG z0_fo@v3ikO``zvJkf~yzTRmR-12FpvdP70^;UO6kXnb9tN6sGJloRX6bDsZbV64sY zd2bD{k$zn+-_<>onLNBS8>P_)2#6X-byJ8Z5^Eyo`!~#qckeM=f+wQ#{GqnylBw$M zx*%xned`@90h8E5>&N>4M6weL^f&VcYiDZ6k^jGv7S0QR!>V-srI~#~Kz8&b)KG-$u-KrP zzev3}1i*=O92^9_5UNffCw#~nm>un9;m5wOKq?aDE42b6yIs?nnvA<9s@yt>Pv3Eh zqWd>a*-{=ZQ>m^G`3xYY&6wT2`8qmQ*5R9-pB)eB|9qMk?&$Y-GgTIN03kEJV=YuK zjz6_TcU{#llkS@2)+s9bmy?N{X=r5l4%hIW^lDVUg;%zyqB%-7V^ zsF@k96GS-G)rR&mTsIqM8!f?6m`NMge+551>jDhvj?ZrVO%Vn;JTO&n_llt zUw#z*l23m}>GF~2oZx!bw3YYzeD7c8D-kxp61n{HQP9vfC6_hHH;UCd`WBhXeGwcv zcYJCXV*i#xRDG!LE?cPYIxv(lB8eM;T&u~V2CC}pxBb($fnGKJYg(soY-0Ezm0a6& z&!6MRJ??MEM)SEMU8TEk-w$LQ62NNGxaGJRv$J&a5cU!#GX}DS1s9kJ^#GJIQiCxJa$@Cbq5CryH_{6l%19>A9BxhVBWZX0uClZH=jIuc zpDGGZtpk@Mf^){9P8j4Um+jKQ;SYCqCtr&sUtV4&5qLi27hzQbX|n6p9V1-30?d3~ znB3j;Nxiv&I$4f^uPh8j(!y@rQJcmOj*S!VTy!sNQ=+M33Of|BK!|M=1RHbh zuG&Q!lR6sXt<{Q4(z~{N!Qq_CbznIY2{X(P$jd#IOAnL&lcTk~?zj_Iwcr;DtYv%- z4i55yhjcxxw{D_e1KXf)`$MWFZb#+*v>s;&ht#`9R@`fSO63ba%`yUqfWa)II~9-W zTYNE)eNw-DU8Oy`X6*dp1a~x%rPNu;MC8iJs|My0u#6HUAT`vvJbH=Z;iT(Mh#jhJ!SF^%=2)1D0CNOzT$ZJHF` zn08I+JcB1H?`1UF*f~0+iuI}+xwGYafAoX7kcsVqIp6e_s%`|90>L(*&`cNLQeP*N zJ@BpNy?>&nvFov$VmIG^#o;yASqZ+kPG-vAFy7r)Lneg37=7B~&hKEo5@ z!+)INgK_JP*Aq2#hvC!|U#Lz%+Jo?|A@1{Oaj!5X(;I$=ol@O1xT?)MZ3tzVqjGCH zpx*I~IqmfYz2;H(5`Lx^edn556$?`jJi3^qIg|}=zgcM>YrGd9wsmRBNBFLlFC4wd z@B(~j2i+a2GUU;+_Za6lf@pYW`~K8IC03pMw@0J;Eciw&RR>6LVUgc;JUy>nU$bYj zT!~C}H()SneBdxmwc%!7Z?aze9 za>DeDUGK)w?dR_@gJ8Q#tC`GV-6$OB#!z`HXpOvq z>o%fpzqO1akDkjmkS`{K{^_;nTCHkHjMDdeBu44Zq?=$Ip^IitKP2^=ddCs`YwwD% z*5ndx$FYdsX3?7Ebm*LLbyA9^EzJiN^dnVYg4ejt=xaJVQds zeS)9+>x9W(2&kxFlJXg@ReEp@m`W;PIfy}7%A==OX%PMJ#n8{+9Crx3N0TiF@(H|l zG`YixzvA^KUOVrlmcmA!wM=!U%8HHS?id$gz3epll8vnU_`64otz>G#4>6{nzf%FL z9YNd(6;6QpZMXid%PmelTY)p23V4p=o~StVW4l`S<(J2h>>5*Ow6zx1ReTa(POx|! zl;b`;)yh7Mz3w0J2!oSQuwptcOajq1nO(~3FypAXjWl(W;arY8QfC~dwc!)`An1oi zWWxul?iAnZ6}}d;My1O%5C~GMdXX+1a`Ed1^E!$J{X?q@_?h0OaVA#i6R#hV@_>YS zEp{?u&TP2!$}stthQSEI@@e8$;wP0vqbzM#S}&^F3t$riZ~i5{11n#t&vRLNKg+Ps zsX(ia$!fA1FuXGeJU7r_cKHaDF{BFGkd!?-Fq{w02sJa$j3C*%b;3j8&F8;#?P_CW zMeqIjtMdCt`jZwD{JCVzq+dH{-o$~0PiSM2K|u&G)nnc_<;88(q;C>;20c@I*oFnFJNgfDLw0(05sP^nPve!Ln*sKuIv+E$ z9s8W5*5KgM(#?md1sTg=d8dbkKWdJYrx4RNq5v#CR8m`B{utHd=d@RJ_@*T*JtA}KHH%L1_+`_08e?a z4Otw2ioL5sc)~l~-Sg*N6ut4?VGHTan2$scLwnt;x{->qIrY!Cv5EIbO4y{ru(uq; z{H)GMAqv`2i9tjcsM-VAPeKmvUcSDwAvH+;IP_mE4{%5f9u6u^*7Zt1-u7!iqn%_0 zV!tFR`ktHVKEaM4g|Lb`Cf>{VMfGJ{HI@j#b`n;5eCb6WSdMP3O}KmtxAw@mfB|QA zzXqT$Z#Yh~<{h?vDf=AGx=($-S-nV0ys|zToQ1_guHQ7?S5x!n&m!cL-}W84KOA#q zL}Ph~!L^)>j)HdHkFc&O=L|zhb|nrRu&2^v%J+Prh7vjW7bhnKVV7%!f+uZ5Q$z$z z5WAfv0{2A+GPJW+f)QbleK2*-CV0C|F(PR!TiO&rZd+q(yN7}93y$dK|0-)hG&D3* zzdQ2P3RSjXts=s=r>Z`;XVZy-o^SZw_oIO9{OMg7fQfB~wBM=&RSWM9it|sLSAw6J z05SGNKIa!wQKbG@#IF)PJ*glRJh(t090(+{48A4k(_2CV!)5OY2uP=jQ5Ql}4*{2= z6SQZEHXe5E%}>J12yZxP1{28c?7|!=5Cz)_v-q*#dVLKD@Q}!b>&+_C7b)zo#8`CjY?QyWd5(C*QV2*)2`6(S9{F zzpE!DFuV=;mankpZ?MQ-a4$c_?8JH$c|okH=O0Tay;?OQ+^K2kYu57RJNH_l4aYvk|^w5#06wAMnwZ_ zA8-^Tk-k(Lqe-=bJ`JVf4I{23yRv~wvE_aR76L9%KHIBEpP!WO zvdgQYkp2c54kYhn)3vnMv-!P^L0=ft&w}wy0ViSAv$MlayzIZVG!>@34yRkn^o)$z zKoxu*7CbK{V%l@1!UHIn;s7KsrhgVsYzV$&0IIFbkdqP2g|kbks$@{F~MP*KqMJZ2&?0DOC83?wvc&DTM>x<4H(HKV#2Hm7Cy-QQ08^w>4- zabuIcL6L?~RxHub@+s3Jw|*k*F}}OvrBB0lz)f7K4^}&qR7rJy9(j!>FADClg?r!9 zuFhuB$rh{|Qr~(R_+MqUPyIe&t~TdVE87bF${?quS_!$;(I2nHTwTRm`4jt1=^z4q zY`Oo@=G1F6U(U)_+eb!5f{0pLTBeAYe$Av#!eF3KJP_;gt=&|KHeuW=b>QDC1jCDc9r;CQ z;i|D1H(#fQI}EbH4WsF`(dnP#I+w~by3yu}Q46xCu` z@S9f$_TWy3l&ez5Q7h<9%b#tNU*LP)-jX-cV*|=a;{(NqBOH+(2z)NIl=5a;5ZnYi z!@4~tYyAuZ5^XRrFxmh@FMkLW_PyDetOANyEQ-Pne9zRaBV^jUAGs@J2-^yM3y^|K z)BA1gy=D z-fX*^GNqPJK3QzEC0@5$1YuDcYi&xZJ!mr?yz|7A@_jS^*1Kl*#K6<>iCU2oHIQ%8 zRU+_AzZzJutcg1!P@CkdLvX!i ztp_C$PP?T@_p>faihnlaM^hI~v#JVJtjp38}^;de1}}SeD5vx%$tN9aW!u0 zCX-J}xaI#BTW|f)bo96Xizo+ zBSyz)1ccEI12=N?i0_&2`+a}DKiscBfY{FKob!BM*Y$W3lQX@IbNy8YUnK~VUUQTC zPJZGo&M;m2yBHM~ekxRrE}-$)2MzOa*Zs%E0b*%T)NZ3Bwg(4sTl#%qR+80)uVBehcH$#dzFyDK z`aOQT6D1Cu)jQLtQNgfE&m~u44(2P!cV(_f$VtyDCd$~w40-Y#(WH$Of?T4sYn>*u zs#TI`QF{IhQ^ZLSE4u^yF|Hs&n7FjIwgx3WzIU${m@&c)ic)IcDcm@ge7^8%k@A*u zGv3i)tTb|!t5ES`wwR(hO?GKn3V2_qW3|4E|K6i?PuJaq6qK!e9oYXF3opY5#CuoQ&7Au zmf`QAZnm$8%cKDPM~+-{KVKAY?N&Wr<(mO=sq-a3lQiGkShQ0kq*=}Fm!-LEU3`$p z=dh(XTx6>a;+fw~IYnROZj=cKHQn!7XwbgZcv|i>Y@ykvczev}`y#!B=pg5Kq!)dn zhU9~fSKhuK@f5r!%tRA4H#$MQ7U{j`sDAbR-~L8IM!F1n9VOLOX=il(ak}DrA3=?u zPsNUncr7*Ui9y5F7fA0e$t?#V_{%*+wweWG`lN~k?SH_Gf|lcp-A4_LbjWyO)PYrC zsF?UqhrNv%;1;On`OX*k$fK%EQH}fXRIcl2<+NM4_W{&6@U}9J^XD_0fNBZoVnSBw ztW^5ZgxJ8SkPtVl78iKR{EB?O8A|ABfyr;l=jQitwGKUBZ!0oVxcKw`=7FT3!hZs) zmi1}@G=Y=B^sWb+UB3tTYQ9bQkvlW(%$`60xcim={CWH1N?Ys;5y9;`+N##a8O4){ z=BvL!1XP7WDgySnqIs2fHSq%e8&8d0>rT!?HS@q3l)N-|>WjzUKhQeP_@>VV?sILz zEoE~Ygq5ss-$1of(SO2IL_4iz}A zp&);}A&LShI0$}rLN`2fTqn%@)^7K`j>8Gd$qihe0h(mv(IJ8N+k3*BJZsNtl|_(j zG*HV^rgKzTaU3?y))Ry03<}zqP93ff+xF?1#$(m4X5)|Ly{K;fkVGOzjie48|rqzW8QQvj+=b zC3AWpv`7Rsya=cD`eQ}K%-*9PQQeL z>%ysFjAJC7hyCQ_ms{wuGFs-bA-*vsOnsCIVxS656(}8)lhm-@cR+N6g?ggT(e^X(@<%?nA~)rMuRo-7uT>B+6)x>^uR-I2Yjw<4hz=>NfvXmrKPI}A=N8MVja{;I|~`8 z)pm)Rgu@fug|d!=zh&;)lyDZ@%%)~&fm@J8l+Hj*#%tNQ=!{ByN;*4|_ghH2rL_RT z_GOd5WeIDy{PtUm2cXFsosjVITBL&gn)=Z`Y#?sTsr^*;njTu;qBIWop?wzwbhR$D zuYR;}w9(CkfVv;|OU;>bS_1o_;(8j}xHsgd5ym;QFa|efn(I$eV4jHQMyjCi!Cr0x ztE>6W>XePi7Iac|%}?6T+8pN)jA!V6qbgu#TOtxFiInrS=E$RGTCM#Y6RITnv1mJV zq-z%;z|C#NHs)DkbNmG=_0~0aE=wa!9@Q0p~lnYusPLzrZ)@uf<)f{qgFmbPW+pdV#Wt z_x&8NW4tvfFFez2eUv!4-YhyY^CR4XYr9P|^S+xY5ur=}d_%(a__J-{M#pB#C)h+; zH$>fKX}tB3t#``}_ZOoy*!8*%8C+;*P&(gcmLk97e0#p`txJ_VMWgs1#hZ`Tk2i?v zRY6nQ?|V!DXN}FZIen7`;a8AqM@Poi2!7-V^s+lnVmDWVE8G8*xQYEuI;6E6U5sNF z1}F|Popj~mxuJ1Zj!~^2>e(mAz(SF<+U!xu#S4An=3-9)Hqb;yS$;M;9fRmTC-Un$ zLL|3zucK(F1iuj-XKugyxMYIGje37xd1vD!>p5BE9rPX8?}nL<)j!E#U5}oq@!cXp z1@nj{%}!SOZNH;v*t3g9-2&)((f5j=-z;x*lC4qKQrY5--QO~x%biFWy&im6VeWh7 zkK4u49wN|IJ1We^I6FPKr8E@FATDFe>ayN*chPY}e|WUAJ!k zY^O_kQ$d@Fc+ zopPR6*%Qt1bOadSOxv$NvS2?S`YbnA!#)7%-}vCVGn-~--(0i3W-Ru~T z2ILuG(&nF(k9GVYdkrLr%mNB2~^F{fM4tZN2drLg~ z1EjQQ%iz%4eo`SVJ)dX(>C98KFj#U zE%Unb)i&R%>5|*(y%!?5#8HOAlxxhcW={Yr{N5c>ejYjxl~oY{ z!_sZFI`Gzpm<xk1Wr za_bDY)TOa?#Vhoo5IVVKi&GRN+{OMrL{xoek`~ZAes3tZv|U=}X@EGt(3`Uv8HEN} z^}Upf!-5FHqrL~?@l&TM+#QU1TW-E(%!!*bpE%2o9Bo=18kZk-ff8nmZIPd`($e+i z;hohd(Q!lT@K8LsDv;!CyRR;1{D3EM;&0sX7Avek0n_&@6$JmzcIsH(=l3**0cmeY zKMhNM?HaG8;o1+1aG4X36~w-GYQ(v_d!?6!nwsOuhxOZm=vzPoeblEDb%}UCQA%w- zV7vN6Utk)Bhw`EDjNcNQ%1)rb)QT<-Zy;}6?f0c5%XJ=FttPVo%T=$Lps55hQGNBQ z$*@erW~tdw-8I#1_4UFKoZhWVd1Xldnd<$sd4c;Sn-Q~@k-U&*eTEs+9!*G&zLOPm z$0UD5{?|7eOq5Z}bgOY^h?sjwJ7MJ#@*HGVMJ!oEit z8EO;Zj?UZ-K@w3yIoQm(w3Ck_1XH&jHI+kHt2+RrBZ|9RCY$!W?+z~e^wY+i*^*;(O|l=(QhdZ1y;I?4-d!sG^CTYic*0+7#5ox% z9Y&v^y_(S~(e)ue2TY+dHP8P~?n!og})6$2-Q zN-Qow`?U2+u8rT77d1kfUF)Kz7Tcd1?`z-$%q~Cq9#ex@zF%HgePt>E2NrC&2qUG7 zPYwq=GAF&s0TBcK>};v}2!Vh#8{7_W^uWmb&LDV5J4W>M5Fz1*HMx1dY&>bDV)_On z?|x8RAW6Qfin)Z;((VN77er;K28H-uw$>XQX^@;Xel9!I{{?-`%ERK0zFW&d`%5*` z&=epNeo8NM!Y)@i@nA$N(@*=F6<(Cc4UWuz@L}qO4W1s8`sGq6DWt7>t4y8u3a*b3 z1;8)J#7XUM3RD796C-_e!g}Y5Ld+}P)REU2dQbMEP?%;C)WRq=sUQAa3|FVbALw*k z2($dCuf{}A_NNZpT-%O9=~{waL<&1^PrQ~DcXg`!e()!whj_=E8_Ng6DMa_4uz^3t z3Nfx#!~J|Ch;!`&PI7&RW5u*rMYO-@#!8}aQT`X*eOg&Bcm4!&d)gI}^0q?ZWy%#; zjXr=X6=d3+5k+w^x&D4lLJAqw-H6GUlX`6)7+l`;Idr7;No!T&rMu^ByyJ8cnEG_t+r#N1@>}=0drHk%_@<$#FjCKZN;n*ld$O{Cjzw@>%6Gh@l5k?k4+) zS`A0WYs>W6HV9J%p~CQQKd1*>YHLwIL-#wq@E`|!)9OQY`$HFQ_^ zgN*vl)Yqx)+kj^03FIr#E7YNE7WKcv#_RfkBCEcd_DxRKy)!fVO$3I9e14PRBy|?W z^Z5>w^0p+F$lV%BXVCfFGJk5J%Pp30u#_|O!LzY0WzTx;yiSzUs;5bop-C4Pgq!qN`&J-$6c-89UcS-?JDu!eIA90o0nuRQGKe^SIT3<~L?YHH% zj`U?tqatPnD~_RbyB}DCF}V7YO~~Od=jhi*4O&EsS}STKk_al zl>}>{fO)vfZ$GpEKl&$rjwQR!n*7 zs6d)@)H>0SuO+iwk--@5er9zz106NqPVBE%^VuTVX?a-Yw~%WcQoayD(1U_P*{{?CP&;0ug<#K~$A)6kDml;G4Ar{KQ&RRhEpcnb3)Z26^(Rk}GxwaxQDdN&S)}Dn zVk{G1l4zV>bW!+ppahx*R|dNLnT-Ot-wX+;qV8bx zsooVH_ntXJ-kEwM(6xT5WPBg=sP)U;zjH5r8mWzbSnd~@b z!(_S&YO*A2SF<5?!DPw8`)K7Y+U6&*{kKSD6a}Y2b0x3zeH}M`B2$aU5By*o?im~k z*Tf0vl#^#&26;C?`68>)BZe8Z?4pTp@}K>gmv*PN^F0txlWQXn=nDlJsf@SHs-r`S zuxml+H6#q1#)V$nn=Y7w7H-FeR_9B!0(X1@87}VDXv{B-tiU46Rkxrs9(6VuDo4xu z-0dHtEaV9#+sV3x=$9Rj13!F>b*Rlvu_|jjl$-D&ioIG{_IFjn6KA@VS7Zpm#HsSh zNlx@Cj7@(_Q2)1^E7KOLb@i|WZ`uH2fX}*l1d9I3RCfNl9l>gHAoT2df!)d<7mmpV zXt#f(pAyAOWusSt&Aedus%F{hUWr!Ru)2dhY(Y6a*(PseW&UL&Y24*bn^W(F#txji zcy-#5{2s&yhi>0mo-G%?_3*x;_1^I5UxwT`zQDnPJQeX|_7j2P6z0&0gp_&zjWL1t z&f-frxuPsF0zs8lMsH?Je%8Ne4DmKJ8Y?po{C51w6@iN=jRi46t>p#=7^ncoy4Vc(O)f^w@*VUgv(r%CY1MP2KT^o#dt0fbW*?K zm7RS_v}*6=1{S%A15#1MqE>c+)BG$S zpHq^_y6UKWTecI-wI%-@d$=(jN+2{vTW$B!$N}VWibBtZL-XgDk@h93QEM?fY9uy3 zIH~Fg>p3X%X-XWAV?lz(WkEsAM~$nYVy4=lzbcDo%#%hUA(x7JnPCCuT&=F}J585h z&Hj_6QjN1)6*Hxefr2L^VI9=rKjq7PVmJ;p6dmgjB&bTOLKlV}ot5)t%rRNp^Ioai z&Ie$zKmK!@ZRT*`x%b|kiUpm!mZpQ;-|UE3EC-rZKT6K#j(9A zy9s%_-b)P=sY1_W){43_TOkwr8krgwZhez{687IzFeeC=$g%sO2d(77gVpzk`|Lw&$Z`h># ztA!`ea}4`8PU2|p?3CLEz6Nw*ITZI+!Gtn3q^m!Bf6{B_!&;f}AD@^r$^qUidEEtR z=U`MPo2^$^gGd1M&V=gm)96JZ#i{duqpANcHRt@z8~(3_e+^V4;wBXd(IJXuZ&iP- zzhx82cfgDLfkvc${*8&=Ti;w;V{2Ce)Ax}he~q*YE!tnaFt2?x5Nr7;IDPi=zm&AW z)K2Ql1HB%X6K1~G=QMSdEJF0P5~xn4Obgzyrf?H(kZ{|%l^B2d50Pa#K%5DEli(+Fy{s5-nfX-3*?XSh7g zOdceG(JP-yPh}-IE=jvU?_KAK{M-!7~dRZ4m%ZAO?(ai$-ei0Ro`AL~gdsJ|Rk zl)cP4aKUotNyoUk*4;9g|HY2Iuk(<`S_bIAtL)yDRrknhxc;7oved6>^13023c{ZF zs$W9CuMHOzXOGxY6J#t(=L!$!>uU83GrNhE$R|F;ZVy1Nqr9r;^^59XRd4ESvH*TyyF zp1qQnFLri$fr${e_3g0wRn3ckyVE%i@WsA(^35?JRgRQ#=B)Q2@!q#u`ZL3(wpuFf z5-j>#b-#-(1onR)*~m3$)hFfMDSPdI?rnJYC&9V`Z2tV1id=su8wggxeQ~|91Lgy+ znE93{|D?h{1yyPmFMB%uPw%q?S$n&LI}8%89Xq7hz<&GY0(vtA=XP*X&BkBn+}7Lg ze|pBEB-D9y7pacN^MT#Fyza<WabvMgREi&hMpa>q&gwHEN9MQG+Jj zDEq!k+wiFkUa66exL^GjZefQ{Y7FSCC>(3Pp};dW?-V=E5qeQ_zpw*S>+#_%!R=mM z5`!xARaD|^y>l+4BT>;(Zcl!@fNm#W_`#RiVaIr?-M8yOEC57BPuGsD zJl^(|T?Fo*=z1aTYoOxsIUh=IdnD(BED0iC*-dcJF@2XV;fGl9?&LRbAd8)Mn?Hl- z?#4UPJeyX{!OxZU`Jax7b|3Uvc*+_xTCeu&S=2?ZZ9GjcM9EMt+I;EE5v9!?NL?@Z~METjOCf`&I ztMx4eNcOn@TPirtktO}I92cVw&UDq+;!cJs5@Sm{e*N=zOHdMxA|&i_gK zIKk@Q%Ax+)7w(lb)!mIE`m(_|e^frJBYx-52n`_903jWdg zl^7FgHU0w9X85_(UWvoyA9u%Y1<`XRJF+Wb7A{N=)KA@i+?n|P_9L#)ipjOJ zs%Mu|>=|yL2v`zzU;X!-y8=$9rMJT&Vmw8zBl)!S=z1Da^HUseGS$A;l@?K8TvKA!cXvZ`Oeok zuk7b2{;z9qvMsjOr7N5sYJP*mx%+*?HSo!=S(NelfeJIqCa1eDi!~L%0_~@EXl3!>j5p4GpPc!Q-^_kd#>5=;AAR|F4*q`zXP)^XC}WEO6W{K$9V`Q?ar8|=@J52$*T!4K^e z2kDr2!xN=#EgQqn{(SN!L{|3}_CKi~A)zc_DhLDE*yA80&`71PP^*d8Ec;&%fMh*A z7jJe4)VDe1V3B;g@Lv%59bk}n)Zg8}tR4x7AqjTW*a+~`MT3+EaNW$*pO$FUk{`1& z6&3fsKJG`>0{Tqz^SAf6R5$U54)^;*yWLoYY+Ib@8(;?%1kv6i+wNwUngg58IbH<|fGf`&CIVss zw9^{6U!nk$W*Wq^2mfyq&9lhPNW^1dtt6|`v1W}^Wn#)+%Z*@7ynDm%(<1X?ye3fH z6fwt64bYfWysGoSo7k4(z=Kv66r`a_lHgOZ{?ri62fjM1B&kXut|TKmKlKB77A2T` zy>K`tlr_KYZTnD}+eNkAS+*i|16_=>$taL7=PTy6;;%eCP7UTHj|U$4vyHO?(S;K8 zP@I}u=`1CWE{#>UH~^5&%luY{e23K%gn`U^9Mbf|ysM)+skq zxVKwqJ-1)Ei~|iBw3kwzFU4@aVn_P-cr%DhC3}oWDKn3EiK?sbr;HGSXyaC;XQM_O zUDAKR?a3QMQ@&nQGmzk%ud(&E635lZ|Dn3Qy9Z_E<&6Xw?|)ZOt4zZZ``hbYA~n1d z2tw*Spq1BXbB0)*q&*%`?lM{ijfshQB-!*iqV9gSUe2=y2}^htK%xJUL0L;1FdeI( zX_L$aprLsMd53|H6Lh(P?R;LN7Qa}spJ!QyFpYElfi_Mlfl!&2`Q82LaV!GP_Du5F zq$hOMyruYMj}V)c%HBc-z@y3#CkuDZ^OESA8JYBzZ5uw20&qjps#O z?mkJd-ju+1JEZ8=mUeW}Rvw>J7j`|L$40TeqN%Ygjc>Qxf3&XPs>ZL)pA4`_33$Cc zQ>U%EKE=zFoxyYyU)6ocy6q$I()aOYkW6u4@YZo^Z17*ia_d}wEz05!KG#HRvdLbM zj&`U{q79|89=>Z?WnOojiffvGrzZs2%RWA_dg>frFxm zfq&8eQ^2YFZc+P#h6d0+wJun^Ip#Tulh}uN>ECaR z_*@PrBsoo%&+elofuUETvrvBsx7*Or(5Y5nA3;c_G_D4Jp`pE{ciZicr822~xzze~ zzdod{EJp=t+y#_&r(YFZ%aXU;&WNc@eZGd)v(#^L3IuNFXYoz&dL9%_gNUA*)Fq3P zLZSkStkMLSEIUda^XAK00xBXxsvQ%`s^@S3-T?2lCQhCB_SJ9=h81r2b;D`5X(?qe z_aI6%56XYhna8Yq$#XRYI?D~96XT#?Sd^EWXM1@SHrdct0WcFu4k2+SSbngNcomrd zT!M|N=j2OzYwTm-?+p28&M>#(_(U~(3167Cbs`NG%nxI>V=XvCMfsWWPF>3c(QHDx z%E$AGfT^!BXP&jM$;Tmtxp~`U)Y!3Afpes#$wHE3YA`=0IB(5Z z8Zt{jrOS>>lP*A6`2xL}`a z^Mj{oYW~=AX8UllU_B9DaB$LG#Rn73%F99@!t5QX-+?+{j!$R5oHC?C7WRN#{@;)E1c3K%@d)p zJ4sH~H|k*RH^OLiY`CT+XD8L9{M<}FiP9xN-f)ddP8Mpi^Mop<@gNJS=o8t^>!zY9 zxRTb3Kx??D5&$tM6vB+uwLO&EwGN7BgA96~DJqN{Svf!KCcw=LePzYcfpAh0fGm4Q zj$ww_s^i%s9qrq!D@?Z=$;($eI{$sN6FhnwZngZ|!ugJRT@HzOrR@DtgfcS(SI(D< zXTaD2?)!W~(J4WB@tS>iHgBotRzZLFq$7zIr@DVfP4Q{kdLcZ(M|g|c(E?8dG$6~G zt4;z3IT$T)5eu;MswzmAQZ_edsb8g1Hx`d;ipOe1{m73HWNcvca(vK=C%J~jX+c!V zoIG_?MdjkG?-8zsn>T&J2qQdyH_X37U$UIAa@1>UyW;W%Svl&MEblnp_B7gHvH6-L zQpK_Nfw9>g{qmO2ABk3`Hw+vaUCzWl(yB=VAY&O zw=8+)Kah~`6gQ~DWhP_wjFW#2bCs?8Y@9nT{k%xDS*pRl5bS|TGYw$0(3PMp+zV}pw%j<}5 z@JSeW9gLdzC8JKE|GbKSfiJkHL3N9O2Q0PQ%*q(s8iTZ(SCIy2tLgW;lFNd}v)_ex z3XO$ojFX~vxPO&RE0r&I(zaXA5)tJ{n=#;77C#-*{Q-(f47caz#QZk z76uD4vZSV~p+U2r*1A+tn)V*ub#PIUbFNqv?)#I}Zao*HT6@Qa3+)P2e#m3#dUBn; zG@Z$K{(b3gdC`K=P!xLOegZq9fDf(GewFUAiaM51;HCZslErnLY`p3>Ql@I4D$%%I zconLyJ*4P4wCiV0*!OLyO`PJVG|pTQhHP_ryRV);gse7?AQt+w_MU`i*A*J#6&7o*~75)^^6#&i81*PpTc4-N8av;I`Qc_jNI5~ht$Q&cZyZ41!Z zl6Os@K~tR00l~I`Hb9`y1p>Y8g~rF*+${)0ITuoTyQ+-klPUh2uIh?6MMS?2I7`4|LSP zxEyuX8VHO8GC z=~CE?t4$1AXymBY1UX#igTBX1^K~?m`n$Nps>0r*BzdY*tTgLpb>vLajBM`^_x0u4 zE7QwB)CYxk@-8t-X%9;9VBQM;{4qa{nDTRZV=~nyiHduf)+OKqP9W(z!^dmz=1uSH zZvTrceS4~}szBl=jgwWgB;)S?O$ ze3GuWp6T%cVO7n4PhY19*>8)Uw9x-BmMl=_GyEH zxxOBv+YNoy^Cv{l8g#zgZd!;UPCGa zY9p!m=w#-Jad#n!snOzYEZ`ECm*@bU(I;iP^0Pp!T@$jl}B;Xi7% z#o&L{>X3!NBTD+B=yg&3lTFqIE~-&U_AoGT=1(DO3!mt3t_sO}Zh0wG1*x{adX~#) z2=`$dzy#&k-x`!qZ=Zv%8%A=cJ)3S26K&I=2Ze4jR!kr3Sl)D&j5V;zHO(HnRvzxm zFgw_Ht#P>pj*9MfZF-i$f?ED6%AKj&olouy3mD~RA^~<7Jk)}h9yJLq17%nr`c2;; z8Vf$|fsaLnl-;(!yW6jWFEzZ_eiEa8I=6g2=~enc$DoElo*h2_1HSkNjZ8S6!P@$k z{q)aT659uVE9z7gyI+?O=)u6GG^KfB;Uq6Q$B~CR))PTu3s25=)ahW6{% z{mR%c^x3{78-K`U1@BwkX{uT*?juf^FQ7!U;YUh9P9anj9$b;N>ur3#B*|qyVFIb; zQZROJy)1moTt|1BGmy>!!n|WW=Ktgjk`=u$?LJf-r+>0Jpy}^Gjzb6p$!mOPdwEPt z0A?(aY&4vK^)W=g7d+9RN_T>)Y>l)z&A+EuZ!^qSI5{r2Zc2H>Sn6k7!96Ycm|*3| z{27WFOtRi}4qO`LaqsI+#dq4gLm#t}Jx}{N()HU5Iyn_Oh>|ydc@^(Q@Dw*~bj{&j zJ1;$*6WZR&gO65>&S5kl>Svqe$EkLzJM+Y4pv}opW}S@6c=g)d0_6clSSxH%ptpK$ z(5-SXB_6Xs$fTX;Te;=k;f>~cJ%p9yH)@5j5`(*={B>q@TdyTmGrw&Uj;i}YPaoKD?)RR6i=KU@kS=Rp@v`g!yII1@J; z)RQ(wc{z!FAOv?Tl;$4z0>@%EWVvqjUGN1>J|G7-T?mZ>RNILpXmy;>A(?qQ%;iKOBWhS2K_5^ojm8nyC0M;rM0Hj+sCMaZn z57B)i92eU;4u6LOfl4!ZU2hc(_Kx>;t}F1*9BC5T|9!FBEfZW^1Y96i1|b)8LzaqmF*Z7)%7BpUl5(!&dLWBc_z`P3dMN^;NK; zwLUva6S}R%fRn(GL|nJ&ExX>ccQpJ|99f$cng8O2c~SSm|5`n6P4Xd`lhq4SEr2S` zdc8DJ6Q-tve!Cl@wo8?5AS$hJ17F~8d638t`Urgt`U zB;WimFBaRZ(HV$pd)r0*lte8Vx4Z8p8-!=Gx1=_TR$jiV`QLtM|jr)>NInlD zx6Pkb1GluXFHXsk{;+DgtOP0P?oYOxsLm;f(+^lIC)Z5V;vcx+pon}kk&Tyqr-Iqh zF!#SFSYa<<%d=rSlj?+T&vQpOXs|L1O0TkXn#!Zj;R=jb`H+fH-wD+Mm*ug#S3eM8 zx;u)LQ`}Nk;fr_YKo?6|%VYht@(o+t4#ybjm%lFnLmI)oa=nk5xZR5|D0Sq%6V+kp zB$e!(f1mm8TOL)P;zfzOmqgv&m-1`UMbiCxWl)yV%^>N}K7|Pyc##|0Xm7=>^Q8#+xqN)~hkKoyEw`$CGkg24V-fi3=iD}|TrTK)57BfnH^A!*uF z-n{oTW~#8czuTF|g+7?Ezet{h@H81+k%L2c^k||QmGC^iC!%JaF~9$7C>`ywzr4&E zRa^Lm#lZj6U+K#6rq_&dj{V}hOJc%Nyo0>2=ly+$;fJI3FA1!^ zTLCZe(xx1Mkh3wJ^WqKe>02vsfoR?8lHY1*aEPnh?nspGENMM_GbqABf3`(}1UUfZ zfeej`@<&_!^qA>=hk4_v3aTr(s9OTN8Uk9*zq<{o9n}!g8R)l3w)6 z{y8CXc%+i8blYS(#icPUPW!?Z=6=*}wG4S1@t18>&RLd~uid`yhbW1rePq;)d-yqB z%uzDJbG#0$TH5r<_OPy}Df5A96OYnMWP4OlCiA06HO+aLRdcAz_x?=jw3>3keYaCb z0cuRCq|LRhK?P$qt5jK7z^NuxlbciT^!K5Tyv|%C;}s{`@g~)kqu@ZD(1+^SjSDD& z4?7drA%BSq$N@R`@%X^VJ5nf%Bc9cl2%?zyesbyU{xi~U-L$qS%IB3`{tNk9Mk)&_ zT9?dL+ZB~HwqC*RHuBaV{i`kV*uPz?fLEE2BuDz7ZRk*|=>6ul!KsEf877sUS9CHX zxx+r-h1F{Sv{W`@b*{PQ=%&o_#1qG5B{|CYW~Zt!C(muy7_GUzwqlDZM`vjr-u* zW-mTf*1c2{E#i`ZidL`G;}o`-#om()A?N5aV-!S=$G>Wx^LRkx`)P7%jh@9pD|7H< z&Ge7XDC_4x-@KD>d+hMM$)K`KU0l2qtKf4=priBWkmHuBhmO%|_s-x%b>q?e@C;YF zXxwCX(6YBmX=O?F81|)f^GMyCZtCyLjc)r)*PH0`oEs(vtVZ@*rPnqCMUJH-%ScgD z1J60{;-`qv9=oLFL)AHEwDPp~6S;Gop01DCTA6wM^8n?1(RshHtEay4?ZsY%(&Li_ zU++aQ%VDffnt`$GP=|r*Y;8mMdFlX3kd0z-i<;=)4eRvgwnErfx6W@lDs}XzlGz$6 zK-zBxu+(i{HGnyfgFcsuT#@dtHN{107Ho6Cwe4PAY-jC?LK;?tEEpF``NYt* z(UO6O+~uW0{FT*0#~;Mq=#5A%BWKdKI58^}II20QKHkKek_i4;y{ocpK}O=g=mT;7 zq`z~E_1A{|6V6&(J~04SJ93Akv(&N?t({yw-y!x&B7{)nOH=&XZ9!}4L$1Kw2DON0 zCZ^BNO1Yg8Uj%cvdn-yuPL^~OM4D7V;Hj~_yOZi$(hCYUn++ZQ=Y1_D4}Wed^qV&F z=kpKybAS`5>?LSC?;jkTWoHiq?FHT+kH0V7oCUP@1~82dZF`%U5&_dSv$PcAkT7-J zO2@sf`{#nXXH#f4#Tm#b9e6)P`s=#Jlh_W<9_)R^?CzR#jt7Kqo8zMjuf1)XKW3ee z>C_&40_l54guNwXcnn6@U1; zH?hA+P{R!3xCplNM`-s}XOH(kmMqQmNo?;zPZv9n4a@AN0vW1$@2_Z4HDF%jWc)iM zMhSQM5sm1+<%jP_cA9xytbD6T@k>Atlf%7fpW1>eLKLu90UV9rdylL$VY}Rr+gDLZJIV`UB#Kets zIL*DMEWG!B^yke#KE~81vT#)?o84VmvK7&y@`yuVhhWy4a`$ll;pEjzhM~{AtCkdv z6j$erVqLpi40bO5Jr>jc{BDCdX6id?&$1X3d{t$z*zxTA(T>C3h=ATRgLYP4`e{I(*`tvOaswmj^@V33jiNL zjlAFHGbW{;yt_NP+kG5aVdARImV zj5F^x0qO2FFmLn=fV<7}x~40J-)xFt*UAT2fNgzvW|Py5o26_0_MFU(7&r=l5|C+5 zbr4mRy;E1Qc?@pCr0D44MkB{=%KL9UaklynegrC508bq> zNhZJ1dbc~&?nrT>Y_G_VG&#+>m-&zCjVowT+j9}6DgNXveW{XG$KHYt+L}x8OccNF zHLn~#244TK=a}+5m}I7wwraZjnDQzSn^ar`Lp(e`s)RnMu;0zC#<^_7M^##sQNbBglfSFicS zzegz2y)uX8kKuFSxO!7xtKl&rJz&pHh1?;X*%u%u_UQ3rxqhkKIJs11uYcl1&?Ybq zCrqN^f=HzFekpYRl$eAh3+!0)gPTmtbxyDnUU~|cs1Y;t3EOBr4wOZk)ni-zP1kAw zVRvW@0&ygIttx3>YB#bf6vLqKNgBUsI|87b+?xu z5Bj`Mlo^hdz$noV|1?lnu{~IG%a1w>UzMk%hzdl=A>>*bg-L@mWuhae_*^_6D^AEs z7)Ib~yqNMVwsG5=hJ^46+2oQ?%y26G$m=@JANh#Xkp%%E0(Xtfh}NL7i=$~gJ7jAf z_{giTj8KUIItI;WHBD+>N#B|bPlFWLbf-B1Bfc5zXrGJ%^m|tX;E)uj)jfxbnN*y! z?Mi`KSb2`RHk?_EigqA3P(zN-nU{x(=&6BU5H_GNUxKhI7+%$sMP3Etm{LCvkXT599k zKh@)$t2@ap`6!Uu9UHtf%A@DL4sYpBeb4SLs)v>Y8=QgI0+?oN7tp*4cRJdiQd@(w zv9Np~_PiwuqGPUh*o3Af+h#n{ZL0{IdlPfw?Y57Mr zt~V^;jB-gMp*zf|JIEO?*C@73tN(HPZdjq8>#2gRg%YOLAF12yzr4BEgfvA~>(Y~> zBc)yrl9?i1MIU7i$?(RSl!~?w7dLfeX~TLbOI38Q9`~;;Xf2}drnYsBbLddUDF{V9 z$v-&*{3tcf2xM1QR>fEV?efdN-raS&J9bFfr{97mPbEVbM_nKw4c2Krbg7G-Hg{)d zN2XI#@wjkuM&TY(S0OE*;W|b{B1Hwk3e@zXwA3bHKflhZEH|67F>XE)y@3MedZ1m& zYwg(0K!@@zLK$?VvQ;eEjOg6J$eFD&G;kawYcLu^TVR3CqXdAkFx2TT?4}p}I*J&v zxytM91f2yL4@nU6HqUK6EnapE{kg>)mdqJMD%v8%E&G)+y-8nPJTCa`iKO4mg)?BRAU2wvM7G~v?s(I0A+4*o zz4lN-Gi<+k)5^NC@Goe8Jn)Jf6c9{4&Pq=-7ckF_^H}D(Bbm~A{q;}d@A)JMt zZq~D=*Sw_44juNhqUYYmY3G)yIRLnb^&cj4ATz@26_0Y7Xcar-|w+Sy?ZV#sd;haw}N?YD~X7 zDVCve*PT+NM?EdpO}mcQOt3+Ht2XmW)vTXZYH*)WOfSD0_JNL_#k{vVHk@*i>0*t% zM2b$q>BHKf|Btq}j;bnp`+ZfUQM$W98l<~XKtPo4O?P)lH%KEX3Zl}z=?>|T?nXLf z({ShZJ?D4cbM77Ej&aAhf9jytUURNB=QBUg=Zn3(c0{yIMdsGI`$>25?a55bhHeZQ zxz!M=?X?3!Eu{$R@{7DF-x^hFL6QKKo2M6XQL@FnxhH47zQ^l)bU81A+pv0@BnuMu z?{3QF$*49qf1y`+8RGaBY42gYi0(=+xODCp0`W{Y9&UKZZ;@any_76j6C%+)4Y5At z^9HEACF^Q+I#yi{xA+d?Vz{*Wy4xA;q718h_+wUEW!fOutt>shE;l2^-9N!3Z0Hs7 zWkp8ldp22RcX^^=6l7W>&-Co|u0XVi)ojt74~3aNRr;mjlhJQoXWEzLDg8{JT!F&h zrLQ0CwDos{`j8zK3SCYxN#Kw6M1JR){0j`w>KH8_*1MKj?{w*Zh@F4OZ#nPO^kDMR zz;S`1-j9)j%#XW`Kk=8;xmxL29 zJZ3$uk{*uUTbyBQag`ZLO=EKERKwHygC$t({@nnp(RwA3xv6W`0+72h)RXtgya$u>`yG6>=yL#W`VNPTM3YyJ)9aVxAf=FO+F(98|O_4G*-i>Sy-O z@rOBKV9x$co2;uh!+dM94301%KT)pgU9yKCOUzgRO%tGSpVwc*>Rn!OGsKFA#rHCH z>T+rS{yCww2R#_H8)pMcg5>i6(r|)3Ohba7m%rkWKQpTV-RR+_h)FEZp>0$ZVBmP+I4X>_F;q6C z68Yof7i(>dVEb}@)=mk#)ftFi{rf1TRZs}cLGe|H`kH0A(fPs#c?hD zV+J5M!$FSF{8%AP-<|lI(kGK^jw)$cm5Ggo)$@~phl>EqrKWn`O;%VW$PcGgKiIPR z5O>=%B2uOgt4Y)JjO99BA4y1IX?{2(%Up2&Nap_rbaQ@DdZ2En_#Ptpr4#}$&#XxY z8YcY4$ej;P^8L$1VW*8M03|Vu8}VkmqDd5m7gZ8EZO(+o=KMo6S9_gn&vz!9dDWF7{=*y8R`a{;`SCayK-!um~p z7T8H4gKucEs_awq(68`zhV9Q%OpmPJfF{QD`{7EVCpJk8%1TKl8aTDKv*SwZ-@ori zb1^Y7by_(emLJJIH){9agIlB~{wCLrh}{f^3>F^)hsLrJm0u~BD@2y1%+Da&q4_+u z*N9t~XbD)D@Zt81hYugIpC`8e)C@bunCGdqnqWAaH8#56Eh@`6*c@R3pTxiDJN#FX zaSw<>$ZOxU6vcw* zjIhOXcwE?>k(MUF;(nJIE{Cue&-s8H`pSh?!cJ)EsZi5oo6wQMR>!gd5*orksueze!3_TYIaTq$e#?LVHI<*`<0;@L3v%%kcFN$MrT^_wkq540tgiMTFEXk+- zf^bTIqJObzAZsxUL^;w33K9eQvp1B`AR^Pg;TM28jX}k{|B6U7Ap4Nt$8#5kJh~Z1*dYWSD7on`}q!)UU8Sj!nknHFyC=p#SlI? z|6jmVyXOBJm}-$}c#ya=Q;*T{BB$f@GQvUm}mz4s`gWVp&&d?@ow`9uaQ&DGZ6 zr)o;8|4qmV-==anv7gr>_=jO-DD^O{acVDoL;rw`A4t9-EIFb^lF*pe^bCAYpm4nFVy3LhGljN?;UC& zM|-%x^8{0=+~>mH_0KrsGzdGKrJ$swtU3${d3p;V#B^SpRP8swsL2UV2PTqd7i;b2 z2W@JL?RDimF&uz&QQb~EPYO|;ym!-f0g9dLdm1^LTl`bEj@`cX&fR6v`9?9BDKI%1 zuSyv-YK!%!vSoTx%*6P>gN%f;_2TpP{7)C0ufaw*t0C4FMh=ug8NOnteY9Iz(DjB{ z#tk?-%6#nk9K=8df!*o+;K1gbUfp&urdZoQGaU1Dz~!+qysh_J?k~7#ZkmMO-uA^f zGzN71!B-->)4Vqo@Bua?xO!EchKrAH7FTrRlvnJJWSbQ}JxHIX7X(n@%=2SWpuhXp zI!LdWs^zkEtL4>r?`1bX%~BUEzKw&6djf{M@#)4dbKy#tJD&!3ui<}y>SMPDk+Y2T z`n6h@y9INDXaL5x|Nfy~QZGZt|38pb3+Y!2e_vx6G>T&p@?OYy_DFQ3^_I_hpBHmq zE|(kiir_oFkAJ;G;g3P;FCKa~RYc=_4-n`~aRxA4=xhMkq(K+paXN4X?z+_>_z-Sf z+f_6;i9BJm7Rr5z$;qZcNJ#HN@}(t+TeQBEwcYZ98>l$LhMo#OLWyVTjDY)())$Jk zd4NC-A8z44$`d|>cD|$5fG@t8nz$~F9(A~JI+_^CWAJD2JJ>(LK*CyJM>5!tb_D7- zh7HfZWAfNUM3z(SW+%L*ji3U^aJzEqsRZ>6V~#sgHW!~+_%u(7iyItpf7M&eAv~X& z&`aSnNEV;OsFDHkTxomkk|iZAJ><^yNXTg|gtyLPTF>PfMZm2S?zL0qf!PUHu$WKd z!C5&#PpgJXK}SBP-Tm#AImyT(P*i=0W^Z6}BPITFGQ(MI{Jj&R13GzKngnA97OO1c z1m59Ys=A9I;1Lj*KbZzIG}9*Z zrUOkU%u|m8p$3%IHg^Aw5sF;zU1k?O&wHrIAtsBjAV=E3>*ZpD2UyE|E_oO%EBvN= zeb~=+`2oZ$e)^bu;{+#XZ9?b!yqr&Y6lBH+v{yXr5Su*x5Yq{63*TZ9CWYWHGeWAo z#@?g8Z2nE?#*)exKQPG@{aIT6*yoxUy^wv;@y4faHSxK8`E74?D^+wHRdvoak$nT> z)02t&Zb=(!|DuaS7wCE(x|8>a^ZxLhc*Hlg`(HjzM`w#p#*I&Jg##$Z?;D#x!k?-M z`^-NBDWzlJnlsK1DGC^PmBD$BiW)Av{o8{OJ;6{?!s>`B0!{9j$8qgXTDy4Ol_Q8R z@%UbY=K~iIW8MPhORLen#45CHG$Ig38rh_qNcvS6d+~3;M*l}{wgi`(h2Voy%FDC) zKx72uFrH$fjqjcCh0uJP%dabK<4aKQ%`mH|j6Vwx56|>7ktKlJ&GPW2(UF*nmDav@ zyU!&2A6_$KL_(GxpsLDpdZzpjnRSG`C#cJQoZSq!n(2*5yFU>}iUdZg^zIMglisj; z^O-Kri1`6GCqob`VHQUlPkeMG)&QhY%CdxIm=ru3`zNB}cYl-Wk)Q?|0VhJ`MGN}} zAWlrQX&CBXn%VoQ9WS02fl-6AQYvmcdA^$}%6JxJVJLr3#SV)ED^~9KLgh^J+C?$< zCW`&tW|tWEk!RR6^h79szIbVospjWpCHs8FDBYf27!6Rzqsf-8%24^Kr;rteA zXBsh&dH$>h5}imbh67QYX_zFMG{NCI)MZV z_g|B~J@3JYKn8>tfF^&Yjk?`$kk;&fNST>;+H^v62T*^8mo;#9k}DswlS&M*zc1Qc zy^j{~>n5K!fUW_awyh2T@syrr%}ai7T%cfam=&x2-v^s$q@ay!c}zQ-+ufUx?A+@ zAx9$dT;M9ix`gh5+|L51XITIzSL}}R^iYKizO48Xp7#U+(O=NQapkanJBJ5fw3HuK zVHQqU9I;M#0h;*>&@t+jH1NF8inQ8$sk+EBVW+(IxPTKkMynfApXvBkiQyv>iih!S z|0kn|o>(x6hE9cbJq4R+_^4I5w+#E%>g*LHN!<`Qj@{*#-bpHB}}$hY~7zn z&$+uiej?J?OwRLGE2Zyh_I3uB0s*GH{h~4VahOYS6NG8t<51=TMN!O>eDNDIGn!8E z=RG{uznNSxpe5R<-y^5R<5@1cYfxKaZ$|7)BaSE(66-D^6%IFHX3+3+k){m7h0&L!}4{-km<{%(Jmxn?t<(2-_wVs*pdi3u1L7<&y2acb@)LZ z{h`=0rGvwykLfx=(~v(Y|DtOW>LgT8@$K1mfIeN+`gQ%3yk97n_9ZPeJD(#+*dI_^+1BCS%nYT! ze9!ur@@$6==iG|`J|&qsiG%=nRzR6a+yJrcwq{?-0W-^$8c`a_e|7sa!hZC?d~Eys zH;z{@%Nm#jQjYyTWemP@DUk`Mtz-9H)6HR{at(gwORE1Q2@UTxEAS zqe*)6dmUD3l`o2gA}?izm4sjX#&nZtMBYBAET$YM=I)7emkyEuM%By%Nm+dH3hX2u zU#7Urbfx#~Q}znbH$BcNEDlMk7uCoq4QRMn@=>N|VxcE~SB2RRPh1aKxz+wien<^* zKTe-DE{ND@&bs?Mlan$<#)w|YNX%>9w8qrCI;cLCd|_aFk)C)LGZ=~|@)fzA6`*Ck)GrMKJs>P~-| z=iHzg+LO^v+NxtIIx85E%b%IENYUE=UFg{RZ1s6`K;*N20u_oI zqelo@IqyfokZR70JIEAcIv2$p^2Vuao_+EM*;i#?x?=fG@Imupt)mo9?~qg8%s`88 z+W*Au^;9(fd07;EoN%!Q`@L>CbfZL@tm4rk07c!dN7%Rfc3ZOOxJU>SBI|wVwEsRi zDEMF2{f;rd*$X0;$eDmoKKO6UXRX6g}cW_Tl2%zl^RMw}{iWkg_>U+QjW zy}3v6JEPE>PB;EM;G;@{UoeeASb(J z#XIYs9Qd_{GFn4wPdY>LzN(TE!)zoO95>Uu(=HD8=wNnzk_1}yJN{XE zT>C!27o#2@NN!#6gQMs{V2xFNu!ifiH-Hp|THr@--+qph2U~zeMbAtc^^NDiPLr9t zvX^k}A(TU;rPzO+inzGiwR^gr!T__hm%cGKP}ja55zbxb@x*7>iS3`RYni#S8N!`W zU2JM!WHKNrV?Hz0nKvWn-gAUE=_eV0b2UBBiclCf<2h!D_Siz|oSobvrn8IeWKp5$ zMLH9qrFS|K=5+F2u<$cw+}q*ERz(?#f`XK zBWF#wSC&_=4k*H)kuUCA^|Zk`Zy~-rvVFSzGLT&L{tvR_MM0oM2g#uS9rFGOES}=e z6Y+qjt?q>0d_^%E*{#M~JP#}7icoc@m2*q18$u2LO`T!N2y{k~4~jn=kzS@ak>&Q1^={*R*;Z-yplsMLCQl_dh_v$C zwxD%9$GH?t^=O26J!Wn!H~RZdrr|!=%!s`Aqy?b_;e%+vo3{PB;)7$G5cb@q7{}hL zS9N~&>X~wr4rvqB#S@Y5)+Kn%KO7Qq*pYpB@9J8mD$J)F6hM`#M8{Ni?8=I zkQ&W(dn=r5dfk2xIgxvTVZJ2Sc_gce)Ie%My+(W!?|&m8NI~I|RW+?Q{7G??Nc4fc z*MIw{)%FBE@?XX+@g@Ew2RzkxcJ*KBO?Zx@zf~Bp1P(u|BZhddWU~STS)Mz$Z8Y{T~(8ok`Q$r01$QB=YN&&LixzR+3 zOhiE;;#)l}a(6k)5s`H{rYPUJSwZq%ZN-aYxRQMJNcgBJxW;BW<4^J;(5_07Pj{-u z-xZw@akH-0R{r2%$*;t@)c4v<`Sy!p+hV4tUz$`}5b0%B&uG{x-UEZF%LF#9Tt2L` zXRF(G>(^_^X`|?N&bk3NS4|D~XQX_CPZLX5hgRByhi*a1hWieuVXd;BTx9sLH)j5F z1`_}2g;Jd3K>ItUuPzyyfs|&|b{Mtx(A6+k_$YrI1{Hw;A^8*+q$i)k$AIUS_0-}S zi|E<4Rz*krWEci6G1VyvH3el@6In>`(42n!d%5Y>y%tu(7Bb+I%K5=fZ_wIw4=+lA z?%avL^Uu+%T;9mgS^Up3h@_Qk>jdRDf!p7x`?ohJE!s{!+IcB?JWQIs$jYRbU-W+A zY&GwFBk!E0#MLGoZRQ~n;G^-}=@c z|3NA`Sp$y^Cz0(|DiY^~u38_#EInkohi@l9d_>d&gcuwRHhY+xnu{H!K@LSPSVzvX zwzJN%My}X3YkmZN5sX_IiL_ZsdExT;cEV0o5OaVZXTT!!6QO|D(|{83@bqu=*e;u! zGkoVNqfn9QBs)i!UwQ)9H+V{ZY*&wlmezgI0@%)zdF6Q*u6=ouF@$4Fc*MGIN7S)y z6ozaZ?LvJc=NOmS&P5Kga4U*hI=>l`mEZ=T_44TnXlcT%qpxK|92S`gFQ+XCa;h`1`WtIT^UV+f4* zDe?T6KEzUri?!P&ok0Vlj2Fby3Q&I4YSr0iTXA?~&YGF_Xh+Ed0znCDAxZcf^Eq>B z+WZEW!mH|K;2D@DjPLv>Bp9fz2Ql$V0jt-C?yD9!JAx95f>CWEOSTB9BL?>X3*wu# z1?|!{u#_n~**Y_G{4J-|lZyCfBW`G}`?z?2v+Yv!9z3Q(H*5EXTRQF)2gJ-(&G+S} zx*5_TG$AOlRFKQ;jwF4LwW`U&5Bq{@4Q4NM?CkH7$%f8WPEx(FQtr6BN@hZR4n-nH zV;7rkb?c_CH`WI1E(gvSZ+|8l7>`TB7&g`Jf6R|=3=LcI|9Rz_DaUV!>4nyosrgGf z8jT58PSS~Z3K@I&Lj|b+ZsXtJG3r_p7Q3N>Dbw4pJ2BT>mAD3vyJ9PS&%`;+O1n_PFf58LT?~ zD^m!T6iR|d3@QIG-If+Wwy;|-S5&B@Xs}Cs(nW#@1PAT+V(w(o$s6L|-hQF#+o1Hl zEVQ9QOb3EoZN)I8k^;EqLkXzEE4z-qRA$y~2ZonHN=eaIaO!}&*awtc19{N^YWR-8mzgjB)ecJpuH$78n6R6zC zg+RQtK`TcT(dx&|ijrc>MFH=>mb7$oa&j5#J)3`quR)`9rdgJ1@z->7hY7JBxC=tV ze^{x6$6~k()azqD$T&p?)!SWl^Z9_*6Xnct#NYNjjWPS-w(5l`3*AAz85+sOxS{M( zdBu#~{lJ}fZA*x=FW6RFh+b;P_Difg(#^cliRRCk1}i$E4~zq*{svEI*21%Cfo}Q% zbx-QTvG!RRE*_(HfPpxZTxAY(cR8L^z9@C~vGn@FWs}EaPFC&x4)UG*91|hiGrdNOxjd3{2F&d@**#-leaes8Hkq`3 zpnP#`*XO-~WREp}+Fq;wORMC?8_Ex@RdiTzB8!cX$x+WdnM7AF?~GSX->!(WTr3XZ z=jyJn62K04dgDRf^Fu^dtwl8s{jiX}wDUmPLFz zy`1hbs7oJi!lL>XY7V!0|1&H@u3Hhki0B=`r%n}Gt$%%riE79hah}edTK<(Keb*s3 z2(`(;j`uU}g)9g`I9rTGdQDBpNql>JlqeU1-)(zrTh#wWqYl9`xLp)p4B%;0ECWN7 znj153`?6Lr+w;Rl^pMh)5sI{F%=yWe1cXf=wSD2(R{xwZE=-J`aPp;|u5bpUrK%z} z!bx-)tv}8qIjC!P<6{T{M%<2gvYVv0rgzN;eAW3ggmuJcVJ)%Pc1vyP&nZ`n3csyP z+p!z2zrFgH8K6S0(icXCG8=nNgzIbD(<6STB79%FS4+-fG1T2eHxWORAyeUul|bG; z|3h{SZObcCJZ)xDK>N*Vn?dc+CbY6+GU7DpmjKc8=4))ZW&uR>dyx+=g6LmgC&fXJ za4mY4IZf-NmEji(f5l))nMz3E-kzFDL(jPmP5XlkvuOJaJ$LElFg2+dlV~r$_&+Yw zBJh~8A=dmt(my8ZepGgOm=Y_H5Hz+l)@;D@S48bsp@K@+54TJ6uCketeBzRZFJq#w zWLtNx@e`0OD((lEX9PGx^Pi!cG)tMvh$W?W63)6Xq%6ddZ|J10ANMn-UnDA!wS2T75Vk#X-UtvCl(SQKQbW#?I+AR0JgRTqEHrcLrxv5+9f_U|R9k*K&jEt1IvPn!P3%_5mG5L+p>`~((*Koq< z&K;vL9QA#sU6>IS|7YIc_c^V|d?o|0ha;P-!Sx7$pLlAjOg=@);4V7%$Hw>RB>daO*Pxy|=|V)A-zZDGIu(z(YyOH%B& z*M6SNm*rpUc#Wrdx3Q6-4I<4MU)^!^nF&ZWDsL0MPvsGpy58k%S4@4E=NcNym%Th- z!ZOGsw)g8}qw${G?#Zw`mC}g_EUY*QkInJkk|=N|SGy;%sZ|cd`F`~`mdQR~HiP3xTmbr`Ys= zK0++Q!2N`T1cc&|z@!W3>YthDt56J0jlM{vX`ihj!C>VjL-LTki+MHA&-N5yerH(m z$~^H#{^N)U47*dLs(ibgwfCs+?A>uo?cZW(^8E}!JFu5p52MF=mGGws_0p{+MSrKy zKdYsdp`VcT!#MwY$<@8rd7jZi(25~9Ca8rlOlHguhH{?;WuVSkuILtaYEk1&j$jY{ z>7gNCaZRtfu~npYm9u53RYdj1?iw}VeoMRDl=$5bAN*2*TgKFYb>2nci+K`T7Inn; zQJeB(8QqSqcO+yp=w#x#=mon3l7Z>gsAgL*l6Oe%w&Ky>eOCp}r(YLejTKRKb6lYp zX1tS&WQktgC5Rjt{ft)bE6WfAk!|k1!n@aL zAPaCf8;lSSYn`S%tJW37d!hBbd*G;x53_@m zt^-^zP2q(z%dhBW%>^Vsm)B=8yBl*YOvXfLpE16$IGHx%q5e`TE=JX|B5rklOHc=PW$`&6pxI5U83Vp=;$ zN9zq9TP8wi^Rk|)d_`qFw%KjK2#vcjD^ekibXig}kG#okag6|p+LO(JRLLJwg4lH) zY+KEO7-w>V2u0aFafEW~MJW{mQNB!v+O@u8DEo$7&v36xc-YHdMckmbiizQJj#M2bDONXM1pbly_J8y zp3JHj`CgF!=Y1Cu@M+-7*RRsB3N~*)feekIILEBcQ_K;gP~PQNe@JE}wugdAMP(WV0K*3N`4b=^)pj$9u~0P}m84S#_2VdcLFTP`iI;Jofkx@?P| zk*~dVrzjFt*NO1!`1Yt@f5^x+{NzF>(yt|g9sl6!ffZ(#FdzFrUfL+sl>|SO=BUSG zOWDSL8hULwTcE}Dh0}13k!~dU8ESV{~_w3CNNZLIG z)6TEJN^R!h!kx^NA-Y^ahL9~rMCk)g9k$`KtT6I`^nxl8wGq(}-6)El7Ii_j@^{!W zX5#RTa0h?nnxOf!+j@HJ|9#1{InDwf@-acIx9sm3hG7iPB89`he_84x-BiSD+XSmJ z9)~AAB6Jlazy3hiBcT1SyPS48SV{SX6r=q9=bspYMLgW0f|4L|UyK)VR>gV?U#D=~ zA7&r6RvzPmuac3IB=G-VUoB-yLwAY#pSz2a5czS15&k{@^th(lBSMEcg!`*Sb(|LHb_$ODmjzZVD^v5QPBtDYwWVIMfNU zzXSP~JQ0AbtLe(MAu4js6sLkgg^OB4v&5 zod2vHE&aLIt#{sJbvnX>|AjsB;M0mwQUs}(oThzPFKwnU)YQ}>;^X--e}jMv86ZB7 z?MA0;P?rWO!jtR0G6=w{wpMjes1s>t_QnfbV+B19$-b%N#sPBei%cXA^bR&(V#qF` zRu0-U`ZD=BKn7DdT;X^v`|mT?Q-a?QZhBx%;=!B}blzy|2t_~HNK*L%G!r`u^;Q3R zvj#JG(E&PHJ%#d2XBZwmfP#rxw*`KHgH%1p=bBE(XVEYMt(4IH%7M{xV`;eX?YbLX zRzjzJ?9>6|#>&ybFE0d(kP_U`2&G;S(G~-T=|n8!D8-kwdiLjP2CgU3ORNCQ7YlkY zM>A+cu>Q!KH?WUwrkio7etrb3d1gcB4Ok#8prkLAjTE>5g^RVTdj98i*#5f?eBd*a zoA{<2%R2}Jaa=B2N_%M=tHIXJ?FYKmmVsdBmLZ@OGT=B%XyDo2_2Y$BIn|QaHn~!^ z5U(*YbqH0SUfPrT9)U7lUYjWyV8`GBQ4205UycbdVE6F8L7TV$%Vv4a#fd@{PzoV| z0-9mS*MN~Y_v6XklV;ezb$Y~K>i0p0GGn%u-WT|uP#*zn?K7Mtau4^5TYnFt7X&rt zsMIn-Z)>dIwbDgn3MWUoH6wmZ=Ip{oeK-g3IY zsEjL?gqK?*q;~HJa3}Wn-w2D5lRk`Yrb`)u_{Z4eUgw9SfQL?yWn4`EZ@_o8N=5`3 z@-1AMycDBUBNG+ImpeK=ycGV8SD$5{PENO@_so-)aMwulZZX$qY=9Y;BvckKPA=3ov_8j!3+q!CoOneEi`T3nSXL@6 zzE^{W^+~8e0X}}y&?Q4Pm~-P`+GV!LWR9c5we>5h*O!1e6Wr%aIvxPr^Z>7_c^3^D znff=Sb`WsE377zQyVlhB+S`zhrGWc0%H$XC`%Ul7JsvnJL0+ zwJDQ~J2NICs>E^y@8Zv2=|%15z<5cP?-+K)uW=c)&O-VWZUK9^ln#cFgArNdk58Nez~s#P z6TnA(v7N0nr{GaI6PN&}<{>8IaLUhr;6*u`C7b;8b&L^xcZd+)3Q)L&0Hh8BjE$FJ zn3VRF79M+3&p>-w2RLklupLn5Y*%A^y<}n6PZWNmwDr5i&qoA2UuWuF3VAhA67b6#9F!kFu?PFB+n%?7Q(&41tnH(w~=UL=mPu9^8s zaHKd9<7m$Q29*-)TGmJxwNlqAgTqpjB~YvaF=hpbd|qdl+oMJcQ=*{ZW~i~Al*$$J zi}_pw>3!Y=o3nueT41c+#ezqT?h95Q>k#3D-|gEErB@>12VDYbLb6eKTvK%-@#>H} zIMki7r{T@`1m}lz?<AfYF1E`V88$; zfrf)Mr?7bk{-Do&TBA}`Ky4Zk71aUm3YhqiUGwD@zf17gJ|0)((01u67;IhLaTb#iFmbeZkp&m?j)r*5ge zhN97Q!G)CjGfq;!RK7lFDIzFBJi?BJ!01v~x1vj!G0^$EtbN^Ms)v{B3fn#uTg1f^ zS;P07Hz()Q-yvQrcN_8r7oTUzeUwhd*$|%!lT!hayOM46BzF-F@`U;AFZVpHK7>^D zCY*mu;=ZR~3bg#O!SM8Nt`n(0{o<2$ZK+lyg0@l1=gIyY`Cc!ItE{B!9c4vR=AswE zVPg&7>#eF(@e0CB|4TH#5&rh%t!^jZZh-}E)3OVG(h+}ecZaalnkd?Frjl((-(@-0 z906nm!UD&M3r$8-`FZ=gm6knnv-pc-zXK5rvL;lPCYPqm;%zIkW^J zf%re=XOqBy{Wat|N3aPWy~pp9bG_`7hufsfWOsiLf8fs%0*(wzzX3fFK>u2f=SNn& zBNlYdkF-m{@x>}sBz@pEND%Hc1G(>Nt^R)SBw%Rw%;;q7ven}=5X;;5UJ7M3Nwrjw zuHFWtq#USEEm-4sg6cs>$sQpG^W9t$0t2DWSyo5c)fMWOGKoUm9{Sg?Jm%@D3+KRJW|qV zkm|DzjGJ|-uNU|Mq;0p(KJXOBRkEP_g?<kOX|S9)p4k9-DVJ7wdq4ere(c-hwd_L#H93p`ZND$O?+~s;wpl-S=IBO9$;2 zAVCrXsbsdD?gw+kHUkUwE}3bu3&Wu4G!Vpf&-`W-OjrE^SmCKU^ihEOk{TfU>J#pt z&uldz%^dW)J3%-gxR%Y?H!E(z+TB)>3W_EzMhd7sDYg^eVy$Qo!%Me-RI2C|RoDIo z7~UsTfv{Jk?41pqdXFK=&fv5Qv`{Vn*juX_C1~o-tqKvlIb~sl~&yd(4cEbRrMbAj>=6rORoNyu!;Zdp>8qj zu@1HH59IDvThi$_I#~YAvyHu9yXUpi~Y7>k}=@7)CvVUCaa!J;4 zmU5chh`#jQjEzp_(J^%(0z=Qh?qm@mfCedeK08V6C4u2Zx!CBzzid^}*8U7xiR`aH zi8{RH7pbacMVboP$oIJ5Jy`W$(j@QU)c-E!s%7DzG-t-+R4jYet$^mo%E3l_HOj(` zB$9(CS!$TcT{@IU>6<67$s00RNyF`_u2Dg zP3|+KSb}koubAJq=&kVavyZeZPg%~qqTA@voGLzXEVkjk=E}kkAle4gGl1*uS zkLj%PFYijQTH2)^2}E12Y;CbSkZDu5wKauA@612 z*b=r_8U>i(;55ehK9-amAZ&-dN(BIjA@2z@vshJ*UijgG>*kw3BxL;+XVV0Mun~#) zBo3%b)J-u**<*LV*%n*cTK<6*^r=veeu#;Ql0N99x0{QgCfA~*?kbRk_4V~Vp4xuY z7g=XPAUjb+M7l!RbyrV#)Z#_Jyd*T0CD-LvugVqR9%7h+?6H(YuBjvtnKCuf?kGLs z{rw{cqe;J<@dbbGT3%WjWU%Qx9d=+Hb9E<>@scU{$yM~1-&eUOt>;s(nLfzzdKj6s zKID~IY`v_yeeLVhLUq_AM54JV9Ouw7k1p(CFwlD>d$F5?e!9BMwVHCW!`rT7u_UCF zUXM4iPq;z<`sal$ajxf7A?MWDRh*?R`x6Uyj;`Z-7Ov?cSCSX+&RHA(D&B6_ z@Q@%|oh)!a)9t z>X#jN3uRf!Cq$h#M@x&G$wAD}LY{0Mb&-7+EI7^~oYlQjVuOQE!dD`f#mA^P_E6i-B`#Jh&hpo9EoD~4CP}yO6IRs%!)@^oU&QSxJKi~cO9XX{e zvQ&&aLYWgClV-)(devD(Mv$J-o^y8@Bc!C6Y5aUp-SBygWdF@3z-_`(zj&LjJ z!-?#9-(n^&xZWs-#^Ify{UD^f1Hc#;;nFky86gdcUe2P`To_WX{uRc=W9xYz! zk@Q%+U4JAE^L%^&@Cj1>b(29!fQ3+e++DEhDvg&n8n)T4Fur?5CS*~s=y@;XT0T1S z64OsiG-z>3v-8{Xn8g;uNH`gj=GQEb9Ai=MbN$F4r8dKdR=Ul5+Z-Wb=5gVADWfnU z^RfBZP>11eM|*Y&A=saYI8AjXy-3Ul2QM7L#UHe-a%B(o{V~B>6~R&(26#-H+0qR! zn~+uo!j*XnjXn<`y8qfBPOqPm*SSOD|LhdG-)j(Y{qK7;lc2L!R3l zA`aW8N4GBvvB|A-dQN$BVt9Ebyj5Ki$HpN04zd%^%#VLbq9L=p_O5nGvQvH+^d#jn z38_Jf$wXRI5%>V1@_w!(@Ocd(LiD?b%l-`4dP7@Xt6nOCUP~URs_}!}J^K`IPp!%8 zVVV#Qam&ZbTO+v+3%?hD8v-*LPnOC4x@s3EjbLB5+WRXOPL!J=n2oXYI5(J!anMDgNCBLXMkH2g9twpp88YcfVw=YSN!jmikKZ|91RzcNARO?T?1S@-25+B zk!ckK24pLOI%4K0Q|%A%c4ir>4bVbV2e#1BazU@rn|B&I2NibAFjbW1cOdSO3^Jyl z90Z|KJ^sq6#Qzp;{0-F55K?V)L&tU|aQIcB8`8GtRvzNKe_JD~15+_nZTg1D)-AFG zSvWTnK5H^Y3e8nE976$GkbF0~u`efuoS?Is5-#x#h zbO<{M7BU$w6y*x=XOtUvo2qTSJ1vZ)$Jjm5_%zf9HD(x5+==fhSu!{2lvqI8TM zKk`wWqru~6a2~?E(QP?J`okaGonPl7dfL#BSLn&ovIec|bw*dFM`Zk+b&P(B%dm#G zpT8a*rVJ!S*liqrO&-QUkA7U?jC{#1e7kFY`B~XO<&W<~u?aRU#-YI#y1BOnz44_^ z87f5SQ~uUnW1Uv-@UM8EW`g`#;AJMDAre?wllU0edxexi@G|Q%HT@8YYz0bbYsq^C z4=pewnh1G3cr}%QSssJA9_J@@=?>RizI4(Rcm`6f;q@gP+KuwH1PY86L$A;%cfFKNwZX~@lf73!g_(_!o&55{n`layN|e7nylw;;+sc~J zw5iy19IyA3Rw`rHH#L zqd!}u(_}lR*GVAm-U6w#NT^wx;%f-Dq(cD-3jLB9cdWZ-i3{o+3$GAR9 z|7|K|DUm{)ETmDc{hDaBNuWc;uKPFtU9_KFV_oO%1!b2Xn}bA2WjA)x%}dzPQlQ<9 z-jsLuDNWE9$O885K{hUy=H^+?d360bGiye=>uW3mbR;hqt!9ie|K`bwQZKcFyWmUL z+hC&QZIWs?yKlbK_77xhu$ywR>RG~VyR-enObPDZcmIl?`J}E0`9@N83WhXKWXT(D zoWICoBH}VuC(|f#t`Hyz&N?}M`rU?l@yoC9sXnQdRoChH!94#j*r(*+4lG2nI!?*G z_lAf2cr4+dzF}fLo}JCUQ%s7eQ0JLU2JQ|inux2k-(E?bk{)k^j!Pp*D0#Ie_TZ3| z;jNC5e{M)MW4|oI(B4IbQLEzYrIQl28%DAVU-DT^ir=++^L(R6bP5>N&)9AtzZgdy zU<-l%MO`eI-f~?lHgB2ng;#$t67qB@!WEwX4ak4?b3;59fyLbD_^ZPg|LIle<_Yu8 z?*Qe*%V2sJAH>!P3mi<-#Lb<@``d2(78ur(HQY#zR&yAl4lm-4ado*oHXN(>{yr!1 zAdhwTD>R;ZKArhH(JLW5K&6|y+}FT>W=MC`g%HR0G86VxjX#|3%;Vu-jgN*_G9kEwi0y7?YA0;%SxKsZC`c`TC4(LHSc$0ZBT+TM zIltO13Znh;u;=Uc&gojgF}6iEqtUmcY~Rass-+6t2p45?J=aiia}&9SEK^8gJ||{W z*5{#%tnXDc#n|+P5LN#y@Cf9Q>?@G4-c>HDkjSGaMHD{_4|4eoAL_jF?eTZ?cv7P7 zEps$%H-+MsLrfukw;>Fdo4-<542V6r&DuGJos`j3n!9$W8J#z3#Tx3x#7j4pp|qUT zYSH?^FYt&jO1h3grY=ut8lU=wmvW2C_L)v6V%MK%J3Q9(akR*<`Hr#_o>u+w_w#a4 zYSEtHbZocEJ?ulBu`kBB9IQ@}?Ri%vT55+P590!%QQU!#lbA+N*nH4oL-MJ#4QHe>6Qoa*xJ;1Jx- zs{DKJK4#UxfKYK*?pW3`r5c+o#-w1VnM7qcjHkJn4SZcW6RlpO>$A12Fi{y_>7_yH+Ou`nh4J_S^hZ_9IkmoEb_1dKV^v z7Xs0{Rr@}~R#^+x=JDp9HUoPelxXJeyW^FeWeil<#dF77%_mvrmB{|Jba7?$S~10{-kx_SIeaZy*8KH! z^fpYQHK5nLG=uobpI$lw_}p1NvU7ak+t~=pIL%K3bd`NRX>ZMoN+^7^4^rKIg0gtnaT zITWw7Wb0A<^{RD?`%P)p6s;=#AjG$mT)0o>Uw^NwJ48io&}6_(n^~ipEsW0#{mCF~ z*9FyxOEFv+q6#vZ5+(HXQ9fwAF9-&Pb`sI`jWk;>l~4t<+wOdBIS3(I^~PE)iDC3? zku}&S>*VTcNOE37km)d%>EFde(N9+g$7me*Pxv7(Y(F z2$(MdTU+L=!Q%DmnKycL`&l1?0jxI3zVvKhulldyzoGyrl&L$$#U=K#e7Q?mus=rT z)aTSk-Fc(xea;6iUL4j#9_%?8cr=D_f*c$UpH6x0j&-6{oE@pjlUDmNc*j0X=kS_- zo-|>^YFUo%cVei~bTCr1oMJ5!7Nbs-<0kDDpn1p8&~UIzBq zY4BPmM@COA@B7hf>4BJwt%qN}sbfDWW%|T{UDjh=BfB=NX$e0{tchiHLB-h|h|uEk zkJ2sfR9t#}cv7kTb!p`(gz*D`v*w4+4CjbEN%-5XnSG+_VxQ* zmt~!FJE=10wMQ1|RIlP0vu%EJJ5ZLKL1!X}*2< z_719ENe7bm43Wre;8U8muSv@qbbE}dIHRxTg0T(zl?8I@5ulIvDv2qCJKYzyUFuvt zF>oJ-rOB_#oz;(#q2bi+i9=M8w9@UNVwUipDETI3wzb-na(@-0YPY=P1OkX<@?v7j zhYa<`+Zu0B9+T%?oG%*fK_afb0RIMU{AYiE zPBx_&@nGkT(VHJ9B{>PINvER6O8JCt8RIrr$df8Kk25kpxz`)C#rx-l6~7nGDsqc4 zjDTNYogzxz(;GQtF#G809qc_ygEZ2y&s~Hm1b3cpwgIjMxNHJ|A`b~9<{BpGTxv5Vt zfh9ZQmcBhUmfYC!e&12W)02L}g>hr8WNCs;ZRwwh056FSJY~)>UMOTnMHa$owl1OU zR~nb)eU{Qk`If!UWU5%5z5!M88HT^yooH+zQ2>NK7@N$5ne-`y>VHJmG;(HonDI9X z`hZ0AjwD~RTxYPb(P90qVUVP9Fsm4Y8wVvtHy*bZNQY+!?cET3+j^WGsqybth}=Q& zi>Sjc>+)N(hSQ^7sv=qPI+2-5W6U1FpfcF5kSiwKkp)XC9qPQ#;Yxclr)f044ntst zwb?e8{h9=VtuPfAhF+^U-jBeAz6#?&i(!8;<+#-BZgMQGLD}@5iA1Fp!cL^l+GCin z)(7vM@h0Q4Y6CfZHgig7vGxsvjz?&-y|r7Xt7aMrZ%BsqFGEb5*-x~-l*SHqP4d?t z3Ape&*W$Xek4KvBlb}k zVlPnSedTD1F`Pgwm}Lu>|65`DoIbxG!LXEM!Ik;FH+ff2w{-K#|0aM5rulElPn|43 zlZ8%tJG-5L3+h?c@gQbITLOC!ULO+l1(*JxADo9O7VuSP^MFf`w7qYLHKt0A?C_{p zRj%z;+(n$rhm_FQ=1te7I!g=UOA-5?E1c{8M>0*5_YAXDHi31+BR)8tC*miG?OH@! zH^#G@E*&ckHsr^ig?=;A(UiR@H*z%Z$dN0lx@v8EbBelz{+&S)KSHr&gR6kPhb~5# z5qa%~2~!v`j1jG#Mb~Bj(E!CNe-8S8ujKi!f%$(X1N#5u!=csqH)p0e?K|_& zQ**<6pQX`B{?ACDQL{Wv0!6eODMB!p@K4MY8Y%YQJqU(Sff8M*mPTaz%f3Z5;dSF1K1;6X{l%yg(-F-9Hy*$i zMV(&#`F(cgW}Z6zhZ3ss_g8HRmpJ+(!Pa(63|+{SPs7z&g@XC}cYBD1t*T7I|9-+v zMa3a6hZ!q??q~=QeB=V$*UuErBKK?|#|^CEOhHQ+!s+@m{sk@~T*ML^=(U7_B|R9Z zEQkMsw5K%kC2VAo~h<0FNPACx;@KkY5*Mo;u z)F6}av8)UklW6eoe?1W#|LQ|b@zVKav4EYEhp0q=AWLg^6M0IAUKaT^RTX|r%UEH1 zOK({yFACZE%VD897(^?(+%{gOqJ9z(=s!wPP{N8c+)Zn9pQZNdlo0FIqviEPAwG)N z-7AaD3fPt2Koaxl4((1vM5t%TN>vl1yG1Ku6{RNl)`()VK=TmV5mSU=qj|Z+Itz|7I@kJyak>q|vl7dt*EWKpsSZ$9Ea48%0 zw~D6@#|((<)$UACv65}QZ|f?eZ5JxJM^_6lYw-NwBX9k9giT#ATLA`WHBr;1{qkh9 z0`w2$(zvjJKCRLRxwL)_V*wl$&@eGO5v}NS~JL}fdf>28wh$a zxcw8P;;Ur?cAN{)9~^3)R0E)%AYGGY*cD=~_X8Orc&kW*R^C}aw*9|PuZ!2dPb>HO zBD*V&-sR+rGrhcoQFGw_@YkR9s*U;GPQRo3kOY3euRD|yVKh^_N;#ig#@RD)#U)nX znw@Pu!}9(bSEKZfpah<*kX1`0BZf4m!WzML(m?XZwb)vyK&IJ}Dzg@2;5|vV#VheT zKRDa=Da+RlapGnXq?gN+-6y^eCbuK6AlL7nDZ3LC!g)$Z!)fB}ff*ZKm}bK<#R>32 zy`wqego2TAppI(*0+k7_fo2UyTNiP)?1BMiTpmasc+(|R2{JsfCm`6KJ& zT#ITc%mdcG%JrT6YqPOce5{N{jEW->iS;uQwt6xz*?9Xb$n4(Z0{LUeGrt@m!68Rz(%7|wtCEc3(GFTn-;}ZWKfeF3^!*lc)Le`&o7G(9BsQCBIxNx7d9!xY$2327Nz0DEIo; zoNk0cW^09|ls>+$p7a;V#f^=km9Y7+hP>;XdB=&0?ukJC0*$=syoJUzG;-m_iIY0E zKdx^@b*hp3wD~Je94s^O)RV#D^OU$2+)7tLf=$&13NRc1L61F9Q>3EKBZ9HI2Kn3$ zpJ5QQSS=iF^>0J~g%#v^h5y#;gm**19@-WOs4 zNv0ta8Y$-I>Ab(sUQet3+t2Ln(Y++pVB}_Pb+$vUhkLhAV+b8R42O3{^oHA(W?&Po zSzAZ1ckDWge;xow`jXgK20`N5pjN@R7a47-<2gspNqpX?cH-GoqAEp}qC z^9~n^eh3sGhyU8%ot1sJ=A-FO*K99Z-IJ2hPFbYbQ?D$owQD59ltu@)z-|YZkg(nyhIElpH z1uZ2tt4ZUUhy2Aq?os@}d4j}T~nJ()^NcgI) z=cm-J3Q%)&bpNBy?0%uw&Z@fFoOzE6Z-iis%pUb2>44M+`ldx9SD=zEchqTwZl0kOle{X7yuc^CCW5g=R8gp!0rKV7< zXhw^dWtzteD8nU#R!3Pzj?)C@`6 zlS3SYn3@dV$!7^I8l~kc0Z!^WLIaaRqZJQRHdmp1-{Za)Gk}xV2kYC52Z*jkCSCA? zOW3qPkOmSMP5bv5VM%y2@ODQ;Vlnq-^E?MD^9m-i4(C?f4$P+D_5U%z2jMq5mdz(U zrqjd?N{2lvU%ed#zkE|8eg3vf?Zmr+;zi7(q|HHNZ$-@9QG*pbDIC(Z;$ooZl$ra=q+Ukjfg4$)1jHIh3hGWphdivk0}M@%s2|& ztka2c?rAw-;UmwQ~Q@dh* zwAW?x^vlKx6!9>E=aK6eCD(|&=^=S6W;2B>p{V3!68QI>-yk+asKnJQqYB_MtE@F1 z5}4HFpJvXNB&qO0P%cMd79T@X27`dBu6jQYnZ1m{X;Tr`ZEv-Pz6JgC>SZ9FdMscx zjdbaF18`#r@Ag3VlCH%zxF3o&TY5$^1T=^Gai$C4YGP=kq2}1G>X;&dq4J_ zeqo1ZBnw+HO=&K#m%Iig)4oB2>^d{xxs{+z-DcqictNXQ z&||D&qBTxceX60QENMm2hgAui`KhOA(A)YF;`Ew3dTN~bq8oql%(;(^ zIaO~c4G8UR#Xl5sAC&1nXVK-jC~h*v2%Q;HTRYoWf<5HlPK*?s*~OD=Dej<#9}z|$ z2G01`8p$E_Bp`jbs<;*;$vH7l7Dtu(G6|q&y2m z5B$$)AsBO0`rep<5l{+zpfMx#TPy}ERm z%$69htT|t@a@OWc*^Q>P4msCvPZd=V! zR$&63)Q_eL%wl&2J15?y(~sx((KSReeuN>PC)-C8-@x&yLbudto?bHCQ3wbAjpCrI zUyQ-MBqblBM2k&U)G(eyb_kSRbmi!+DVimI;n6T6=6!AFK_?{;A`tZ1ypBx`g) zWWAk8s%7L=+I;-ham3EE2V9SF{B$$8Z8*ZXFjN{yd7B-@=&+PO4y-zm_rS1)2tFan zE+`Cow-TcaE`(j|c8}(cOnh^xk<1vbp9*{yDN-XH-`I{*-%e)AQh?RiM=(ZYTpx2m zp~k(;Kfuk;Zo|cS#aH=Qvrl4;o2kA2m03rG)b>s2@8$U3+j=d`SPy98m{|1Vh(u=1 z)Q}{R?B|%00zJo7@s{;DY`r08U~i|l&w+pHQJvB*6?fIw7#@w94#u5E=t|w~Ry@+p zzKK(Vf>cAYurI6u_MuFN0`xFrUUS3o|D1j_!g4G7142OEFT1c#Aa`ERKd;@!sAwb7 z23|`ePWeeRewaQXtzE+unXRf*(%)X93#GQd|1J6Pp^Z<1Sn#l4j$eDj{zAY35IcGj%qd3P)n;V zI;Ceh{f(a)#o%&Wl@KgB(82o&X#nW5Q1kK4HBUZeH;|C2FmhksS!}8cyY5Z)brJD7 zvwqRM$zJuUMBZ|$*nHs%O2eV@Y}y@w-R<{krZr?=1fQ6@|6H%fZA9iMM3|0Bo;QyY zhT227GY3!hK&~e{JDNK8HM!;FSNvcsQiH@QLkJM!gqQ)<@MQ*D4$;762PP|ttBD39 z`~LH!&DsnkjoROOWI|^%hJ}J^l%D*Elbge$40!5 z7M%M^1uIlCew?q~kvvjsuC5D;Yh_qxZegt_jU9I@E(u_5;z0PAfDtFvXDuJRR3ySa z&AddlA;<$V)N}j3yNV!Zi2>2_($ii9m#T?OD(}C_{sWC^;2@t?TjXr{)~?BQ(OFe2 zjrY7SdE^f5uU5s8tJO@_Hdh*X`(FmrHQd@waF?+B()SNmm+@9B%Rbd)#mh~_ZS#G~vD!m4NI@mzv$#%D7kSMXe1+>I z{#qx=mHBv(Q`qDg7yOyw-TJq{VD$Yyg_k+NJ>Y^*lQ23I8bBXz<jDjIodBGoUj=wd&ar zTyk2M>s;XPkb-76@m%x6kwN$ad5plZ3_*ma$!Wff*wLr?4IvWELj=OmW~)FpsW!3s zLC{&Ipl51w!;RI8B?EVc{?W=Tm52o*xaK>pgVCIT?fF2WD@cQTtB~gz5TzRPHV9~+ zS&K2Gu_6-XXw8&laxeP#%H_Av4=3L%l8OrA)l-C%L+o)W1;2q^|2E5@3Be(g!u!qJ>HH>p6MH_{x_#MA+rB4sz4`Zw5W`FbteI=})L7VrtU|E@ z3#O+H9iCWBcV2AqtTWF8DZ{gq(xJstc>Y--tvv>(BO&%euGW*j&14ROvFT%*>OENRu5u4?ko=On#XRcEezIPK(ZUlB#grb#gTOHqrLz z0QsIN!*ZL((`)|#d6@A=n?LSL@2}%AFQA@F5*vlTg%mF+xo!LfJ*Ko}2BJf9 zIB$c?o<^0TrzTV9{oT2+BTTtC=cj0nU!qbq2OQ?!YPulHqIi@RsKKSHGzt8;arowH zTs9#pvgEp>92FpBZYu6hzX_3uJ{ddZSj<`1=`dyxy{GVlk()fi3+y0LP99g=MMHd% zvp?DKVoE5Q;(NceR#>C8&|NH&p2yRW4fO9k?Ea3337!l|Y}bmRA?l{4#KdrHcCowp z9f)q^)?z4lF^i5Ytm6rN2?ArBBMo0S!HN+vnS)%=4;A;y`36))7dwoB5zHLNb3OG1 zeWIe_IoME>3dNb;jO#2e>r_Q*<{8Hz@6XZ^h!l|*@!zP%O>Y1rc%p-b90d7bUH*g|# znUr>N45x7RM%FOEuB-k)XsQU(S3=yAC=So4}`M{+#J+nERh?}U@s&I`s=xtPdzhOaI(>Xh4ywsW4&eI@#7bi@Umhs1r zVc0#?(+Wgut8J{wzc~l2IeveOx~F?N5@h}%%flqLqeg&ROa*55`W2>97gplBc#pnl zanWL~MPBcVc(y++IV4wSN|7Yo=-#$rUEiOWvlxamVWA>9<-zs*0vK`Bcb$Do z+H0~O@>3b`LM^6CGt@I5;|eXjOP9sD8-9paXIm!CD2(H9qufSc>-)O70|f~ z+ruE)^1$&TsK>i%t!ADhM^BARZrDFgox$a?-#Nak_iWbe6e!unNmrEFk(yGOP$5*w z1UC{Yv@-26pp4HxqBj=qEt2W*^>zl;>~LlxltGnrHvP?y4on)=22Z7>lWXRf8nG~e zwz1b)@DO`WyD1Gi?HM5qT3B82&;2Xhr|z5dcrKF3%jnPf@@h#{ce}oqy(7w`_iY`n z$CLhL7DadIAxJzTG2bdc8RAmXu@HljeInSx=J4jTe@4hUArT3?<7TD3n#~Yqu*AB( zTr6)3DvJvUbUGHo+hH(mY`|n~BWpp?+g0SZ-||AjNPexe4cf5*7U<7D}e^SQ*Pfp?bVR5*>pZf&_zccQ#ZdUk1NQv9avRf2#TD2-dq${nk*9uTgT`B5D<7 zx84gf`^Ycx1D0b)ZBbAjS-89atd^(R=hnmUd9SmTXmDwRldf^rnyhkdhV{Di!^oX? zSd}GM)@Igkc38rFv3_-^IRa0Uu%=x>ww$Zl)Gr3Hss$_EGhyA{adhp-S;{*t-`N9i zcUL6O($VhZsTj!I0&Ac@^^A~Y&TGLDGT%e3Tz+2h|S=R;QqVi3f7aFn0 zJou(RvA~g(8qLRuD*CRBd!w2Au_kU8t*X=O4?D-?Hts&;HlBT{nZB6VO$)&s)ei(} zDRzW>Q6lJvdS*|i=*8CabT$enRtu1)BJ+!>riPd%a!;PQC24$mc&XRx|`6CbyBv{-za;rX|7lr^cda^fVc#Rm|@Nfl~i z#LA|a4}V_6x@1Od7e)jh7xT@loy4aQ%sI@GZMlS)>eO+wpoO2Hy6yZtd*i=Y+9Kfj zrvGd2r6wwtohfy+W>8-Mm8hwrHbMVrNsKBI_R0lDta|oyEL1)6pW`Ls;EH&`o$U-k ze%9!5<)K!TEXnPpP@QhCfq}0 z)7r0aq6bhq_}eM;YgS}#jc0s|9;8$W ziPn(mxRc>$Ox!^{nPd>>$Iro*H&8_ZH3|~@>K*Q!Yn-1}&1ZYl?lEBzXHX%GL(ZcY zO&yb^*@n5HhA@9CA6Ct9B9kq-KXBA>$B%$%L=KVF!auzx;b}DGuPwX4krnnLchtET z1{Au5C`1>XHu9*Gd&4QCX+2SMP$bq~alzId)Y(G;2mlGg5Ta!!xE`GQq$J=!GUP5) zA*YGw@jzBzdLs`Z74w@fLTe*&hY)#LrxC&%8iF2$3)!stpXQSZmV7nSA0aWq>TJ)) zjl?I4v_lN7eq}Id+mC%oVi#s;cHW!&RlkY))G(e%1#+WCSvQ(M4zW$PPU?;AAe=9f zO=6+<(Rka(xS)h)m}Ykmo9oD&(a{2;=+-Lc?W;k!xT_7uyXs>APCSZZzBu9zms5}} z1x?cB!6Ffv)r1@rl1F}Pkn379jZ0ID$omi3Km<<7-X^XO^hIA z44>WJ96XCGgO-K-bpWD0qo9_Ui{)z{*_fm!*XDaf)_YIo<8!Ld^j9uo=~}q>dYOcL zF6Aal9uR5>$g7W{xR*nZ_t*p8uxizhULiV_^%tY-QAf>NZ+kCnAsqgG9q7oEJ%Uw_ zPp(t9P{=V5a$_FQyvv&3_$~J|mc076L9L?3-H{OaTdh}V)l6i_FKTHGJ7)WE{JV*4 z&AZnb&5>5^H+<5|O za>8jSce>pp)1(-{gz_ji%f)&aeU%tlrYrEq1Z}O?8;vy8JxPZ#LDqHgw1II{X~K&sQr)> zvOKJlNH7TLsT;-`Uk0($VF=0%3wm-!LgL#MoYUs&1zd3vadY;C~@4RQM*8!yOr zlE=(7JS9~NHc@iGde$KFW}tG+KiofZo+j2Nx>^DgNh8|cd#XKpY$Nb=gWZMdg{Gdp zCba`^&kszLM8A1`EFo7HZQoJBX`<8Q%S8X^jOR(GITyWWtF||m5q@2@7Qc_2>L|3; zZo`Zrdb3MTJL~pE&ZOt0p->adA69k1N2lh<+U9*_Q3p2V@KmN43SxG(@m$5(f6rf| z<6V~_ld!J(7xW4q+9|2ANuK7WR{0 z$LA7DMuNWob9@ex_faac-}FJDMXJ6YxZ$FnNhP!F!&SPHektYPifyRVjP=h}3O;Q1AMghc?*G1#5dGl9miW=H&0*9d z(%6{jy{o$#j&4Uj^I!XA1;5Da4fb>7bIFB1HE2gUmXoeEz_}2N#TXD03IQC>U@BZY zM5WM*l@gV{teo?Z07F!O1#-B1zy(=?5;SykpDoYZG!2!dL90-!mdE)%`#+g)%Sf1_ zf_SJ40TQ&C{Z#D9)}Q|042T)xb8{qZs4TrBentzNb(%-(6;%|A`I1?c=0Ye+p4F>+ake$BtE6(U0Wnam%}Y9)xcbP+@P*J90ZNI2ql#0non?7w9`B ziErvvg$#@XgJGw+N|Ncud7dxNWn%+#3FiI$pGt=44Q$}{Smv>b=Y0PM{e=$N&AYtA z)EH5I^%e(%zF4@9O%yF377{`eLdivb{q{mljCQ^*wHja^C7 zYCx|Ok9hA&1@6bR|5R*<28=$)wWMc9rTS^T^Nc_5CDqb)+y%%HOkv6xRx`)4Z~sjR zX@$d$i2u{WH#`rUVa>G|Z+olKFEK{V{;noo6 z-5FmwDK0>hd5_WD0p>OmZig3;2Ml-Rx1XiY=RztrwZq-Wz8<)eM2(acP?);a?^SnLm zHhOQQkIMX4kqmSbJ81q0-b<#Ocx_5nvC!AEFmLKGP;WXd_QsSaK>9hq>tmqggDvf0gYX)l7%JuvJfd;T-9k!p)#IKGphw%sx z6oB6Z9{vM%F(&E6;_D?En}it;3h{r#V7?}?jmo7m9Q3}s+@yzTssy~Dq4YWwC6tan zLP96}1n5$~yomnKuNvQGgsSU(`cW(wMdL3!oIw&C5!}GXtMX^0lih-6HBtc85}K?e zX^;h`CJmUH9HjsMFxF%eR*02fk)DN@@HdE=J+|0ht zPUUZssdL`ojZumhmNWO}*z!&PQ=R?$8`j=EqiZj-iP8#X%ere%RQJvC9D!fVdASnC z)KSg`m~K$k!9sG>qIRcDR|{RTa<=9x2{1MV0yENT^)~Mer&#~DkwB7?@n0U!Gc8d( z;;A0GO2#4s*oE}d%fW5mV#S>CM~X4zA=`#mG|2O%SW<$oerU{`oZ}JU{)v>%+zpa$ zJnd8)Nnf{h5eK0NqgQ>(Gv#?uma1TrZkW89rd-xs5>sgJv}cnLda)ec2ot8&ZP}^8f2l{pTx(>Y+0S zFZ1q{g&aPp#f#nK2ux8lwfD-pd=|GFd5W0$|NVgV8kqR__}r-Gdm4`14<6A+FXt5S zkDWdVd9)SKc$<5)dn$KqkHWaL7)9KAGK`y;Q)QA0%tx0H>hIh+oUDrCkOK5Bi)WEqS)!lfzT z#;P&R5YgdYj6Bi}A1&2oI|*=Qcdr3qIPHN1u3x17Nf*7dd+(h)nG5ppdJcn*Ldw_Y zmA4KU2B@pp;#CBq=G+I9x@JxtYz_*#oJIVkwvOaXUzM(Wdt7ImU^!Rb{q^ioT@&(z z=3oC`d_wx;(NhI$dTUR5^pC&_n?wogx%ESGPY;7ZBh@^(>U;a z#%+$p=KiIexBUZp+jAB}nQ3^|+0BXK+WR@M3^sV2{+X$_&pQQ&^T3~t|93%f<)P&g zPsiIid&-Kmc;f4yaYLqfwn9O9Yf<{yn-x@`Sjt5%9=`MY>Ouk--7gc4SPYf7m#8m{lyG1D&?3R_Eio3H7!DA*>xe8cRjzog zb7WN|J@FRm)qND`y)W?Rn{=4R7Ka%f%Bz|#c5c8t;>BFqVaFgwNZ`EX# zS=*FDhJw8l{C3KKI0Wt04mUxW(>K#Dn0QmOb>)d0-OHNYh@9z=xrpWu9%fLXZTPpH zgf>ynd1*mUW-auDjPDMORK8%g(s(1td}H}<2!Xb@1Hlpm6TK2cRO4d3Yo0TYnX$B7rni`MKz@*c(4AS&T*!-2tvZuQmx z@v1{hKUMluk(yAoLGQWu!qTYG7BiGl(F#3(moN4VDDSH~vl1TJ`wR~f`GBBSaRAIH zwk78AJYxddLVu7WV+aU|Q(EAX=%(c|YYf$C<}olZuz=#q^cVLoRE$_e5#zj#3vkkh#3)4YLEI*fk zh2?(1|LH71V-BX`b$wc~1AjbN>p@92mDQEwIHlKrGHrR3RQrYD^YV@0-T5)5|C2CH zXVG18q{iwWxO0cy!*3LJPeyNaUa{b#kgG+y5{3!V;rtMC!!cC#v>;GHk2*NfSKORE zsGg<}OAk4vlJESUmx-$ikuD%>J`u~cN1cp0x-p(jH=qhji{K6(l*TyodlS0MCRi~e z%@x_#_>T1>Ep}kVZ^RjU+cWuCCHl z&~d%r_|FqEvRyNYe`|R@vM7d6(V@|F#)Z`>!!u8XFE*r6rfHhO&!tZU+?tIkC5&6K z>=|8FGlA2IbEl}Q{M%c+7wRS36QU58U((rnOnN*F1_q`o#iU# zV)@=)?zlJ8WsoJg@ONkieo033o;0etYCL6Lx#H`lB9Mozb7np7_*>%lW(cMpP2qJ{ zpZjzU%OYkDx!G}1tG`zl358h}Fi$hh=77Sp(s;mxvi`k?nLIO~eFIP_H<6%NXt8{b zSWu*!H2VR7@Ld37!yynWAe77|Yo;2*2!U;Lae0oN6r+ev-JLwR9hgf9>x=*$OTST> zWpgbsQHlI?{di+q6Bwdy{ir)B=nu1>;ElMJuQn+d=c%w7BM6}q5(h@ zZ@4F&XmK2MwCl(TWF^;;o%z#EbaXEozQnYm zWdO)3{Nf0{k@JNJ8i>0Zc|DygiCJwqjRT;l+`egC*5O-QW>t}dJxgo02(?5GgV!uvca?2{JImJh4#y`B305z}?a{RN-XmR_RyY-K?h{;93z2>>(V&<|x7 zQ0j8A1%Kt&NoOVTEdw1+;2nuUmu_Q2x>>5XH-vLovKqcv2dd&%px$CsDhweG@SFOH zu#(Kn;)Ewu|Ap5u`uZG1NOMCTF`&KM;&*~7xBZu6A0K@$j6;#D%xr@i1U3Xr@$?QX z9!4Bud75=QVR=__YAjFS8v34Kag{+MrEt$AG4C$k7jqYCWI`D)Lw%awNO z^SXD)X?A4^ZQT0A&NL@E6ckyFDV#{Ya4M=0LXqI%#3E#kh@GxBLo@rzjht9tM(^q+QpH5P|?)cvQ{t^m5k2b&n37|?<)@Vb%wv(oue z|Ipn5(8$t4%o~>}g}i12@{e;8ajUTeY=yN5S$avdu%xJniId8isO&EF6p~2-Ppk)s zgnpm!7jc?K%6|>}J)LSuab z>06&PlP^&(sgo=IiH-YWOGzV5Fn$boDbw$lC_(+1T`Uwk8>+TUsJBvylr&pgczU!paEMqb2 z!}fe~DFS)1J+hai?FXZY-Na1$(HUGeF#NG6%&yj`_)*Hm*{8g8K*j>c-2gHcAwvlj zu^r1~7XS^cwu5Hg#r3^m>4G=?o6EV95viyjh1gD3Qx5$+1`?S8<`o5Yd#1_h4H9R1 zD5AtDr>P`tFg7m zHX4L+$D+QSl%|^3o>M|!M5&W1_~72j(pJ1YbC}7s&+~wpfMNn|(zBWP>GinipTBLP z+nHBU9&<4wrW0r-^DnHk)|4-!K4;*09uNrK(YS3XsD69*e6m=5LcnX{we_Y#S)e>| z6L9sUk@#|XwQW3Rq|(~6N`>5*jfoA2gu5%a016-F&&PgZIv|BS%J>=8pGy(jPHQD3 zBhrRQ;P~mZMA0QUOkHd4$$#Q>zV3p^uPS~pL8d`F;Sr6zNjcZ@|9poc#9wXt!!a!*M(*a!T0q^iL4*b?A*| zi=vObrm@6JU8$R`of!xYx6V6SnvXrqDCP!C0+vtba~tep7>2`pH$yvO#C(nw(Ib=k z38Qy;_@Kj%7D@K|$yV<7+U^NM6a8`MFqMT5+36eZ_-goQrFybiQ~;cwFV6FCnv?!z zES$|;$@9ZoG})>fF^3QhK{lH!o=CQNig0{5{c6Hl0-n7CW??G_8fNipmZ$dd>`vnz zBlc+G+lgg*<2*lb4x&2pryFyQSJ&0nhsWp3x%%I&H|7%9nC)aZ`|()KB2D^CPN1lG zMv}Znhf|hBK}YQ8k86sU>ogao{CTXr!H0W8ysix)P#)4 ziMo0`xpc_{g;D~QO|F+*4m@S)R7zx?E|%GqSU`KCRqCIn{yG{yktcn%zh=(ad-S`4 z%0X72)@nGzfNDtg;v(Wxc6m>|Te_P#Y$MfjuoK$NtI@}^>eVxBIa5xJh;0Ly)1LYR z0*w+pjbDd;skn_0+{GzoKQZbUe@d!!Z}oOIz1H_;5HTaIi`-8vwUC>I(t2}bX4DK; zoN+RpI<+hiJC$l#gk2T}dB%XIGk6?Y9nu@C{{jVf+R&hRuI~^-xpm&IRU8u~E}?IE z`GdyZ?Ajpm)-1Os9W{PIACI1OK1|#+PifGq?p63YD3lBo!lNi#*en8Sb|pvDjUG|=Y?WZR|xg@K-1-dJbaihyHpFu1O5@sh@ino&104i zdK|7dX_b=a&%ZF-lPbCk^xCwQ=Htp&Fmll*dN}O99Ms;(*i8GVR>MMM9}QP;wBs?D z9_k>&ZH(T04z|Vq8QdAUNm182pbN$nzBzmh`UbrcxOtH&u0T|j2lN&6D*{w{47*1; zzpy#Yj=6gd4a>bsrS;j8>Bz{9-i;b2>S=ymecQo3V^vqzub^E~fa>s{yn^M`A(WI4|4 z+55ZqzVGY$T(Y|A5s^yZQWSO6n->EM2Z!AE9+lI}eQb3FVXtzeEJ zQs4o~&wKONSCoLUD@f5*Z?LPq&tnMV?;!?`-CGKQ#@cL$W!KYFBRYnv^#+cc9ded- z4M#~!%n{1+$=ok?L7_Ms*!#xQ@ptPw?gn@xkB`p0nD}{6e&>))Q@z7;`};-jX#p5; zg+5c-#FL6A-^xsY>N&Bk1o3OCjholh@?0~yQs#0g z6?B{g1R(M0B2D5_2Yx(~2#L!y`x}ZQkx5=smxl?06T&o=6UAFDXfF#T>rSR^-Hu&f zg>^x_glHrjNqPdQy>@esh%n_lw-Mz+{YgF83*ciKgJ#jVeoBZH(L>SGW!VZTsA()5 zwF=n+`80*;D}}8mjR3a3xxW_Vm#>~zdV882oGtq>UHPmX^`)98Pw*P_o$@LhcLkrI zQ2b|*T{b%24G~{N1W6}t{+(7zMuNClgYn2;K`5^~4_Ax8MneLxlNa#2Do0L%YlIQV zV?PCY+d{*J;l~+ND-jTO|73$VJ@3=b7E=~bk*eMoK%@K!2jB5?YyYe>0wEH@7Y3ji zkwN&BEO$AXX!6u2*93pJ5lhv7_$@b*YRas;&Zp&gr?eO%%x*Bs5#VB>ulX`V6l-I$ zEKetRq67rXr-%#+Rqg_%|GQr&5F!Bq>k^>G_Dq{LFl0GT*_xG-suel=RNC%Ba{)Yy5-UGl=QZ zk4aj4xjPWXo3PS-=?kDv>;!-4)FZjLWsPHn-SNU{E}Vw@u@@dJ><9YO1Ha~#qG+A z5Ty#)+(u>3D;YEsVBmRFE+AYsP(a;BBQq`r_3mZAzUx)n3VL4wzWa>A zXKDTe>3QP>7B=fiS9cI4XZXXXZ3fUoIROZMMBA4bx(7`>6HbH@tX|!w-MyFOvd;q_{qwtk|?dT5kXj|)0lugjXoaoe6bU&WQuO2<< zdw_@O)y?AN5Kk&__{Sh^VSz7&NAEV{5K{Kr3v|iI_@}S~xUzTY6onnaxs>Guz0aMQ zM5aWzBIW?q+msgMWK`d-cGP{(kI@B0rQ4eJW=-EgX{Em*QHF3f(nA?Y)NOigWrd$5 z1@)AoQZP^)^UfEkCW5p2XSpRBc?vA|vHRL!1KtOj*C4P1$`Co3G3Gy2&nPl`a3pibaV8zgTU(CuSD!i;nO%h&yDz)<@37NGU17yy}_NeRGX=_VDqZJ zWc{XNmx0AP8sXg;XTy+;71yk^NOlR!(GPdMwJ$tB@GF&^3ggDyi=y!EG#>w;5p8yB zjIWruqtU&cn z%gK)>>s(nHh=V&uxTOzKSCQex(FDSYr?$5=-Y!2#B!+{rWXobkn81oTz{| ztQS#hjR$_wyT*PKq~WB=x4fVWvci1>)(!R1d*+G?5F|#wEL{*bo&ji3;62(z1aM>C zs8ined6<)mhK2bygzinZL?qImcvm^G1IZY~j)w^VNx~)srkG+mn9l(cf1vGt^?>&- zNMf_b)9|{v7QCi5lqsnJ9CZh&-bt75R`O5Vo#KgiXDEUcVA=;at8Db_g2m@1*qt?? z+0Qr($IH@f86*?S&-|BecaXtm4q7td#%a8JlbULh<_32QFgkn;1lVdYIF3aZPgjA+ zQi%A(S~w|;caGOoWM8)<8Oq62f=%GkT2*CADsBuH@R5+T|Oc$zaGn_wFyHWw|I_IeV+9?|6uHT0P=UOLUN9ngAJ zI%cP%#(U+Og%Go*-kvxsTnI+HSE6Ul6z=7UJdjv&1;N&~T&YlB8`5=;PN8aFCRfQR zm{&_2jjQ3ZU~a()Y{}NL@f)mmYcA$1n{rRF@f#Zz z-RjnDUoM|#yN|qr^t&vir@BwnH%nS4KoH|$)gix@i9<@ZeAkf*c@Z+s+la4>=eB2T%47*z4hv19eSO|b%D*;;v^_o*`Gd0J_ zKoiZReQfgzKu6FU*om&MeG4WV^3WxnN}^SR1gs_1M}j(ihQ8Jc6> z*Pkk&Lgmg`E5SuzInZu1@;b6lfJ|ybj)R=eZai$w9C+~hz0)bU`}O<* zqhwluP12^f+jIcYZ$(|AR(XTz*dbfH^*HA%S4>caH{e2bzJc?oT6V}A$4o%!1gfwn zjOlYo`d8QkCzIp~1xh@u(;gH?X!DFGY?P{OnVL>WlJJoFmTuPDRuF4S7-v{!^jy(z z*2;{89Jm|s!Wfb>05Pfznm256f{AAUsTT41U_O^E9iZ&#;4vPsCIU|-D`MC2MM^B6 zN#iRXI~-FtMy|SeZ%u#0WxTc6_ewWyFFl)_vV^iSHvdk$mDCV(XEcH@cfEIyf5&E1 zvFY+SZA!t>CV>Xh{z|9YI~vN@sxP1|rCTzE2HV({ux-gq-h2*>5ZS+;O9(l;R1Znh z(W^?Zv=?K?M0gXNGR6$us`Nq}_1pRa&bRD#AFTLpeihE4gelc2bqQ@{yZQB+V7Tv= zXI+WU077jsmWR4l?N~n3%9VQ0Ey-_)8A5EMq=KAT79A*@SAN^(GFh^T5lXXDQ{>vw z6u^1G&l^G!-TJmmEYD?wVwL4(0U*wumEDA{I35g$DJwJ)Y3a>?rNgRd;ulFM$3N`t zM@&|Kw!hj=4aFt^csc=L9ab-VCFvOAj(Xhv&H+DayJeclvDr>s?8o&Z`!=-6E5}<< zKk%Suu**E&nGwd8r?GeNtgl z>32!5y+oE}YpKI6j?vi`@rCN{?WZrw))Hbqf~k*{ceAgfnAkh1km0jCn}Hj=vQqSk z87n56kHa6@Cd1~w1ARD)7YWf{BsS(>B(?$iWL3R^I?Y3(q=2q?9>R1J6}I7}P}_>C z?_UW!RKwpwXsopj8c&x~f_Zpm!0p6FwBvDcn|mycU73MxgenMfz=5{~Bh5VA30K5i z)Arp-qc_kx8mpc>Rkm_3WK%86NauM11YjaCGx5^GZP=nSb3U{aA%CKTH>p~~Is1sc z7ku8DW9%L2dP;}%jc65>oUoHSnc|hB%aV~t#%FBSqVnPfifm|mHJT6B%7w0`JL&b4 z{aFk{9nuCjFpaNwnfy=QO}t0*$!c3@8Y8I9M&DfJsEl<`eLoNkxQ<^8uG29DF$d*7pIt2-HCq^u8As?fcY#y>t%+xn@|~+<$#>=ClDjETAfIjtK*97c+10c zvvc2(z7G}Ymb_xic5!MYj>i3tjY8aTZ zoz@0X>T*4KYA+Kf@N@>Q#-VMf_p}oCSU=~+;2CHa2-@bTF7^kHf2sUpLjOT~8y_h5 zU0-P^MR575r{u=AU8*lsEFN2uDmwI1RK9BII+LiXVlE~d&$t{;cHjPLb0OV#|CoKw zbiH6Zc&p9T@z$nCkI*tc)*#|Q_Vqai7rtf3qrDh^ApvP8q(pI}-1YJ_ye8*2 zc^Ru1aaZO9R-MuwM%)~@^pKYH7pHKM1byoi?*l}IJDMW?k%X1=MouY8 z2PcU%7W$srD@O>Z4oRNq$3uN9mlpz<=;bWqR_q)@dT}7OS&W#Ngm{i9wleo_rI2GQ zwr2IKjyI#DQD|5lQLLHnt!C2Z&EB2K_zJs9DpNDO6t_*kl+`#)%}FnwicFlm#-1&wb)+oC9pAQ$Te z8MmC{^3&K)dU&}hBh-NnX$%sVV&=E;B-5zNGzK_GjA@nYz7-V71XQZ1pQ$Iu-%c=-lknq;2k|+ttj{Sy}=(RC}H!P7l*7 z+qSs7L*O2pGY$;_%s;^LeAUx!nm!}w?;YHS!89DMg#S-6shI;*DSinX;pp=FN6&j| zXk~0}Y;(w*QAg{81#~G>`2J!7-|&-&F_Z2sRYkvmVsF2AK;gcl;MZys_fYA69X=Lb z40B(*3osJr+?QmjQu+edjYAq03i=LjjZu*e2Df5uDB`o}Dg@z~PG}tFMX=18&+>Jp zm%i9;MA|y_L*db3_qZuOOFmy8?P=$Rd`(sMlc5O`)+H#1RVkHH1AT>riqxnG2>`!(ms!!Xx&|mmR?N#)Rx>W#}K5& zs|sDtB%Xlq{b4(IXX7&#Sw2Cpn9wBn{*R2jRRY+4SyrFj8GauEHzDA$xUS3zqJ8n& za%3rZI~Ver4X1|dEx?jO@YuBZ43cMqFW@<{*rst%Hi&sj%RAzO{_b-Scy|WD6^ThQ zX)(el;mp%)H=;@)o0=p7r4mI(W4|nRZcW}?`KPY~g{!0z($q;1u9meOg^E&8@gy8`FEq93UNhJw!c}NIBunCnH+19Qk$srdd>JXId zPukx*`GFB;nXZ7xZXc@F3;~a86D+}&1TVgl*CispK6vzK+Iv7bOnp#b{9R1~(^4K85Fs#yvez4pj1CVXr_a_lJ4y|abS&R}^Szl%I zHiuZ_vCUwev>hV?MBr&Fc~)x+EdfP>@geX$W@<9AQhmtX(`5BY^V-v7o81vbdS;0q z0tQe-$l3IBfZ>kRV~4ldV$&Jc>6RBw!6H*Fs%yPzfGGrmsUi-eg$KLjnUg2LM2fm5 zk0DBIOB(ggGR8^pkKOwqb`L7u9o$M_%2ys!W(%>mW(e$R+it2<^#q0d1T(j98>*B~ z49jSKHHukJ@@7$m*u-;)gG+tRt^ojZ2EsbTG%i+ZW!=;OL}Wv8WEB|O1^d)_O|l%0 zrNiA(F=I0E!HI*iEYZfI>~AZgkS9A??Qf!1%=OjqQtDNAC#Q?cHcJAhNl{oT>g?nq2BfG7gJ5OzPiZrt;>uth!fSzSa?-Qkp9qigf)+DqF5X0 z-RIlOgDQJFcm6GM_akoddiycrgN=j5%jsow$rrcIvb#2`21TBE?V36ghm(87TI>_+ z=I$;gB;AEPdV)?b1Hhju%J1*@NVt!M2Qi{!-tfti@NjG%*Da*PWYOi^Tg>u12ATjX z=1yd}JRj>Hym065Fycl15EmxPXH}r5ZMr#G)`=DeH$rMioPxrsY`8%8*3qxAu6Fbf zr?QLwUGZd?IIx+a6uveyZ^9q`A&;n2)C2vo;C@}HaP!Of3K~;nnXh`N(f86zoT4vm z@9To9)pK@bTl}`V`KM*@Sz8e;h(5%?2RzjXSytDk6Tz~f55Y!*3W0ur)THu`0en@^EXRjtivGa>#5#0E(me>k0zc(2dhpLaMmtg z0pv!QQ@4nd>WMbk=m{SFiSYi{t1*%>wERbL3__d(<6Uv$dUh$@(?z5>EJMIHu-GvV zNXpM2iT~LXG;maR`(9ARM_RX^k)VQFEw=p> z7v>}NW?mN;6WFb{x%A4m792Jx{~1Xjg+OCMuREmZ%C3H&Z9B+yx;qk-Vl*&ty4*D! zcao>o7@*B>c0bd=cz}ZO;s2hsE`wFM+ZS;Qgr?HD)*eY#sAFJ$%BO?-k^f6?@n@*z zLc9N%4Nw9M@E4)Va>0(jXr=bp6Dwh?CP@7szN>CKYx*7|6`lf>g$5XLq7|NN8DgO} zQa(YddB<;>^xE}b&`83C<%&ju?8agsGN#Rs+%WH_xOgEIodkSyE+3}*<6aC}ZIMl; zcogFMbCcDNQXoNTrw}M5+j9SjQ^i}qKHPfslu@d+_I3S7PW;B!8)`a2sX_S0>xvl~ z9Mxy>(C-F=TZE7Fv6p!QudZt`k9yzyZr;igUt^ze?7y&Q>b*{e&-$ghskIpGjKcnJ zSobf6)!&ZmvqxAza^>?sAB(1oUQkj*X8HR?uRN?hpIF!vw?e!RH1`weIyOO$in=rB z6jKnsHySkkN!oKxIOCTYBX~kn0{wd7FxlWp2YX{jwwk%i&F$ZorFYB0CrPQ~KQr<# z1G}5;!(c1GGK2NMXd2!H%)|V2gPG;4S>G%IyIonzC(9{co-)rpwr;WPB0Ugy>@Zr_ zBhEz}b&z`88%M$i8${@m=$ZQ{kAYgc+M6TNr;+xy7KoIonVmBirNwfj?6u-r$pP7$ z3sbA!QTK8l4B{hay#Jl08JZJSXg<4K7`SKWqEO-gvDEYX%ZAxZ$8t^;al}B^fgXNF z=k~yi1^>~$Vy#s@{3WgG&QWoNBt__6;@5eu#*UF2VU|DI$6!V3)!GK>Vc&Wyb|9?> zZK7EEh1FC$q?OvvJ$mA&Xj#@4 zLT8PDkwo(=d8TJEjY(ntpK14Z?k%8(Xox*U(jxe%W{aD2>OTcE|Iuyv7aBHX{A@cHc)`AdwFUiTp3YqA}F6Arej*T@8);7<6gM% z1Db{)ZwWa3R|XGS*B^Ow!5`3h+_OCwU*{_q)wQ84VPBxQW&ZmhHp6+sdP)nA+VZ76 z_L_{MMRYB=H^S9_AOEgFBkk6_OXOR>caJDzC`ey$M|R}#qDbxQn}hnu`>zWU7ADGu z0@ignc>codB>>*>@lJB)1GwXqWM9-F=b9RjGgnfrx_!r5#7;Ke&66@N5QIM(TJy|B z{1h!k>J7mZb&!>qO=L}`%0soMym3}vwpu+gIOfiv4N1Bc0pu6fBmIU`y+2zblWiaP z#bQW(k7N(Ct>SejN-JmxC{8GvQr&cPpI&OiUNs?DW5)5x+>+Xv@?rEf{4UX4m1>te z=5AGh1BJzkIDkmx|7FSL3%e0Kep-fnhrx1ttwhd>~IgT4|*fh(8 zzBuoOd;jVPRQVpIXRRC{1pUDlLZ3YB_(_*voTLdCKYasR6}#$smE_vcqjnwv}@ zrP=hdBXLioOj7&>VDv}KCgo6X*7z|D7rt>YWpFdP+-dBqvgD|ut$<+<7+BA!?D1o{ zWEBQP`*>SLY(L!=yR=v)BMVDG4l&E*^jY-LnroQlh^)5rkc=+##U|2$p0 z1JW0PgJ;&Q^2njIV#Tb`MoaxT3-9oxJQZkTxS@T=sOLp`XVU z|FcuY34O>~pfsQo6svAs$&^f=<;Am_^MD={6t|5yYhAL`i{5^Lt=87ch3&wi$dG9D zgXnU8CsKH`{kA+~Y=|#nh=Ccsrh7BFI85j2;q=qY&OO<=9m~P6+4ZA!aj3-czhW~u za*QXi`K~gkhes&Xoy<>kUH=3u{oS&Zf)B|qB$nCWL@Jr|!S{rPTUUSr*mdQr_7&5m z_*k+EM|G~<{K%_|;jWa@^EB)?rPgOR6*(SXUJrdp@`ln&Rio4P~hitX=ux^-(S zsH+XrMa>%xIO}aoL}Qy`PduMEGAiEF4{k_r>n};p(Ts5$-p;4emW^my7hAsy6lTCp z+9u5Aa=H^^+2|ya0P76>yPKlkU#s*vuFu+ll-YL)`f$O`U~2dql}**_GF-)hj}gsb zOiJ=h(?sz6r2t5lvQuuhDwbE;DZJ}k^6WM$6SE14qmUfU z8F}>OCEqivyri?ll$2F+4cNycX2Qt^S28-fZv@UyhK>#-krq_d9fv;#w z2ekXU3?ED_v8`pKJ*fDumxK68+PpZ=+hsT!?rd^G$x+5Wcfhdv=5YIWc+vA>$a!^L zr5Q2Y2`H ziG1r-q<%K;_<82D`7;VFBAfZG(7k|Z-_ef@%$lzI>RnxU6uBGMaCuY1w+{vU9qlBy8jQa^+9CJ7^4WF{5 zR;D_`IG@)cTKrgLvYLj^*P@Habub|dRxyl0bo<3uzv-2Xw^?L|#}1}QWfS(&>x8Ln z-w8VE%aI6bOn;|d{mw1P&M~`pD`W51DP0O*yPlz~n-^<%sA8$f@y-In9m?r)5H+*& z$}_3$pjNA8Q)IXA{vlPC@)Fs9EmMmRaSPAUerCR*QrY>ur4lN=|3fxlO{&>tHcNIz zl_$?NOU=Gdb4#7^r)|MUKKu6jg_E?{%hA$3qaAU`bYY*l&TrJETe~`eYdqVjhP?vh z(%S;!rDjWAHNM^37;)jewO!3>zO4n`4mdooxC}*Dqj&U!aZP=zllDu0xjDaazF$y0 z>4#X`XY91DhL||gwN#Ni?P={;LcJUsJjk^9wyX|mgob|HJe#D*ESEQoo^4W=oqy@0 z_FJss6-QOYXVs#vc&a&_Mp1vkuaZYmLt$tg^+#M(36w8gJ*QXmV@9m}zNKKo_kU?v z_i0j2!wPN;(&)zoW%)$X*|FGq{?}0W=u^RHa&29T%+rE?c-lmmWj(Hf9_TFIE`nMnN+4(uIFA`1@UBO0FY|tPk z1c+GPWMJ-}JFLD3zvO1L8lidhO*@d$X76SGgY+!( zMbst6eeX~3#^10Ne!TMCzS7N(QnfXcj==yCGOg}3wtyZv#=)i2!FMU5))>0Xq{wbd znwW?~7W%NT_PtpSKI77Vl3m*K`#@tl@sX{G?;-IVIL*FSd;$JD5wTL`0+cuiA(nX6S+6NB1%tAiQTfIuq% zKSRVw?V@mi=NP>z!n1+nMS6Mmi>(C`&I4CR6NY8xeH5s;5eq%nvy84l?%A(eMf?Xg z>07@Fop@IWms3j9IRy}kt9{8s);pj9cnV%h#rHLMY4yGRO<0cuPYgp0A99(}(95`L zg(o1co0!lCfKs!Zvi~NF3Te>f zW_JU!XfX&pkU09G*$pB*zM1XYi%Y&aeBkVSp9n=5l_mX!%6U0h9Vp6wqQmD@;4ST^EC5Ipm@7mcodwk z&N2EPb$avu)P?pb2M-)EfL`0i=nR`IGQZBHmw?I_CvosJ~0|}W03pZLq|m=+Kj4`%h=!O z7LG(cByb4uZlvzb^x8RTzu*65WQ-8?_pi2)G~CdZpo3WYh7 z%^`1e3HPM4a@(SW=U!d$qwfNR&s$=ti(#{?7Y%Q|m38JqW&NVII|9d@P;_WggA}s` z;4bV!(f5{cpO}F*K{~0%W`9d1%~#!TU&>N)*<|n;b&UqnMaL5Ty5jrBmR(~(JP;K9-Xh~L)7rp;@5J=VDAf0IIr)VHnfImeMcjnRM@g^!52eDO=Br(>>f3;zM`)7gq{?(MThB z>3n$!d`+r|lU+*;9+Jy}DK)<5dyS+AD>PA^XFO}-mhPd0ZjHTht|PWnBR<0@md?K( z&T&DD=u(*E;Z8Z)CxX_K!`f^kk3+Y;AdP?1+b!iHnDK;c*(5|dsC6$n^{V=DFd==` zY!647V{KzqPmH!BkRq;|P?QfV5Q|lR4a6Gpnj}}~0~R%3E)FIYtJOrYAVs(}8Owc~ zzmgS(zmkdAt#~i)vM-Ami%%ARu#^U?!$q0xj)rpXJ1FMe>g+D> z$z07lr6n4hd9e?r`+u4A!c>zD+zek*O(t79JiOWWYrNlFhdcZUWT~c5>Xor#SxhSx zyzAHaCQG8v!!l?8F}A30xh3xJEXV+qBJ$n9{U~l(2G*$ z1L1#~w(3u_-%7{5&CQ~&+Zo9n5CzGP+|tc?H)Qx0Pv(8q7$4ZDL0));5kl11u^F01_%8gWtCD@?^Q|FX_k(kuTW6SmY? z_J=EPaOu`*$eGs*wO%q~b9IJ8*iDXm++R0li@yX32}fK<7Lz%A?Meg%+`VJRj1=<($7^r{9r>;#_eG>Z+94XNuY@z*>(a_ z6}L{}$pfRa^W&{FGo;J9)t$>8~2CopauCe#gGBC z__k?}`&-DOwqnu*y#)QMGKx?uFSg6rgQ-s2(cJ61*hs!2WD3UJT2r|QE!{`uml+su zP%D54oJ>QNu>}fhu`ScrmzuRXO8|sl=7A|Vc`|;LHTGvD;7Xp+5)I5H=L-JIzzZa( zLl>a9UGy26)<3_j^Z^IMHf!l-5EdQ-O5%WvJ%dKf6~gvF#8^^PE4zc?1sN)hJE7-Y z7&`PhH?)OE(A=qQ(jn5NbDw{Z$}}HE!87Y{VZnJsq#LNQYwE!^T)>)>G%>-K^S0B0 zii^y0C0W;+bh;sHIeVeow8!5m#m_jjog9V zBI}Xhu%s)ZUe0w(#9_BjIKvBZ22OUjIqqY{q7oO&`9bo=eZEG=r5z_T6qusiT zbEPko&_-b=I+ybfIPaj`yIr#~p}v%Vz9D?m ziAf6F^waS~yC+nAfqcO!8C$?;bDwGg9Ogp{2?Q)gUxzyMi~TE}nt1PK)}vdaZErG7 zNGetUKDNI3$5JJW(|0lcJYKG4G-jZuAPr}Xg5QfO9**pzz^N=>J}(TQtscPL7%<(0 zsXFK9Ps%528TQCSKMpsj>LyNrG$G5>=fE9pwT;P^$;WM&y_-@BQ>I(AN>_A<M z=~~%pW-LD!glr&q|tuzL1zb{FbkSf9kZ7fP};FYga1 zMM^EzyZzdV)dpCGt9RHYv8horuR?l5z(Uo0ldIFvJeSCj@n#2^?x~3JxC$O8Jo z0BQmy)K&N!`pk#;C-nL3Xt#|x4_J=I)0cBFDXQgLLQ;)w*w99pN0X1JU)*PZ{bbW# zPdFdsKL1d+{|X`iWvKVV~0+6M{F5FX=rf3hz58Q%ab!dp5Y zN1pviZbp5xIreoxYE^N?RXr2`&>kVtSZU55|G*fHd_0W8r?6s7EcOz-!SP2Jg4{z@ zc`Js%a2_A(1HSb#1<(sF6m2{M=gX*{bf!Z4lj89BmG!BLk5dY4m%O4fqI5G-$z?CH zHT}Ia(3k~w%Ly||z3YIkXONg>XZIbaJdT3{illQ+zfnQLNY;GwGZ_dZUHkp>t0_o- z9k1>O&$d4?3^^b-Zt{H^gvg(YHHaG<1*p&U!^JiOcK2keLr0SK780QEBv1p9e4v5X zpc5T%AIo9YP?u=%yJ7p_PyqJ`xBeQjgY!%1yh75Zi5&;+**Opay%S zb&!-A;9954mx;e&)`rbb^!688>nW!y8dnn;5pS(3U`+I%Z}ND__W5!24IX9K8+Bb) z@bDQB_VwJ{MjfT;h(xlFf3nEnIDB5*nfrCsx0#lDG-oLraSBeF)EY4pE^|z0$-4$J zEfK?v5jlLDoFD30`7EHmYYhP>)K%1Echq-{2*mXc^DtArhY&(qMId?_ep=V$Fs~+g zlt`Lc^8zoj|Eljy+4;fVDmdRN+f%D<)Ae}ro){MEiykn>mSNV?;@wwvZb7n~EOJs$ zP>I-QmpSJp-$*uYow_O1T zOAI-0JnUNzGLcHvp;p>5L{x**|9rkS)sz(E zu3(bqf**E2^j+U5V?5mT*riUq383^XuJ0xufP_z>ZqOr+GhftuT*tzTfMRzD(ah9? zd@PnWD(nWD8xFgzHwm#{(-4gL``PpM&z~v$q+L%Z4hGj~iwEs3>0~}@*=cZRDT)0k z_Ib_&V`Jb@w;<_m;puqP_)R6usMoHo1zJ6H8cYLmIs@1CRB3kXSei<)oFMF=L9kt? zwFo4y$oa+h@!$9c9%GT%^6YqY;5C#=q2&SzPfD|qz#w8l{;dNhBmK5Vk_|W|vrgpZ zINXW#>)rYO2{3;7Pk?bKLH&?=;^Jl8JaEQY8;D?{ZFDFX5L`;<`191UX${v!IGnPT z*DQ)bWKR8~Pqh9gK+p871Ed$HoGyavq>#zO?9xJr%W8kBX&?+wa)x4OqCZ=0L)dV* z*9l}c;+iti$&SC zKKwX#{!Avxw%?ZRiN>Tk+(Dwf3Q@LfSk(up@g~zu%#%rw0QOSS@c=SpFRIrMc`OBX zw&;*q`pM*4UphP8U1n_f0#F_ZB4FHhCoXiXcyMbey-hNii|^n|3{?*Hv|qT`MuqC~ zIO{A?dl1bjMAKMe>3g3a@*Rl8=6uU=ik0JwE@tprU(8PNi`x=Tp!wwJS;edmud*SV zp=FzH0I7f$v5#J1N^97G;zmK_F7?o5J5ewQ{;-q&Jeuc#Jj<0&8Pg&B4{Vt*clu^fQezZRYHJz4L zH8Y=0zV7#eR*@nAvBctx{i^dDWZf@hYSk_ z`$Id#UOuqY-5ZhjA184(U4W}mH_ES|-$fVyzL=(^x5-qwpO=rBy!Hk}L!99Pisc8; z@2Q+Kn$`9ZAEWJ%XdGC9fiUWT~=RATJr~c!E z6~PNVudM+1NAWOJ*Pa^|Su)<_>zj}>j=M7(13UlZVcCVeFPjD~pWXE+RfU-)lp|ow#z6cNnlcG2>n8-jD@nl3|^lTSC1hvdq6N6WPY?F&WI*4IxDqm^xmZl(7{z-%ZD zsl^|e<9&FcjdhfjtL5L)!;Mlde!wrhX*} z7Nt{gZW;!Pw}a6b-1>ArC}?c`Ekl)aLb_h9bo%j_j*(gz<70L@o9w>C3b43g8ve$) z1r_Qu@b*2$o2ot@dFk!0WO2LKxZf@!#}wU+lRksmLCspGr}BQ(Vp|Ax*=X3-mGW~# z)LYQkA1rtqML1OP#|FPorAD2GIPuAzs2{=sY*%Je%%?#8 zWrS{{(W;nk&B*Pc!CeL8m|Qxpla#$=|EvtZWOQrY^O1MKAYTEr7aB%MvY^ziQG1-2Kb*pNMbs!`Ai{O->$#8Qcdrw-t&)e-xm5gQ{+HReE zAKo#UVm-OD?86>^%kbaH=@_Vso?HPlCue`C+Ob?2yO0otfJHyAmIdU(3spBf+?W`` zXejt3e>2>K+;m=}J+DR(RaE|kuPy@rW|bTk)77+1P+z47CizEb%6QgCa z)F%Uw`XGTtXK>;_qw1jJ?0hIS{*pnCy2A^>5MU#vD6p4HNkN zn{0~uQo7~-A9AdJ1nqymLw?eKuKs_%(f<$r@nV8O!yDt?M0V)?S0s*WgFp?D32L6k z%iVEMVOtsiy|NfkN&O!U3tr%%XbM}{`&sZy{!`cGe6D(qj5|o(?CL2E_;LbTF$r00u8QM>ga(M?oRR#!T@G z@k7wd=!&LA^&cG8|JVM*0l(~jL2NNz|NIgJ^FD`4TY-P-4pPzVK{+TFpc*Vd!fFC3 z8aNno(1<#=>vC9;kdpd+Ev~~`TwENd0eun%7M9NRwn_sEMvi~ve4(5~raIvAP7W5T zcB5A<>6Opf3gyNG{wBPdILm7v*Wk@BW~=Bw8=L%p>5l&gsdAhZ3Okb#YXyI zmXzJqXod^8%vhxMV{x5r*C2?j;Z=mdr0w{S!V5xJn*ojuOW_>F&7jgsLQNgpvDSkAb;*WFApP`4GpNXPI2I4vmQaQ=AlamvCGP3a9__97-~- ziLTS2=-T1-3+Khf;n}fS0Vdg@%i7{bi-M2HLs6G6)Pn-^U+Rv=_1eHYq^xdhMF)21 zR}v>4B~4dvE?zwO)%Z@9n%^twwGu^lib**8lB)p#Mf2J(G`mX>_Rt|k*V4(Z&L^5W zO<(Gv5W!GUN3--82R}@T&?ddtpYu&t7-g$LDJD$hkk9i z!FC+nL7``TA^PzJN`GDoCSR9RKgr(5%r{?lBc;x9uPO6iSh}6#I?3C9`>Ey7lp^j3 z%D;PiQ;41_VRsdu>g~FXU?7X_JYiqk1p^jy8GUIiRW<7hcPEM#SqgPGY}J2Pd2?&D z+HM~8drBX&R#&(UrR$7C*Y1qdP=^PH#-l9h#u!k{|80zj5+<^luEYft3`;MGd)`C$ zKTHd$h+F}>e2~X#D(mso4{UeNwigHPQXgQ0SN?1EKG#PjzAE-JX9shMHqU<{1HFw5 z4^ndPY|$GkeN($~|79rQ24uu!-!y!hzMknPypQn9diwG-gpC8~bnJO0t6oCM6@T|x z-jAk?vywjU@76D_;60cEew_e(M~_1Kfik%;#79$1`H?ni>?LzQEn2|qk0R9g6wgme5 z`#8(?W1APhO&CPPs4$G6`hnGbR&TpVH~V48O+JbDuG5xXb`d*N=UrzOKUFF2E#_uy z4J!nqHC^m0&9G4J2I7I48Urt~nD1qXWfZvpb&w@jaA8<|&tV&4JPywOmb{TFU4x=` za29J$Gi~gBM6d?=ZW46K!_@?TKHZ!2xL}HrxV6Ti{20@RR?Hd47YUzVavi(czqo#3 z*g5YscP2`G!CAMS>i`oBRwRS$O;<9nWq2>>lNLU`b?N{k5?jxPiWN+-J~V;XZ`)MQ zQnV?x-e0ve^%Wt$zTEM}*TY%7zHGXt6q+;&*abJM&TKa7atCglM4UW#!w7Vx=3xdGnvXiF@^Z7Zb2uJAtNnkoZo$z#!|xBSOjv z0!1G%c@T)tuk;)`$W3p^9o=5UH737_hitB0-g~-4vRcY@FU0)<%pJ0ru-%Y@0Y1`u zh2O??`Hb$|xs!eeD*FwoMU=A-hMMl=osgM0NNSWE*i4x zA=nsqx|5IMLxI;nK27=rGE0Pzyvq(!55DU3XabKAlXrJ618;=;#6}Cy60b#Vu?Ct~ zQeKAJI79||VFX|(WB5INrV;fGTr|62@|cFx+-oVlQs>ynPXD`~n?|HQMIw9#nWQ!H zy@OprBNrXfOb7rvk>oB< zr${Nt-aB1<&N?9fRbx5kJU5bP69VRhMDo1G&0ecvp?WFHgG12?AXI?rTEIhMrie;9Jl_r}&neDqgJU)BaazecpW;UY1EQ$O@IfmQ-}s9*&g~lYVv1)n_*|9h z1kXRkGn_t#PWO)P)dYw5Gpdy({JD2pZE9sS?l@ZS-Lct^} zp<6bryKu>*2Y6JTW-+mplrN75bjU`?w97VvSM+5xA8Ps}a?yNHJ+)iWx35*AG20w( zFeJXC+;fzOat5;)H5mwP8Yg8L9|~d8Npx0~3QEdm!Y4&u@H6r6UXTn38;@2v3w)%= zV0&AwLz%OavATp+#$wzNaZ^HYJA(_o4t>j#`5mgg9DeKuL-38t)Ux?cPZknw6^32P z%^z!--ro1|~1!GQn(_hIuU-G!!KrOIcHP|N79TPCAeir*F{L{mS;YUQGqdkdV z*cvT1xnC++ua0oI#EsKztunoAxBi+bjP;a%LP0L*5m3j~yX=lz6&uxhQxr1b6$_ZY zzXHcZz59Y9CSZh?c-)h$NAZ;lisO_J$+_AqET$otND~T%j-REdIWHlyWkvl}o@v*Q zFHa?&7pIoa^^CR?aLH_V)EGZ`v*&DxiWmcV?|D-`q5;_5bVrA?hg3BVL`=Gm8|SU5 zBwp2h*5}PBz7T7RyOpLt8YGIDJUx5A;%L81rE@`*ZtCxV1g+Ej^UZ##@o(6Ma54!x z^)3-HI;eqc)T7`GSaM&Za<<-+(L{wBS#F*hN#-!UzD4OS_P9}|$zP@;mall6|7`TY zR3(Rc4l^rENi)>qI{kV5+LK4ocZm~rL-#?WaW2pt&4L!9wBU4aBtpZ!j%=c9Zwo!U zW18PKcb!}9NVD?O$wFWyJqCG)h0HHC-!4>Z#07C{oXbBoadFc?yhmv`@7CrS4X&rx zu`lvVXJ3&#=qgQi^SaYjcf5y|Oql%hrjn^S{X5vSs*|;h?w_Z57hm#Z^QGtI^tz*F zq>I08T(**Q?Hoy1)vE6sSS}8jD{XJ1i>uf2^LRNF*Bh*J^m}ct%lq8GjH#u-oOjrQ zUe9*jBRV|Ud*y=*I;#J5FX)Hp{ONqA3Qf;DY6?-mg#*hoD?VIIG(@l+8W* zKcPWY)_%)}jC4%H3TMJxrytR(zjg^_QM|&E_2NMkpP$5RV-{V})JMyp9O4LD_HsAh zuKYGmn>p!~AldLiZofHt)^k3fJE6onpK#RZQQ~vYG3vmfcq(}x5)g%IJbxgPA{5Whdzm?*a{a{6N$Xz`xet23_T^S^1tfW0ojd&{ zcE8I`(OX?%RJRh-qW8nQdrwt+!6~16Fi{8zEfS%8RA@`+pH{%_d6Ailwd3+)5KJ9T zu9c;#W^qB8vYg5=D|Pj<^RdY%yuT)Kq^V`!WWTiIB1Ne4=O;TCnVIHOSV&Kveo`uA zSXwhWX3hTY z<46D|P-3ESe|hx0@%jn*e!tu#g`Y|o7mTljjp5wAn$ja=P1X;TaYZ>j_m%$n^iVIm zl3g?ob(CH8P}jx>=I5MROoTOSp=6ejof@`P_W(2^)o)Lk^t%&u`%Nm*Xd$v2DT%R^ zE@5Z|7S^RXhf==cqBxxr!~EQlGx!tuX#YwUoMYG3ZwUszZSkW_X+P;Z=~C@KUm?+w zxZ5aJ;;S4^c!GQJLn)|BcHmRV0LFJ9@8)w*z)boI=h=TIqjRC>XGkmMCDX7fZ}xpw z*83uVRIai@)HKxOnP(u|yAe8;wDEgnJKrq5y76_m+rO)B|J@)b5^-(uJ4^k#$IeQ_ zD!RApYj}22$3J1}XP&Cvu`AQrzd_1lnfG$ARW4JV{mRo4cA?-S1WiCdgehdq35ije zZ8pcQNiBn#i>;8ZoGrHoOjF^1f4pb?D~kOsR;5YT2Q?eMZW2!)M!~|-qgAbWUV|*Y zc-yHUK%kM=k^h3OYsUag$(A*{R4FL2-WY#%n@mHjd?w9%?rZ*+3pjfTXZ3N7yo-LH z6v&5vfvTyMK&zoazQ^|9J#@*^E0Lu8`YF6ze4(tG6c3)^!j&5?Ivc9@OhTD8f7Qhc0!)NF6u9x&rCpF+SSs4 zyg7{W+k^eLiF6O$AJTJk{mrZSE6AK#M7i*^{g;&whCF`c?0#IAEDHs z7nv40B0yykw6|vW5KpIUAleeD+C+e%sKOQ|kB)?(AG##-`PsysX1V?%Au`%sowVvR zlzpEdquG3C;*=A;U^{#%?+(9<%^QV+n!&5)JoT=@(B0#l0 z`um(WUNf=i@V4;gefOD+wR=x*TjGir6?>Ma%r7DKYNYhc*L94tNnmMlKHe2@8EBIk z;95X1AAC4q8zIsAQqLR{;w?CZu0Ipuzawgbrhibq+Xp2j{k%3dVi0PwPaRq(z z6)0|(H#tp)9oU^6;*R0!9dz<5_40>arY4`4U#pB&7&@7b3ehOw1tV?#pj(r>V^wdg z49?XoY%mK4NHBSapJ)@eckY(LaQ$Pf+sI! zrS(~%%S}fnB5eKr$c~Y-l-Z^>9LrGvTyU~ZvjOn6sgqh^E5dw-N|W={%}bW9a@UDY z+qOjbEa`4)@^*xtR-&k3y;jb4fh^8NL(oJyw)FSgX4}&SvXfN5#QzhW ztpm60756tMn~{R$s3BglhsT=yqg4Iogkl#;J0Pu>G~|>R#h0yH9<XuH_P8hrH`_s3vemF_ueQxDdk>y4Q-qQ_6nv)IB69k<+Z9zOv8Sj*A?=66~ix ziu&hOejMB3qk{i%ujMdE!K(s+2eMuYpZKlA~K>%5}X;fA}ZSFlWzH$Nxa2AjvFx`6QS|!uUWQ;*tE+Qkm2?@GV z-l89XZW;}NdlVaS?=K0>{efA@R7ZQ^on)Y@!Mh3N-_vCd1W3;q zFhc{vXryHIcnBfyWgG>-TH3Q?4M9a|Z4%{O3=7b1x3zh&)UG*FB%N&`gY(JuTe*XN z3V3SrH6?g`qe8W{5BAA7SP;3a%zVX{uuv9@yhRReqtoere{0-_oL>vTZ5>MLt-HB1P|QVlx$CRZ}p4f*jM>4myN6Mr@@v}MOqJ7S3_mm3@u;qrw5?B zdhH^KENDoa8=oK;k{3yx>#`?txu6626flqwJVuaX^e3v-9$Cecs2bf zppFkhwc=Jl2OnBkTz~fOQ7kf|-tO2Kg6*&}UW2oa61&@M8!gEKOZKVxiH=EVDmJdD zq^ib+^ELUx8L;}`V7)+QM4xxdV#p$DK~Ty z1b_A38W+jGQz}E=eCNwN?5{|*K>$10G~NMlcvdwIU30kwV3mya%+l{@XV9Oz`@k^s z<`}siwxsKKYVdVIK2wji@Q-L!%{N6`I%@#5ZXq9Ky>|04q%Jc4N%L|=ihP{@5Dc2X z8tZe3+bxrky8)!V)QcVi)K7Tu{Zbo;U5*vLo{pG-jDbH(wp}ED4gFalm#kwH37Vfk zZ;Tg+8up!eJ}H0H|IJbjlKE{|-SpOQ7~ydXprfT`n-x>Zkvwmrm0$L{O{=2_W;hr1{tu)*qqnkh;}fvM9d=VB>P)gT)(zqn6>Q#XihqjA+ek6EQIY)p*X2EDmsEQ3oIL|@ zxPCnaciGuAuS{Td2NGaBgRTTU>nGlr_b~lwvfwSo`e3U!2oJZN<%-hJCyFNXJO`Uv zX)mKX8!c3z*{w&YZUF^!dm5>pN3cC4J`n%|lu$14HSzP8IC*L^My`$56Vk{xzg4x@ z+>)-{ij3x6(jr#X()nRN2g$N_VpwoSwpn=8nF6D{lHt2w^d>dMQ5lfO5Fm2IVqx=X z;*l7EM6Sgyx!xABDxIrSl40?WovY!1RPF*a4*gk^HI`@?Wa|e{T2B=y)hAmADnYQJ zm5ty$=j~#;pV|`9J$^kar z$9^UuZLvK!hy6cgAEo{@JU3#Tg$ig84zLLx62GixbH4gSz&6AGb566p*q70coQ#6nlZHeMAB3N^ zoJV)W^PvYz(1fAe#ncew^pNxRFfW7i@~Te-Kt_@OnarxcUuqV=DpLW}kR>e}Q{_EGVdO zCtJJmFn=<#H2+=FOcNaptyt=qS*_87LX;)$f1uR}6)~*bY2;95N$)=^bMr0$wA5cN z%jprgwNrq?X@&^Q%eqJ^t@%^6(^&<3}MY!b9#l{g;M#hA1K=Rr6GVZ}7yTSEOH zL(`qg;xc+JdU{E*Z0x;bINXH8T%j_Zb^b+y8>C5xS&`ze>_q2+aRK?8=YV~4P6^!p z)eKRbUE~jR6aLc->Yp1vUon)DX>fFSRJ*{0tY%mooPlr#FTzs@6Ms{k&%ej%MuuV-M04>3XI9y z<*EB{im|_W|My+>bDWulsFYZf!E`Oyd;&s_iHQAp>*?6c0<{#?=cIo|sl`c7W(ZCb1YDh5rxujh684z9>WcPa`gb4m9tuo!tCY+?Ecj;qw z#%Rg0nFmF1LznLP+(=)6oT{xxjwf)FkPz){^2M!e_=WTwFftydYoJ3p%?aOFlEu}Y zF+xpl_&ObQO72fJ?*AHD#I;L;z^jv9T@d4)NRIfl_9QLr3mRHUmYD(e)RY?ek?A@n0^ zg$O>z=9|}!V7!H5o&gPHcdobuPa*rTBkWYsrZ)2gBuCtj81G=HF$}eBkT>#ZkkgSA zRZm38rtp!V8-^;J7-#tXXEVcXPY!@DLk7u=25heH#tm2jy=U9;aov%zN%SL(WV(GOIB(xud>ow@SCD=;|;yQ4X~0=YK}_YKRl-s?D5 z`rKN;J7g;eenTOIOrT0V0E)6FTpa_~86l{zljwY(e5R4V&KJaO&cbXDs@-g}P6#>KzuoyPum|1@fiCZU`CQ{}{CY;nfs>*+l&Lp%O zqdV}#F44b*xEo-dwb*6hBM<`V0bLtijG=a0L96Ioq4!v4X4EP~Fzk*FM;VvcY#xJv z1pgDKyiR$pbMv}KnzxVwP#G8`KEa&})p%P<6HSjfk~1V{F%J-;p33I@F%FzXnrk`Bq6)&)T1=w{fYCo3Iu$?)ou?Q8g3 zGn4KUL*kP5$K{0yRevPJ#%um=X@K{Y7JG75h^R3W*fMRrGYSGwi@T7uDjqj82{8)R zIVN1(yaMYWmu)@MWc;dLgZA+F=C7kik5iFBC-v>k6@y=Xj~bs9&!O5cIBsBrb_G<^ z1A}dYd9bf0l2+nTRztWAmG*LQp0&>yQb$#ct@b)(1SoL&&6Sqw)zH)Q1^Nrc6s^l$ zF1Xr5Kq~Y~Tgyg9E4qtcPd!N%;}fgOt3u}qHeFS3~@C zBQktG^qtocBhHyKKv_i(ykLlW_)tbXdIo8rD9hCGmo=D(a49fv9*`o|N76%>&R05L z-?_EY`O`oZ8xoMy8C50Z&Sz4{WE#nN|LiN5MBdm*yXzQh%ms2HdOjXC&R`}-(y;ps zeRL`ISX#^_O#UjDI(vvb-6s9Ck)~EeTC0MQ`4H#e)onr3+nCGWqfCcFY$6RJ7o*yf z@C$k8?R+G9Kaf_Xy|N|Tu3R7u<6<N~Q zY}DM<^N`HuG80>wp441)C=Esm!{bX;H+5e$CetYDNN9jK3zMu#5^u<-SajGm6CWJ= zL~;mUL1Etc_YgZKWi-M9Scc7HW52&O%1g2{y(yNFCng|o8zJCRr?WI<^4p&NjX_R_ zsv$W}bFh7n_sDTRp?<5MLrbBoRuRRT_n4V)m_*2ma1OIWvP3Xsd;sXboshNH3(uI$ z=W|{Kblv=9FN01qSsLoKQB+j0uI&H({MLBwni<@k5F;@r@}U&3Vzd5rjsm`CD|Lnx z3#?&(8BgZwG%9Zk?}e`dp%SS1eJAq!^gSN$(yCq9x+h=)dI>?-^8Q%&;^pS~WY zQRJl&uvZjqzj)-D9$kM*z(;|b=##T29Mb6DdC#+lTa^ER!qR4Uambl2Wh$dxInYGk zQ()DZY+hYagQp|>s~B5)0O+k` z>|||uKDLf%?o4K!#z-8Dh=>d!m+Bx-NVytQ)28!-jMuqo{Y$}13{7iQcWfx}G9PiK znd;YZ#cNB66yjlN+&<&M9zurG%yvG`r!z0wtxIB+W>Tj3P$iFun9=$ZjCr2@59Y9dNX-jY*J`5es;Z#S(Q+w(<}9db&X zN$goEt^C9iH_!j%i8lCp%E6)!7#Mrz`3`@NF72e^>@+5_*JNR2i+LmBVeuzJElC_j z&*yd)ef65X-G4mNrI;b#78igf!r9I|x}KpLV7q8Wu|QeX{3nSWZ{dQ(v+VX{=fW^~ z`v#}Zjfnq8OqqES*KDQgTy3+`rH1wy+6(4gT;iWQAoB*80|FByfD~&bE`ir z6vyj>j^N>=UwL`jtjbdyHTAgvBKcdfe)yQ~7tIrkFWn>)Tq)P1FlqAe#~9vzQ*(+8KtR`UbpW3>JyUsYA7LL!~AVGUfJxcAQS)iY=7av1wPWkc%#o>*@}2| z^FEi_wVQ{gXyW=|3JVt`@>bQal*I}LS@@U>ON2?TQpHM``Cimy;G^NY5IFiacjyc; z$8@>?iT1zT$_+h=Ib(~>EbziIa`6PS@3aT5D6+J?kj%UDvd-N8^a1Bkmbs#iPiGCE z$q=CR!n0abhOh6gnG*9`WfUL?v3J%dEN@KfNyT)}K^_)CG)e(F8j@Ev2TqhgP2PR*`4n6mc5WGB)EURVxV@KnU6I3$lX8RB#(>y7n{N+ z0&I%;J*FZBoz^dhbjps%5j)jV5ci_YR%NE>EN2*VIa%!MfEjSqT@s#3ku(`Z{Px^+dSx*_yA&~{dtev zAa6a3i>#bXu;9mAqm+-apTb_;1Fcrv{6)v+s%yI;I#LA#WKTLp@6S?{Nwa9|~a{3UeM6q_f>cc6_f-6KP~*%BU3N?fpV;LBJA3WPCn@v72uPyL}a zy=&Kych~Noja9h9xRS($rp}^@pekw|F51GG-1+RPskQG8#9ATmkScU8-b&`{^Z61B ziNbH5qu-@_C<$kRZ32-!WuSTKQ(MieSS8Y5OXub*jQyX3Ohu~dI|6jSeHu{byrWm@ zDhN-C%==n|U?`?SZYJ8M*xWiB`w5lDmfb0R>_dh4OsXs0*~5dlv3Ml#rTG}n;+*&) zV6XXzls1mi%e^#REW9r&*K$zK(gUhmk7N48DK|kL=ixz%mnK$YIpEEEVH@xMBIsa0 zRO?&Vk#PX3XraEiMaL4F-i_@Hs_mP4T+S zrw4`|;E`hWC{ucKX=eVqE0k6QsMMngw8Jm<^3vHA-EGRda?C{I767P=ZP!0$eO6Un zj#y}$s=arTVW`l$A&`J%V`xz#hIWn6K|qL^k(?hdAR_O-x#-?~dZ2|+(e*4jz4><) z)j|=II0ek+Sz1~nSPwEMg)gunq2Lm_mw_X?3`|jrK>qhs+3KXJCX-nG`hE>u`&0Z-336r)o zm+?A1w9Pf-hQHh@GPB#9fIL}jS+LMfe7%cmIV4Z6o;uhT(l+`PbZ*5ue{gB+3gF{P z0Ix&w4PXDSG|2y*S;@X=4mf!8L!zU2=r`M}BmUZ?`f7sk^DkG_+f>92z_gt00@>ga|4#m^bg|uw32g){5uyhL zJm>_)MohEAG9bBhs#{Zui&KgE;76$DL#8{0j(v;k%|fbesuQOKW7uS~+>1L!*Zza) zTz`Aut&@cUQ0IMHa1 z_cx$NCPSUy&BID9-NqKM7B~*Qb>l&FgC(OwR5S%v!0+J%8WdDN=zzkhLdm8F+*}`AA8!42dM0XdmfZ>^HJ7_{6y}TL#N;Jmm z1DXM*VnV16pI}MtL}dCMd)(RId5gdcg~B~OdpuC`CoMg!pHyX~aD*J{*1*hdyhhWY zq_XnUMC~C+Q$p>l&-vSL`l&-0+@g1j&*;MUjp(cY)wx#ffHJfhsa=mY%Wqg~cx}1@ zOOXjpG|&hdiSr|g(^p=)P;^Srouv0VKzb7!*QmBW-YM@30Q4wZX%_~$4sW)H0UrE* z@fo?H-oPvU48?;{gi}O`l!?*4fC<5l0?$p%+kv*&jlIOtW|m{a3=FN|z3E_$c|-k}ygq{X`#Fm`@0eo~!q4 z5rDVWP*sFI`vjar2>@73+}GGy>j6-*-bB=wFvs%EA+&^GAz_{*-U#bbTip&&^NH{k z`r`=QvsAjl$7fXPp}J)H`}*%nb{fFxN*h)`3Feum}ZVBk3T$$ zN9`|R6$i!uCSaD1LwK01e(7rxwWaXT+bO3L^;MNrGv-TFq|$0iMq%FOgdKF6;gPP& z4?}0<4Nf|U1^7s$+GYq=`ja>#651m6bf?^>69N7H=}+)8M}uTuWVtmyBtiqeh|Q2Y z)WRCrs-N5Uc?gUe5DmSEq`xI2{}zBk;gbQ#6$3`83hUgW651i40zqhXZE^si-e|s0 z@Oy*(uXI9~pq`9wu#9jJCtk_({|+i*I~)z+hIfke@OuzhPaacYR#vX!Lw=bsE!Bqo z>>S|1tf=JF-zzr(|BuaJ^uLAluL<>Q-y=){XG0E_vwO$^J}G~U+Ua+%B68zYkQ-<5 zj_qd_E9RD5myCuFxO|!sB52`b7Jq#72#mpC{`-_|*hV&9x_*=2tY^ybLwl=C|GA=& z@A0{VBHD@J`MIfL^%+m);(8-hK)9=Ew9UEKWVOm;qM z5{a;@2v28Wl4lU0Zm(-`+AGy5H_{qD)TAPt9k&b}gZB6Y^0lT%!3mNH6fT8~;+(cD~l< zKy2y<{&g;%>7R&D%Y*p_aV4x0X)sR}>9X69@ot5zzr7uwu|K z#23nN#dK%Xq(#}G&frvrbKU<^>lQg+E|9+a`>SZrkNZGhw3N_VMi?(?{p4YOSc!B7 zvBh;EXma5__CnEhZKIEEetvL%$7XNm$H7w`5Z%D*-u_dHfgEY8QVxNcp4SkOgK&q=kGfn)=r~wHQM#`--RO2Xb$(cG$0V!k{8V z(JBRs|HU>Ax0Z~W*&jBKs3$a~R$K!h=q&|?jjICJC`*)@w3#@5(UEtmXuA);YeUnbwhAnw!ikM#6BJ#A2;KEt?@PoEvw255tDDS zBS|QhZ1<=!gePC}5(6F4w%1tAI?#zh02GZAUVsZ(QrAOJ}HLS1!fxuT!qy@lr z_a9aD`?H25geKNSi;2H4?@x$h#vmf4+O1!>vU6dq6yR9xM*Ik36gk1Fp zMrNnwp5s9_%Y5LDbQ{wz8SI;ibN0$@7^nSnNLT&N<;%H9xCDL84}~}ESc)w@h3|r4 z>{Qe|pmC~(1#S0Jm=6yyDeALje1c%UeJNhQKrW|%DSmGh;knul)2`bfH?gBn3V@tu zSKR;w*SI;^+Y`D2dYbkc(d(4cg*T;ch}GTgm*I!1=&{FY;xpus3*+co^~q**C6ow%hl{XaKf;$LfR1MpJ5}WFt$5l8jCs7PuGmrjR(4I)v!Z!%u<2uQ%_@=at z9SsQwEmD`J-Cl%LD{5v6gbYt@Dz~L>ylV+S<92|*6{j)2RlN*$d4?;B1k55RJKE8Y zLBU`@!ef>>T?vwamFh+Op?RvjPe;5p^JCHZ=gBwb)Q?Ig%& zC?RcIBU$)kn?ku-9JF^EX?|!s)F@(6{hEP=r@Oj1Ln~8DI#lJ#v5~wn z2K&_NuA^sZ@2TxIu+>d&z3df=-SW@NrTsY^1XLg`Os4m6gh|W0E|(}rOtu#;zFxSu zm|~kDIwzg6M!h!q;X9ad&LhlOfrft`%NG#vEW&DHK?FL~d_{TfLFa0G<{_oseE`|) zSNQ>E)(}ul`B3>GiL{SlTdM$Hr&wVTLxVnAw3!}B4}F3^xGPKfI9fb)P1FzBh4j!7`0O!J}#D z|D@0+LM4V@>VfRM%hJc|9|leOe;G97EOfyl3brb~CW`s5AXcolM#MKrcR@<5loZ#w z6={Yiiz@>X_OSHGFkjwbI25_0T>R2#kuU`8aU>W-EwQ1Lh8Su<;kG+L3 zFHwkP3=M!nS{^pn^)snru`+gp0!@x50)(adlpBnZ#}iQ zeZNHdFigJHPi~&ESU+gmE6%IK51Q0zRQ>vhF|Iwn^KmPeN3w3UZ)v2DX55l4hT(!| zjB>hNX2X(dZbRRl?|~yJz2VN=2331om&g5jPNM~9QunWQH*i$e50Jkm=ROCXPadtE zMb5a`UcZn_+al=ODnM^oh$8yT0^{Of9@fW}HjH=!(o+Rt<2V^if{DF>uO^Ny zn0$qt0V7e`!XS&eq;~n8;uLWr__wUk62 ze1eB(Z8fB06Pl=EHO0nIw}R?|X*M4zB5uc*Ocd@{YRG14=^fpdGPW7elsgwrGqs!2 z;LI_+CQEeZ%XwCXwhbwK$*SYyZ~?YsklaoAyeZ%5@p3#jgfk$*TqEJfNO2xD&6s0# zy)fITK(0V0g6Q8i)0_dRmr!TJD-EUpR#+FEXSGh$=~Y^w4s4(N68MF6t5fx*`MB06 zHFFKcmU<+!ju|FYD${F>gzgCtI@1=738d=xV(E~QGA=6XYbCE>~v}>x$2&84E4*&yURB|wMD+8p?JYS z!}N+#w=8H&DVH4Zq{Jl{gLp!YiD#*#)HlW+p_x^P_fjLq?3vvFj0v-abp$S2?q_`D zdA(BY{>oE^qk553og1$)BpLdIeE0#d?zRRAu5LpQ&p#YvWHO14MDM#n#J?|CwCdr?LQyKR3J)RLOLBv0AYoE-YBt>DExFECA;#A zhkP$$hJLVAWt)Ldc~gSmu+0|mx>WIaoXT)9c^O&gY$C2!`ty?+(a;!BT@hbajoz~4 z@6y?{+(p1>aSigtMh7OfvwN`yGJgK!b&U#}mLgv}>&FbcXEf}#>ClP`O+d%q4+*k% zhKH954-dbA@g*q~Wz*k0%6hQB82$>%-1qKo0ieIOpxM3)si{nj`(k*!rlOf4EdHyyX3N?db-ca&f_l~f}f3iCCxILuQSeG4esK^7nTfhVTykT9 z<=S;KY?2eTVq`h?iIwJ*tW1M&Dh!?>YKTII`y|Qebvuqw{2aDF~z_B&%U%jR%QK_ zZ1N*%Cq_W#=brBMSL=FWd;X3tJhsnBo^4I$uZ_hzkNyE2sT`3QGqyE*<808lQDvVNoTQ|Dqoy58@rT=IFwquLg5Min z#+`M}nwQ&BVa>7RoR%IWWABssD1p}rYvB6VJBQQZ+wmXUU zu8F_Zlke;?*WF)_VJ0EYr-%?^-=-l_r|_v>oJk>L-{fMQ!jULK3tOy)^a=G2?_bux zZ0nzRw(H!xCW}#VsxMUz)EYFU97-$@9zBy&l_9^T)H_+5qx83Po)T@WFs0pDX_%8o zCuk|qq8rS^>`)=S7oj7$ZB}q3yJ69*Dx^?WY%dLLKE1{i- zDME7`XqM$Bmz)gR*m;c#)cljHe;PRYYX^L#b`tS@wu-bB_k{>+Q~xnOwWiQUN1v4H zSm{5(yO>!JIt<;Kl|FL@Sqge&YVvBlF#c^emsQN*k`b*SrAR&%<@$^RZM=_R?v)YxO?nbWk}@v5n%E1nooaevGce2F@!^iHq^mEp#_=liUJ?t7I=3#$bN17> z)h*k+o7tT)yakyr6tKSq)a?p{Po!F2@yhU0KP~1(uIdk+Eoko zy3BUD`trkz4KEhld7?Ewz1plv*k5*dYO>JnN!IE3#d9xa;{wIE&et(Fu6V6wS{(ey zo36WJ-oe9fbQ&#dB3;H)>)_ikz=0$%g84YRzWY)MWN!aD_p049+uiG&oAEkymrl(^ zQFh8ZSlYQ8b_9Bsrt!qJcg9Sf__}In z^N2{LNE1&$$o>VNBz$97Hsy+cN847X6kS65AFsd5WXX;wG4mB7hT)rzPO>BV;~SvE z)Vr(7jwhz95aH_r)EPX4)zhjo7_5_3x%`DwSnr>eJ_qHFdS2rruMDvJ>Wz4Qrb_{l zRpa;l_0TrDviYOWetx=0y(Sl;6E@Yi-a1`Zc;SC8y@!XJY$*kr06Oa9R}`z}X0ECr zAzL(zZ4vugP@4gFz3618@*DcPnTq%X7Qo*F2%OvBbR;#*Z65l ziLihXFwjgK3xZQ;K*GFn@sn-hI^!HPmwdhWMRE6XiJDK7b4CAza&D_WLP-xEl+SvF zb9tNZ)+c#gc_z@1q9&Sl9q(!;(aj_7+7j=yE$=0rWHI=nRB>aKsE2VcwEppp;N<$2 zow%B%zFyqPjd~ZI#O1nc6gwA$B*4ET|9K~=;QBgtZ`#92E#5+2i>Kh9;45(oAHwCI zBqOA`u4J=)WGJ?(=x*@y53yHwjKo{%$oD;-2x=2IUk|6{;XZnd7>j_FZ{j-R#qLm* z-h50cm7bS+sW~H$jstXLoD8j@BEw41FuWPDmo$ul#5WqOi?NRdwAz$L%ugf**o0oL z>izxhP?QZf#BAx{b~W40j1!&xP?c3v$KkffPsEwIusIdv5<(J`4ir_*;x&!uIr!*{ z^>JSy=izwkfvD$@vw9XUpqHOy$6G>Be@Ynu@*5(Wd0l(Dndg*SI)%|G#*bwpd`HZA zg98wmyXDDXv6n_{R$Z;iz37aZB^5OBjx0!v@d5|ugK}>8tt0G#JM)#UQ8DxAz2A6OK|_EUfGvxwYG%x zl0k}!ygo1HlBpzy#l+M=yIH1)Pa~`)`r};owq-TFs=?Fdc=PGsS^UwIyM`|>w!U~N zTkS3|I8K~={^4(7sd0qC3!3J41MPOGR&u+CM=*519`qs7t!@dG_0pCN=Q7psRdxVG z+9N{bAZS8~lOxr6jO>Th`?)gn;0^^xR0uNRQ^7gCN$0C4mF0N3waKj|Tt<0ciPex4 z$MK|Q%`=%qtg{tzdl6AaR_`r;(iN*62r%8uP(t}2n%2c8nPFS9QwZid*q~%Ze0+M3 zpNjWno~g6`sJ;v6HvH}9XjE`l|;(jM-Wr*@i7W7_WE{`TJMsz%?7P% za1WSwe-3xvy8m)$<19+<;N-%IQ4y0j#l!db)8G2_Owp> z@rzvfz$aYJ3`6 zx2U!y%70fv+eoGJfFq^8Y?)ttYbjjDOvJwDy88LRx6rQX9in(ol>n;!o`j!l;?%;& zeapZ16XZp^K)fvrGuw43R@m`&h)Aw)3g4(-;MFQ+%TBQ_<{KxtcLGX$mZPZC=k{Yi zUI};%F2#j0fN^XPHIXpo@j#>Jh4Qt9tE$@Da`cNeP_F;1^di^pp69`6XCT z97XM&5Zl}Mgeb4{q;gOCshRkFs_#J?WdTwL<%b`i0+r7! zdbQ^2ZPSeYhY6`)fDgD8nvr@#gE{b5A+WOG`$WTAoT5H<_qb1j1p{#dzy(!{iK{am zqyZnG56huW>hQ|MO`S>{j+}HdN(BI!diU$x^1(OU_V<52Oj@(PbB@^a#FO3DUsIle zr{w6t9;}8nJfP2JOWMw*MR0YQCYsj!|Gq2u^2AR7Vfpaj3djIHL;`KMWV8rxke{`UK~PEc@G7+9AkG1mXXaaW7GH$p-f5u3TFO``wh*W;A3VlAt3ApKe?u2tXh zc32gbM-8Bos8}3E`9ojH(s#2hjQSwK0AE+uzZN0*spwPS9l(GoCU-IMt8(B$0RDjH zRmO@na1P%Wp*wWz!XIj!KVn7)2lN@dw#ai6<6}ITe8bm38`BKfAWtBG+>5~Zhk;92 z^^nTeihU+=0GAzS>V>#cIi)^^kV2N=wFznpJUns^7(x@36+Fp)yNJFD_=1uS{^*vP z<0o!)Db)ZqFi|gZ>WjP+IS z`OhP+DVpwD&~8k4r*s{B(x8pic)DT*e$37H*?j@x;R++@a4y@*pO@vjnF^~1dl2gU zI1MKo_7&fEI|sI9gds4422|$HJF42^xHvW<`Cj-^a~;}&;#AfLH*s5BS}|;fKGTZ8 z-%{&JR+`iv!0nM7;g~3;V_2z0SX^XYOX%3;nEGZ_#DRi_7!|$ddkqSa#K?O_A!lwN3D`iT_XqAVx{ww4g!eY;|>2r*Os@R=@hJEIsH>+vo=4AgTYY>~cy-LcRu|WIXb*UQZLxD6M zTe^>Q$*KlprHGF;YqKScsrqBx3^W4sP8;BwH#WPgdyV%?&Ock>&go7Bw&jc&;|gh* zU7V6|x`2rn)mHD*ey~Qk0Ara6PTx{DRcI!p*~_)l9Ju78N^3qii8u?2wXCnhw4nA3 zk)EH3c_nlL@D!Z2y!EPka_C{)`d0Q=uR|+z_71EgDP_+Q z-`Q`khc5)w4*FgVc>1q`5{}iAmN&f!0+l2fX3NX{98y+DlGZQ^QB_k~iUS`C6ebUM zb2>y^g)pYt`!$W0AZ2YM)v{5XIL_fhcl2b~hq5DN^Ezy2z^>iqZG{eH#v?}Frq)@6 zcP*qN=OXj0rvK{kxcjy{q5IfbvJEp!k5->xy?A_}N0Xl7`N0b|pCB*Y)H-JM$aU$Q zl^-Aiv}*2R zQTygTcRhX$A}wJ`po?VN3`15Q3nwj#@d8~)&i|4HMD71W7TmcEaGA&Z?~upxkY9(6 z2GMM}ecy6q?xrn1U1|N3voV5jz1Zl$Cx1VtJE-#yMeGTm1h;EGJ`LI!9&L0v(0Fy_ zxozWR4*H2D3xKe#MriiDAbpM-<{#0W*K^cCO?V*6@>=QPWUW|sX6tikwp|$g#5{KN zmrB#tR3%yTUs&s#)d1rLB-u@DVN`0r!RQ;h;gH7YncT?-5HLj)t$HNUCkg!Rm)#w2^RvaWVzSg4fm0K`SPA+*})} z!K`g}(xj&~E-U=F`(-d=Qv&HiJsHr?t+77xNn|U1fPZkN(y_sICeG_(M4Qr1Z_qyD z&XHk$pQ+P*zWh|va=~6rc7w@tw;8rw!SPpG?3Jz0wo0ykmgOw{-joA?9$B}G+-t#nj{1W*f%s~-J4NTTu8_QYnsQ2sz8 zHdk|J2Yh(>6u(ZMeD zHx|+`{kBMGo>X<0@>Ry6z$R}$!h#D>4t#2#6xn{krgdvNh3sf`wXow0&v4Ud~ z?oGp~Zu_?X61A{o$`CRSnXQT_8Iz%unIdBfQKUqsXjz0%nL?&gEXok#OlWB#35nBK zEHYGN%uLVspw9EUuKRlK;l=;I-Osk2Z=5eyYxwPlmLuZD{V6O4 z9-lDaM>4X>OuFNr>2hmOB9uS)IzIdmmDAjf%EPL96v@pTt%XG=#+D%|#nXJntIub< zoAwKqf$MS+ws+M+9MZquUCq3O@$3|R#X@O;HGnnESifI8QLCMI^LDorSGbpB=OXfT zvqnw6-3Ip*BLB`zgOY>U% zYj>V|Ju=1Fq&i;X(`0_)?3DFjp=)xf?g#^T6;HdWc87H|UI;B6yiy)Lm_5YVT2A@N z%(HF6ylDpRMBe8o$9ku@EL{t={L&Dlq>ziTR~w^qa3++2DCXm~BoaLoy~!`&k=t}! zb0XMBYCT_9K5EwdBvibMa+U6A?w6V3S3rT}(ex!=P!erA;SvogHF1J}daw^DB;onw zbGzaK{hAOO#zPgeeX-FO=Bk5(rh%}pgT>l~jCr2TGhkmFpHX3QTe`SKqi|1%fIYP= zEl0jdvisC=`4hYxlrH{AdRt;`nXOo!E=D*fF{AtDuL*!^$oe;75Fv$U2 zW*h^}5Htf^TrgHP>rR9l^R#Hn(WWmTrdX9d-bXSa7_wXv9^2L|!UKJ0rzxLQnf4ed zB{FFGY@g9*dDwD6{Nb@q_E(tA=Sp8XZy~V;oY-w7O|_F?&{{ith-&Ck(sT;Pv#ztr zWTLD@`SddBn_NY#TG-6d?E6~WOsy<}B7R4h@E%C@U;RhbzX+-Rn|JCfqxM5XI+42Drc?bcDI?npKH%2Kj1N0i~f~1rrjeslfthbR?fR>2g^4N36@&yCWk20w3m6jPp)!*bd3?q_ZIR}tr}ab z{LW4#Rd{J~>NSKYFJDEFgJOTt6|o)sCXJy&)C|svj_h_rh)=RzvHyBO(}8cV>A0e9 zx!+hNnxItCraKw$vG>OysEg(3lu8>dZ8$kB`Wssv)b1D!X#!7q#&c1gB7l9{~DjO4u?xQahrl75KxjCWsbcR*{~ zh;sDI5l5c()S5sKX!!@oBKh9H+gk_p#yh<%F8K z^01L$RsAD2V@Em<%O7PAqET04uX_`oYjP1+@x6KrV`T2dqC2wfhuWzFAZw>g*s*JkCSw3Wn3B|UuS!68~_j6im$-eyMiE$tWZ!FUP$K?VUoM+=eF zn+Cx%#pvjBWBUQ8U{fp0J>55K!z$~Zq=3x(rT4hrO3?MSno6da_bMiB%uahc_(7nI zrBV&hUPvW&aQR|qMTS2~h0GsR7aWPKj?;T#&&k_F+67w7TfRMsd+#)pYqLw6SzD*9 z&u3qpN`3HgK~sP2Wy;H`)Dhg@-wDY5^bVauxgnQumJBlSde|x`<~%i_gHwGCOGl%(+-Rm&Q zAH=6Fr_SFa!1M4@SV1(moxMm9-w0s@M}2!TZk0%#!K7{ks(ayy#g@?0N6j3XB0}wk z)P@W+B|bU!@x(Vq6vNiukrabla-oxtt=Krm)%suixNOI&I)?27HIRpOE9*Yy%dN7b z2Yc%VcxJ@|j<05wM+Z$trr!!bFc)1=(&i(CKeL(LY&z>}bhDn>fJpJ%ffS=S3v8WQ zpnhN&d@qlidk9NrUqg#`wcj9r`p|397TSN}$D7}Yvhv$%_{m4-no~o3B{fA@IJ&VN zxe8Kw)Iq{CO&;oL!;$B)GG$#SsKQnXbj`@Z**PZ0-?@X>f=*Nl-p*)goca@819P{l z3F-DQ80Y5ee>f++@ZdyC8m8HZvomI&vNB(hM`aN`{`1sQ%8QEPZW*?`#p>H`dy0!W zzl%*e{AgcUbi&X#x1>_<*$Ac$BrT_~E1$4>d&&W}86GZXRpx?7RI#t{t< zlb(?;b+h;OY1@bw@9a7A^z}Z~%v0;zHW-3DxD>&rb#F_=&4GJqM2r3y!nw1B4Kkaz z1=%3v-ya5NO?4%7xg4PVWlHe5LtRuM9WJ898Ft7~Gq$F|bURDQy|yMhL`*Dk6?fzW zqv(`e~g+Yhhgy#V9L~nzaBPui(|5waZz57+Bz$`5l zkA%()#RVrmo6bM3}FSSu1b+0&vc#1<-!(f@(I&$}jKtPf`@8&yJAp$YfuXj_i4t0(cP&qZ)vl(L2d z6m!$FPg%6*i~sB}T;5Tc09zZw#N0>a1Ww&{LH+@aC)OSwIwf=*4-sU*j)t|(Gw2Ek*x(Bpk`>4(g1CgV&6@y6df z)iJMneet%=?Y*a>f;Po6;nPFBHdshIyxlZdOSLT;%JUzRqU$bQa2i1vztX*u39ZA_ zM@%$5)>=KX93ao#x%}2}AblM!~!gHahU`Z3VF!jW51G~pUu z5IIxh@qT;CVWpMJufP9x_*hBpyI3@3ircHM{gV zGllX(lYqUM+w(~G2M*y03-#S&31uD>U3U`s^3SzZ`sh3c4hr~4uOS^{kSyD-FP`{$ z1UBgeQ2W?;PxIE1iE&o-o_5E}G;G!S-|%=@T_2g^AqH{|=wfRA8BRE5pX$~UV8Y03 zCVzHgT!E(^1aMN@|_N__jOGepV8hzCD^?aZeO$8 zB9X$1g7tRE4DXg}3s+#GvmJr+Tstmbpe>?x0c~J`(?DJ1?T6gI z?>w72e{R>7@uQq?l!OmEFtg1?tI55*u;dDNW6uDO_hLs@A1jrSl0JWvr?*U6^sKRp z?A=pK$~{>&&qkR>Cwe>2Ep6RjU{g%LtUDwa_}SKGp}{vq!STSh_I!n(%XLpmf7F7$ zo3xWdZAHw~<@n-tvDK8HdNh_Irg{*n#;TqRaU|i`EwkGYKS{C-lmCno(Z)$#Aa!9c z;v%WUOE_iek~e-^7*YIJWJ9=m(V@EBDRd1h(+$4muebh1aYich{{VaVU+4YSsW(Qw^jM)jE^fhc0%R|sX8!Rmtum4${*|5FHrMBz>6#cN*y;P>fm<_QgtXhThpSe zFCsrViX|ef7^2Lv{7Sp7W0(>VhUsq^+@WP2=9(cp&n5~W@*;wvOw-XQa7%}@n^{Wpcy-$0T7dKPd>tz&ne7G72=D(0U_voSyMI71LB#Br zX(1V&JT-{ij3|>R*GKN3c(2VTy)wrLu~m;UkiHO?(V`4yUL}XunH{I3MqnoLN@+zS z?{g2Dt*`ir-M?(4&*q0GxSj)+4+DxpE`gGS zQnV@sC%YX;u~9SBh*kOTo$N7owJCSu8x#KSd*^=NI2ur_CkmggfEI#BG1&@Gtn5(m zdELgIhH{CObI99`2Al5ig^5Pxzw0i$*x%vx4 zASILs8UInTzJdT;kWvmg7xe+qN(F63N6E`jAKyxPDZooFfJ02o8ImUBA(I7tj|znm zf{(B>Yryczx@*0+VAaTT;r+ZK0VU2G4}8m;DxcMA;#h^>Jyk;aQp)8<#L6GrraT8) zdKi81ndNcOWLFl{2r{)?GdQYE-M{FjXLMA~5gO=zZw<=ohl7n>XfcvV?ga|z4Y@~u zA(M=~)#bcE3au*`fs6N+0CwUdssdRDC*2VG3!JohN6ncINJ@7;#d|)&WX$2ooezN%EvMbf%9AP2&Ka$-U2iUZ2U!{1VnR)bpJ`{vs@S;>x~O{Kwtj z3d*|f=Z?os3_>P{=f*y&gWZ4ZSgJz-7G#_L$)K}L@?2bmurB6=>gw#m;0pNsNia*X z_VxKnUwtr=kxr>16WF89G~iEVA}c@^2=`090AT#5QM+1an{l4Hdmj^mE` zp)6RIq@5I7Awr=oR7&eg!>kZCZiU#DwmWU-`=9?V#vsU<3^MOAy}{%RdS(RW`PYkxOS^g9r99)(k^q&0nV1RWHG+fA@D!u#|vR-Age zI)@!Ccr#8aU|^EcVc*Uvz@l!f!T*NIR-(5k&Y^-mU%jLY+5ETMmrC`7nOI%5*b5t! z<-@j5Yr3VuVG?m5#oXwq;|3(eo|?<~_#Ta_3ZW=PLBj4X zZo6Z2li6WHk=NjlO%%KN!7{{j}~?4fP9H4w?*u4bLhnTUm9u@O%aJJs8|H!10CQ z(rgPU@%T98LkE#-3ke>@thtqn3RF6CxkgB{q0%87*&7K-)u$fW@;zC^NL%8mb(O3A z(z?neP&vDc>Ih+ay1S9J9>=^gbx=ctM7o6e3X+)H6Ev0%{j^6+U|H+u=MviQ)0{HL zxD8*{+sn`1gx%~lzfNp-ssM#LdzQP2aWk$aR%G3H0!#fV+^~dDdPZw>jA(RqX!za> z+VGe>?73q2j;yhbT7vpO)`dk%Oq~6)bIB>Ha?o9lbjC7mtd}HNM;dSbn{=%xp^NH;5ZD~#s-Y6u%8O(>8Huxmw#+-1QL%ob? zYU2m(EE}%rqr2;s!x{lkYfeLUnX?B!A2}({>}Aj#KTeP5F1KW#8>jBp%5nmk(VzITkV* zKj?yqwku46r|rQMfHoFpMhi6M%_Wm#&PY(rqo{3%;48kmreNN`-!G43`lC%ke3$p( zzwVVFTI?$6E+}B3zSDS6oBtkCcL)VVX^lq{_$1!yJ;h#pg5;fcH@xFwIA|o+o;gFD zo!Z3Bv>g_P2`(xD$H#RiwbRm7aahHWAcl-PF%9Ze&x={y<&6vy^B;ZoOGtVk8xh_N zObeN>GX~G^+O-1SG8R7%mbCl~m0aI4MQ$QNwq2DOYD{gO5q*NZt#L z3D9w`m+Jy2iD$5ij-}k|ax2S6>Cp;}+e@+-W?u1(1S0jJElXWU;n~swOBw4S1 zZF9~Hc;_({kf92U&$dTU7h1*fOXF~eh>*!qVjez|^~)>~PK*^j*Z5&Rp=w2haE;o^ zl6C%_+o1Z{Gd1xA2Bs zg8xehVUYklGvJTh+PovNbAnC>hhmNGL#!_$wy;2H=pT^e}Skgju+EWvkDC686xrM~W(y7H`^;K-FW$Nv>I6>jVW`9l3n1^f!aF z^WHoHVvza-GeaWA zmM2>5Cxr>88rAE0yzqyha3tmnJlMkRSehxFEhftfFsOC!a!eqH<4V<+3rFjLx$9uj zo`PiWLvs->ij`+;R36&BEdB`DX@j!oc2W=3W3Iu$p^oyB+H+QHNznhMm&6b+?8E+p_E7z03> z7fKB%fuSGZw?K7)2oo_d|HBnHHdq*(+aV>?0-QS}g!4c=)^$uTKqNw-ZBz*Eo?R4} z4@)U)y6~cu5%^gwEf6^a&WT*hq7&Ln6twR^rs7GkoYmH`=()kEaB4XZ@E`JiP+>p; z&pd%iA>eE-l6gXojz;h|iV%Moj=K=xms(*x2Czg%za08`KAuToyQ9-(OgI zCtWg*Fgei6ZeI3$NO1B&pC25yC;*dU0KbeEWxvrkAP2#+zHW$%d{v83K?u&^-3Ra! zzAfT4vZ)T{!QDPQuD6xwRQ`k*9)ke z68OT$DYx}QR~3N=A?E!KFdyOsLleQ)z|NnLfFMp{<^M#M8br|H%+r(j#YP@!AgH|z>B)Sw~@A7C4ya~pUH0tqnoxC83Y zlM$tr?Eggmz@AFf{00$rMo@XKQVa#mn0TR-pz!M#fP+NVI3B$Eod*Gf6i@X3-;8>T zy_{gw6IihW9b;3b-z}<1!6u>bW{gU71hR)6iL2U=eD@JHTbx{Ov z#Gr$O&xuEC?Z@6{v2(D@zbKskzYLW%DjinzK0OpUAONv%B=& zc{!VIR0+A|hJBndH4_ZHw}YT~c_o#s%}G_iw#PNrMV83k#jY;2xf%}qoWPZPvEUcX zLq$uH84h+3*gAK&t_tq7DO|QA1WlHUP+ho8vl6 zS|QwZRdA;e5ZAQwh?z*8n&tcBcxl*kSy1i`GKDq6Gj~cJRjWcP#pDd4Ux!x4)4wwZ z^Bre6^K>sf!a{txqiw^-Tlb5RQ!Z2h#sm726y8cbI|j$wQF>I@Gw2)UHR#tO(|B4N zV~VZQu|09U>HK?hS|aAdy$?|mpQM_;Ae++2=g+tlOY6`|jh`6<&r?n>4 zbX4sMi>d4nf}AS?J5jc?sgZ}ZBtz*(fL|cnF(btf^K@Ru$k4+V+Z9pc;7- ztBMv#NI{V-&mKi4I)@+F_LtPI*bwTtlZUR&hQ%pzoW5+B$0EdJucA&RK_x=ES$s*Z z-46)k##Y(JIGv&9zYJn*gkzJoDGk;xN?*m6RDuNJ-yH1^aA9l^jrQkxtv9JLL&!(?}G!) zEq35bGbiHC_t-}x)c{+5a`$KONQe37?jVVF-|7&xke$ES1Nt$?mIIK;R%+TdA-;5m zn7ImTrKr=1;m*%1)7FC(#y9JI#AbyIEWya+P_M>=H>A<5Q(SNZ_W$C-Nx!@^0_af$`~P#SlJ5}a5q5Zxlh z&F_Bu5Nv8WF--eVetYv-Z#%F0UHRnm>-wt3{fz6sD?@d?s#0McPub38kZ756~G=?ta2UIhrU=8ac%*g&H|mZc*Z~N+PbxASet}o}k04 z7c&a%p9sB#S@Gu4G@+$DQ&bgqZ4x{qc>uF6}<77i6Yj97yQ+xN(ss}bE zx$$caat?$hz>gB$n-%pJQ>6&isnv0E(HRYkgIV_%r7}Ol&TAa{XR?P^g-dq)&SQq` zYnQbuW?dS>&F^G$>*7||1L3EVGOz~5=X<;5&Lmsea=ci0oJoL=7y;iE8HU>rF2$(b z23quGCU+(b(^)y!eGzoKNm2HlDt02K$4v}yBRrn;MklRYEy?@N_UUD?M4DRXs2zYS z(jn}R^#+-#YjK$$cP=H87t=K&4Q>fEWzTVDFA2`}kL**HXSg@i3w0Zt_rw{dUjlOX zMFStR<8&l0)`s^TilJYQ*a-GhdjDi`k!S11dxO>pb?(jpEM(uOvM91WrLnrC{Q*5KuaHdqlhG1)9l^ULZ*$P+F zolZ%Vq%e!jaKdlHGD~@>>oXlDv+W-qX)v4N57~FDG>vg$$e2!VTeejaW+T@@Yi$GGKq?ao&%qllf* zgsU|;U%Ctr|JO?Ih~&ck5ai3zuD(r7%1+6gU7i%mMh6-Y)+ar2N3(1K z1h#^O=~d0Tg=sf`KPmCe%)Pz{wa0C@_|w^4)99}d+B~LgAg7B-p5~Y_F&e6&fjqKi zj-oKn0U%KgN~APSkgWpS@$^UzV^^@_Rh~=mVK{mCh8DYpxy}oQVmy_!IT^ zb>B6Jo(z*XK_p{{tuZzl>Jo3bxSHsxIJ(o^BV!72*}ESOL<$s8JLS0~Gv1ffD$~NW zaTYUYIBU*S7`~}pyQD(g*?o*#NZQ-*Ydn!BC+U24cR|XjWl6TnKIlFWDT!`N`mOtI zruMvm>%CQ8gV_)C>Fq)9A;qxM+*A5*L(-m~$dJ@hWu!^-Eb)384GmI}!fUZJt_}VV zNH@J6O56(BIvp4LE(>yvokDF7h>;l&fw=LCI>K#`RFr+s46nK$0w`aUZhbH1zEz)`OmRL@%teFBh_oUljxH@X$h5Nx!dU_)%kUYI0Uql_CCdNw$=x*eEJ;9Tl7_|-89Yx zK3c=g7Gay)iNkg0QB-_cN1i`pho(->@Zd;WDs|v2?GmfHCEXToQl>O@oyjgE_1aSI z2)!zBjYygmJprs6tJ~eRqfEu%=ZM9wVx9xTLoDhUm+RfH7OBmCK2mzd+vAELOfUB? z1ZL-1r)MVQn;en?pWe|sLS?bU-9!95<)hzalRORgr@%e|Ue875N_Nf3`epu}gseCB z){h!(4Tj}pmr|_d*srQkEnlwGd*p_AY60p1Nc|-34zravkce1!4dJXtVPBu8(I|Mi z8+H?#^WQ(x&&O&zvi4+#=WVE1AqTLAjpoOL)WG^K$Nw%U9!e6k^!Ad%AU*83rbJ9j zGKP@(b&{vkeyTsfIFxuei`PHcHjJ)SZ_5sXdyyM)+r8!|Ffa4qE6UdEfn#M&AB=fO zhlUFE_O{=^U-qG^~&_32{t$o>-8q*k?Gz)Fx8`L#ahbtY{NPfw<1ks6a#iwRbyNcvj#S2XrOIxEy z=DvSC$mX_ntpeCW-wz@Y9w9;s72n?@-uR|EUu^eP%3wpKP;>TU3 zo>GX7D1K3)Fwb0j0u$T9B0@%Be{gbycW@1aSM`gtx7KLp6a)O4joOa3MuNlIn^J(t zLrk~bAdIWDRii>?=5AK|eh|;>cn<_q2S@$w3=*u+@ajuEdaFaEKAk1fi$79;GaH06 z%1qQGzS?;MeCx) zC8$57iw0Dny(418*MLeO5wZ3e`DmK77v7vvo#=l{MH^* z1L0$0BKWL2r96`y+b?0AH)DwT3k}UDskLTzc1LZ>=W?AuAT%JlS@R4ZJ=nrn&V1_q z5d@*hOU&KD=5A61q2gCYS=^&l2o;z|C9L?MYUUKRe&gzq7VYJh#6&w!*o<`^l=48m)P*>&xevu zJ1ZPgc_&#vSniR6y)kU2XFS(&>eJoX2+&uQ35^vh{v~aTy58G84KGEvi3%gwr4_{ZfhMi4y(X-WwTGh8SZQ{C{iM5vmvO11|KO_u#`-2~|^ z$31^NTMM7~-^Wcu)>}6{-^n9nD+R+UBEl!Y#PPI8NNiHmKQx~GoCH2I$9K~#y^^%m zQ^bqwo9sIzC=X=c4ihhL%1_V`L%<^>0yl?@9m2gnPd(&Y`=7^41Lw}?RQ{TS_4ax; z@0x?<1A%@+HZ(1OCpuA{2cn9~f6%qi$8$kYzdrgt2%eYhhPof^1&FbN7wp~Oe4p6L zg!_`x&nqCbGk^!hXr=O#!JFsr6ngMTFHO1Jsw;0g$;?%BA3dFqfz5#e3JL=lDeTHX zE&5fCRz}_wrLr_?ar!dMiEHgbAR)Z{e-U309Ucb(!EDb7z<%Xa!kOs%lq7hxp0fZw(}9iSKM*M4 zN-=o ztj1$eSuk#e<`695f*1A|xU9!bhic{9W{ zIu$DNyV%`cFP?d7xI|s`K(=+_=#P+xor}YMx1cL-PC7Mh-|(vGyKk}IEGwRmMr04| zy&cezYo32oCHLt46TCI&|H{|qgQ4@tC&sSkt0hv#K*lXSLGguKlRYGYd2L1lB}EZz zobq_-75OT%33q@QOGFv&sE|IBs7*lyc=|CE7qvE-{v^_fO2un!@b=K@NXzY7pkASN zR#AZdddojqjkd~lMVvL`%A!Ms)zKV}dttdFC2shPc5l(xL}FjFRjaNJ@W^Pi!sGR= zcwj4daLq92KlHOThb;Vjnmphk*L!bO#1GaA?SXHm&n^zh)p3na!8-6-VFi>h`-7-0 z_j?B@h&%xh*kD9Phz zH8&0W3+I7tPS##c%`%}CTJ$(25WjeE`Pczbjr(A8I`k=Y)*=eZT|8Gnv>`iWrAdPz zUHB0*Z}ft>sf7;$l+6It@E=Q_@oo}xQvm&= zc9Y!lNd}T}a2>dJUe^`&DTg`?9#Uu0{pkmBJ^E&Yjic%*sV%A{!aukc5M~m`&+nej z6&>;3#r^gRkbKDzUtqt#Uhjr8N$(~^*pm**1k>_icv?fGY|3L^_6O6G5DHQ<1>=J` zgJH#N<+R2UEgr&r|IYSN7>Lo0{vNuttYQ|FHBNA_!JYA zQyX@&@3XZuX`J-dz((C%_e6Qv9h)SP_n127ok}59f~TEFBMDK;ze~E+du6XtG*TvG z4J3SV){y&@A<^b7&3<781}woHLXu>;pbq}a{iH)72JJjsnnkL&xW#HPG>HpPjoeZT zD-if0LK2+2>GIUo*8EsW5TD&PwrgYb?a3>t4k9K4N+$8lcThRwloHs#te#E$rL2vc zb?^7S@b&GAB{`r)tTPntXtwfKs07ijivAeFU%!NmQR*BSRyZD6H~s6Hd=IZlbs?Pp zH&(ME*{+7X9a0{AZiyFFn~rL(9#~cxO3cxCXfvsj6yc{kb~!h`L%id;)8kXBtX=z4J>dthYbK9*I;l3%jNFvFlYZx`Q+Je$x^)_z9+(Pd ztVg_Q|NLT!0?U5VB|Lw%#5Ee1zal#oQZ6uLG&p92u!ozhh&mNn}rqF^0NmSt|tlN;4o^x<;9KzH3i0rhWi#xn5wz9rG}oZ%j<3F{mTt6Ch`)Y!L~M*voim8X&iHSTBX96C{B;UA zo}%KMTq9!kQ>-o>r?pJt3hG#QIYqm^@Q|WrT}iDLjBZdMGC;7xwCo&6;9E1MQHZ+< z3=*`TH1UymLHt)`SpodRmzb^yhSSZN?=Vt6ek31$Td{({ABr5*as4mrn^T0EOdZ|_ zj5(CrFr8th^EfW~rNgPAQr}T<;!E3~t}{r{9SL>&h(fSGS%S4RR0xkA1-x104-;(@ zeBH>)hiS*WUa%4dDx;0Tm*w2Td}HFp_N8*oz=wV3YD}R=^6fWwUZeCAoQ*(c#6RY- zWDn#Ym`PUc-Dst2|Lrv4}vyp$?igYsD+L_ z;&h8A<=(E$M7iRGzQPmyo&2wD`;2}VvTOcX)-p1XpqD5`;J>79h3yf`Q-;P*hbycz z_PEQp!jpb;8RJy)!jH+n+lX)y-UW5!?)VGKh*xa%B|w7H{Z`BkNO1C3+gB-FZHzl| z{g@UrCexc?>446S8wciBMdmn)7n!@dn={H_xYB5ls90qGLWiZg(P9>Zdh^ z*73;3g{NHXmWuGKUQNFkyrxEDRo;xDGPaH=JwBdnvb5$h_HD;E%Ug@RcB(}+Rji*r z%!-g2;5;e6aBnhM@3noaZzNMil4rJR=!X0ej+>2)xJI-I4>7VbF}nHsRzs3sw)zj= z#7GrB>?McMofxSiZ++_*0#;JS>ZG+@SK16&-O_02F(w$c8IBZc5$c0J)H2xIgTGyC zBc}#CG5lTmdI%ecxyQ+cLfm)+Rxt=2H@b3{z;AZL;o{Rd5m$j0opv3Q&F`;b)Qr@$ zCST*2Z6^;>g*?KfPh;+56vLswE|@&YLrkA``NG}X?9(uq=q%ZtkTFi%_d$WIK~g5D zvp!`W$f}OkD=@+7X0eZmnr>?Sw370q-z8G7@A1&SD}AE24XV)+I^B3n5q05_IJt=C z=PP^?ckI>ej5e;tyo>U4dkfnFJ`hg&ot;q;6P60OeplsK{k^`c`qzF7+J4qn)GWK1 zT0eVC>6mVRE)=bNDN|{!tbS1A_E#pV`$o_0gLFiIBYhv6A#_o#A>!yLb{8XIHc?{~Z&ow*9W$ zeK+Q2dPw-Q9R^tfRS?@g+Gu`8-$mT^4YA~6%g-DcNy0c2=Oeq9CMVuo7dwj3?_zq? zvX&x7a4KRT=&-UFUeWUPlrieBoA5sL{i3+2X`f7}if+}#3%C65+xzE=t6pue>y!5Z zwiFz3z~VP(&nrzduvom~lHy_@P9}>{Xe58c|AE7nvAe38vKNJE6uNmj)H~(~c%H;Q zIb(lK;%DN#w5qJBeA1=9Y^evk?p=-2V&EdKxJZD|_lh@zH_o>)TKl>d(=n!cFAP_< zis0Db5xMtPL40mU`lJb8MTsex*AlcUNktchi`n7=oGoN?j~Hi=<(l+3lmL;qStLlg zhyR$!sDRpo)6Tx%9YjoS-c4(IAl^q#1b7dRS+gJB( z->_$B2jxe2hE37C9dgs!T)`_Q)5fibjMxd#RN_6_Y<^~KcS+U^paIDTR1ywJmQ_N`ORVP z`?Y@GTS7-~_)xz|VI;mZwm9Z~BCO6Tz*!(#Ikhg}Oy5rzrC%kLQ4&mM&m4IlA@+XA zf$-B|k16*~=C#(7#WtdlbgK$oXYN|KwQ}Ya>DspZD(D+6{;P&VJo+nVDVaur&5)Mk zBle*1u{RGILShK?mKqtzmq%hEiOb{}b5CDEpnB7D?+}m=+mC>VngB$szOKbE%8EZ^ z5~FaAQ|<4tpN;s z;`E`wQM>m{gy6?C2P|;+X%1o}@3jgn^B}y=REbjUhHQC?Wj%kQ>wy_W<5VqS^*1n? z+PUua-I2iUnOGRJnIq7|{~^WFBpDjG1h;<~2#y~|K21uj@$s8|6JVRr;@FZ?TYp=~ zA#O+R@gl~&$v1N+)qkk|Ts+YU@5SE9kXGhw*EvGw4>%ZHxZ&U!pg~C8Ve&*SaKEsF%u2a6r6*?V4Uq^=#53NtL~tIDbEi-#Mxy z=Z9x##sc+KsdSP9AQLIdt1eK36rvrKtU3)xi>UdTWi*QSNc#Yb36suT+9kj9a#kxgyC@Eyd#0h+U3hMTBV+2_-X!tA0O<&VhoZzg9OKG66b z_e(`_zY2HJ7F$Ca8MU4bK;f0Y0fpe+>Ey%|)^FzM1)HCrg~=hPqEo-Im7I}bk~hT@ z#Q-r~t7;nr`e=xRz@OBCJ?{P0qW6wIO@VJxYjdZp#9O2i!n4LLfniJX7S9@-)cy3R zRZ*uiYd8&BstCRI*8LJ%7;RsJFWOhkO1xF#{Kqs^)Uw8n9W7L_QjdRMj+#|spC2+f zRkcl=j3n4b0y2a{`6(`G@QRC1bFgRAIeAa|X^SQ$Ug!$qR2d$L`+RPgssdaj_Wk-p z`}1pjZ_Ufskw>adJ%TvirrcFy&{A@CPVsf_^C@n#n&z1LGO}V$U{L5#K6B@555QYE zLM>RDnA3FvMIX7?lAWo{%(TtE*{&P8gmvHHzm_A2Q-IBvNqb!vIL53?bxE{w{@9Q+ zoI|kPGlsIeq=fYaA6SFgkbI)Rp)+d6`~rkSJZ>ld)jg-JV>Gj&UkT^X;^yJ>)U=ah z)iz_RS>9Q)t?tsZGK2wiDYPoq4BW~w9s{hp+W&SAaO2_o|D1{l%{1B@7dJ=_zYUsC zI+17wEQ&lipotd1bA{u(+amHLxm<_lM)*iU`2W>;HyE+5&yV3vL54bmK#N^I~39q2rB{u|A zFR87k0HPKr^gJ#D+HTndZG>WhEQ(lKmDz&B@McZi@17|p73YObmQ zKO+}FWB(}I#eNPYGY1WZD?kH1v?h~t8A{t3u7d5+!cFPJvArSUj}iqh{Bz34zez1mQA4$8&)2GOvG%_u~{GWE&)Td9F_pp#B_6AG9&Zy6DP`5kg%^6yo| z8a2BBIUtAB!I*Rlk)BITBprq3d}(yR=(N%OiJ%-HS0|?X-$ZkSO#p` zwN41mYbGnWkx)YxpN%u0EnjDcGNJGBs-)NPyDL-EN_C##z&>cmEkArn(z*4YNp8I! z89;JF^5+70rRi1M88t$94_$km{~U}o)apmFFpS%wQVGQtL)M9IEEQL2EzM3k#!XQ; zfEpTK@MSAUfzF6bz@aO*9s3o@o7RQ0Xa!sAJ2{V)U93vXKl?dzFU`r&DD=r z24_0?hw^2$G2<;!Df_9+ zmgvV*KAs~TBBZjOow`^LS`)`IdmpRGx)zn#P%5PPCklm>1v&>h`z~RFde9(4y=s@d zi;3$t_q@1Sku%S6NCKQNR$G8ad#yuuF=I=qGC`r=$~~n*U(xaR2r=vf8) zv_l29kh2X_-(*LlE|{S~$GD(3>hX$(0}noWIpmPWC8pnrn8eH7ppf}{1!9F~?Sg_4 zN0A`c_^)~x9T5Z)@oW|QcFJEdL1Ns~^_Ue~s7y$?e-p;9~f@w|JXXEz`XI2Ybm@=U-Dlr%9v*+xye6LJu~G?QqfSSDs&yfqQ=LOOZZ<(eeu*~dbcxHCqj*Ab4}8-H-{bZ<^6fqg zj`E0hqKVRQbV7%n6V6WDKR)JQe(QYRL*3>L#0?oEj8VaGVpgX)jdZmvH|SkK3=~@R z*DxR2Yv}z-fz~yghK*Vluj+$k{d{$dHG7AUnth*<>1pFJnb0Zyqa!e<(LGOqHRND210%s|Bs|E?$29JCnx7VP{`t(Dhe zOt6czTQtjv`&8ard9i} z67nw}$<>(o0RxzF=C!%D-3wSX$ib)RtNzT2b9S+nP)|Fdp89}_xe!2%4GqZkUb+7NC&|< z=1^Xol+t)Lu+3zxuzss##-FH5K@ZoBlTJ5qDLa>ixr%uho>6pboP+*;c+Oc%^mar} z=47;tF)qh}4%~&Av8c}M{C3GDs)N<3dc< z+%^D5V|(e(qgK_mW66)nW~hjv?BdDUXxRG#fcrH(tA^TIw|V>X-X*B*$FJ$By`ifp zwqqZE2A*lMO4GouxH(2$Y2$wk8QEDs)C*0~EfH*dqo+Djg{b)y*g%E%bx00>StkZ* zzTEdPI-lQ!f0Alup^!^loe@KO?_y-%Osb>2N%yS=IpX8Q8krE~yx|5Wb2C{-ZbTQZ zP_?scyiq%;Gc2%VbAy$JWz-1<3v~-N~yC zsb!GYXG=A-I^dPs>?5qEH#1bI>Kd&l%T7oqNmIOOTP>KqfIKl(dFr{Te&Fs<+bESc z8r-g-8PD)e6$%tiJC2^l?|XaBJ=LYsUXodU>vQ(!2a61)|jTDQw}K)LfTPSV6L3Z<8t6G=A+le@+cNODyMXwYogUu?BbZ) zxxW3Bc((bpCh;S>D2EFVf;YiolNR5Zg8)ztTq(cUSLt!(qq2qssSCOB33&XO6voP; zpQsXohm`toM!Qd};6Y|gopDLs0B=f%(XT7>=^tN-7Fjwy(@V1_Bo^Qlu?9BLP-MAK zQTbs$JTH{;Xw|4w%z4@oNd_BKd4WK~R7euJF|Y+Bt;jo;#Kl?O*|+%LHxz*afWnM2 z-5IJkBD|ny^qRvjJ>uUTmm%cH{7aYkuX#cL`*nhcs^ouj{J;0#I{ts~i9IE`@m&n+ zgRu;isL>*0833_pA=OHc!i;4Qq(PxwR8GqW{+^el2O^M8KC@0%5I=>guuVVwb9N8@ zdNKK*Q+&+qbG-QcXAKp>PmR2*4%hSI0h!@Nk1nuI(2(foBM0H_{h#X2Jeuk~Z2Ki; z3z>(Ic__1F%2b9-m01*ttul`#jw#xGHohCWFFr8OXoc2 zdEaNP=UML`?^^F!=fBg5{o8y0e&74Luj_Lu@BDh!fB~dHWi*t}zd%aE4N{Rf;1cm) zob>!}AwRj-(ez(0^6U-W{Av zn$^RGo_^^*_n@BQoO)`_UF-YgYOk0fx9Y7jkt9Q8R|ffE?$sP1ep-Autw3C=mueoC z!`#k|fyqi3MwdZ}I>IT$y&scU8 z15WeOk%<|&Ows;P*h2O1<*<16@Kajdy^&ZcTn@5P?3(%X%46~DmS-~=Pwi_EfS$fe z+>Z07p3t{^?cDimh_tfzq|h{0ligiiv01TG!y(#ZLNc%_mGkjF$Z0zH`4L>XUy5>+ z18xxyMiQmXpD^QZm*J}WpEL9^+MH=9`Nsw%E~cK9cnO-o_y27K(g^(92y{6(Bh%1g z5L{-%*16e<`%wyzlFECAj^}ANab@k_VaX!g=vW+=se%tU^(7{r+JX zk{@s}^ul|LW#r-B6+|gpPpwLGaTMOlXl~37IewXJPcYSD_}AN9!{8gc!>vB^<<%%B zqc;_yX~uhcJn@1Up57^1#(IrZ3a7(P*6^Tj2uR`ziV!-T`<>TU?y(5+T`vcaMs%Ij zf)DinAFv^I?jGa;uMq#%i@DuhojtFs)kNd0dQjPM2$TZv1IuYNUXWal%5?ne6>LbF z^b_Y_A`>u8s0<{Iu3|IPFVHo=LM@PU zqX}o7YnLF{X6ZD8qJ{g^a9E@PQD%6v4?F;7%qV+YYB}^bmlpSQBOQaqiB^n`rt}av zjOzp5bIM1rY!oc|N$~}MgW}Fi=)&gL3Of~&a+JvqUP5C3h)kVter$D0{BgZ0m5J(Z zDBGCB6k-9$eA1DtnffT;@wAPe4f^YMoXfK1t*S+#T`Y- zJULMNY_#hAf=TIhMM~5u_oB|-|xREyq{ zZP$9R4&Q&M7VqK4$FYBh*)a}dDrl_psYV@W~}Q1cHFWehuRRABHzvNtJ(?fe~Td!8L^>mg@42lN1V~ulM<9w}lb-zj8Mo3H1_?;1$Vc6%Kb$ zTBOBErpl@w4o+s+7o>dRZM_U8-rK2OnTC=Y1b@HDJtUk!2Rap8k1M`&B65h4?coEB zuWFM`mDX#0GOawxJh+F)BM5Da=26l9!+td96V(E3hcL8YX!_OLNj_k!ljW z5#-8ANS*F43lB7lF+RBcKnDd$f-9M87uP~Nwv`tJ^E`vHcSY;p&iJ|=%;U1YPb$!`n}~=_L8O4u-fkHkj==4i z8iI7b^gG0C$_N5xlc_|sIV}HDcggJ7m74|m*Y5oOmgh59_QN?cV zeLW`zqu`+wMqK87Yn>(~l$|V9@Ih3i@wuUs%2Pg_Rs#sn)w<50Q@6eqj)4!m+^AZH~-q+IE90)=DSxt2)HGOg z3L16xa_6(kK9Bqmh4Y~@A!b|WIhFS+Ke+(MsnJm#?Vjvx{CPlUT)GVJoRNYNqt;8~ z{3B~ZDW%bjYATQPq_1(T6mZ91GZ4%5`SX6U3&)j`h|WLC*3U6C-se8oNrLIYha_;t z*j|)TB_UEci3DR7@v1qh`Mv8uROXcq6cr zo?e-Eac&XZdFDN7u6d$9iq@RF?aES0iyl_4n$^o^xh5z?zj17JobyrB63Jcpn-Y~t znSYz^qcocZyFzdx{`N8m{f*e9WSPR|&F z*B^mf0O2=->?Q)n6RNKDD{ffSHn_FesL_!ZVx-BB{z}kAf{+A6ck~ncV~XJ6jV<_< zN80kdiRnV)rw*Rp(F%-tP7JT&L!P+(GE7UYp#h{PL}=>TDtj*7Ck?~dEszmM+2F`I zTt2P@D>=ztn{iWo%9WD9t>qS#5jSg+)4{UD(gBEk2pl&J7Fcyv%jbDExo`SJ2M*%y}#wJzj<-_A}IVC!z8yTjQQ6ft-wWm9aJXaZ${{+>+0>5by4ak3#;{7;C^2@oN26~a#c|sbQQ{HoGLL6? z&?n`w7&V*Z1}}0J^Npl6ayT{o2XZR2E$ow(O&I^k>}evCt%7kit-fSAThZOmV44L# zdW&^Qf%+Q+os!>%PUY}Ya^tXURR^XuZ>#%03&dH%1S_nFwaIn1_lydkZ>b!soMM}= zrs7mqR8DM>5ab2?R&vV|>oP@-f_*yzkUe#<1aTiqLsS((T1#GFpJ5e;n&v%Wv7!$I z%l{nBJYVw2)y>aeeNyiqb1G*bIkT$hiSbZA zc)Z=w^9!b>S73tcWqMEA%+%=JPSGOm*5qCNezN<%Cze&_KhaIOJfb+u7>xVe?pk!^ zz#c~6B#DVN>291iDJf;(Sa5o{J5iI@PYa`3i4m0GI`Oqx#(S$&$ux?eVRt5Fk2a}1 zXiq72jFx$o$uA>Xq`Fuz(mASpPRT%G#F{V_)hTqLZ~J-PC6r z2=;+OLb}#g82&!ZU~w0}sH0OU@?Qb?omS7QR#5*iFY0EPSF3W`Cs+eI+FWXpIVsmH z`Oa%R*p)+V@4wAqc;Fd`@Z-J#Mzl zd2$sIHp?))sR@FK4lYODYW*9jwcU33|6gS7zcictkJPj7t)VZkPF#>Dy0ZtqppCr% zqzZ~klVq9~T1n$Bxpe_{70k9yZy&j6l<*U zk4r{qC;Sh8)Z~xs=g@fI_+*BJ`$(gN!-t$=(38f~Or%lM0b<;80BkPJ_i=zFm|3=w zSRhiI`*{yPJr<{T0L>xGz)t5t)qR7{x=Wk3*MZ$U9VyZjh-!lxw^&pH{F0B^8&dA8 zSUDu?Vj%|$cw|Qo`bWQcxfsh zx`*rlB>=rJKnA-0)7-vq=Sm!Lf>&V;COXNSWT~rXxBJ1kL)qyLzyoKQ<*2O|B?)Xl zzRbdRhWMpN4iTfRfe3p5>?0OG4>EQ?K64+HtKo?q_b1Zq6|2rBibk%SHyMSZQ@F^| z9*$4TOc7zI0mTBhF(d0rAZk^nZ+?eikbIku2BV^97YMcZ9PO80(@ex_sK<2B|7eDd zob8Yu8mo@`-clbDzI8m+FMZ>g(UY^os3^_q9GlR}BFtp7C}jwH`y$hA()JS|x zDTabc1cNli3ixjg5Lim}HMz}*LyeFHcqGq_NVINltc3y@Efi@bQ;CMu!uEQeFM7=i^9#1GI^c+|P>95w~$fSVB-G7`VwYfdXcYhU01b zcMmlNmyjNYrd&5Lqc%>XbLB8lki*sPJ^KQh;qo)}TxVgtvMmdDPofCJ+voQ0D;~h# zEFW=5L54#wSc4grPxk7G;N5`8)`GPiqHI7JtkKkPKg+mlf!Wbv!=K?7b4hK#YyJ5a z8TA1qiLCb_$hW}hba!F5f1{-P*@H*h z0~xZSvA@P%SKbiw`MJC%Gf)$@Agyw_E#3`QulVa9%>@ynYZz=f(KA;sz)y2jycm_f z_yIY>WJF{^LK=Jvy!VRq_qxQ_38Az86&%!I7Gk!G*noHlCFPAAsbg%9%Ve z*#fjqU!RAk(1mM876)AVD~G>;#9I$S7uz0I<(H7zqXG`TIm6_o1QSzobo6ImY@O9) z+LZ~)3rfQFc7Zf{y((-Awo{|NwK}E7+;noZ%Cleb58UwnRe-COEZ!sg9+i|*9;i6- z#1cn?GewFgB{PDqEvN6Fg0e=b#aAG>HNOp-ekbUZ&NjC-B-=E4sX}V{a^Xu@^Bn(K zluBT1VE=2OWqoBH)`5BN^gtO7aQXz$HAYYfLznwO1{VMB8m!x|V|Lv2OI2?R&X|WP4Mpg%l%(Xi91#Ac(fPSajODkq; zsDXkpANWAY3N8N05FVOD;Z1W}@VVmDZr}J-geVR(bPAKxX)LoCMN>^3@QF!!sN8nMK zufNW(CT(~|>bs|E75c0efUh_c01_qQ-r}D`-yfLeWL8XC5XJ13zp~iw2_K8s)%$3g7=By!WwhciEjieB zjdsW~$_>7y`{J&qCs)_uNB4MEFsK&A=(iz>z<3sW@lGIuYeC0lF&D!dpLKo$86hF( z7>yUB`w^E~zSQzZz2kWak#=Rz(TDJRI~1 zrx6va7{}%lEGU#d*{j6-A+(q zRxGR_W<2NFT%A+MyTDs9Vv)V)smEHF<4p(Y&8NiQfh+A+OqS)Z%UXZLh|lu64PLrM zWz)kMNH(kdrR#cUbp=zbKX)auk^?iaxzZJgM~x8gq;@wqXOx>ZnCZRQ;uhMx5E_S=^1%n|;yl#~b^=g<1A9sb*g$ z0i~%6Rx|Y~a>X^A2NJ0>$%YMIJjLx>5alMz)MJ{6$dFNDkJ*L$dUKTPW)4ODF+2l& z&^}jQ4d@e86Fb=43n~i>O~S+2iMz#*Z_Ip=bQ`-$S|0LYk#)S6{L;6fW2zkZt8`}c z>j@9f6+((+&J+N4@)S5Otj%Y{NWNR`yP$eT}*qUYsYeKqdTEfHA7C_@1MP zWl-Yb@^s7`rgB;F9bw^z?#Z{!BPaT}i!EF&C{k~bOo-(DV)5F7vkEb7W$$j`X{|se zyZ7*rVC~}noc&=n+(JQ}hQrf`+wPCFPt;NgXIgESeMVketsAs{eMW`Ros5=F>8Yg`L|yodyK6ZSp`}a$>mrK zwWOKmLnK|sKqNI5tBMOwq^W`U0R zjw6cqR037qUe8Eu1bdTvA6ECd2>%gE=I!)6~Vf}RxT7dCQUcpoJcP`&o{nqe}QQ?UnW_@6|@_W z`;anic&70oSxEd**-Mr*)uuL_3Cht<(bm-#>C$CI)kW_Ni=CP9ulL#8`d`x^EA=VEz@u>_+{1#DFO5eZ9Z<4ehzJ zU(Y2Gz;q)t-~8?(o1OiiQ;|OY{5%-K;dV#A(UxZrvbK2$O11SEydCf6LiBmRW$4qZ`oV#a8X(CK2zb&wTII?hw#m%{R zBdavVr~jApeX<633aWWsEG>qq7M2_GD;wu=saD4}@}*ze_zTQ={d-l~g`T9x&TCI< zTE&O2d{3s1-o*O$WfqQ)cy>sZ+}vNML8*j8)#WHJk4CUJRb{V5~3U zm~py+NduK%rM2}DjJTO-5}Q4dB|rb#ZzHc{K4C99u7tc;=SMb?5`X}djEKpMZhxVZ zu1U-DIK~r>9y=E9>_+*f=ah!cksO;xbYkY8fl~BKil}Zo9Qr~l z&+A}!f3|KCe0LspB~OUwrv{Ap(Y@%_e62s^A#sj3U0OM`&oOOyN;;&%{I%Pd)AhqG zcW2BTvG!?dxpX^@t5Z>TgiMc*pGqMAX`aJt)!L}OV7!neX{}O6!CeQUb(y+;?VyG6 z-kv5n`r5F31n{X@Nb)I@E|fr;m=W5WpzRdCGGg}n*vXJXY7V)buX%d8G2DZ#rcx$( z&Nz-YR+_c(3*3PRI27ef`NV`{haceN`}DKmR=cUgv^Dvu$f~NdTdo}JT9HoH}l;VNQ(02GpbMWXXO7!s}V1dLGru6ejLma%=W*&0@>d z$6&IlOkXb*#}^mDGZ=2|CN3&UbB*+p#Xn$vU=L1fRt}|NGj%hdC($Odyurt=ze4p} z{F`aH+H?zZE83wUegVHkGlFbBIVkJSv+E?hEilP94ean2g&S{%geJ|rk~Y=u-L$d| zJ$J1A2A4gab?GYvlQ2d125xOM>?UKUL3Qz{EWt{xSM`KeV6lhbao}qS+gF%hRTfn} zqXGa#!ez+ zHM1od=|y8d{ve00G$m})$Axe2h5zEH+yBBToNR5|OIb4w;=OgW(&Fu5o*CVK)1T5h zw;M>PoRVhbnL5cc4{XVN2J5yv#{OaNb=6vp-Z%0BH+A}J34H=R*~WdPI?jJx{_4?* zWo=lnzlxCT4j-O}Y@Q{NAUWB8uR5S@S};$9d`eDlD!fLjmpVK^BAp}1%){9>`j(J- z9v?ZWkNC`J>fDV38)vuZZa#^A*(sPgN4-nS?Io_F@N80||A6-Ye%z zevmp%fUtEZA4`WmhI+zs^sOv^MP$^ec;&J6%oP@&a}_LCPAk~SZspegjwfw3 zZz}9jO(e?4f6sfpwdH={m(?*yH0`@-RoiZEt)Ca^R2v7Qe_S4OzIfJm&7Ondp%Pt# z2x@($BPC%ij87EYkSIP2|NghC&vrJ9Dly#4&fX2xzZpCK&;Q?ljAD2Gq12l+Zfid9 zqw{#SA20t`A{2}&|4;r())MH)J$yPlz z9%sSNgh%A|B_nNzsuXCKbFu#Eh~C@F$h!n~)-yj9asxyxDwc~HUN7~jAZ8$lX$i~M z%Mhp>Ni0kzJ{|XEUEj^gI`2sx2;Ly!iDTl-doq2P`~E{6+23CZD;I|x2jVb6b+STPY+ZEM-W7Krd}qZ=SxWFjY?d` z3kQO^V>?HKy1!tfNQppFPI}=?q9fHcfbwyJ-ltGxNpZOf9*#)0Bm~S}_CN1s=DDqF zu>*sufM5Y{=jg0GVIExFp$Mios*U>jtWhv+;~Km|JQM>Q=ipu21Po6DvYbpv0+rGJX5}?`g2zqd#g8Hs4xS_WR?7 ziHj@3{n{_DcBC+NS(S1YYAd&|-#_}du;q9xlHhg*L9Ws$swZBcG(s>Wk0BH4;B4eC*z|$lrzs=Lf>aoJbWyN+ zWYC%Pn4i}{mp(W(X;@=WR1CEZH2uklttQZ1g``&W#_5=O_?e-g?8;S>74YdY@&wUa zQ&ZRTlPE0Cb?b^Z)gHj9ZmUT*FkN=%;snmvuryk@;*KE);=116Md*t=xb_8b&sd4Z z#YuXCp55Zs+GB5a${UYgy%}8s-K=FJ;XT0yxea?c=O?W^YQ0Y0*JY!CiCDX#CUBig(u^%oST+Zdr z{aEV?pIU0P&8IZTY39v1LU!^!xnL?y!%OIT;!6dMPx4sG(aSoN>6jUeC5DdNBDOYK z#hi2$%$5653eOufS!{-Cj0TP7WCH0?$P?+%%>uwc+WJkh83R^k4jr# z9iw*XR1+8D6=Yv>+A|UR$;jFpwC+Y{gT9s@6`Wp6K5)4!I z)gA+;lqOj?ljlggfm=g3*rlG3p3`r2l6Rrcqc`|I@#S#v8IPrUrW${r<0xzg{WSmM_NCp~ zJh4i`7?p*YaFB{G2SrWNEb~Q#TL>55$tJD@Gbj+=eT6n9`xfnvP9i*o(F2`?RL(d* zJCy7h=p-@i2v)T}|Jav#REtR?@>z`JXz-({x9#v{l{C$HCkV*@E~N_=NGqxP&=^L~ z>?q9WxFDLze9{iol44<{Ye|>F--eG~YQ1KuZ_pAm0&lRw(i`zLTQiaH%kYd4!@tVT zS?~d-_uY`IrD_fGOp6UN?p9Xh=3DMa<$rO2JB9Kl!#mqf41!JC*$_fxXm7TlrOik6ZpP-f=NpT&C1Q)JPI zFd4m`7uEjVv6FOb%%S1cht4&hp;C-wj@+m_Aaq0|IoW$G3vAmSk|R7-9a)_T%+R)| zbE+{-`=-%qqwXFw`wzIqZqX$gGQ`X%@t-rkr{~ByLDY{x^ z1^Ej;1+NiMDKw-8Zb*`;Sor2=Z0sU3X)QIsf3CaqY-T*`MRuVQOQ4CjPQ?A)o%WO~e8q8)+4+%njGIEB1s*j{;jXeb9+$lKU}eS3zal2vhcedq+@Ft#rZioCM(M5w zfN(G}e{W?z>Wp&Su>EWIU!q`==OX2vRrsFsC=s)ftP+{`f znc1WLGV!CNmZ9Z;dY%>}n!iug>F!oNpXB3I=rxMH@IyP$MB3u`4Ix z$mvHl%&?n#qfV#_&5qmfl8ky)7E+!!YUQx@YMu?r%;PfVHsihK13FrgSwtqx>F&Lv z1DEZDlj$Q@dcl=L^WypsCN*`!yPCi)Ia#)~Y#qnNslK`2D}=k3T%_xjm`qTekdv@8 zvCdsmkFDDodzWlcclOjxbrn=tii&wfU+#>(oYqD=WA9>#v#Ho)k{BPlI1^h`SyTQX zK2(?V&n9`_}jW20~@=TXO%F)KFMjT3$Ou6H%(KOP2#bU&^%SOuF)` zhZB-_iz44hY47ErxUOH;wt@l(Bfn4IY^f2(<-hjDTrQ@TBSFW4uagU@S&ECgFEueRC*$t?p>SpcCN?~tl^P8$I} z=QEPmM&%~SRxt^R(bB^yyz!5z`;@6wUqK3LY$KYlUkR$uW?{wDax>*?^pE7OU7sW- z$aLpf_;STk*0(sz`L{G+s&m*?ao6UeWUlh%J!xZWQ|ZRVJ;q01+4q5Frx4>`yZrxG zW7K~&?CD4ZZmz$5o?D}=3!Ci7p>ykz8ZZmCJ<^U72;Y#0ecjvA%k9gs^fy#%ni1al zPLo%|y|xinYrl_oFy?^p;T&l}bywFaaoE8K9ggDsmKY?FT;gt-YHGGz4k9}=ny z-b+yro_9Lf&Bghif>&=nyu=V-wPS(U-`Y941Vmqa2n91<`jdrJfH+(<{n<70nkTbs zceXWuV?6XQ$sTk3D1wl72WB7$QzIY1IlM#{paOr@&Xjxbo6mZwNq{%-4C+xA7y4H9 z6P($QEdjmY^YDVRZw)CdZ`>METlU8d=`L^Zy~~2SLW)0!Xvcz*QwYZEF{J%FoLj>F z+swRwNBX+nDhk1zFLPi#PjEVzBJ0W#C;$U_I.json`文件 + * + */ +const path = require('node:path'); +const fs = require('node:fs'); +const enNlsPath = path.resolve(__dirname, '../package.nls.json'); +const zhNlsPath = path.resolve(__dirname, '../package.nls.zh.json'); + +const packagePath = path.resolve(__dirname, '../package.json'); + +function exists(p) { + return fs.existsSync(p); +} +String.prototype.getCharCode = function () { + return this.charCodeAt(0); +}; + +String.prototype.upperCaseFirstChar = function () { + const firstChar = this.charAt(0).toUpperCase(); + return firstChar.concat(this.slice(1)); +}; + +const featureWords = ['GraphQL', 'CRUD']; + +function transform(value) { + const arr = value.split('.'); + let stack = []; + let command = arr.length > 0 ? arr[1] : arr; + let length = command.length; + let char = command[0]; + let worlds = []; + for (let idx = 0; idx < length; idx++) { + if (idx === 0) { + stack.push(char.toUpperCase()); + continue; + } + char = command[idx]; + if (char.getCharCode() > 96) { + stack.push(char); + continue; + } else { + const world = stack.join(''); + if (world.length) { + worlds.push(world); + } + stack.length = 0; + stack.push(char); + for (let idx = worlds.length; idx > 0; idx--) { + let cursor = idx; + let newWorld = char; + + while (cursor > 0) { + newWorld = worlds[cursor - 1].concat(newWorld); + let popCount = 1; + if (featureWords.includes(newWorld.split(' ').join(''))) { + popCount = idx - cursor; + while (popCount > 0) { + worlds.pop(); + popCount -= 1; + } + worlds.pop(); + popCount = idx - cursor; + while (popCount > 0) { + worlds.push(''); + popCount--; + } + + stack.length = 0; + if (newWorld.length) { + worlds.push(newWorld); + } + break; + } + cursor -= 1; + } + } + } + } + if (stack.length) { + worlds.push(stack.join('')); + } + return worlds + .filter(it => it.length) + .map(it => (!featureWords.includes(it) ? it.toLowerCase() : it)) + .join(' ') + .upperCaseFirstChar(); +} + +function generateNLS() { + if (!exists(enNlsPath)) { + fs.writeFileSync(enNlsPath, '{}'); + } + + if (!exists(zhNlsPath)) { + fs.writeFileSync(zhNlsPath, '{}'); + } + + const pkgContentBuffer = fs.readFileSync(packagePath); + const pkgObj = JSON.parse(pkgContentBuffer.toString()); + const commands = pkgObj.contributes.commands || []; + const content = {}; + commands.forEach(it => { + const key = it.title.replace(/%/g, ''); + content[key] = transform(it.command); + }); + + [enNlsPath, zhNlsPath].forEach(p => { + fs.writeFileSync(p, JSON.stringify(content), 'utf-8'); + }); +} + +/** + * submenus:{ + * id, + * label, + * icon: { + * dark:"", + * light:"", + * } + * } + */ +function generateSubMenu() {} + +function generateMenus() {} + +function generateSubMenu() {} + +/** + * 辅助函数, 用于一开始获取命令数据的功能 + */ +function generateCommandsObjs() { + const pkgContentBuffer = fs.readFileSync(packagePath); + const pkgObj = JSON.parse(pkgContentBuffer.toString()); + const commands = pkgObj.contributes.commands || []; + const result = []; + commands.forEach(cmd => { + result.push({ + ...cmd, + enablement: true, + icon: '', + shortTitle: '', + when: '', + group: '', + alt: '', + }); + }); + fs.writeFileSync( + path.resolve(__dirname, 'commands.txt'), + JSON.stringify(result), + ); +} + +async function bootstrap() { + generateCommandsObjs(); +} + +bootstrap(); diff --git a/src/constants/commands.ts b/src/constants/commands.ts new file mode 100644 index 0000000..8e55afe --- /dev/null +++ b/src/constants/commands.ts @@ -0,0 +1,175 @@ +import { ExtensionContext, l10n } from 'vscode'; +import {CommandType, NestGenerateAlias} from '../types/command'; +export const COMMANDS: CommandType[] = [ + { + name: 'generateANewApplicationWorkspace', + needInput: true, + alias: NestGenerateAlias.APPLICATION_WORKSPACE, + description: l10n.t('Generate a new application workspace'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateANewClass', + alias: NestGenerateAlias.CLASS, + needInput: true, + description: l10n.t('Generate a new class'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateACliConfigurationFile', + alias: NestGenerateAlias.CONFIG, + needInput: false, + description: l10n.t('Generate a new cli configuration file'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAContorllerDeclaration', + alias: NestGenerateAlias.CONTROLLER, + needInput: true, + description: l10n.t('Generate a new controller declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateACustomDecorator', + alias: NestGenerateAlias.DECORATOR, + needInput: true, + description: l10n.t('Generate a new custom decorator'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAFilterDeclaration', + alias: NestGenerateAlias.FILTER, + needInput: true, + description: l10n.t('Generate a new filter declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAGatewayDeclaration', + alias: NestGenerateAlias.GATEWAY, + needInput: true, + description: l10n.t('Generate a new gateway declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAGuardDelcaration', + alias: NestGenerateAlias.GUARD, + needInput: true, + description: l10n.t('Generate a new guard declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAnInterceptorDeclaration', + alias: NestGenerateAlias.INTERCEPTOR, + needInput: true, + description: l10n.t('Generate a new interceptor declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAnInterface', + alias: NestGenerateAlias.INTERFACE, + needInput: true, + description: l10n.t('Generate a new interface'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateANewLibraryWithAMonorepo', + alias: NestGenerateAlias.LIBRARY, + needInput: true, + description: l10n.t('Generate a new library with a monorepo'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAMiddleWareDeclaration', + alias: NestGenerateAlias.MIDDLEWARE, + needInput: true, + description: l10n.t('Generate a new middleware declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAModuleDeclaration', + alias: NestGenerateAlias.MODULE, + needInput: true, + description: l10n.t('Generate a new module declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAPipeDeclaration', + alias: NestGenerateAlias.PIPE, + needInput: true, + description: l10n.t('Generate a new pipe declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAProviderDeclaration', + alias: NestGenerateAlias.PROVIDER, + needInput: true, + description: l10n.t('Generate a new provider declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAGraphQLResolverDeclaration', + alias: NestGenerateAlias.GRAPHQL_RESOLVER, + needInput: true, + description: l10n.t('Generate a new GraphQL resolver declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateANewCRUDDeclaration', + alias: NestGenerateAlias.CRUD_DECLARATION, + needInput: true, + description: l10n.t('Generate a new CRUD declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateAServiceDeclaration', + alias: NestGenerateAlias.SERVICE, + needInput: true, + description: l10n.t('Generate a new service declaration'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, + { + name: 'generateANewApplicationWithAMonorepo', + alias: NestGenerateAlias.APPLICATION_MONOREPO, + needInput: true, + description: l10n.t('Generate a new application with a monorepo'), + callback: async (ctx: ExtensionContext, ...args: any[]) => { + return undefined; + }, + }, +]; \ No newline at end of file diff --git a/src/constants/index.ts b/src/constants/index.ts new file mode 100644 index 0000000..0011132 --- /dev/null +++ b/src/constants/index.ts @@ -0,0 +1,7 @@ +export * from './other'; +export * from './commands'; + +export const EXTENSION_ID = 'nestjs-tool'; + +export const EXTENSION_NAME = "NestJS Tool" +export const EXTENSION_TERMINAL_NAME = `${EXTENSION_ID} Terminal`; diff --git a/src/constants/other.ts b/src/constants/other.ts new file mode 100644 index 0000000..1147bc9 --- /dev/null +++ b/src/constants/other.ts @@ -0,0 +1,80 @@ +export const USER_INPUT_OPTIONS = [ + { + key: 'dryRun', + alias: ['-d', '--dry-run'], + }, + { + key: 'flat', + alias: ['--flat'], + }, + { + key: 'project', + alias: ['-p', '--project'], + }, + { + key: 'noFlat', + alias: ['--no-flat'], + }, + + { + key: 'spec', + alias: ['--spec'], + }, + { + key: 'specFileSuffix', + alias: ['--spec-file-suffix'], + }, + + { + key: 'skipImport', + alias: ['--skip-import'], + }, + { + key: 'noSpec', + alias: ['--no-spec'], + }, + { + key: 'collection', + alias: ['-c', '--collection'], + }, + { + key: 'help', + alias: ['-h', '--help'], + }, +]; + +export interface IUserInputOptions { + dryRun: boolean; + project: boolean; + flat: boolean; + noFlat: boolean; + spec: boolean; + specFileSuffix: boolean; + skipImport: boolean; + noSpec: boolean; + collection: boolean; + help: boolean; + + [index: string]: boolean; +} +export function parseUserInputOptions(arr: string[]): IUserInputOptions { + const userInputOptions: IUserInputOptions = { + dryRun: false, + project: false, + flat: false, + noFlat: false, + spec: false, + specFileSuffix: false, + skipImport: false, + noSpec: false, + collection: false, + help: false, + }; + if (!arr.length) { + return userInputOptions; + } + USER_INPUT_OPTIONS.forEach(it => { + userInputOptions[it.key] = it.alias.every(a => arr.includes(a)); + }); + return userInputOptions; +} diff --git a/src/extension.ts b/src/extension.ts index 35f1910..f0fd0a7 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,45 +1,10 @@ - -// The module 'vscode' contains the VS Code extensibility API -// Import the module and reference it with the alias vscode in your code below -import * as vscode from 'vscode'; -import { NestAssociatedArrayEnum, NestFileType } from './model'; -import * as utils from './utils'; - -// this method is called when your extension is activated -// your extension is activated the very first time the command is executed -export function activate(context: vscode.ExtensionContext) { - - // Use the console to output diagnostic information (console.log) and errors (console.error) - // This line of code will only be executed once when your extension is activated - - let createModuleCommand = utils.buildCommand('extension.GenerateNestJsModule', NestFileType.MODULE, NestAssociatedArrayEnum.IMPORTS); - let createServiceCommand = utils.buildCommand('extension.GenerateNestJsService', NestFileType.SERVICE, NestAssociatedArrayEnum.PROVIDERS); - let createControllerCommand = utils.buildCommand('extension.GenerateNestJsController', NestFileType.CONTROLLER, NestAssociatedArrayEnum.CONTROLLERS); - let createExceptionCommand = utils.buildCommand('extension.GenerateNestJsException', NestFileType.EXCEPTION); - let createMiddlewareCommand = utils.buildCommand('extension.GenerateNestJsMiddleware', NestFileType.MIDDLEWARE); - let createInterceptorCommand = utils.buildCommand('extension.GenerateNestJsInterceptor', NestFileType.INTERCEPTION); - let createPipeCommand = utils.buildCommand('extension.GenerateNestJsPipe', NestFileType.PIPE); - let createGuardCommand = utils.buildCommand('extension.GenerateNestJsGuard', NestFileType.GUARD); - let createDecoratorCommand = utils.buildCommand('extension.GenerateNestJsDecorator', NestFileType.DECORATOR); - let createExceptionFilterCommand = utils.buildCommand('extension.GenerateNestJsExcepFilter', NestFileType.FILTER, NestAssociatedArrayEnum.PROVIDERS); - let createUnittestCommand = utils.buildCommand('extension.GenerateNestJsUnittest', NestFileType.SPEC); - - let createModuleFolderCommand = utils.buildCommand('extension.GenerateNestModuleFolder', NestFileType.MODULE_FOLDER); - context.subscriptions.push( - createModuleCommand, - createServiceCommand, - createControllerCommand, - createExceptionCommand, - createMiddlewareCommand, - createInterceptorCommand, - createPipeCommand, - createGuardCommand, - createDecoratorCommand, - createExceptionFilterCommand, - createUnittestCommand, - createModuleFolderCommand, - ); +import {ExtensionContext, window, workspace} from 'vscode'; +import {ServiceManager} from './services'; +export function activate(context: ExtensionContext) { + if (!workspace.workspaceFolders) { + return; + } + ServiceManager.initial(context); } -// this method is called when your extension is deactivated -export function deactivate() { } +export function deactivate() {} diff --git a/src/model/index.ts b/src/model/index.ts deleted file mode 100644 index 88310f7..0000000 --- a/src/model/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './nest'; \ No newline at end of file diff --git a/src/model/nest.ts b/src/model/nest.ts deleted file mode 100644 index afc2421..0000000 --- a/src/model/nest.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Uri } from "vscode"; - -export interface NestFileOption { - type: NestFileType, - name: string, - fullName: string; - uri: Uri, - associatedArray: NestAssociatedArrayEnum | undefined; -} - - -export enum NestAssociatedArrayEnum { - IMPORTS = 0x01, - PROVIDERS, - - CONTROLLERS, - UNDEFIND, -} - -export enum NestFileType { - MODULE = 0x01, - CONTROLLER, - SERVICE, - EXCEPTION, - MIDDLEWARE, - INTERCEPTION, - PIPE, - GUARD, - DECORATOR, - FILTER, - SPEC, - MODULE_FOLDER, - UNDEFIND -} - -export const NestImports = { - filter: `import { APP_FILTER } from '@nestjs/core';`, -}; - -export const NestProviders = { - filter: `{ - provide: APP_FILTER, - useClass: AllExceptionsFilter, - },`, -}; \ No newline at end of file diff --git a/src/services/command-service.ts b/src/services/command-service.ts new file mode 100644 index 0000000..23a88b8 --- /dev/null +++ b/src/services/command-service.ts @@ -0,0 +1,103 @@ +import { + commands, + Disposable, + ExtensionContext, + l10n, + Terminal, + window, +} from 'vscode'; +import {ServiceManager} from './service-manager'; +import {EXTENSION_ID, EXTENSION_TERMINAL_NAME} from '../constants'; +import {COMMANDS} from '../constants'; + +export default class CommandService implements Disposable { + private _context: ExtensionContext; + + private _terminal: Terminal; + + constructor(private sm: ServiceManager) { + const {shouldExecute} = this.sm.configService.configuration; + + this._context = this.sm.context; + + this._terminal = + window.terminals.find(it => it.name == EXTENSION_TERMINAL_NAME) || + window.createTerminal({ + name: EXTENSION_TERMINAL_NAME, + hideFromUser: shouldExecute, + }); + + this._initial(); + } + + private _initial() { + const self = this; + COMMANDS.forEach(cmd => { + const {callback: _callback, ...rest} = cmd; + const options = {...rest, logger: self.sm.logger}; + this.registerCommand(options.name, async (ctx, args) => { + if (options.needInput) { + const userInput = await this.showInputBox( + options.alias, + ctx, + ...args, + ); + if (!userInput || !userInput.length) { + return; + } + + // const result = await _callback(ctx, options, userInput); + // if (result) { + // } + self._executeCommand(options.alias, userInput); + } else { + self._executeCommand(options.alias); + } + }); + }); + } + + async showInputBox(alias: string, ...args: any[]) { + const input = await window.showInputBox({ + placeHolder: l10n.t( + 'Please enter the name and optional parameters, separated by spaces, such as: application --dry-run', + ), + }); + if (!input) { + window.showInformationMessage(l10n.t('Canceled')); + return; + } + return input; + } + + registerCommand( + name: string, + callback: (ctx: ExtensionContext, ...args: any[]) => void, + ) { + this._context.subscriptions.push( + commands.registerCommand(`${EXTENSION_ID}.${name}`, callback), + ); + } + + private _executeCommand(alias: string, ...args: any[]) { + const {showTerminal, shouldExecute} = this.sm.configService.configuration; + if ( + this._terminal.exitStatus && + this._terminal.exitStatus.code === undefined + ) { + this._terminal = window.createTerminal({ + name: EXTENSION_TERMINAL_NAME, + hideFromUser: shouldExecute, + }); + } + this._terminal.sendText(`nest g ${alias} ${args.join(' ')}`); + if (showTerminal) { + this._terminal.show(); + } + } + + dispose() { + this._terminal.dispose(); + this._context.subscriptions.forEach(it => it.dispose()); + } +} diff --git a/src/services/config-service.ts b/src/services/config-service.ts new file mode 100644 index 0000000..820d1a8 --- /dev/null +++ b/src/services/config-service.ts @@ -0,0 +1,67 @@ +import { + EventEmitter, + ExtensionContext, + workspace, + WorkspaceConfiguration, + Event, +} from 'vscode'; +import {ExtConfiguration} from '../types'; +import {ServiceManager} from './service-manager'; +import {EXTENSION_ID} from '../constants'; + +export class ConfigService implements Disposable { + private _configuration!: ExtConfiguration; + + private _context: ExtensionContext; + private _wsConfiguration: WorkspaceConfiguration; + + private _onConfigurationChangeEvent = new EventEmitter(); + + onConfigurationChange: Event = + this._onConfigurationChangeEvent.event; + + get configuration() { + return this._configuration; + } + + constructor(private sm: ServiceManager) { + this._context = this.sm.context; + this._wsConfiguration = workspace.getConfiguration(EXTENSION_ID); + this._initial(); + } + + private _initial() { + this.resolveConfiguration(); + workspace.onDidChangeConfiguration(e => { + if (e.affectsConfiguration(EXTENSION_ID)) { + this._wsConfiguration = workspace.getConfiguration(EXTENSION_ID); + this.resolveConfiguration(); + this._fire(); + } + }); + } + + private _getItemByKey(key: string, defaultValue: any) { + return this._wsConfiguration.get(key, defaultValue); + } + + resolveConfiguration(): ExtConfiguration { + this._configuration = { + showTerminal: this._getItemByKey('showTerminal', true), + shouldExecute: this._getItemByKey('shouldExecute', true), + noSpec: this._getItemByKey('noSpec', false), + spec: this._getItemByKey('spec', true), + noFlat: this._getItemByKey('noFlat', false), + flat: this._getItemByKey('flat', true), + skipImport: this._getItemByKey('skipImport', false), + }; + + return this._configuration; + } + private _fire() { + this._onConfigurationChangeEvent.fire(this._configuration); + } + [Symbol.dispose](): void { + this._onConfigurationChangeEvent.dispose(); + } +} diff --git a/src/services/index.ts b/src/services/index.ts new file mode 100644 index 0000000..df0f40e --- /dev/null +++ b/src/services/index.ts @@ -0,0 +1,3 @@ +export * from './command-service'; +export * from './output-service'; +export * from './service-manager'; diff --git a/src/services/logger-service.ts b/src/services/logger-service.ts new file mode 100644 index 0000000..2e9b765 --- /dev/null +++ b/src/services/logger-service.ts @@ -0,0 +1,31 @@ +import {LogLevel} from 'vscode'; +import {ServiceManager} from './service-manager'; +import OutputService from './output-service'; + +export class LoggeService { + level: LogLevel = LogLevel.Debug; + + private _output: OutputService; + + constructor(private sm: ServiceManager) { + this._output = this.sm.outputService; + } + + changeLevel(level: LogLevel) { + this.level = level; + } + + info(msg: string, ...args: any[]) { + this._output.info(msg, args); + } + + warn(msg: string, ...args: any[]) { + this._output.info(msg, args); + } + error(msg: string, ...args: any[]) { + this._output.info(msg, args); + } + trace(msg: string, ...args: any[]) { + this._output.info(msg, args); + } +} diff --git a/src/services/output-service.ts b/src/services/output-service.ts new file mode 100644 index 0000000..78d37be --- /dev/null +++ b/src/services/output-service.ts @@ -0,0 +1,45 @@ +import {Disposable, ExtensionContext, LogOutputChannel, window} from 'vscode'; +import {EXTENSION_NAME} from '../constants'; +import {ServiceManager} from './service-manager'; + +export default class OutputService implements Disposable { + private output: LogOutputChannel; + private _context: ExtensionContext; + + constructor(private sm: ServiceManager) { + this.output = window.createOutputChannel(EXTENSION_NAME, {log: true}); + this._context = this.sm.context; + } + + info(msg: string, args: any[]) { + this.output.info(msg, args); + } + + warning(msg: string, ...args: any[]) { + this.output.warn(msg, args); + } + + error(msg: string, ...args: any[]) { + this.output.error(msg, args); + } + + trace(msg: string, ...args: any[]) { + this.output.trace(msg, args); + } + + show() { + this.output.show(); + } + + hide() { + this.output.hide(); + } + + clear() { + this.output.clear(); + } + + dispose() { + this.output.dispose(); + } +} diff --git a/src/services/service-manager.ts b/src/services/service-manager.ts new file mode 100644 index 0000000..323a30d --- /dev/null +++ b/src/services/service-manager.ts @@ -0,0 +1,36 @@ +import {ExtensionContext} from 'vscode'; +import OutputService from './output-service'; +import CommandService from './command-service'; +import {LoggeService} from './logger-service'; +import {ConfigService} from './config-service'; + +export class ServiceManager { + private static _instance: ServiceManager; + readonly outputService: OutputService; + readonly commandService: CommandService; + + readonly configService: ConfigService; + + readonly logger: LoggeService; + + public static get instance() { + return this._instance; + } + + /** + * 按照顺序初始化各个服务, 可能其他的服务中依赖前者的服务 + * @param context + */ + constructor(public readonly context: ExtensionContext) { + this.configService = new ConfigService(this); + this.outputService = new OutputService(this); + this.logger = new LoggeService(this); + this.commandService = new CommandService(this); + } + + static initial(context: ExtensionContext) { + if (!this._instance) { + this._instance = new ServiceManager(context); + } + } +} diff --git a/src/templates/controller.mustache b/src/templates/controller.mustache deleted file mode 100644 index 81a3a0a..0000000 --- a/src/templates/controller.mustache +++ /dev/null @@ -1,4 +0,0 @@ -import { Controller } from '@nestjs/common'; - -@Controller() -export class {{ Name }}Controller {} diff --git a/src/templates/decorator.mustache b/src/templates/decorator.mustache deleted file mode 100644 index 004d393..0000000 --- a/src/templates/decorator.mustache +++ /dev/null @@ -1,8 +0,0 @@ -import { createParamDecorator, ExecutionContext } from '@nestjs/common'; - -export const {{ Name }} = createParamDecorator( - (data: unknown, ctx: ExecutionContext) => { - const request = ctx.switchToHttp().getRequest(); - return request.user; - }, -); \ No newline at end of file diff --git a/src/templates/exception.mustache b/src/templates/exception.mustache deleted file mode 100644 index 65d15a4..0000000 --- a/src/templates/exception.mustache +++ /dev/null @@ -1,7 +0,0 @@ -import { HttpException, HttpStatus } from '@nestjs/common'; - -export class {{ Name }}Exception extends HttpException { - constructor() { - super('{{ Name }}', HttpStatus.I_AM_A_TEAPOT); - } -} diff --git a/src/templates/filter.mustache b/src/templates/filter.mustache deleted file mode 100644 index 380d64a..0000000 --- a/src/templates/filter.mustache +++ /dev/null @@ -1,27 +0,0 @@ -import { - ExceptionFilter, - Catch, - ArgumentsHost, - HttpException, - HttpStatus, -} from '@nestjs/common'; - -@Catch() -export class AllExceptionsFilter implements ExceptionFilter { - catch(exception: unknown, host: ArgumentsHost) { - const ctx = host.switchToHttp(); - const response = ctx.getResponse(); - const request = ctx.getRequest(); - - const status = - exception instanceof HttpException - ? exception.getStatus() - : HttpStatus.INTERNAL_SERVER_ERROR; - - response.status(status).json({ - statusCode: status, - timestamp: new Date().toISOString(), - path: request.url, - }); - } -} diff --git a/src/templates/guard.mustache b/src/templates/guard.mustache deleted file mode 100644 index d5539a0..0000000 --- a/src/templates/guard.mustache +++ /dev/null @@ -1,12 +0,0 @@ - -import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common'; -import { Observable } from 'rxjs'; - -@Injectable() -export class {{ Name }}Guard implements CanActivate { - canActivate( - context: ExecutionContext, - ): boolean | Promise | Observable { - return true; - } -} diff --git a/src/templates/import.mustache b/src/templates/import.mustache deleted file mode 100644 index b788b75..0000000 --- a/src/templates/import.mustache +++ /dev/null @@ -1 +0,0 @@ -import { {{ Name }} } from '{{{ Path }}}'; \ No newline at end of file diff --git a/src/templates/interceptor.mustache b/src/templates/interceptor.mustache deleted file mode 100644 index d0f09a2..0000000 --- a/src/templates/interceptor.mustache +++ /dev/null @@ -1,15 +0,0 @@ -import { Injectable, NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common'; -import { Observable } from 'rxjs'; -import { tap } from 'rxjs/operators'; - -@Injectable() -export class {{ Name }}Interceptor implements NestInterceptor { - intercept(context: ExecutionContext, next: CallHandler): Observable { - console.log('Before...'); - return next - .handle() - .pipe( - tap(() => console.log(`After...`)), - ); - } -} diff --git a/src/templates/middleware.mustache b/src/templates/middleware.mustache deleted file mode 100644 index 41a08b1..0000000 --- a/src/templates/middleware.mustache +++ /dev/null @@ -1,10 +0,0 @@ -import { Injectable, NestMiddleware } from '@nestjs/common'; -import { Request, Response } from 'express'; - -@Injectable() -export class {{ Name }}Middleware implements NestMiddleware { - use(req: Request, res: Response, next: Function) { - console.log('Request...'); - next(); - } -} diff --git a/src/templates/module.mustache b/src/templates/module.mustache deleted file mode 100644 index 7a1e8a7..0000000 --- a/src/templates/module.mustache +++ /dev/null @@ -1,8 +0,0 @@ -import { Module } from '@nestjs/common'; - -@Module({ - imports: [], - controllers: [], - providers: [], -}) -export class {{ Name }}Module {} diff --git a/src/templates/pipe.mustache b/src/templates/pipe.mustache deleted file mode 100644 index 0be2d61..0000000 --- a/src/templates/pipe.mustache +++ /dev/null @@ -1,8 +0,0 @@ -import { PipeTransform, Injectable, ArgumentMetadata } from '@nestjs/common'; - -@Injectable() -export class {{ Name }}Pipe implements PipeTransform { - transform(value: any, metadata: ArgumentMetadata) { - return value; - } -} diff --git a/src/templates/service.mustache b/src/templates/service.mustache deleted file mode 100644 index 78bf9de..0000000 --- a/src/templates/service.mustache +++ /dev/null @@ -1,4 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class {{ Name }}Service {} diff --git a/src/templates/spec.mustache b/src/templates/spec.mustache deleted file mode 100644 index bdecf94..0000000 --- a/src/templates/spec.mustache +++ /dev/null @@ -1,19 +0,0 @@ -import { Test } from '@nestjs/testing'; - -describe('{{ Name }}{{ Type }}', () => { - let {{ VarName }}: {{ Name }}{{ Type }}; - -beforeEach(async () => { - const moduleRef = await Test.createTestingModule({ - imports: [], // Add - controllers: [], // Add - providers: [], // Add - }).compile(); - - {{ VarName }} = moduleRef.get<{{ Name }}{{ Type }}>({{ Name }}{{ Type }}); - }); - -it('should be defined', () => { - expect({{ VarName }}).toBeDefined(); - }); -}); diff --git a/src/test/runTest.ts b/src/test/runTest.ts deleted file mode 100644 index 1eabfa3..0000000 --- a/src/test/runTest.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as path from 'path'; - -import { runTests } from 'vscode-test'; - -async function main() { - try { - // The folder containing the Extension Manifest package.json - // Passed to `--extensionDevelopmentPath` - const extensionDevelopmentPath = path.resolve(__dirname, '../../'); - - // The path to test runner - // Passed to --extensionTestsPath - const extensionTestsPath = path.resolve(__dirname, './suite/index'); - - // Download VS Code, unzip it and run the integration test - await runTests({ extensionDevelopmentPath, extensionTestsPath }); - } catch (err) { - console.error('Failed to run tests'); - process.exit(1); - } -} - -main(); diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts deleted file mode 100644 index 4ca0ab4..0000000 --- a/src/test/suite/extension.test.ts +++ /dev/null @@ -1,15 +0,0 @@ -import * as assert from 'assert'; - -// You can import and use all API from the 'vscode' module -// as well as import your extension to test it -import * as vscode from 'vscode'; -// import * as myExtension from '../../extension'; - -suite('Extension Test Suite', () => { - vscode.window.showInformationMessage('Start all tests.'); - - test('Sample test', () => { - assert.strictEqual(-1, [1, 2, 3].indexOf(5)); - assert.strictEqual(-1, [1, 2, 3].indexOf(0)); - }); -}); diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts deleted file mode 100644 index 7029e38..0000000 --- a/src/test/suite/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import * as path from 'path'; -import * as Mocha from 'mocha'; -import * as glob from 'glob'; - -export function run(): Promise { - // Create the mocha test - const mocha = new Mocha({ - ui: 'tdd', - color: true - }); - - const testsRoot = path.resolve(__dirname, '..'); - - return new Promise((c, e) => { - glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { - if (err) { - return e(err); - } - - // Add files to the test suite - files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); - - try { - // Run the mocha test - mocha.run(failures => { - if (failures > 0) { - e(new Error(`${failures} tests failed.`)); - } else { - c(); - } - }); - } catch (err) { - console.error(err); - e(err); - } - }); - }); -} diff --git a/src/types/command.ts b/src/types/command.ts new file mode 100644 index 0000000..1997434 --- /dev/null +++ b/src/types/command.ts @@ -0,0 +1,43 @@ +import {ExtensionContext} from 'vscode'; + +export type CommandType = { + name: string; + alias: string; + description: string; + /** + * 代表用户可以进行输入操作 + */ + needInput: boolean; + /** + * TODO: 未来的某个时期会用到此方法回调 + * @param ctx + * @param args + * @returns + */ + callback: ( + ctx: ExtensionContext, + ...args: any[] + ) => Promise; +}; + +export enum NestGenerateAlias { + APPLICATION_WORKSPACE = 'application', + CLASS = 'cl', + CONFIG = 'config', + CONTROLLER = 'co', + DECORATOR = 'd', + FILTER = 'f', + GATEWAY = 'ga', + GUARD = 'gu', + INTERCEPTOR = 'itc', + INTERFACE = 'itf', + LIBRARY = 'lib', + MIDDLEWARE = 'mi', + MODULE = 'mo', + PIPE = 'pi', + PROVIDER = 'pr', + GRAPHQL_RESOLVER = 'r', + CRUD_DECLARATION = 'res', + SERVICE = 's', + APPLICATION_MONOREPO = 'app', +} diff --git a/src/types/configuration.ts b/src/types/configuration.ts new file mode 100644 index 0000000..1e67932 --- /dev/null +++ b/src/types/configuration.ts @@ -0,0 +1,39 @@ +export interface ExtConfiguration { + /** + * 当将命令发送到Terminal实例后, 是否显示Terminal, 默认为True + */ + showTerminal: boolean; + + /** + * Indicates that the text being sent should be executed rather than just inserted in the terminal. The character(s) added are \n or \r\n, depending on the platform. This defaults to true + */ + shouldExecute: boolean; + + /** + * Disable spec files generation + */ + noSpec: boolean; + + /** + * --spec + * Enforce spec files generation. (default: true) + * @default true + */ + spec: boolean; + + /** + * Enforce that directories are generated + */ + noFlat: boolean; + + /** + * Enforce flat structure of generated element + */ + flat: boolean; + + /** + * Skip importing (default: false) + * @default false + */ + skipImport: boolean; +} diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..01611de --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,2 @@ +export * from './configuration'; +export * from './command'; diff --git a/src/utils/commands.ts b/src/utils/commands.ts deleted file mode 100644 index 3d359cc..0000000 --- a/src/utils/commands.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { commands, Uri, window, workspace } from 'vscode'; - -import { NestAssociatedArrayEnum, NestFileType } from './../model/nest'; -import { buildFileName, buildFullName, createFile, createModuleFolder, invalidFileName } from './file'; -export function buildCommand(command: string, fileType: NestFileType, associatedArray: NestAssociatedArrayEnum = NestAssociatedArrayEnum.UNDEFIND) { - return commands.registerCommand(command, (resource: Uri) => { - if (checkWorkspace()) { - return window.showInputBox({ - placeHolder: "please enter name!" - }).then(input => { - if (input === undefined) { - return; - } - if (validFileInput(input)) { - let fileName = buildFileName(input); - if (NestFileType.MODULE_FOLDER === fileType) { - return createModuleFolder({ - name:fileName, - type: fileType, - associatedArray: NestAssociatedArrayEnum.UNDEFIND, - uri: resource, - fullName:fileName - }); - } - let fullName = buildFullName(fileName, fileType); - return createFile({ - name: fileName, - type: fileType, - associatedArray: associatedArray == NestAssociatedArrayEnum.UNDEFIND ? undefined : associatedArray, - uri: resource, - fullName: fullName, - }); - } else { - return window.showErrorMessage('Invalid Filename'); - } - }) - } - }); -} - - - -function checkWorkspace(): boolean { - if (workspace === undefined) { - window.showErrorMessage('Please select a workspace first'); - return false; - } - return true; -} - -function validFileInput(input: string): boolean { - // TODO modify it - if (!invalidFileName.test(input)) { - return true; - } else { - input = input.trim(); - if (input.includes(' ')) { - return true; - } - return false; - } -} - - - - - diff --git a/src/utils/file.ts b/src/utils/file.ts index abd2a18..3bc00b6 100644 --- a/src/utils/file.ts +++ b/src/utils/file.ts @@ -1,115 +1,2 @@ -import { FileType, Uri, window, workspace } from "vscode"; -import { join, basename } from "path"; -import { TextEncoder } from "util"; -import * as fs from 'fs-extra'; - -import { NestAssociatedArrayEnum, NestFileOption, NestFileType } from "../model"; -import { addToArray, formatTextDocument, getFileTemplate } from './util'; - - -export const invalidFileName = /^(\d|\-)|[\\\s+={}\(\)\[\]"`/;,:.*?'<>|#$%^@!~&]|\-$/; -export async function createFile(option: NestFileOption) { - if (fs.existsSync(join(option.uri.fsPath, `${option.name.toLowerCase()}.${NestFileType[option.type]}.ts`))) { - return window.showErrorMessage('A file already exists with given name'); - } - const stats = await workspace.fs.stat(option.uri); - if (stats.type === FileType.Directory) { - option.uri = Uri.parse(`${option.uri.path}/${option.fullName}`); - } else { - option.uri = Uri.parse(option.uri.path.replace(basename(option.uri.path), '') + '/' + option.fullName); - } - return getFileTemplate(option).then(data => { - return workspace.fs.writeFile(option.uri, new TextEncoder().encode(data)); - }).then(() => { - return addFilesToAppModule(option); - }).then(() => { - return formatTextDocument(option.uri); - }).then(() => { - return true; - }).catch(err => { - return window.showErrorMessage(err); - }); -} - -export function buildFileName(input: string) { - let fileName = input.trim(); - if (fileName.includes(' ')) { - var list = fileName.split(' '); - fileName = list.join('.'); - } - return fileName; -} - -export function buildFullName(fileName: string, fileType: NestFileType): string { - let extType = NestFileType[fileType]; - return `${fileName.toLowerCase()}.${extType.toLowerCase()}.ts`; -} - -async function addFilesToAppModule(option: NestFileOption) { - let moduleFile: Uri[] = []; - if (option.type === NestFileType.SERVICE || option.type === NestFileType.CONTROLLER) { - moduleFile = await workspace.findFiles(`**/${option.name}.module.ts`, `**/node_modules/**`, 1); - } - - if (moduleFile.length === 0 && option.name !== 'app') { - moduleFile = await workspace.findFiles(`**/app.module.ts`, '**/node_modules/**', 1); - } - - if (moduleFile.length !== 0) { - workspace.saveAll().then(() => { - return workspace.fs.readFile(moduleFile[0]); - }).then(data => { - return addToArray(data, option, moduleFile[0]); - }); - } -} - -export async function createModuleFolder(option: NestFileOption) { - if (fs.existsSync(join(option.uri.fsPath, option.name))) { - return window.showErrorMessage(`The file or folder ${option.name} already exists at this location.Please choose a different name or choose a different location.`) - } - fs.mkdirSync(join(option.uri.fsPath, option.name)); - - const stats = await workspace.fs.stat(option.uri); - if (stats.type === FileType.Directory) { - option.uri = Uri.parse(`${option.uri.path}/${option.name}`); - } else { - return window.showErrorMessage(`Please choose a folder!`); - } - - let tasks = []; - let fileExtTypes = [NestFileType.CONTROLLER, NestFileType.SERVICE, NestFileType.MODULE] - for (let idx in fileExtTypes) { - let fullName = buildFullName(option.name, fileExtTypes[idx]); - let opt: NestFileOption = { - name: option.name, - uri: option.uri, - type: NestFileType.UNDEFIND, - fullName: fullName, - associatedArray: NestAssociatedArrayEnum.UNDEFIND - } - switch (fileExtTypes[idx]) { - case NestFileType.CONTROLLER: - opt.type = NestFileType.CONTROLLER; - opt.associatedArray = NestAssociatedArrayEnum.CONTROLLERS; - break; - case NestFileType.SERVICE: - opt.type = NestFileType.SERVICE; - opt.associatedArray = NestAssociatedArrayEnum.PROVIDERS; - break; - case NestFileType.MODULE: - opt.type = NestFileType.MODULE; - opt.associatedArray = NestAssociatedArrayEnum.PROVIDERS; - break; - } - // await ; - tasks.push(createFile(opt)); - } - return Promise.all(tasks).then((data) => { - console.log(data) - }).catch(() => { - return true; - }).catch(error => { - console.log(error) - }); -} \ No newline at end of file +export const invalidFileName = + /^(\d|\-)|[\\\s+={}\(\)\[\]"`/;,:.*?'<>|#$%^@!~&]|\-$/; diff --git a/src/utils/index.ts b/src/utils/index.ts index 8bf803b..3195037 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,3 +1,2 @@ export * from './file'; -export * from './commands'; export * from './util'; \ No newline at end of file diff --git a/src/utils/util.ts b/src/utils/util.ts index 6e9bbd5..73a4cbc 100644 --- a/src/utils/util.ts +++ b/src/utils/util.ts @@ -1,111 +1,12 @@ -import { join, basename, relative, dirname } from "path"; -import * as fs from 'fs-extra'; -import { TextDecoder } from "util"; -import { render } from 'mustache'; -import { commands, Position, Uri, window, workspace, WorkspaceEdit } from "vscode"; - -import { NestAssociatedArrayEnum, NestFileOption, NestFileType, NestImports, NestProviders } from './../model/nest'; -export async function getFileTemplate(file: NestFileOption): Promise { - return fs.readFile(join(__dirname, `../templates/${NestFileType[file.type].toLowerCase()}.mustache`), 'utf8').then(data => { - const name = getClassName(file.name); - const type = getPascalCase(basename(file.uri.path).split('.')[1]); - let view = { - Name: name, - Type: type, - VarName: getCamelCase(name) + type - }; - return render(data, view); - }); -} - -export function getPascalCase(fileType: NestFileType | string): string { - if (typeof fileType === 'string') { - var fileName = fileType as string; - return fileName.charAt(0).toUpperCase() + fileName.toLowerCase().slice(1); - } else { - return NestFileType[fileType].toLowerCase().charAt(0).toUpperCase() + NestFileType[fileType].toLowerCase().slice(1); - - } -} - -export function getCamelCase(str: string): string { - return str.charAt(0).toLowerCase() + str.slice(1); -} - -export function getClassName(fileName: string): string { - let specialCharIndex = fileName.indexOf('-'); - if (specialCharIndex !== -1) { - return getPascalCase(fileName.substring(0, specialCharIndex)) - .concat(getPascalCase(fileName.substring(specialCharIndex + 1, fileName.length))); - } - - specialCharIndex = fileName.indexOf('.'); - if (specialCharIndex !== -1) { - return getPascalCase(fileName.substring(0, specialCharIndex)).concat(getPascalCase(fileName.substring(specialCharIndex + 1, fileName.length))); - } - return getPascalCase(fileName); -} - -function getArraySchematics(nestAssociateArray: NestAssociatedArrayEnum) { - return new RegExp(`${NestAssociatedArrayEnum[nestAssociateArray].toLowerCase()}(\\s+)?:(\\s+)?\\[`); -} - -function getLineNoFromString(str: string, match: RegExpExecArray): Position { - const array = str.substring(0, match.index).split('\n'); - const charPos = str.split('\n')[array.length - 1].indexOf('['); - return new Position(array.length - 1, charPos + 1); -} - -export async function addToArray(data: Uint8Array, file: NestFileOption, modulePath: Uri) { - - if (file.associatedArray !== undefined) { - const pattern = getArraySchematics(file.associatedArray); - let match; - let pos: Position; - let tempStrData = new TextDecoder().decode(data); - - if (match = pattern.exec(tempStrData)) { - pos = getLineNoFromString(tempStrData, match); - const toInsert = '\n ' + getClassName(file.name) + getPascalCase(file.type) + ', '; - let edit = new WorkspaceEdit(); - if (file.type === NestFileType.FILTER) { - edit.insert(modulePath, new Position(0, 0), NestImports.filter + '\n'); - edit.insert(modulePath, pos, '\n' + NestProviders.filter); - } - else { - edit.insert(modulePath, pos, toInsert); - } - const importPath = await getImportTemplate(file, modulePath); - edit.insert(modulePath, new Position(0, 0), importPath + '\n'); - - return workspace.applyEdit(edit) - .then(() => { - return formatTextDocument(modulePath); - }); - } - } -} - -export async function getImportTemplate(file: NestFileOption, appModule: Uri): Promise { - return fs.readFile(join(__dirname, `../templates/import.mustache`), 'utf8') - .then((data) => { - let view = { - Name: getClassName(file.name) + getPascalCase(file.type), - Path: getRelativePathForImport(appModule, file.uri) - }; - return render(data, view); - }); -} - -export function getRelativePathForImport(appModule: Uri, importFile: Uri) { - return './' + relative(dirname(appModule.path), importFile.path).replace(/\\/g, '/').replace('.ts', ''); -} - +import {commands, Uri, window, workspace} from 'vscode'; export async function formatTextDocument(uri: Uri) { - return workspace.openTextDocument(uri).then(doc => { - return window.showTextDocument(doc); - }).then(() => { - return commands.executeCommand('editor.action.formatDocument'); - }); -} \ No newline at end of file + return workspace + .openTextDocument(uri) + .then(doc => { + return window.showTextDocument(doc); + }) + .then(() => { + return commands.executeCommand('editor.action.formatDocument'); + }); +} diff --git a/tsconfig.json b/tsconfig.json index b65c745..d9b7015 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,21 +1,14 @@ { - "compilerOptions": { - "module": "commonjs", - "target": "es6", - "outDir": "out", - "lib": [ - "es6" - ], - "sourceMap": true, - "rootDir": "src", - "strict": true /* enable all strict type-checking options */ - /* Additional Checks */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - }, - "exclude": [ - "node_modules", - ".vscode-test" - ] + "compilerOptions": { + "module": "commonjs", + "target": "ES2020", + "lib": ["ES2020"], + "sourceMap": true, + "rootDir": "src", + "strict": true, + "noImplicitAny": true, + "esModuleInterop": true, + "paths": {} + }, + "include": ["src"] } diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..3a8db0c --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,55 @@ +//@ts-check + +'use strict'; + +const path = require('path'); +const {DefinePlugin} = require('webpack'); +const fs = require('node:fs'); +const pkgInfo = JSON.parse( + fs.readFileSync(path.resolve(__dirname, 'package.json')).toString(), +); +//@ts-check +/** @typedef {import('webpack').Configuration} WebpackConfig **/ + +/** @type WebpackConfig */ +const extensionConfig = { + target: 'node', // VS Code extensions run in a Node.js-context 📖 -> https://webpack.js.org/configuration/node/ + mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') + + entry: './src/extension.ts', // the entry point of this extension, 📖 -> https://webpack.js.org/configuration/entry-context/ + output: { + // the bundle is stored in the 'dist' folder (check package.json), 📖 -> https://webpack.js.org/configuration/output/ + path: path.resolve(__dirname, 'dist'), + filename: 'extension.js', + libraryTarget: 'commonjs2', + }, + externals: { + vscode: 'commonjs vscode', // the vscode-module is created on-the-fly and must be excluded. Add other modules that cannot be webpack'ed, 📖 -> https://webpack.js.org/configuration/externals/ + // modules added here also need to be added in the .vscodeignore file + }, + resolve: { + // support reading TypeScript and JavaScript files, 📖 -> https://github.com/TypeStrong/ts-loader + extensions: ['.ts', '.js'], + }, + module: { + rules: [ + { + test: /\.m?ts$/, + exclude: /(node_modules)/, + use: { + loader: 'swc-loader', + }, + }, + ], + }, + devtool: 'nosources-source-map', + infrastructureLogging: { + level: 'error', // enables logging required for problem matchers + }, + plugins: [ + new DefinePlugin({ + 'process.env.version': JSON.stringify(pkgInfo.version), + }), + ], +}; +module.exports = [extensionConfig]; diff --git a/yarn.lock b/yarn.lock index a392b8f..6bcfe66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,390 +2,1358 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@angular-devkit/core@17.1.2": + version "17.1.2" + resolved "https://registry.npmmirror.com/@angular-devkit/core/-/core-17.1.2.tgz#bf2c3475e9ff853dc53d8dc8ce9bbf8b2f1193f8" + integrity sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw== + dependencies: + ajv "8.12.0" + ajv-formats "2.1.1" + jsonc-parser "3.2.0" + picomatch "3.0.1" + rxjs "7.8.1" + source-map "0.7.4" + +"@angular-devkit/schematics-cli@17.1.2": + version "17.1.2" + resolved "https://registry.npmmirror.com/@angular-devkit/schematics-cli/-/schematics-cli-17.1.2.tgz#7a77e8294071e5ba569e2ffb567b3301d1db3f07" + integrity sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg== + dependencies: + "@angular-devkit/core" "17.1.2" + "@angular-devkit/schematics" "17.1.2" + ansi-colors "4.1.3" + inquirer "9.2.12" + symbol-observable "4.0.0" + yargs-parser "21.1.1" + +"@angular-devkit/schematics@17.1.2": + version "17.1.2" + resolved "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-17.1.2.tgz#ca77a86ed44ab227614aff6e1f7ce4f3cd0c6ded" + integrity sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA== + dependencies: + "@angular-devkit/core" "17.1.2" + jsonc-parser "3.2.0" + magic-string "0.30.5" + ora "5.4.1" + rxjs "7.8.1" + +"@azure-rest/ai-translation-text@^1.0.0-beta.1": + version "1.0.0-beta.1" + resolved "https://registry.npmmirror.com/@azure-rest/ai-translation-text/-/ai-translation-text-1.0.0-beta.1.tgz#bf61811d0a3fc7e689e91b5a5452d0128e270b67" + integrity sha512-h1xDrmVRbk6eAAqTHxy9Npv543cWteqgop15sVXBQhadOwzHoREn+UqMCzNfvL6/AjiInUlwNSaNQK1ANgobLA== + dependencies: + "@azure-rest/core-client" "^1.1.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-rest-pipeline" "^1.8.0" + "@azure/logger" "^1.0.0" + tslib "^2.2.0" + +"@azure-rest/core-client@^1.1.0": + version "1.3.1" + resolved "https://registry.npmmirror.com/@azure-rest/core-client/-/core-client-1.3.1.tgz#d8d711cc177fcef825c66a30ede402b0e1d4421d" + integrity sha512-wyFZjWCZeHX7qiQRalDYHwRzgU/2wYuOCxnQjmCKy+Qt+KQZ12KlqM8DQcKi080yDrA94nx1HPA9695pc+p3lA== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-rest-pipeline" "^1.5.0" + "@azure/core-tracing" "^1.0.1" + "@azure/core-util" "^1.0.0" + tslib "^2.6.2" + +"@azure/abort-controller@^2.0.0": + version "2.1.1" + resolved "https://registry.npmmirror.com/@azure/abort-controller/-/abort-controller-2.1.1.tgz#ad4a964ce50a1eaed70ed2d2ef77c8de5708d10b" + integrity sha512-NhzeNm5zu2fPlwGXPUjzsRCRuPx5demaZyNcyNYJDqpa/Sbxzvo/RYt9IwUaAOnDW5+r7J9UOE6f22TQnb9nhQ== + dependencies: + tslib "^2.6.2" + +"@azure/core-auth@^1.3.0", "@azure/core-auth@^1.4.0": + version "1.7.1" + resolved "https://registry.npmmirror.com/@azure/core-auth/-/core-auth-1.7.1.tgz#ca75bc663b6463602fb10471db60f09368a1a3d2" + integrity sha512-dyeQwvgthqs/SlPVQbZQetpslXceHd4i5a7M/7z/lGEAVwnSluabnQOjF2/dk/hhWgMISusv1Ytp4mQ8JNy62A== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-util" "^1.1.0" + tslib "^2.6.2" + +"@azure/core-rest-pipeline@^1.5.0", "@azure/core-rest-pipeline@^1.8.0": + version "1.15.1" + resolved "https://registry.npmmirror.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.15.1.tgz#cdf69ea220fa41f51213bd584d5c13f7f058dc9e" + integrity sha512-ZxS6i3eHxh86u+1eWZJiYywoN2vxvsSoAUx60Mny8cZ4nTwvt7UzVVBJO+m2PW2KIJfNiXMt59xBa59htOWL4g== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.4.0" + "@azure/core-tracing" "^1.0.1" + "@azure/core-util" "^1.3.0" + "@azure/logger" "^1.0.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + tslib "^2.6.2" + +"@azure/core-tracing@^1.0.1": + version "1.1.1" + resolved "https://registry.npmmirror.com/@azure/core-tracing/-/core-tracing-1.1.1.tgz#fee7d0a2ff0d3988ad8d7b051d4d163b70bb0ad9" + integrity sha512-qPbYhN1pE5XQ2jPKIHP33x8l3oBu1UqIWnYqZZ3OYnYjzY0xqIHjn49C+ptsPD9yC7uyWI9Zm7iZUZLs2R4DhQ== + dependencies: + tslib "^2.6.2" + +"@azure/core-util@^1.0.0", "@azure/core-util@^1.1.0", "@azure/core-util@^1.3.0": + version "1.8.1" + resolved "https://registry.npmmirror.com/@azure/core-util/-/core-util-1.8.1.tgz#4a14ddb338dc1acf2ea7628b5b1cccdb5b6fbfbf" + integrity sha512-L3voj0StUdJ+YKomvwnTv7gHzguJO+a6h30pmmZdRprJCM+RJlGMPxzuh4R7lhQu1jNmEtaHX5wvTgWLDAmbGQ== + dependencies: + "@azure/abort-controller" "^2.0.0" + tslib "^2.6.2" + +"@azure/logger@^1.0.0": + version "1.1.1" + resolved "https://registry.npmmirror.com/@azure/logger/-/logger-1.1.1.tgz#5daa10d3b6ace11a1291d4edec0f70f6c9e3dcda" + integrity sha512-/+4TtokaGgC+MnThdf6HyIH9Wrjp+CnCn3Nx3ggevN7FFjjNyjqg0yLlc2i9S+Z2uAzI8GYOo35Nzb1MhQ89MA== + dependencies: + tslib "^2.6.2" + "@babel/code-frame@7.12.11": version "7.12.11" - resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8= + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha1-yaHwIZF9y1zPDU5FPjmQIpgfye0= - -"@babel/highlight@^7.10.4": - version "7.13.10" - resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha1-qLKmYUj1sn1maxXYF3Q0enMdUtE= +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": + version "7.24.2" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.2": + version "7.24.2" + resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26" + integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5": + version "7.24.1" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.1.tgz#431f9a794d173b53720e69a6464abc6f0e2a5c57" + integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ== + dependencies: + regenerator-runtime "^0.14.0" -"@eslint/eslintrc@^0.4.0": +"@changesets/apply-release-plan@^7.0.0": + version "7.0.0" + resolved "https://registry.npmmirror.com/@changesets/apply-release-plan/-/apply-release-plan-7.0.0.tgz#ce3c3dfc5720550a5d592b54ad2f411f816ec5ff" + integrity sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/config" "^3.0.0" + "@changesets/get-version-range-type" "^0.4.0" + "@changesets/git" "^3.0.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + detect-indent "^6.0.0" + fs-extra "^7.0.1" + lodash.startcase "^4.4.0" + outdent "^0.5.0" + prettier "^2.7.1" + resolve-from "^5.0.0" + semver "^7.5.3" + +"@changesets/assemble-release-plan@^6.0.0": + version "6.0.0" + resolved "https://registry.npmmirror.com/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.0.tgz#c69969b4bef7c32a8544b6941d1053260ca47e05" + integrity sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/errors" "^0.2.0" + "@changesets/get-dependents-graph" "^2.0.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + semver "^7.5.3" + +"@changesets/changelog-git@^0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@changesets/changelog-git/-/changelog-git-0.2.0.tgz#1f3de11becafff5a38ebe295038a602403c93a86" + integrity sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ== + dependencies: + "@changesets/types" "^6.0.0" + +"@changesets/cli@^2.27.1": + version "2.27.1" + resolved "https://registry.npmmirror.com/@changesets/cli/-/cli-2.27.1.tgz#abce480fd30b9abbe2cfcf07d5d668c364ce2804" + integrity sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/apply-release-plan" "^7.0.0" + "@changesets/assemble-release-plan" "^6.0.0" + "@changesets/changelog-git" "^0.2.0" + "@changesets/config" "^3.0.0" + "@changesets/errors" "^0.2.0" + "@changesets/get-dependents-graph" "^2.0.0" + "@changesets/get-release-plan" "^4.0.0" + "@changesets/git" "^3.0.0" + "@changesets/logger" "^0.1.0" + "@changesets/pre" "^2.0.0" + "@changesets/read" "^0.6.0" + "@changesets/types" "^6.0.0" + "@changesets/write" "^0.3.0" + "@manypkg/get-packages" "^1.1.3" + "@types/semver" "^7.5.0" + ansi-colors "^4.1.3" + chalk "^2.1.0" + ci-info "^3.7.0" + enquirer "^2.3.0" + external-editor "^3.1.0" + fs-extra "^7.0.1" + human-id "^1.0.2" + meow "^6.0.0" + outdent "^0.5.0" + p-limit "^2.2.0" + preferred-pm "^3.0.0" + resolve-from "^5.0.0" + semver "^7.5.3" + spawndamnit "^2.0.0" + term-size "^2.1.0" + tty-table "^4.1.5" + +"@changesets/config@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@changesets/config/-/config-3.0.0.tgz#a1a1cafc77134b117b4a9266459c84fdd360a6be" + integrity sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA== + dependencies: + "@changesets/errors" "^0.2.0" + "@changesets/get-dependents-graph" "^2.0.0" + "@changesets/logger" "^0.1.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + fs-extra "^7.0.1" + micromatch "^4.0.2" + +"@changesets/errors@^0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@changesets/errors/-/errors-0.2.0.tgz#3c545e802b0f053389cadcf0ed54e5636ff9026a" + integrity sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow== + dependencies: + extendable-error "^0.1.5" + +"@changesets/get-dependents-graph@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@changesets/get-dependents-graph/-/get-dependents-graph-2.0.0.tgz#97f0cc9fbec436e0d6ab95a6a59c08acf21ac714" + integrity sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA== + dependencies: + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + chalk "^2.1.0" + fs-extra "^7.0.1" + semver "^7.5.3" + +"@changesets/get-release-plan@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@changesets/get-release-plan/-/get-release-plan-4.0.0.tgz#8cb057da90a08796a335dfd18073234d33902069" + integrity sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/assemble-release-plan" "^6.0.0" + "@changesets/config" "^3.0.0" + "@changesets/pre" "^2.0.0" + "@changesets/read" "^0.6.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + +"@changesets/get-version-range-type@^0.4.0": version "0.4.0" - resolved "https://registry.npm.taobao.org/@eslint/eslintrc/download/@eslint/eslintrc-0.4.0.tgz?cache=0&sync_timestamp=1614461109275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40eslint%2Feslintrc%2Fdownload%2F%40eslint%2Feslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha1-mcwKBYTXLx3zi5APsGK6mV85VUc= + resolved "https://registry.npmmirror.com/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz#429a90410eefef4368502c41c63413e291740bf5" + integrity sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ== + +"@changesets/git@^3.0.0": + version "3.0.0" + resolved "https://registry.npmmirror.com/@changesets/git/-/git-3.0.0.tgz#e71d003752a97bc27988db6d410e0038a4a88055" + integrity sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/errors" "^0.2.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + is-subdir "^1.1.1" + micromatch "^4.0.2" + spawndamnit "^2.0.0" + +"@changesets/logger@^0.1.0": + version "0.1.0" + resolved "https://registry.npmmirror.com/@changesets/logger/-/logger-0.1.0.tgz#2d2a58536c5beeeaef52ab464931d99fcf24f17b" + integrity sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g== + dependencies: + chalk "^2.1.0" + +"@changesets/parse@^0.4.0": + version "0.4.0" + resolved "https://registry.npmmirror.com/@changesets/parse/-/parse-0.4.0.tgz#5cabbd9844b3b213cb83f5edb5768454c70dd2b4" + integrity sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw== + dependencies: + "@changesets/types" "^6.0.0" + js-yaml "^3.13.1" + +"@changesets/pre@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@changesets/pre/-/pre-2.0.0.tgz#ad3edf3d6ac287991d7ef5e26cf280d03c9e3764" + integrity sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/errors" "^0.2.0" + "@changesets/types" "^6.0.0" + "@manypkg/get-packages" "^1.1.3" + fs-extra "^7.0.1" + +"@changesets/read@^0.6.0": + version "0.6.0" + resolved "https://registry.npmmirror.com/@changesets/read/-/read-0.6.0.tgz#27e13b58d0b0eb3b0a5cba48a3f4f71f05ef4610" + integrity sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/git" "^3.0.0" + "@changesets/logger" "^0.1.0" + "@changesets/parse" "^0.4.0" + "@changesets/types" "^6.0.0" + chalk "^2.1.0" + fs-extra "^7.0.1" + p-filter "^2.1.0" + +"@changesets/types@^4.0.1": + version "4.1.0" + resolved "https://registry.npmmirror.com/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" + integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== + +"@changesets/types@^6.0.0": + version "6.0.0" + resolved "https://registry.npmmirror.com/@changesets/types/-/types-6.0.0.tgz#e46abda9890610dd1fbe1617730173d2267544bd" + integrity sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ== + +"@changesets/write@^0.3.0": + version "0.3.0" + resolved "https://registry.npmmirror.com/@changesets/write/-/write-0.3.0.tgz#c6c5bc390cce4031da20eab8a4ca2d71453a1985" + integrity sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw== + dependencies: + "@babel/runtime" "^7.20.1" + "@changesets/types" "^6.0.0" + fs-extra "^7.0.1" + human-id "^1.0.2" + prettier "^2.7.1" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.4.tgz?cache=0&sync_timestamp=1609074524347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha1-1LNUml213iaD4MEHGrTxQJBLv2k= +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@ljharb/through@^2.3.11": + version "2.3.13" + resolved "https://registry.npmmirror.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" + integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== + dependencies: + call-bind "^1.0.7" + +"@manypkg/find-root@^1.1.0": + version "1.1.0" + resolved "https://registry.npmmirror.com/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" + integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== + dependencies: + "@babel/runtime" "^7.5.5" + "@types/node" "^12.7.1" + find-up "^4.1.0" + fs-extra "^8.1.0" + +"@manypkg/get-packages@^1.1.3": + version "1.1.3" + resolved "https://registry.npmmirror.com/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" + integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== + dependencies: + "@babel/runtime" "^7.5.5" + "@changesets/types" "^4.0.1" + "@manypkg/find-root" "^1.1.0" + fs-extra "^8.1.0" + globby "^11.0.0" + read-yaml-file "^1.1.0" + +"@nestjs/cli@^10.3.2": + version "10.3.2" + resolved "https://registry.npmmirror.com/@nestjs/cli/-/cli-10.3.2.tgz#42d2764ead6633e278c55d42de871b4cc1db002b" + integrity sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg== + dependencies: + "@angular-devkit/core" "17.1.2" + "@angular-devkit/schematics" "17.1.2" + "@angular-devkit/schematics-cli" "17.1.2" + "@nestjs/schematics" "^10.0.1" + chalk "4.1.2" + chokidar "3.6.0" + cli-table3 "0.6.3" + commander "4.1.1" + fork-ts-checker-webpack-plugin "9.0.2" + glob "10.3.10" + inquirer "8.2.6" + node-emoji "1.11.0" + ora "5.4.1" + rimraf "4.4.1" + shelljs "0.8.5" + source-map-support "0.5.21" + tree-kill "1.2.2" + tsconfig-paths "4.2.0" + tsconfig-paths-webpack-plugin "4.1.0" + typescript "5.3.3" + webpack "5.90.1" + webpack-node-externals "3.0.0" + +"@nestjs/schematics@^10.0.1": + version "10.1.1" + resolved "https://registry.npmmirror.com/@nestjs/schematics/-/schematics-10.1.1.tgz#a67fb178a7ad6025ccc3314910b077ac454fcdf3" + integrity sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig== + dependencies: + "@angular-devkit/core" "17.1.2" + "@angular-devkit/schematics" "17.1.2" + comment-json "4.2.3" + jsonc-parser "3.2.1" + pluralize "8.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.4" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz?cache=0&sync_timestamp=1609074523193&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha1-o/LdYbq0O424+hCKEhz//kxnZlU= +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha1-zOk5azCqWv6eN1Zgj1gxrctT0GM= + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.4" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@swc/core-darwin-arm64@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.11.tgz#91ef40816e10495a4038a98dc6c8dfcc85d9c59b" + integrity sha512-C1j1Qp/IHSelVWdEnT7f0iONWxQz6FAqzjCF2iaL+0vFg4V5f2nlgrueY8vj5pNNzSGhrAlxsMxEIp4dj1MXkg== + +"@swc/core-darwin-x64@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.11.tgz#6f71e3cd4687ef5df226ba0b8a20adc52fa7dc9e" + integrity sha512-0TTy3Ni8ncgaMCchSQ7FK8ZXQLlamy0FXmGWbR58c+pVZWYZltYPTmheJUvVcR0H2+gPAymRKyfC0iLszDALjg== + +"@swc/core-linux-arm-gnueabihf@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.11.tgz#08521822b5510cb506bc49e728f416636ff0306f" + integrity sha512-XJLB71uw0rog4DjYAPxFGAuGCBQpgJDlPZZK6MTmZOvI/1t0+DelJ24IjHIxk500YYM26Yv47xPabqFPD7I2zQ== + +"@swc/core-linux-arm64-gnu@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.11.tgz#9485bc591aa573b282d08b168b80a60badb8df9b" + integrity sha512-vYQwzJvm/iu052d5Iw27UFALIN5xSrGkPZXxLNMHPySVko2QMNNBv35HLatkEQHbQ3X+VKSW9J9SkdtAvAVRAQ== + +"@swc/core-linux-arm64-musl@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.11.tgz#85eecad7aaab7e94b1ff15ab9d95e80a1e95f356" + integrity sha512-eV+KduiRYUFjPsvbZuJ9aknQH9Tj0U2/G9oIZSzLx/18WsYi+upzHbgxmIIHJ2VJgfd7nN40RI/hMtxNsUzR/g== + +"@swc/core-linux-x64-gnu@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.11.tgz#16259de893489b4699045e36bf52b2afe5d10f6d" + integrity sha512-WA1iGXZ2HpqM1OR9VCQZJ8sQ1KP2or9O4bO8vWZo6HZJIeoQSo7aa9waaCLRpkZvkng1ct/TF/l6ymqSNFXIzQ== + +"@swc/core-linux-x64-musl@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.11.tgz#0f4e644fc2b62c8c966072389d354337a22b4dde" + integrity sha512-UkVJToKf0owwQYRnGvjHAeYVDfeimCEcx0VQSbJoN7Iy0ckRZi7YPlmWJU31xtKvikE2bQWCOVe0qbSDqqcWXA== + +"@swc/core-win32-arm64-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.11.tgz#d836b79d8730bf83e6b38a5b888e83944d6fb233" + integrity sha512-35khwkyly7lF5NDSyvIrukBMzxPorgc5iTSDfVO/LvnmN5+fm4lTlrDr4tUfTdOhv3Emy7CsKlsNAeFRJ+Pm+w== + +"@swc/core-win32-ia32-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.11.tgz#bc60bbdc65134aaa5b214e2aaf209acfce401d17" + integrity sha512-Wx8/6f0ufgQF2pbVPsJ2dAmFLwIOW+xBE5fxnb7VnEbGkTgP1qMDWiiAtD9rtvDSuODG3i1AEmAak/2HAc6i6A== + +"@swc/core-win32-x64-msvc@1.4.11": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.11.tgz#92fd6d4e2d70bbd4fda438f02310d998db8c7b7c" + integrity sha512-0xRFW6K9UZQH2NVC/0pVB0GJXS45lY24f+6XaPBF1YnMHd8A8GoHl7ugyM5yNUTe2AKhSgk5fJV00EJt/XBtdQ== + +"@swc/core@^1.4.8": + version "1.4.11" + resolved "https://registry.npmmirror.com/@swc/core/-/core-1.4.11.tgz#e91f488df9242584cc6f1b034419f8302aeb0c85" + integrity sha512-WKEakMZxkVwRdgMN4AMJ9K5nysY8g8npgQPczmjBeNK5In7QEAZAJwnyccrWwJZU0XjVeHn2uj+XbOKdDW17rg== + dependencies: + "@swc/counter" "^0.1.2" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.4.11" + "@swc/core-darwin-x64" "1.4.11" + "@swc/core-linux-arm-gnueabihf" "1.4.11" + "@swc/core-linux-arm64-gnu" "1.4.11" + "@swc/core-linux-arm64-musl" "1.4.11" + "@swc/core-linux-x64-gnu" "1.4.11" + "@swc/core-linux-x64-musl" "1.4.11" + "@swc/core-win32-arm64-msvc" "1.4.11" + "@swc/core-win32-ia32-msvc" "1.4.11" + "@swc/core-win32-x64-msvc" "1.4.11" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.npmmirror.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== + +"@swc/types@^0.1.5": + version "0.1.6" + resolved "https://registry.npmmirror.com/@swc/types/-/types-0.1.6.tgz#2f13f748995b247d146de2784d3eb7195410faba" + integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== + dependencies: + "@swc/counter" "^0.1.3" + "@tootallnate/once@1": version "1.1.2" - resolved "https://registry.npm.taobao.org/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha1-zLkURTYBeaBOf+av94wA/8Hur4I= + resolved "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.6" + resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.6.tgz#d5dc16cac025d313ee101108ba5714ea10eb3ed0" + integrity sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/fs-extra@^9.0.6": - version "9.0.9" - resolved "https://registry.npm.taobao.org/@types/fs-extra/download/@types/fs-extra-9.0.9.tgz#11ed43b3f3c6b3490f1ef9bd17f58da896e2d861" - integrity sha1-Ee1Ds/PGs0kPHvm9F/WNqJbi2GE= + version "9.0.13" + resolved "https://registry.npmmirror.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" -"@types/glob@^7.1.3": - version "7.1.3" - resolved "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha1-5rqA82t9qtLGhazZJmOC5omFwYM= +"@types/glob@^8.1.0": + version "8.1.0" + resolved "https://registry.npmmirror.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" + integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== dependencies: - "@types/minimatch" "*" + "@types/minimatch" "^5.1.2" "@types/node" "*" -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz?cache=0&sync_timestamp=1613378919536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0= +"@types/json-schema@*", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/minimatch@*": - version "3.0.4" - resolved "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE= +"@types/minimatch@^5.1.2": + version "5.1.2" + resolved "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/mocha@^8.0.4": - version "8.2.2" - resolved "https://registry.npm.taobao.org/@types/mocha/download/@types/mocha-8.2.2.tgz#91daa226eb8c2ff261e6a8cbf8c7304641e095e0" - integrity sha1-kdqiJuuML/Jh5qjL+McwRkHgleA= + version "8.2.3" + resolved "https://registry.npmmirror.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" + integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== "@types/mustache@^4.1.0": - version "4.1.1" - resolved "https://registry.npm.taobao.org/@types/mustache/download/@types/mustache-4.1.1.tgz?cache=0&sync_timestamp=1613379691649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmustache%2Fdownload%2F%40types%2Fmustache-4.1.1.tgz#fcfa2db0cee6261e66f2437dc2fe71e26c7856b4" - integrity sha1-/PotsM7mJh5m8kN9wv5x4mx4VrQ= + version "4.2.5" + resolved "https://registry.npmmirror.com/@types/mustache/-/mustache-4.2.5.tgz#9129f0d6857f976e00e171bbb3460e4b702f84ef" + integrity sha512-PLwiVvTBg59tGFL/8VpcGvqOu3L4OuveNvPi0EYbWchRdEVP++yRUXJPFl+CApKEq13017/4Nf7aQ5lTtHUNsA== + +"@types/node@*", "@types/node@^20.11.30": + version "20.11.30" + resolved "https://registry.npmmirror.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f" + integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== + dependencies: + undici-types "~5.26.4" + +"@types/node@^12.7.1": + version "12.20.55" + resolved "https://registry.npmmirror.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@*": - version "14.14.36" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.36.tgz?cache=0&sync_timestamp=1616695464439&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.36.tgz#5637905dbb15c30a33a3c65b9ef7c20e3c85ebad" - integrity sha1-VjeQXbsVwwozo8ZbnvfCDjyF660= +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== -"@types/node@^12.11.7": - version "12.20.6" - resolved "https://registry.npm.taobao.org/@types/node/download/@types/node-12.20.6.tgz?cache=0&sync_timestamp=1616695464439&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.20.6.tgz#7b73cce37352936e628c5ba40326193443cfba25" - integrity sha1-e3PM43NSk25ijFukAyYZNEPPuiU= +"@types/semver@^7.5.0": + version "7.5.8" + resolved "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== "@types/vscode@^1.52.0": - version "1.54.0" - resolved "https://registry.npm.taobao.org/@types/vscode/download/@types/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" - integrity sha1-0o47NhQFSy1lQ8KUEvYKmGyr2bs= + version "1.87.0" + resolved "https://registry.npmmirror.com/@types/vscode/-/vscode-1.87.0.tgz#ee9b163f3d2115fb0b20619b34dd3abc5a923361" + integrity sha512-y3yYJV2esWr8LNjp3VNbSMWG7Y43jC8pCldG8YwiHGAQbsymkkMMt0aDT1xZIOFM2eFcNiUc+dJMx1+Z0UT8fg== "@typescript-eslint/eslint-plugin@^4.9.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.19.0.tgz?cache=0&sync_timestamp=1616464321939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" - integrity sha1-VvjanuEY/pdjrzTWpSaWcjT2p/A= + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "@typescript-eslint/experimental-utils" "4.19.0" - "@typescript-eslint/scope-manager" "4.19.0" - debug "^4.1.1" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.19.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.19.0.tgz#9ca379919906dc72cb0fcd817d6cb5aa2d2054c6" - integrity sha1-nKN5kZkG3HLLD82BfWy1qi0gVMY= - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/parser@^4.9.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-4.19.0.tgz?cache=0&sync_timestamp=1616464268940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.19.0.tgz#4ae77513b39f164f1751f21f348d2e6cb2d11128" - integrity sha1-Sud1E7OfFk8XUfIfNI0ubLLRESg= +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: - "@typescript-eslint/scope-manager" "4.19.0" - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/typescript-estree" "4.19.0" - debug "^4.1.1" + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/scope-manager@4.19.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.19.0.tgz#5e0b49eca4df7684205d957c9856f4e720717a4f" - integrity sha1-XgtJ7KTfdoQgXZV8mFb05yBxek8= +"@typescript-eslint/parser@^4.9.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" - -"@typescript-eslint/types@4.19.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.19.0.tgz?cache=0&sync_timestamp=1616464337463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.19.0.tgz#5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568" - integrity sha1-UYHV0q/QLluPFJ67N//IvXsHpWg= - -"@typescript-eslint/typescript-estree@4.19.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.19.0.tgz#8a709ffa400284ab72df33376df085e2e2f61147" - integrity sha1-inCf+kAChKty3zM3bfCF4uL2EUc= + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: - "@typescript-eslint/types" "4.19.0" - "@typescript-eslint/visitor-keys" "4.19.0" - debug "^4.1.1" - globby "^11.0.1" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.19.0": - version "4.19.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.19.0.tgz#cbea35109cbd9b26e597644556be4546465d8f7f" - integrity sha1-y+o1EJy9mybll2RFVr5FRkZdj38= +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" "@ungap/promise-all-settled@1.1.2": version "1.1.2" - resolved "https://registry.npm.taobao.org/@ungap/promise-all-settled/download/@ungap/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha1-qlgEJxHW4ydd033Fl+XTHowpCkQ= + resolved "https://registry.npmmirror.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +"@vscode/l10n-dev@^0.0.34": + version "0.0.34" + resolved "https://registry.npmmirror.com/@vscode/l10n-dev/-/l10n-dev-0.0.34.tgz#6881e91360421566752f2e8d905bca3007b552a0" + integrity sha512-0y6FDDPG0BZltGl+yDxl3jQRB4Jn9B8kaSw1cMKJoHM5IYLovl4B635eKf6KtAY8/MNfv8T9j9xF1qsm2jvstg== + dependencies: + "@azure-rest/ai-translation-text" "^1.0.0-beta.1" + debug "^4.3.4" + deepmerge-json "^1.5.0" + glob "^10.0.0" + markdown-it "^14.0.0" + node-html-markdown "^1.3.0" + pseudo-localization "^2.4.0" + web-tree-sitter "^0.20.8" + xml2js "^0.5.0" + yargs "^17.7.1" + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5", "@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.npmmirror.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.npmmirror.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.npmmirror.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns= + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^7.4.0: version "7.4.1" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1615305874483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= + resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== agent-base@6: version "6.0.2" - resolved "https://registry.npm.taobao.org/agent-base/download/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c= + resolved "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1616485145787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + debug "^4.3.4" -ajv@^7.0.2: - version "7.2.3" - resolved "https://registry.npm.taobao.org/ajv/download/ajv-7.2.3.tgz?cache=0&sync_timestamp=1616485145787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-7.2.3.tgz#ca78d1cf458d7d36d1c3fa0794dd143406db5772" - integrity sha1-ynjRz0WNfTbRw/oHlN0UNAbbV3I= +ajv-formats@2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@8.12.0, ajv@^8.0.0, ajv@^8.0.1: + version "8.12.0" + resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@4.1.1: version "4.1.1" - resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha1-y7muJWv3UK8eqzRPIpqif+lLo0g= + resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-colors@4.1.3, ansi-colors@^4.1.1, ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: + version "4.3.2" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-escapes@^6.2.0: + version "6.2.1" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" + integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + version "3.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1611327117754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha1-7dgDYornHATIWuegkG7a00tkiTc= + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= +ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: + version "6.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.1, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" argparse@^1.0.7: version "1.0.10" - resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npm.taobao.org/argparse/download/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg= + resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-timsort@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" + integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624302839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.flat@^1.2.3: + version "1.3.2" + resolved "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= + resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha1-YCzUtG6EStTv/JKoARo8RuAjjcI= + resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +better-path-resolve@1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + resolved "https://registry.npmmirror.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" + integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== + dependencies: + is-windows "^1.0.0" big-integer@^1.6.17: - version "1.6.48" - resolved "https://registry.npm.taobao.org/big-integer/download/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" - integrity sha1-j9iL0WMsukocjD49cVnwi7lbS54= + version "1.6.52" + resolved "https://registry.npmmirror.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + version "2.3.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== binary@~0.3.0: version "0.3.0" - resolved "https://registry.npm.taobao.org/binary/download/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + resolved "https://registry.npmmirror.com/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg== dependencies: buffers "~0.1.1" chainsaw "~0.1.0" +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bluebird@~3.4.1: version "3.4.7" - resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1, braces@~3.0.2: +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" +breakword@^1.0.5: + version "1.0.6" + resolved "https://registry.npmmirror.com/breakword/-/breakword-1.0.6.tgz#242506e7b871b7fad1bce8dc05cb0f2a129c12bd" + integrity sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw== + dependencies: + wcwidth "^1.0.1" + browser-stdout@1.3.1: version "1.3.1" - resolved "https://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA= + resolved "https://registry.npmmirror.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserslist@^4.21.10: + version "4.23.0" + resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof-polyfill@~1.0.0: version "1.0.2" - resolved "https://registry.npm.taobao.org/buffer-indexof-polyfill/download/buffer-indexof-polyfill-1.0.2.tgz?cache=0&sync_timestamp=1599616507344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer-indexof-polyfill%2Fdownload%2Fbuffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha1-0nMhNcWZnGSyd/z5savjSYJUcpw= + resolved "https://registry.npmmirror.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" buffers@~0.1.1: version "0.1.1" - resolved "https://registry.npm.taobao.org/buffers/download/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + resolved "https://registry.npmmirror.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk= + version "6.3.0" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-lite@^1.0.30001587: + version "1.0.30001600" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079" + integrity sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== chainsaw@~0.1.0: version "0.1.0" - resolved "https://registry.npm.taobao.org/chainsaw/download/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + resolved "https://registry.npmmirror.com/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ== dependencies: traverse ">=0.3.0 <0.4" -chalk@^2.0.0: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@5.3.0, chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== chokidar@3.5.1: version "3.5.1" - resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610719440699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha1-7pznu+vSt59J8wR5nVRo4x4U5oo= + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -397,175 +1365,653 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" +chokidar@3.6.0, chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^3.7.0: + version "3.9.0" + resolved "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + +cli-spinners@^2.5.0: + version "2.9.2" + resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== + +cli-table3@0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== + dependencies: + slice-ansi "^5.0.0" + string-width "^7.0.0" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cli-width@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" + integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + cliui@^7.0.2: version "7.0.4" - resolved "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= + resolved "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@11.1.0: + version "11.1.0" + resolved "https://registry.npmmirror.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" + integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== + +commander@4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +comment-json@4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/comment-json/-/comment-json-4.2.3.tgz#50b487ebbf43abe44431f575ebda07d30d015365" + integrity sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw== + dependencies: + array-timsort "^1.0.3" + core-util-is "^1.0.3" + esprima "^4.0.1" + has-own-prop "^2.0.0" + repeat-string "^1.6.1" concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@^1.0.3, core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + +cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.1: +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +csv-generate@^3.4.3: + version "3.4.3" + resolved "https://registry.npmmirror.com/csv-generate/-/csv-generate-3.4.3.tgz#bc42d943b45aea52afa896874291da4b9108ffff" + integrity sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== + +csv-parse@^4.16.3: + version "4.16.3" + resolved "https://registry.npmmirror.com/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" + integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== + +csv-stringify@^5.6.5: + version "5.6.5" + resolved "https://registry.npmmirror.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" + integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== + +csv@^5.5.3: + version "5.5.3" + resolved "https://registry.npmmirror.com/csv/-/csv-5.5.3.tgz#cd26c1e45eae00ce6a9b7b27dcb94955ec95207d" + integrity sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== + dependencies: + csv-generate "^3.4.3" + csv-parse "^4.16.3" + csv-stringify "^5.6.5" + stream-transform "^2.1.3" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@4.3.1: version "4.3.1" - resolved "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566580543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4= + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + decamelize@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-4.0.0.tgz?cache=0&sync_timestamp=1610348706789&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha1-qkcte/Zg6xXzSU79UxyrfypwmDc= + resolved "https://registry.npmmirror.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge-json@^1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/deepmerge-json/-/deepmerge-json-1.5.0.tgz#6daa3600d53fc1f646604853bc99e95e260fbda0" + integrity sha512-jZRrDmBKjmGcqMFEUJ14FjMJwm05Qaked+1vxaALRtF0UAl7lPU8OLWXFxvoeg3jbQM249VPFVn8g2znaQkEtA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +detect-indent@^6.0.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" + integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== diff@5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/diff/download/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha1-ftatdthZ0DB4fsNYVfWx2vMdhSs= + resolved "https://registry.npmmirror.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.npmmirror.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + duplexer2@~0.1.4: version "0.1.4" - resolved "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + resolved "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA== dependencies: readable-stream "^2.0.2" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.4.668: + version "1.4.721" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.721.tgz#a9ee55ba7e54d9ecbcc19825116f3752e7d60ef2" + integrity sha512-k1x2r6foI8iJOp+1qTxbbrrWMsOiHkzGBYwYigaq+apO1FSqtn44KTo3Sy69qt7CRr7149zTcsDvH7MUKsOuIQ== + +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +enhanced-resolve@^5.15.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: + version "5.16.0" + resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" + integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00= +enquirer@^2.3.0, enquirer@^2.3.5: + version "2.4.1" + resolved "https://registry.npmmirror.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== dependencies: ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +envinfo@^7.7.3: + version "7.11.1" + resolved "https://registry.npmmirror.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" + integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0: + version "1.23.2" + resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.2.tgz#693312f3940f967b8dd3eebacb590b01712622e0" + integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.5" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.5.0" + resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz#4878fee3789ad99e065f975fdd3c645529ff0236" + integrity sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567230854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + version "3.1.2" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== -escape-string-regexp@4.0.0: +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ= + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -eslint-scope@^5.0.0, eslint-scope@^5.1.1: +escape-string-regexp@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== + +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1600070417656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: +eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1599829544231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-2.0.0.tgz?cache=0&sync_timestamp=1599829544231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha1-If3I+82ceVzAMh8FY3AglXUVEag= + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint@^7.15.0: - version "7.22.0" - resolved "https://registry.npm.taobao.org/eslint/download/eslint-7.22.0.tgz?cache=0&sync_timestamp=1615585162826&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" - integrity sha1-B+zGEFL+xjZhosq2vVBxJ8B63G8= + version "7.32.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -574,7 +2020,7 @@ eslint@^7.15.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -583,178 +2029,389 @@ eslint@^7.15.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.npm.taobao.org/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1607144055171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y= + resolved "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565616129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= + version "1.5.0" + resolved "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -fast-deep-equal@^3.1.1: +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +extendable-error@^0.1.5: + version "0.1.7" + resolved "https://registry.npmmirror.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" + integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== + +external-editor@^3.0.3, external-editor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.5.tgz?cache=0&sync_timestamp=1610876505711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha1-eTmvKmVt55pPGQGQPuityqfLlmE= +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz?cache=0&sync_timestamp=1614183592501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha1-u5+5VaBxMKkY62PB9RYcwypdCFg= + version "1.17.1" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +figures@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/figures/-/figures-5.0.0.tgz#126cd055052dea699f8a54e8c9450e6ecfc44d5f" + integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== + dependencies: + escape-string-regexp "^5.0.0" + is-unicode-supported "^1.2.0" + file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794357372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= + resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" -find-up@5.0.0: +find-up@5.0.0, find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/find-up/download/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw= + resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-yarn-workspace-root2@1.2.16: + version "1.2.16" + resolved "https://registry.npmmirror.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" + integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== + dependencies: + micromatch "^4.0.2" + pkg-dir "^4.2.0" + flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE= + version "3.2.0" + resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" flat@^5.0.2: version "5.0.2" - resolved "https://registry.npm.taobao.org/flat/download/flat-5.0.2.tgz?cache=0&sync_timestamp=1602727258278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat%2Fdownload%2Fflat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha1-jKb+MyBp/6nTJMMnGYxZglnOskE= + resolved "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" -flatted@^3.1.0: +foreground-child@^3.1.0: version "3.1.1" - resolved "https://registry.npm.taobao.org/flatted/download/flatted-3.1.1.tgz?cache=0&sync_timestamp=1611061316677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha1-xLSJ6ACW2d8d/JfHmHGup8YXxGk= + resolved "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fork-ts-checker-webpack-plugin@9.0.2: + version "9.0.2" + resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz#c12c590957837eb02b02916902dcf3e675fd2b1e" + integrity sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg== + dependencies: + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^8.2.0" + deepmerge "^4.2.2" + fs-extra "^10.0.0" + memfs "^3.4.1" + minimatch "^3.0.4" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" fs-extra@^9.0.1: version "9.1.0" - resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.1.0.tgz?cache=0&sync_timestamp=1611075413359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0= + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" universalify "^2.0.0" +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.1: - version "2.3.2" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612537044236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro= +fsevents@~2.3.1, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== fstream@^1.0.12: version "1.0.12" - resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU= + resolved "https://registry.npmmirror.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: graceful-fs "^4.1.2" inherits "~2.0.0" mkdirp ">=0.5 0" rimraf "2" +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + resolved "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -get-caller-file@^2.0.5: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@7.1.6, glob@^7.1.3, glob@^7.1.6: +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@10.3.10: + version "10.3.10" + resolved "https://registry.npmmirror.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@7.1.6: version "7.1.6" - resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + resolved "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -763,278 +2420,989 @@ glob@7.1.6, glob@^7.1.3, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1616075441021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= +glob@^10.0.0: + version "10.3.12" + resolved "https://registry.npmmirror.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" + integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== dependencies: - type-fest "^0.8.1" + foreground-child "^3.1.0" + jackspeak "^2.3.6" + minimatch "^9.0.1" + minipass "^7.0.4" + path-scurry "^1.10.2" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" -globals@^13.6.0: - version "13.7.0" - resolved "https://registry.npm.taobao.org/globals/download/globals-13.7.0.tgz?cache=0&sync_timestamp=1616075441021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" - integrity sha1-rtO879gK0+wPC+LPDIlREMBZF5U= +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.npmmirror.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +globals@^13.6.0, globals@^13.9.0: + version "13.24.0" + resolved "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" -globby@^11.0.1: - version "11.0.3" - resolved "https://registry.npm.taobao.org/globby/download/globby-11.0.3.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha1-mx8MtSPhcd0a2MeyqftLZEuVk8s= +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.0, globby@^11.0.3: + version "11.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.6" - resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4= +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== growl@1.10.5: version "1.10.5" - resolved "https://registry.npm.taobao.org/growl/download/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4= + resolved "https://registry.npmmirror.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-own-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" + integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" he@1.2.0: version "1.2.0" - resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== http-proxy-agent@^4.0.1: version "4.0.1" - resolved "https://registry.npm.taobao.org/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha1-ioyO9/WTLM+VPClsqCkblap0qjo= + resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: "@tootallnate/once" "1" agent-base "6" debug "4" +http-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha1-4qkFQqu2inYuCghQ9sntrf2FBrI= + version "5.0.1" + resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" debug "4" +https-proxy-agent@^7.0.0: + version "7.0.4" + resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" + integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== + dependencies: + agent-base "^7.0.2" + debug "4" + +human-id@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" + integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +husky@^9.0.11: + version "9.0.11" + resolved "https://registry.npmmirror.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" + integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^4.0.6: version "4.0.6" - resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha1-8VCotQo0KJsz4i9YiavU2AFvDlc= +ignore@^5.1.8, ignore@^5.2.0: + version "5.3.1" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" - resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469485280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@~2.0.0, inherits@~2.0.3: +inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inquirer@8.2.6: + version "8.2.6" + resolved "https://registry.npmmirror.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + +inquirer@9.2.12: + version "9.2.12" + resolved "https://registry.npmmirror.com/inquirer/-/inquirer-9.2.12.tgz#0348e9311765b7c93fce143bb1c0ef1ae879b1d7" + integrity sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q== + dependencies: + "@ljharb/through" "^2.3.11" + ansi-escapes "^4.3.2" + chalk "^5.3.0" + cli-cursor "^3.1.0" + cli-width "^4.1.0" + external-editor "^3.1.0" + figures "^5.0.0" + lodash "^4.17.21" + mute-stream "1.0.0" + ora "^5.4.1" + run-async "^3.0.0" + rxjs "^7.8.1" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wrap-ansi "^6.2.0" + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-obj@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-subdir@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" + integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== + dependencies: + better-path-resolve "1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-unicode-supported@^1.2.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" + integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-windows@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jackspeak@^2.3.5, jackspeak@^2.3.6: + version "2.3.6" + resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha1-9Ca8D/S0BRkmzViMcRExg0CaEh8= + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== dependencies: argparse "^2.0.1" -js-yaml@^3.13.1: +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.6.1: version "3.14.1" - resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@3.2.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== + +jsonc-parser@3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161917513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^4.1.5: + version "4.1.5" + resolved "https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + levn@^0.4.1: version "0.4.1" - resolved "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha1-rkViwAdHO5MqYgDUAyaN0v/8at4= + resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" +lilconfig@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +linkify-it@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== + dependencies: + uc.micro "^2.0.0" + +lint-staged@^15.2.2: + version "15.2.2" + resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-15.2.2.tgz#ad7cbb5b3ab70e043fa05bff82a09ed286bc4c5f" + integrity sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw== + dependencies: + chalk "5.3.0" + commander "11.1.0" + debug "4.3.4" + execa "8.0.1" + lilconfig "3.0.0" + listr2 "8.0.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.4" + listenercount@~1.0.1: version "1.0.1" - resolved "https://registry.npm.taobao.org/listenercount/download/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + resolved "https://registry.npmmirror.com/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ== + +listr2@8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/listr2/-/listr2-8.0.1.tgz#4d3f50ae6cec3c62bdf0e94f5c2c9edebd4b9c34" + integrity sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.0.0" + rfdc "^1.3.0" + wrap-ansi "^9.0.0" + +load-yaml-file@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" + integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.13.0" + pify "^4.0.1" + strip-bom "^3.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha1-VTIeswn+u8WcSAHZMackUqaB0oY= + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.startcase@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" + integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835860585&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-symbols@4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha1-abPMRtIPRI7M23XqH6cz2eghySA= + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: chalk "^4.0.0" +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== + dependencies: + ansi-escapes "^6.2.0" + cli-cursor "^4.0.0" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + +lru-cache@^10.2.0: + version "10.2.0" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" + integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" -merge2@^1.3.0: +magic-string@0.30.5: + version "0.30.5" + resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +markdown-it@^14.0.0: + version "14.1.0" + resolved "https://registry.npmmirror.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== + dependencies: + argparse "^2.0.1" + entities "^4.4.0" + linkify-it "^5.0.0" + mdurl "^2.0.0" + punycode.js "^2.3.1" + uc.micro "^2.1.0" + +mdurl@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== + +memfs@^3.4.1: + version "3.6.0" + resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +meow@^6.0.0: + version "6.1.1" + resolved "https://registry.npmmirror.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" + integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "^4.0.2" + normalize-package-data "^2.5.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.13.1" + yargs-parser "^18.1.3" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk= +micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - braces "^3.0.1" - picomatch "^2.0.5" + mime-db "1.52.0" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -minimatch@3.0.4, minimatch@^3.0.4: +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@3.0.4: version "3.0.4" - resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1606706583368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.1: + version "9.0.4" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimist-options@^4.0.2: + version "4.1.0" + resolved "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.npmmirror.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: + version "7.0.4" + resolved "https://registry.npmmirror.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== + +mixme@^0.5.1: + version "0.5.10" + resolved "https://registry.npmmirror.com/mixme/-/mixme-0.5.10.tgz#d653b2984b75d9018828f1ea333e51717ead5f51" + integrity sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q== "mkdirp@>=0.5 0": - version "0.5.5" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + version "0.5.6" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: - minimist "^1.2.5" + minimist "^1.2.6" mocha@^8.1.3: - version "8.3.2" - resolved "https://registry.npm.taobao.org/mocha/download/mocha-8.3.2.tgz?cache=0&sync_timestamp=1615538684891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmocha%2Fdownload%2Fmocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc" - integrity sha1-U0BvGV+ob73r5x+LHG+yMiHWn8w= + version "8.4.0" + resolved "https://registry.npmmirror.com/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" + integrity sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ== dependencies: "@ungap/promise-all-settled" "1.1.2" ansi-colors "4.1.1" @@ -1064,135 +3432,435 @@ mocha@^8.1.3: ms@2.1.2: version "2.1.2" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@2.1.3: version "2.1.3" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.3.tgz?cache=0&sync_timestamp=1607433905701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mustache@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/mustache/download/mustache-4.1.0.tgz?cache=0&sync_timestamp=1615716640730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmustache%2Fdownload%2Fmustache-4.1.0.tgz#8c1b042238a982d2eb2d30efc6c14296ae3f699d" - integrity sha1-jBsEIjipgtLrLTDvxsFClq4/aZ0= + version "4.2.0" + resolved "https://registry.npmmirror.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" + integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mute-stream@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== nanoid@3.1.20: version "3.1.20" - resolved "https://registry.npm.taobao.org/nanoid/download/nanoid-3.1.20.tgz?cache=0&sync_timestamp=1615820310415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha1-utwmPGsdzxS3HvqoX2q0wdbPx4g= + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== + +node-emoji@1.11.0: + version "1.11.0" + resolved "https://registry.npmmirror.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-html-markdown@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/node-html-markdown/-/node-html-markdown-1.3.0.tgz#ef0b19a3bbfc0f1a880abb9ff2a0c9aa6bbff2a9" + integrity sha512-OeFi3QwC/cPjvVKZ114tzzu+YoR+v9UXW5RwSXGUqGb0qCl0DvP406tzdL7SFn8pZrMyzXoisfG2zcuF9+zw4g== + dependencies: + node-html-parser "^6.1.1" + +node-html-parser@^6.1.1: + version "6.1.13" + resolved "https://registry.npmmirror.com/node-html-parser/-/node-html-parser-6.1.13.tgz#a1df799b83df5c6743fcd92740ba14682083b7e4" + integrity sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg== + dependencies: + css-select "^5.1.0" + he "1.2.0" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-inspect@^1.13.1: + version "1.13.1" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" once@^1.3.0: version "1.4.0" - resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk= + version "0.9.3" + resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" + +ora@5.4.1, ora@^5.4.1: + version "5.4.1" + resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +outdent@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" + integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== + +p-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" + integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== + dependencies: + p-map "^2.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1606288549008&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs= + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ= + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1, path-scurry@^1.10.2, path-scurry@^1.6.1: + version "1.10.2" + resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" + integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" + integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= +pluralize@8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +preferred-pm@^3.0.0: + version "3.1.3" + resolved "https://registry.npmmirror.com/preferred-pm/-/preferred-pm-3.1.3.tgz#4125ea5154603136c3b6444e5f5c94ecf90e4916" + integrity sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w== + dependencies: + find-up "^5.0.0" + find-yarn-workspace-root2 "1.2.16" + path-exists "^4.0.0" + which-pm "2.0.0" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha1-3rxkidem5rDnYRiIzsiAM30xY5Y= + resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier@^2.7.1: + version "2.8.8" + resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.npmmirror.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== process-nextick-args@~2.0.0: version "2.0.1" - resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +pseudo-localization@^2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/pseudo-localization/-/pseudo-localization-2.4.0.tgz#5c19da35bc182ad7fc00d82d33dd42e88005e241" + integrity sha512-ISYMOKY8+f+PmiXMFw2y6KLY74LBrv/8ml/VjjoVEV2k+MS+OJZz7ydciK5ntJwxPrKQPTU1+oXq9Mx2b0zEzg== + dependencies: + flat "^5.0.2" + get-stdin "^7.0.0" + typescript "^4.7.4" + yargs "^17.2.1" -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +punycode.js@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + version "2.3.1" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391510274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read-yaml-file@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" + integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== + dependencies: + graceful-fs "^4.1.5" + js-yaml "^3.6.1" + pify "^4.0.1" + strip-bom "^3.0.0" + readable-stream@^2.0.2, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + version "2.3.8" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -1202,253 +3870,872 @@ readable-stream@^2.0.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@~3.5.0: version "3.5.0" - resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4= + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== dependencies: picomatch "^2.2.1" -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI= +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.npmmirror.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npm.taobao.org/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= + resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rimraf@2: version "2.7.1" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" +rimraf@4.4.1: + version "4.4.1" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== + dependencies: + glob "^9.2.0" + rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-async@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/run-async/-/run-async-3.0.0.tgz#42a432f6d76c689522058984384df28be379daad" + integrity sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== + run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.1.0: +rxjs@7.8.1, rxjs@^7.5.5, rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@>=0.6.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== -semver@^7.2.1, semver@^7.3.2: - version "7.3.5" - resolved "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc= +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^7.2.1, semver@^7.3.5, semver@^7.5.3: + version "7.6.0" + resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== dependencies: lru-cache "^6.0.0" serialize-javascript@5.0.1: version "5.0.1" - resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha1-eIbshIBJpGJGepfT2Rjrsqr5NPQ= + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + setimmediate@~1.0.4: version "1.0.5" - resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + resolved "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@0.8.5: + version "0.8.5" + resolved "https://registry.npmmirror.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +side-channel@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1, signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + +smartwrap@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" + integrity sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== + dependencies: + array.prototype.flat "^1.2.3" + breakword "^1.0.5" + grapheme-splitter "^1.0.4" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + yargs "^15.1.0" + +source-map-support@0.5.21, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spawndamnit@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" + integrity sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== + dependencies: + cross-spawn "^5.1.0" + signal-exit "^3.0.2" + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.17" + resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" + integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stream-transform@^2.1.3: + version "2.1.3" + resolved "https://registry.npmmirror.com/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" + integrity sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== + dependencies: + mixme "^0.5.1" + +string-argv@0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" "string-width@^1.0.2 || 2": version "2.1.1" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1614522217971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1614522217971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU= +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.7: + version "1.0.8" + resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" string_decoder@~1.1.1: version "1.1.1" - resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== dependencies: ansi-regex "^3.0.0" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= +strip-ansi@^7.0.1, strip-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: - ansi-regex "^5.0.0" + min-indent "^1.0.0" strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1606706346538&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -supports-color@8.1.1: +supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-8.1.1.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw= + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1611394043517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -table@^6.0.4: - version "6.0.7" - resolved "https://registry.npm.taobao.org/table/download/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha1-5FiX/7zBvPnoqHv0IPLJ5aelKjQ= +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +swc-loader@^0.2.6: + version "0.2.6" + resolved "https://registry.npmmirror.com/swc-loader/-/swc-loader-0.2.6.tgz#bf0cba8eeff34bb19620ead81d1277fefaec6bc8" + integrity sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg== + dependencies: + "@swc/counter" "^0.1.3" + +symbol-observable@4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + +table@^6.0.9: + version "6.8.2" + resolved "https://registry.npmmirror.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== dependencies: - ajv "^7.0.2" - lodash "^4.17.20" + ajv "^8.0.1" + lodash.truncate "^4.4.2" slice-ansi "^4.0.0" - string-width "^4.2.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.30.0" + resolved "https://registry.npmmirror.com/terser/-/terser-5.30.0.tgz#64cb2af71e16ea3d32153f84d990f9be0cdc22bf" + integrity sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" "traverse@>=0.3.0 <0.4": version "0.3.9" - resolved "https://registry.npm.taobao.org/traverse/download/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + resolved "https://registry.npmmirror.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== + +tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +tsconfig-paths-webpack-plugin@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz#3c6892c5e7319c146eee1e7302ed9e6f2be4f763" + integrity sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.7.0" + tsconfig-paths "^4.1.2" + +tsconfig-paths@4.2.0, tsconfig-paths@^4.1.2: + version "4.2.0" + resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.0.0" tslib@^1.8.1: version "1.14.1" - resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1609887438976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.1.0, tslib@^2.2.0, tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tsutils@^3.17.1: +tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138205781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM= + resolved "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" +tty-table@^4.1.5: + version "4.2.3" + resolved "https://registry.npmmirror.com/tty-table/-/tty-table-4.2.3.tgz#e33eb4007a0a9c976c97c37fa13ba66329a5c515" + integrity sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA== + dependencies: + chalk "^4.1.2" + csv "^5.5.3" + kleur "^4.1.5" + smartwrap "^2.0.2" + strip-ansi "^6.0.1" + wcwidth "^1.0.1" + yargs "^17.7.1" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE= + resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1616514381586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ= + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-fest@^0.8.1: version "0.8.1" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1616514381586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -typescript@^4.1.2: - version "4.2.3" - resolved "https://registry.npm.taobao.org/typescript/download/typescript-4.2.3.tgz?cache=0&sync_timestamp=1616657441314&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypescript%2Fdownload%2Ftypescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha1-OQYtgBmRLUNyYpjwlJPVmASMHOM= +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.5: + version "1.0.6" + resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typescript@5.3.3: + version "5.3.3" + resolved "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +typescript@^4.1.2, typescript@^4.7.4: + version "4.9.5" + resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +uc.micro@^2.0.0, uc.micro@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= + version "2.0.1" + resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unzipper@^0.10.11: - version "0.10.11" - resolved "https://registry.npm.taobao.org/unzipper/download/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" - integrity sha1-C0mRRGRyy9uS7nQDkJ8mwkGceC4= + version "0.10.14" + resolved "https://registry.npmmirror.com/unzipper/-/unzipper-0.10.14.tgz#d2b33c977714da0fbc0f82774ad35470a7c962b1" + integrity sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g== dependencies: big-integer "^1.6.17" binary "~0.3.0" @@ -1461,95 +4748,339 @@ unzipper@^0.10.11: readable-stream "~2.3.6" setimmediate "~1.0.4" +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237586670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993639567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= + version "2.4.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" vscode-test@^1.4.1: - version "1.5.1" - resolved "https://registry.npm.taobao.org/vscode-test/download/vscode-test-1.5.1.tgz#68430a4def0f0c07187e0e1dfd3299fabb4c58e0" - integrity sha1-aEMKTe8PDAcYfg4d/TKZ+rtMWOA= + version "1.6.1" + resolved "https://registry.npmmirror.com/vscode-test/-/vscode-test-1.6.1.tgz#44254c67036de92b00fdd72f6ace5f1854e1a563" + integrity sha512-086q88T2ca1k95mUzffvbzb7esqQNvJgiwY4h29ukPhFo8u+vXOOmelUoU5EQUHs3Of8+JuQ3oGdbVCqaxuTXA== dependencies: http-proxy-agent "^4.0.1" https-proxy-agent "^5.0.0" rimraf "^3.0.2" unzipper "^0.10.11" +watchpack@^2.4.0, watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-tree-sitter@^0.20.8: + version "0.20.8" + resolved "https://registry.npmmirror.com/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz#1e371cb577584789cadd75cb49c7ddfbc99d04c8" + integrity sha512-weOVgZ3aAARgdnb220GqYuh7+rZU0Ka9k9yfKtGAzEYMa6GgiCzW9JjQRJyCJakvibQW+dfjJdihjInKuuCAUQ== + +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.npmmirror.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-node-externals@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@5.90.1: + version "5.90.1" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" + integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +webpack@^5.90.3: + version "5.91.0" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.16.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-pm@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" + integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== + dependencies: + load-yaml-file "^0.2.0" + path-exists "^4.0.0" + +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + which@2.0.2, which@^2.0.1: version "2.0.2" - resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1605134855909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" wide-align@1.1.3: version "1.1.3" - resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= + resolved "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== workerpool@6.1.0: version "6.1.0" - resolved "https://registry.npm.taobao.org/workerpool/download/workerpool-6.1.0.tgz?cache=0&sync_timestamp=1615271899456&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fworkerpool%2Fdownload%2Fworkerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" - integrity sha1-qOA4tMlFaVloUt56jqQiju/es3s= + resolved "https://registry.npmmirror.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" - resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + +xmlbuilder@~11.0.0: + version "11.0.1" + resolved "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" + integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.npm.taobao.org/y18n/download/y18n-5.0.5.tgz?cache=0&sync_timestamp=1609798736426&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha1-h2nsCNA7HqLfJQCs71YXQ7u5qxg= + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@2.3.4: + version "2.3.4" + resolved "https://registry.npmmirror.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yargs-parser@20.2.4: version "20.2.4" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.4.tgz?cache=0&sync_timestamp=1615405185480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ= + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@21.1.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs-parser@^18.1.2, yargs-parser@^18.1.3: + version "18.1.3" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" yargs-parser@^20.2.2: - version "20.2.7" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz?cache=0&sync_timestamp=1615405185480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo= + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs-unparser@2.0.0: version "2.0.0" - resolved "https://registry.npm.taobao.org/yargs-unparser/download/yargs-unparser-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-unparser%2Fdownload%2Fyargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha1-8TH5ImkRrl2a04xDL+gJNmwjJes= + resolved "https://registry.npmmirror.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== dependencies: camelcase "^6.0.0" decamelize "^4.0.0" @@ -1558,8 +5089,8 @@ yargs-unparser@2.0.0: yargs@16.2.0: version "16.2.0" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1615762412961&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha1-HIK/D2tqZur85+8w43b0mhJHf2Y= + resolved "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -1569,7 +5100,37 @@ yargs@16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^15.1.0: + version "15.4.1" + resolved "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.2.1, yargs@^17.7.1: + version "17.7.2" + resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npm.taobao.org/yocto-queue/download/yocto-queue-0.1.0.tgz?cache=0&sync_timestamp=1606290469373&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyocto-queue%2Fdownload%2Fyocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha1-ApTrPe4FAo0x7hpfosVWpqrxChs= + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 2bdbbd81a63e9acb98945743f113092ef5b1d54a Mon Sep 17 00:00:00 2001 From: abchen Date: Mon, 1 Apr 2024 21:19:44 +0800 Subject: [PATCH 2/9] refector: refactor project --- .commitlintrc.json | 28 + .release-it.json | 19 + l10n/bundle.l10n.json | 4 + l10n/bundle.l10n.zh.json | 4 + package.json | 34 +- package.nls.json | 1 + package.nls.zh.json | 1 + src/constants/commands.ts | 76 +- src/constants/file.ts | 18 + src/constants/index.ts | 2 +- src/extension.ts | 3 +- src/services/command-service.ts | 191 ++- src/services/config-service.ts | 4 +- src/services/context-service.ts | 14 + src/services/logger-service.ts | 25 +- src/services/output-service.ts | 2 +- src/services/service-manager.ts | 26 +- src/types/command.ts | 63 +- src/types/configuration.ts | 9 +- src/types/index.ts | 1 + src/types/nest-cli.ts | 131 ++ src/utils/application.ts | 114 ++ src/utils/command.ts | 51 + src/utils/configuration.ts | 78 + src/utils/{util.ts => format.ts} | 0 src/utils/fs.ts | 16 + src/utils/index.ts | 8 +- src/utils/modules.ts | 78 + src/utils/options.ts | 33 + src/utils/path.ts | 10 + src/utils/project.ts | 97 ++ src/utils/workspace.ts | 9 + tsconfig.json | 1 + webpack.config.js | 35 +- yarn.lock | 2438 ++++++++++++++++++++++++------ 35 files changed, 3082 insertions(+), 542 deletions(-) create mode 100644 .commitlintrc.json create mode 100644 .release-it.json create mode 100644 src/constants/file.ts create mode 100644 src/services/context-service.ts create mode 100644 src/types/nest-cli.ts create mode 100644 src/utils/application.ts create mode 100644 src/utils/command.ts create mode 100644 src/utils/configuration.ts rename src/utils/{util.ts => format.ts} (100%) create mode 100644 src/utils/fs.ts create mode 100644 src/utils/modules.ts create mode 100644 src/utils/options.ts create mode 100644 src/utils/path.ts create mode 100644 src/utils/project.ts create mode 100644 src/utils/workspace.ts diff --git a/.commitlintrc.json b/.commitlintrc.json new file mode 100644 index 0000000..5c5e64d --- /dev/null +++ b/.commitlintrc.json @@ -0,0 +1,28 @@ +{ + "extends": ["@commitlint/config-angular"], + "rules": { + "subject-case": [ + 2, + "always", + ["sentence-case", "start-case", "pascal-case", "upper-case", "lower-case"] + ], + "type-enum": [ + 2, + "always", + [ + "build", + "chore", + "ci", + "docs", + "feat", + "fix", + "perf", + "refactor", + "revert", + "style", + "test", + "sample" + ] + ] + } +} diff --git a/.release-it.json b/.release-it.json new file mode 100644 index 0000000..2448a61 --- /dev/null +++ b/.release-it.json @@ -0,0 +1,19 @@ +{ + "git": { + "commitMessage": "chore(): release v${version}", + "requireBranch": "main" + }, + "github": { + "release": true, + "draft": true + }, + "npm": { + "publish": false + }, + "plugins": { + "@release-it/conventional-changelog": { + "preset": "angular", + "infile": "CHANGELOG.md" + } + } +} \ No newline at end of file diff --git a/l10n/bundle.l10n.json b/l10n/bundle.l10n.json index cd2ec0f..f25077d 100644 --- a/l10n/bundle.l10n.json +++ b/l10n/bundle.l10n.json @@ -1,4 +1,8 @@ { + "Please select a module": "Please select a module", + "Please select an app": "Please select an app", + "Please select a app": "Please select a app", + "Please select a operation": "Please select a operation", "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run": "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run", "Canceled": "Canceled", "Generate a new application workspace": "Generate a new application workspace", diff --git a/l10n/bundle.l10n.zh.json b/l10n/bundle.l10n.zh.json index cd2ec0f..f25077d 100644 --- a/l10n/bundle.l10n.zh.json +++ b/l10n/bundle.l10n.zh.json @@ -1,4 +1,8 @@ { + "Please select a module": "Please select a module", + "Please select an app": "Please select an app", + "Please select a app": "Please select a app", + "Please select a operation": "Please select a operation", "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run": "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run", "Canceled": "Canceled", "Generate a new application workspace": "Generate a new application workspace", diff --git a/package.json b/package.json index e25edc7..d38afd0 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,10 @@ "email": "abchen9527@outlook.com" }, "activationEvents": [ - "onStartupFinished" + "workspaceContains:**/nest-cli.json", + "workspaceContains:**/.nest-cli.json", + "workspaceContains:**/.nest-cli.json", + "workspaceContains:**/nest.json" ], "main": "./dist/extension.js", "l10n": "./l10n", @@ -158,6 +161,11 @@ "command": "nestjs-tool.generateANewApplicationWithAMonorepo", "title": "%nestjs-tool.generateANewApplicationWithAMonorepo%", "category": "NestJS Tool" + }, + { + "command": "nestjs-tool.quickOperation", + "title": "%nestjs-tool.quickOperation%", + "category": "NestJS Tool" } ], "menus": { @@ -171,7 +179,7 @@ "nestjs-tool-menus": [ { "command": "nestjs-tool.generateANewApplicationWorkspace", - "when": "explorerResourceIsFolder", + "when": "explorerResourceIsFolder ", "group": "2_workspace" }, { @@ -259,6 +267,12 @@ "when": "explorerResourceIsFolder", "group": "2_workspace" } + ], + "commandPalette": [ + { + "command": "nestjs-tool.generateACliConfigurationFile", + "when": "!nestjs-tool.selectedModule || !nestjs-tool.selectedProject || !nestjs-tool.selectedApp" + } ] }, "submenus": [ @@ -284,10 +298,14 @@ "publish:beta": "vsce package --pre-release", "publish": "vsce publish", "lint-staged": "lint-staged", - "l10n": "node ./node_modules/@vscode/l10n-dev/dist/cli.js export -o ./l10n ./src" + "l10n": "node ./node_modules/@vscode/l10n-dev/dist/cli.js export -o ./l10n ./src", + "release": "release-it" }, "devDependencies": { "@changesets/cli": "^2.27.1", + "@commitlint/cli": "^19.2.1", + "@commitlint/config-angular": "^19.1.0", + "@release-it/conventional-changelog": "^8.0.1", "@swc/core": "^1.4.8", "@types/fs-extra": "^9.0.6", "@types/glob": "^8.1.0", @@ -304,16 +322,18 @@ "lint-staged": "^15.2.2", "mocha": "^8.1.3", "prettier": "^3.2.5", + "release-it": "^17.1.1", "swc-loader": "^0.2.6", + "ts-loader": "^9.5.1", + "ts-node": "^10.9.2", "typescript": "^4.1.2", "vscode-test": "^1.4.1", - "webpack": "^5.90.3" + "webpack": "^5.90.3", + "webpack-cli": "^5.1.4" }, "dependencies": { - "@nestjs/cli": "^10.3.2", "fs-extra": "^9.0.1", - "mustache": "^4.1.0", - "webpack-cli": "^5.1.4" + "mustache": "^4.1.0" }, "license": "MIT", "packageManager": "yarn@1.22.19" diff --git a/package.nls.json b/package.nls.json index 4c1ecd3..b9f5d0f 100644 --- a/package.nls.json +++ b/package.nls.json @@ -17,6 +17,7 @@ "nestjs-tool.generateANewCRUDDeclaration": "Generate a new CRUD declaration", "nestjs-tool.generateAServiceDeclaration": "Generate a service declaration", "nestjs-tool.generateANewApplicationWithAMonorepo": "Generate a new application with a monorepo", + "nestjs-tool.quickOperation": "Quick operation", "nestjs-tool.showTerminal": "When a command is sent to a Terminal instance, whether to display Terminal, the default is True", "nestjs-tool.shouldExecute": "Indicates that the text being sent should be executed rather than just inserted in the terminal. The character(s) added are \n or \r\n, depending on the platform. This defaults to true", "nestjs-tool.noSpec": "Disable spec files generation", diff --git a/package.nls.zh.json b/package.nls.zh.json index 1f2eb2e..f001053 100644 --- a/package.nls.zh.json +++ b/package.nls.zh.json @@ -17,6 +17,7 @@ "nestjs-tool.generateANewCRUDDeclaration": "Generate a new CRUD declaration", "nestjs-tool.generateAServiceDeclaration": "Generate a service declaration", "nestjs-tool.generateANewApplicationWithAMonorepo": "Generate a new application with a monorepo", + "nestjs-tool.quickOperation": "快速操作", "nestjs-tool.showTerminal": "当将命令发送到Terminal实例后, 是否显示Terminal, 默认为True", "nestjs-tool.shouldExecute": "指示应执行正在发送的文本,而不仅仅是将其插入终端中。 添加的字符为 \n 或 \r\n,具体取决于平台。 默认为 true", "nestjs-tool.noSpec": "Disable spec files generation", diff --git a/src/constants/commands.ts b/src/constants/commands.ts index 8e55afe..1fac9b7 100644 --- a/src/constants/commands.ts +++ b/src/constants/commands.ts @@ -1,12 +1,19 @@ -import { ExtensionContext, l10n } from 'vscode'; -import {CommandType, NestGenerateAlias} from '../types/command'; -export const COMMANDS: CommandType[] = [ +import {l10n, Uri, window} from 'vscode'; +import { + CommandContext, + INestCommand, + ICommonCommand, + NestGenerateAlias, +} from '../types/command'; +import {judgeFolderIsApplication} from '../utils/application'; +export const COMMANDS: INestCommand[] = [ { name: 'generateANewApplicationWorkspace', needInput: true, alias: NestGenerateAlias.APPLICATION_WORKSPACE, description: l10n.t('Generate a new application workspace'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -15,7 +22,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.CLASS, needInput: true, description: l10n.t('Generate a new class'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -24,7 +31,22 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.CONFIG, needInput: false, description: l10n.t('Generate a new cli configuration file'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + preValidate: (ctx, ...args): boolean => { + // 当从菜单上下文中创建 config 文件时,判断当前是否为 nest应用, 如果是,直接提示用户不可以先进行创建配置文件 + const fileUri = ctx.fileUri as Uri; + const cmd = args[0] as INestCommand; + if ( + cmd.alias === NestGenerateAlias.CONFIG && + judgeFolderIsApplication(fileUri) + ) { + window.showInformationMessage( + l10n.t("Can't create config file in nest application"), + ); + return false; + } + return true; + }, + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -33,7 +55,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.CONTROLLER, needInput: true, description: l10n.t('Generate a new controller declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -42,7 +64,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.DECORATOR, needInput: true, description: l10n.t('Generate a new custom decorator'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -51,7 +73,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.FILTER, needInput: true, description: l10n.t('Generate a new filter declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -60,7 +82,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.GATEWAY, needInput: true, description: l10n.t('Generate a new gateway declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -69,7 +91,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.GUARD, needInput: true, description: l10n.t('Generate a new guard declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -78,7 +100,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.INTERCEPTOR, needInput: true, description: l10n.t('Generate a new interceptor declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -87,7 +109,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.INTERFACE, needInput: true, description: l10n.t('Generate a new interface'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -96,7 +118,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.LIBRARY, needInput: true, description: l10n.t('Generate a new library with a monorepo'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -105,7 +127,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.MIDDLEWARE, needInput: true, description: l10n.t('Generate a new middleware declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -114,7 +136,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.MODULE, needInput: true, description: l10n.t('Generate a new module declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -123,7 +145,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.PIPE, needInput: true, description: l10n.t('Generate a new pipe declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -132,7 +154,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.PROVIDER, needInput: true, description: l10n.t('Generate a new provider declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -141,7 +163,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.GRAPHQL_RESOLVER, needInput: true, description: l10n.t('Generate a new GraphQL resolver declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -150,7 +172,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.CRUD_DECLARATION, needInput: true, description: l10n.t('Generate a new CRUD declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -159,7 +181,7 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.SERVICE, needInput: true, description: l10n.t('Generate a new service declaration'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, @@ -168,8 +190,16 @@ export const COMMANDS: CommandType[] = [ alias: NestGenerateAlias.APPLICATION_MONOREPO, needInput: true, description: l10n.t('Generate a new application with a monorepo'), - callback: async (ctx: ExtensionContext, ...args: any[]) => { + postExecute: async (ctx: CommandContext, ...args: any[]) => { return undefined; }, }, -]; \ No newline at end of file +]; + +export const COMMON_COMMANDS: ICommonCommand[] = [ + { + name: 'quickOperation', + description: 'Quick operation', + callback(...args) {}, + }, +]; diff --git a/src/constants/file.ts b/src/constants/file.ts new file mode 100644 index 0000000..43aa345 --- /dev/null +++ b/src/constants/file.ts @@ -0,0 +1,18 @@ +export const config_files = [ + '.nestcli.json', + '.nest-cli.json', + 'nest-cli.json', + 'nest.json', +]; +export const exclude_dirs = [ + '.husky', + '.git', + '.vscode', + '.github', + '.changesets', + '.idea', + '.vscode-test', + 'out', + 'dist', + 'node_modules', +]; diff --git a/src/constants/index.ts b/src/constants/index.ts index 0011132..a0d829d 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -1,6 +1,6 @@ export * from './other'; export * from './commands'; - +export * from './file' export const EXTENSION_ID = 'nestjs-tool'; export const EXTENSION_NAME = "NestJS Tool" diff --git a/src/extension.ts b/src/extension.ts index f0fd0a7..9f343a9 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1,4 +1,5 @@ -import {ExtensionContext, window, workspace} from 'vscode'; + +import { ExtensionContext, window, workspace ,extensions} from 'vscode'; import {ServiceManager} from './services'; export function activate(context: ExtensionContext) { if (!workspace.workspaceFolders) { diff --git a/src/services/command-service.ts b/src/services/command-service.ts index 23a88b8..d15d1b8 100644 --- a/src/services/command-service.ts +++ b/src/services/command-service.ts @@ -4,21 +4,45 @@ import { ExtensionContext, l10n, Terminal, + Uri, window, } from 'vscode'; import {ServiceManager} from './service-manager'; -import {EXTENSION_ID, EXTENSION_TERMINAL_NAME} from '../constants'; +import { + COMMON_COMMANDS, + EXTENSION_ID, + EXTENSION_TERMINAL_NAME, +} from '../constants'; import {COMMANDS} from '../constants'; +import { + getModulesQuickPick, + getProjectFromUri, + resolve, + showCommandsQuickPick, + showProjectQuickPick, +} from '../utils'; +import {IModule, INestApplication, INestProject} from '../types'; +import { + getApplicationFromUri, + showApplicationQuickPick, +} from '../utils/application'; +import {LoggerService} from './logger-service'; export default class CommandService implements Disposable { private _context: ExtensionContext; private _terminal: Terminal; + private _logger: LoggerService; + private get configuration() { + return this.sm.configService.configuration; + } + constructor(private sm: ServiceManager) { const {shouldExecute} = this.sm.configService.configuration; this._context = this.sm.context; + this._logger = LoggerService.createFactory(CommandService); this._terminal = window.terminals.find(it => it.name == EXTENSION_TERMINAL_NAME) || @@ -33,32 +57,143 @@ export default class CommandService implements Disposable { private _initial() { const self = this; COMMANDS.forEach(cmd => { - const {callback: _callback, ...rest} = cmd; + const {postExecute: callback, ...rest} = cmd; const options = {...rest, logger: self.sm.logger}; - this.registerCommand(options.name, async (ctx, args) => { + this.registerCommand(options.name, async (...args: any[]) => { + const meta = args.length === 1 ? args[0] : null; + let userInput: string | undefined = ''; + let selectedModule: IModule | undefined = undefined; + let application: INestApplication | undefined = undefined; + let project: INestProject | undefined = undefined; + let from: any; + const cmdCtx = { + fileUri: 'fsPath' in args[0] ? args[0] : undefined, + command: cmd, + extensionCtx: self._context, + }; + if (cmd.preExecute) { + await cmd.preExecute(cmdCtx); + } + + if (meta) { + application = meta.application; + project = meta.project; + from = meta.from; + } else { + // 获取当前文件所在的应用 + const fileUri = args[0] as Uri; + + if (cmd.preValidate && !cmd.preValidate(cmdCtx, cmd)) { + return; + } + + application = await getApplicationFromUri(fileUri); + project = await getProjectFromUri(fileUri, application); + + if (!project && application) { + project = await showProjectQuickPick(application); + } + } + if (options.needInput) { - const userInput = await this.showInputBox( - options.alias, - ctx, - ...args, - ); + userInput = await this._showInputBox(options.description); if (!userInput || !userInput.length) { return; } - // const result = await _callback(ctx, options, userInput); - // if (result) { - // } - self._executeCommand(options.alias, userInput); - } else { - self._executeCommand(options.alias); + if (!userInput) { + return; + } } + + // 从app中选取模块进行将生成的文件添加到指定的模块中 + selectedModule = await getModulesQuickPick(application!, project); + userInput = this._buildCommand(userInput, project, selectedModule); + + if (cmd.validateUserInput) { + const isValid = await cmd.validateUserInput(cmdCtx, userInput); + if (!isValid) { + return; + } + } + + self._executeCommand(application!, options.alias, userInput); + }); + }); + + COMMON_COMMANDS.forEach(cmd => { + const {callback, ...rest} = cmd; + const options = {...rest, logger: self.sm.logger}; + this.registerCommand(options.name, async (...args: any[]) => { + const selectedApplication: INestApplication | undefined = + await showApplicationQuickPick(); + + const selectedProject: INestProject | undefined | null = + await showProjectQuickPick(selectedApplication!); + + const meta = await showCommandsQuickPick(); + + if (!meta) return; + + commands.executeCommand(`${EXTENSION_ID}.${meta.name}`, { + ...meta, + application: selectedApplication, + project: selectedProject, + from: cmd.name, + }); }); }); } - async showInputBox(alias: string, ...args: any[]) { + /** + * 判断用户的输入内容,并结合用户的配置,生成最终的命令 + * @param userInput 用户输入的内容 + * @returns 处理后的用户输入 + */ + private _buildCommand( + userInput: string, + project?: INestProject, + module?: IModule, + ) { + let _userInput = userInput.trim(); + const {flat, noSpec, noFlat, skipImport, spec} = this.configuration; + + // 追加到指定的项目中 + if (project) { + _userInput = _userInput + ` --project ${project.name}`; + } + + // 在指定的module中生成对应的文件 + if (!_userInput.startsWith('-') && module && module.name) { + _userInput = `${module.name}/${_userInput}`; + } + + if (!_userInput.includes('flat') && flat) { + _userInput = _userInput + ` --flat`; + } + + if (!_userInput.includes('--no-flat') && noFlat) { + _userInput = _userInput + ` --no-flat`; + } + + if (!_userInput.includes('skipImport') && skipImport) { + _userInput = _userInput + ` --skip-import`; + } + + if (!_userInput.includes('--no-spec') && noSpec) { + _userInput = _userInput + ` --no-spec`; + } + + if (!_userInput.includes('spec') && spec) { + _userInput = _userInput + ` --spec`; + } + + return _userInput; + } + + private async _showInputBox(title: string) { const input = await window.showInputBox({ + title: title, placeHolder: l10n.t( 'Please enter the name and optional parameters, separated by spaces, such as: application --dry-run', ), @@ -70,16 +205,19 @@ export default class CommandService implements Disposable { return input; } - registerCommand( - name: string, - callback: (ctx: ExtensionContext, ...args: any[]) => void, - ) { + registerCommand(name: string, callback: (...args: any[]) => void) { this._context.subscriptions.push( - commands.registerCommand(`${EXTENSION_ID}.${name}`, callback), + commands.registerCommand(`${EXTENSION_ID}.${name}`, (...args: any[]) => { + callback(...args); + }), ); } - private _executeCommand(alias: string, ...args: any[]) { + private _executeCommand( + application: INestApplication, + alias: string, + ...args: any[] + ) { const {showTerminal, shouldExecute} = this.sm.configService.configuration; if ( this._terminal.exitStatus && @@ -90,10 +228,19 @@ export default class CommandService implements Disposable { hideFromUser: shouldExecute, }); } - this._terminal.sendText(`nest g ${alias} ${args.join(' ')}`); + let sendText = `nest g ${alias} ${args.join(' ')}`; + if (application) { + const distPath = resolve( + application.workspace.uri.fsPath, + application.name === 'root' ? '' : application.name, + ); + sendText = `cd ${distPath} && ${sendText}`; + } + this._terminal.sendText(sendText); if (showTerminal) { this._terminal.show(); } + this._logger.info(`execute command: ${sendText}`); } dispose() { diff --git a/src/services/config-service.ts b/src/services/config-service.ts index 820d1a8..96d6428 100644 --- a/src/services/config-service.ts +++ b/src/services/config-service.ts @@ -51,8 +51,8 @@ export class ConfigService implements Disposable { shouldExecute: this._getItemByKey('shouldExecute', true), noSpec: this._getItemByKey('noSpec', false), spec: this._getItemByKey('spec', true), - noFlat: this._getItemByKey('noFlat', false), - flat: this._getItemByKey('flat', true), + noFlat: this._getItemByKey('noFlat', true), + flat: this._getItemByKey('flat', false), skipImport: this._getItemByKey('skipImport', false), }; diff --git a/src/services/context-service.ts b/src/services/context-service.ts new file mode 100644 index 0000000..0a9ab0f --- /dev/null +++ b/src/services/context-service.ts @@ -0,0 +1,14 @@ +import {commands} from 'vscode'; +import {ServiceManager} from './service-manager'; +import {EXTENSION_ID} from '../constants'; + +/** + * 自定义上下文服务 + */ +export default class CustomContextService { + constructor(private readonly sm: ServiceManager) {} + + registerExtCustomCtxKey(key: string, value: any) { + commands.executeCommand('setContext', `${EXTENSION_ID}.${key}`, value); + } +} diff --git a/src/services/logger-service.ts b/src/services/logger-service.ts index 2e9b765..540b66a 100644 --- a/src/services/logger-service.ts +++ b/src/services/logger-service.ts @@ -2,30 +2,43 @@ import {LogLevel} from 'vscode'; import {ServiceManager} from './service-manager'; import OutputService from './output-service'; -export class LoggeService { +export class LoggerService { level: LogLevel = LogLevel.Debug; + private _contextName: string = ''; private _output: OutputService; - constructor(private sm: ServiceManager) { + constructor(private readonly sm: ServiceManager) { this._output = this.sm.outputService; } + static createFactory(contextName: Function) { + const instance = new LoggerService(ServiceManager.instance); + instance.setContext(contextName); + return instance; + } + + setContext(Service: Function) { + this._contextName = Service.name; + } changeLevel(level: LogLevel) { this.level = level; } info(msg: string, ...args: any[]) { - this._output.info(msg, args); + this._output.info(this._buildMessage(msg, ...args)); } warn(msg: string, ...args: any[]) { - this._output.info(msg, args); + this._output.warning(this._buildMessage(msg, ...args)); } error(msg: string, ...args: any[]) { - this._output.info(msg, args); + this._output.error(this._buildMessage(msg, ...args)); } trace(msg: string, ...args: any[]) { - this._output.info(msg, args); + this._output.trace(this._buildMessage(msg, ...args)); + } + private _buildMessage(msg: string, ...args: any[]) { + return `[${this._contextName}]: ${msg}\t ${args.length && JSON.stringify(args.join(' '))}`; } } diff --git a/src/services/output-service.ts b/src/services/output-service.ts index 78d37be..92ebe9b 100644 --- a/src/services/output-service.ts +++ b/src/services/output-service.ts @@ -11,7 +11,7 @@ export default class OutputService implements Disposable { this._context = this.sm.context; } - info(msg: string, args: any[]) { + info(msg: string, ...args: any[]) { this.output.info(msg, args); } diff --git a/src/services/service-manager.ts b/src/services/service-manager.ts index 323a30d..116136a 100644 --- a/src/services/service-manager.ts +++ b/src/services/service-manager.ts @@ -1,36 +1,48 @@ import {ExtensionContext} from 'vscode'; import OutputService from './output-service'; import CommandService from './command-service'; -import {LoggeService} from './logger-service'; +import {LoggerService} from './logger-service'; import {ConfigService} from './config-service'; +import CustomContextService from './context-service'; export class ServiceManager { private static _instance: ServiceManager; readonly outputService: OutputService; - readonly commandService: CommandService; + private _commandService!: CommandService; readonly configService: ConfigService; - readonly logger: LoggeService; - + readonly logger: LoggerService; + + readonly customCtxService: CustomContextService; + public static get instance() { return this._instance; } + get commandService() { + return this._commandService; + } + + private set commandService(commandService: CommandService) { + this._commandService = commandService; + } + /** * 按照顺序初始化各个服务, 可能其他的服务中依赖前者的服务 - * @param context + * @param context */ constructor(public readonly context: ExtensionContext) { this.configService = new ConfigService(this); this.outputService = new OutputService(this); - this.logger = new LoggeService(this); - this.commandService = new CommandService(this); + this.logger = new LoggerService(this); + this.customCtxService = new CustomContextService(this); } static initial(context: ExtensionContext) { if (!this._instance) { this._instance = new ServiceManager(context); + this._instance.commandService = new CommandService(this._instance); } } } diff --git a/src/types/command.ts b/src/types/command.ts index 1997434..9243b51 100644 --- a/src/types/command.ts +++ b/src/types/command.ts @@ -1,24 +1,73 @@ -import {ExtensionContext} from 'vscode'; +import {ExtensionContext, Uri} from 'vscode'; -export type CommandType = { +export type CommandContext = { + fileUri: Uri | undefined; + + command: INestCommand; + /** + * 插件上下文 + */ + extensionCtx: ExtensionContext; +}; + +export interface IBaseCommon { + /** + * 命令名称 + */ name: string; - alias: string; + /** + * 命令描述详情 + */ description: string; + + [key: string]: any; +} + +/** + * Nest 命令声明接口 + */ +export interface INestCommand extends IBaseCommon { + /** + * Nest 子命令别名 + */ + alias: string; /** * 代表用户可以进行输入操作 */ needInput: boolean; + /** * TODO: 未来的某个时期会用到此方法回调 * @param ctx * @param args * @returns */ - callback: ( - ctx: ExtensionContext, + preExecute?: ( + ctx: CommandContext, ...args: any[] - ) => Promise; -}; + ) => Promise; + + /** + * TODO: 未来的某个时期会用到此方法回调 + * @param ctx + * @param args + * @returns + */ + postExecute: + | ((ctx: CommandContext, ...args: any[]) => Promise) + | undefined; + + preValidate?: (ctx: CommandContext, ...args: any[]) => Promise | boolean; + + validateUserInput?: (ctx: CommandContext, ...args: any[]) => Promise | boolean; +} + +/** + * 通用命令声明接口 + */ +export interface ICommonCommand extends IBaseCommon { + callback: (options: any, ...args: any[]) => Promise | void; +} export enum NestGenerateAlias { APPLICATION_WORKSPACE = 'application', diff --git a/src/types/configuration.ts b/src/types/configuration.ts index 1e67932..4744bf0 100644 --- a/src/types/configuration.ts +++ b/src/types/configuration.ts @@ -27,7 +27,7 @@ export interface ExtConfiguration { noFlat: boolean; /** - * Enforce flat structure of generated element + * Enforce flat structure of generated element. (default: false) */ flat: boolean; @@ -37,3 +37,10 @@ export interface ExtConfiguration { */ skipImport: boolean; } + +export interface IContextKey { + actived: boolean; + selectedModule: boolean; + selectedProject: boolean; + selectedApp: boolean; +} diff --git a/src/types/index.ts b/src/types/index.ts index 01611de..15d343d 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,2 +1,3 @@ export * from './configuration'; export * from './command'; +export * from './nest-cli'; diff --git a/src/types/nest-cli.ts b/src/types/nest-cli.ts new file mode 100644 index 0000000..68b3d71 --- /dev/null +++ b/src/types/nest-cli.ts @@ -0,0 +1,131 @@ +/** + * @nestjs/cli 中的内容 + * @see https://github.com/nestjs/nest-cli/blob/master/lib/configuration/configuration.ts + */ + +import {WorkspaceFolder} from 'vscode'; + +export type Asset = 'string' | AssetEntry; + +export interface AssetEntry { + glob: string; + include?: string; + flat?: boolean; + exclude?: string; + outDir?: string; + watchAssets?: boolean; +} + +export interface ActionOnFile { + action: 'change' | 'unlink'; + item: AssetEntry; + path: string; + sourceRoot: string; + watchAssetsMode: boolean; +} + +export interface SwcBuilderOptions { + swcrcPath?: string; + outDir?: string; + filenames?: string[]; + sync?: boolean; + extensions?: string[]; + copyFiles?: boolean; + includeDotfiles?: boolean; + quiet?: boolean; +} + +export interface WebpackBuilderOptions { + configPath?: string; +} + +export interface TscBuilderOptions { + configPath?: string; +} + +export type BuilderVariant = 'tsc' | 'swc' | 'webpack'; +export type Builder = + | BuilderVariant + | { + type: 'webpack'; + options?: WebpackBuilderOptions; + } + | { + type: 'swc'; + options?: SwcBuilderOptions; + } + | { + type: 'tsc'; + options?: TscBuilderOptions; + }; + +export interface CompilerOptions { + tsConfigPath?: string; + /** + * @deprecated Use `builder` instead. + */ + webpack?: boolean; + /** + * @deprecated Use `builder.options.configPath` instead. + */ + webpackConfigPath?: string; + plugins?: string[] | PluginOptions[]; + assets?: string[]; + deleteOutDir?: boolean; + manualRestart?: boolean; + builder?: Builder; +} + +export interface PluginOptions { + name: string; + options: Record[]; +} + +export interface GenerateOptions { + spec?: boolean | Record; + flat?: boolean; + specFileSuffix?: string; +} + +export interface ProjectConfiguration { + type?: string; + root?: string; + entryFile?: string; + exec?: string; + sourceRoot?: string; + compilerOptions?: CompilerOptions; +} + +export interface Configuration { + [key: string]: any; + language?: string; + collection?: string; + sourceRoot?: string; + entryFile?: string; + exec?: string; + monorepo?: boolean; + compilerOptions?: CompilerOptions; + generateOptions?: GenerateOptions; + projects?: { + [key: string]: ProjectConfiguration; + }; +} + +export interface IModule { + name: string; + moduleRoot: string; + moduleEntry: string; + project?: INestProject; +} + +export interface INestApplication { + name: string; + workspace: WorkspaceFolder; + configuration: Configuration; +} + +export interface INestProject extends ProjectConfiguration { + name: string; + application: INestApplication; + workspace: WorkspaceFolder; +} diff --git a/src/utils/application.ts b/src/utils/application.ts new file mode 100644 index 0000000..529c9e4 --- /dev/null +++ b/src/utils/application.ts @@ -0,0 +1,114 @@ +import path from 'path'; +import {workspace, QuickPickItem, Uri, window, l10n} from 'vscode'; +import {INestApplication} from '../types'; +import {loadNestConfiguration} from './configuration'; +import {exclude_dirs, config_files} from '../constants'; +import {resolve} from './path'; +import {existsSync, readdirSync, statSync} from './fs'; + +/** + * 根据工作文件夹检测当前文件夹是否为一个nestjs应用 + * @param folder + * @returns + */ +export function checkIsNestApplication(folder: string): string { + let configFileName = ''; + for (const configFile of config_files) { + if (existsSync(path.resolve(folder, configFile))) { + configFileName = configFile; + break; + } + } + return configFileName; +} + +/** + * 判断当前文件夹夹是否为nest应用 + * @param uri + * @returns + */ +export function judgeFolderIsApplication(uri?: Uri) { + if (!uri) { + return false; + } + return checkIsNestApplication(uri.fsPath).length !== 0; +} + +/** + * 读取对应的工作区间目录获取所有的nest应用 + */ +export async function getAllNestApplications() { + const apps: INestApplication[] = []; + const workspaceFolders = workspace.workspaceFolders || []; + if (!workspaceFolders.length) { + return apps; + } + + for (let wsFolder of workspaceFolders) { + const wsPath = wsFolder.uri.fsPath; + const wsDirs = readdirSync(wsPath); + for (const dir of wsDirs) { + if (exclude_dirs.includes(dir)) { + continue; + } + const dirPath = resolve(wsPath, dir); + + if (config_files.includes(dir)) { + const configuration = loadNestConfiguration(wsFolder, dir); + apps.push({ + name: 'root', + workspace: wsFolder, + configuration, + }); + continue; + } + // 判断当前的文件中是否存在 nestjs的配置文件, 如果存在就表明当前文件夹是一个nestjs应用 + if (dirPath && statSync(dirPath).isDirectory()) { + const configFilename = checkIsNestApplication(dirPath); + if (configFilename) { + apps.push({ + name: dir, + workspace: wsFolder, + configuration: loadNestConfiguration(dirPath, configFilename), + }); + continue; + } + } + } + } + return apps; +} + +export function getApplicationQuickPickItems( + apps: INestApplication[], +): QuickPickItem[] { + return apps.map(app => ({ + label: app.name, + description: 'Application', + detail: app.configuration.sourceRoot, + })); +} + +export async function getApplicationFromUri(uri: Uri) { + const applications = await getAllNestApplications(); + const workspaceFolder = workspace.getWorkspaceFolder(uri); + return applications.find(it => { + return ( + it.workspace === workspaceFolder && + uri.fsPath.includes(it.workspace.uri.fsPath) + ); + }); +} + +export async function showApplicationQuickPick() { + let apps: INestApplication[] = await getAllNestApplications(); + const appQuickItems = getApplicationQuickPickItems(apps); + const selectedAppPickItem = await window.showQuickPick(appQuickItems, { + placeHolder: l10n.t('Please select an app'), + matchOnDescription: true, + }); + if (!selectedAppPickItem) { + return; + } + return apps.find(app => app.name === selectedAppPickItem.label); +} diff --git a/src/utils/command.ts b/src/utils/command.ts new file mode 100644 index 0000000..0df8103 --- /dev/null +++ b/src/utils/command.ts @@ -0,0 +1,51 @@ +import { + l10n, + QuickPickItem, + Uri, + window, + workspace, + WorkspaceFolder, +} from 'vscode'; +import fs from 'node:fs'; +import path from 'node:path'; +import {COMMANDS} from '../constants'; + +/** + * 判断当前的上下文是否为一个 Nestjs 的app + * @param folderUri + */ +export function judgeIsSubApp(folderUri: Uri) { + return false; +} + +/** + * 判断当前文件夹是否是一个模块 + * @param folderUri + * @returns + */ +export function judgeIsModule(folderUri: Uri) { + return false; +} + +/** + * 读取当前工作区间的subapp或者mononrepo 中的app + */ +export function showSubAppQuickPicker() {} + +export async function showCommandsQuickPick() { + const generateOptQuickItems: QuickPickItem[] = COMMANDS.map(it => { + return { + label: it.description, + description: it.name, + }; + }); + const selectedOperation = await window.showQuickPick(generateOptQuickItems, { + placeHolder: l10n.t('Please select a operation'), + matchOnDescription: true, + }); + + if (!selectedOperation) { + return; + } + return COMMANDS.find(it => it.name === selectedOperation.description); +} diff --git a/src/utils/configuration.ts b/src/utils/configuration.ts new file mode 100644 index 0000000..7fff57e --- /dev/null +++ b/src/utils/configuration.ts @@ -0,0 +1,78 @@ +import {WorkspaceFolder} from 'vscode'; +import fs from 'node:fs'; +import {Configuration} from '../types/nest-cli'; +import { readFileSync } from './fs'; +import { joinPath } from './path'; + +const TSCONFIG_BUILD_JSON = 'tsconfig.build.json'; +const TSCONFIG_JSON = 'tsconfig.json'; + +export function getDefaultTsconfigPath(rootDir: string) { + return fs.existsSync(joinPath(rootDir, TSCONFIG_BUILD_JSON)) + ? TSCONFIG_BUILD_JSON + : TSCONFIG_JSON; +} + +function getDefaultConfiguration(folder: string) { + return { + language: 'ts', + sourceRoot: 'src', + collection: '@nestjs/schematics', + entryFile: 'main', + exec: 'node', + projects: {}, + monorepo: false, + compilerOptions: { + builder: { + type: 'tsc', + options: { + configPath: getDefaultTsconfigPath(folder), + }, + }, + webpack: false, + plugins: [], + assets: [], + manualRestart: false, + }, + generateOptions: {}, + } as Required; +} + +/** + * 获取各个工作文件夹下面所有的nestjs-cli.json的数据 + * + * @param folder + * @param name + * @returns + */ +export function loadNestConfiguration( + folder: WorkspaceFolder | string, + name: string, +) { + const directory = typeof folder === 'string' ? folder : folder.uri.fsPath; + let loadedConfig: Configuration = getDefaultConfiguration(directory); + try { + const content = readFileSync(joinPath(directory, name)); + const fileConfig = JSON.parse(content); + if (fileConfig.compilerOptions) { + loadedConfig = { + ...loadedConfig, + ...fileConfig, + compilerOptions: { + ...loadedConfig.compilerOptions, + ...fileConfig.compilerOptions, + }, + }; + } else { + loadedConfig = { + ...loadedConfig, + ...fileConfig, + }; + } + } catch (error) { + // @ts-ignore + console.error(error.message); + } + + return loadedConfig; +} diff --git a/src/utils/util.ts b/src/utils/format.ts similarity index 100% rename from src/utils/util.ts rename to src/utils/format.ts diff --git a/src/utils/fs.ts b/src/utils/fs.ts new file mode 100644 index 0000000..60f5202 --- /dev/null +++ b/src/utils/fs.ts @@ -0,0 +1,16 @@ +import fs from 'node:fs'; +export function existsSync(p: string) { + return fs.existsSync(p); +} + +export function statSync(p: string) { + return fs.statSync(p); +} + +export function readdirSync(p: string) { + return fs.readdirSync(p); +} + +export function readFileSync(p: string) { + return fs.readFileSync(p,'utf-8') +} \ No newline at end of file diff --git a/src/utils/index.ts b/src/utils/index.ts index 3195037..ca6a79c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,2 +1,8 @@ export * from './file'; -export * from './util'; \ No newline at end of file +export * from './format'; +export * from './command'; +export * from './modules'; +export * from './workspace'; +export * from './project'; +export * from './path'; +export * from './fs' diff --git a/src/utils/modules.ts b/src/utils/modules.ts new file mode 100644 index 0000000..911d2bc --- /dev/null +++ b/src/utils/modules.ts @@ -0,0 +1,78 @@ +import fs from 'node:fs'; +import {IModule, INestApplication, INestProject} from '../types/nest-cli'; +import {l10n, QuickPickItem, Uri, window} from 'vscode'; +import {joinPath, resolve} from './path'; +import {statSync} from './fs'; + +/** + * 列出指定项目(存在)的所有的模块 + * @param project + */ +export function getAllModules( + application: INestApplication, + project?: INestProject, +) { + let modules: IModule[] = []; + const targetPath = joinPath( + application.workspace.uri.fsPath, + application.name === 'root' ? '' : application.name, + project ? project.root! : '', + 'src', + ); + const allFiles = fs.readdirSync(targetPath); + + // 遍历目录下方的文件夹中是否存在module.ts/js 文件 + for (const file of allFiles) { + const filePath = resolve(targetPath, file); + if (statSync(filePath).isFile()) { + continue; + } + const filesInDir = fs.readdirSync(filePath); + for (const subFile of filesInDir) { + if (/\w(.*?).module.(t|j)s/g.test(subFile)) { + const moduleRoot = project ? `${project.sourceRoot}/${file}` : file; + modules.push({ + name: file, + moduleRoot, + moduleEntry: `${moduleRoot}/${subFile}`, + project: project, + }); + break; + } + } + } + + return modules; +} + +export function getModulePickItems(modules: IModule[]): QuickPickItem[] { + return modules.map(module => ({ + label: module.name, + description: module.project ? module.project.name : '', + detail: module.moduleEntry, + })); +} + +export function getModuleFromUri(uri: Uri) {} + +export async function getModulesQuickPick( + application: INestApplication, + project?: INestProject, +) { + const modules = getAllModules(application, project); + if (!modules.length) { + return; + } + + const moduleQuickItems = getModulePickItems(modules); + // 如果选择了一个module 将会在生成命令的时候追加到指定的module中 + const selectedModule = await window.showQuickPick(moduleQuickItems, { + placeHolder: l10n.t('Please select a module'), + matchOnDescription: true, + }); + + if (!selectedModule) { + return; + } + return modules.find(module => module.name === selectedModule.label); +} diff --git a/src/utils/options.ts b/src/utils/options.ts new file mode 100644 index 0000000..50d5599 --- /dev/null +++ b/src/utils/options.ts @@ -0,0 +1,33 @@ +import {WorkspaceFolder} from 'vscode'; +import {INestApplication, Configuration} from '../types'; +import {getAllNestApplications} from './application'; + +/** + * 获取各个工作文件夹下面所有的nestjs-cli.json的数据 + */ +export async function getAllNestOptions( + application?: INestApplication, +): Promise< + { + workspace: WorkspaceFolder; + application: INestApplication; + configuration: Configuration; + }[] +> { + let data: any[] = []; + if (application) { + data.push({ + workspace: application.workspace, + application, + configuration: application.configuration, + }); + return data; + } + + const applications = await getAllNestApplications(); + return applications.map(it => ({ + workspace: it.workspace, + application: it, + configuration: it.configuration, + })); +} diff --git a/src/utils/path.ts b/src/utils/path.ts new file mode 100644 index 0000000..4dec6d9 --- /dev/null +++ b/src/utils/path.ts @@ -0,0 +1,10 @@ +import path from 'node:path'; + +export function resolve(...args: string[]) { + return path.resolve(...args); +} + + +export function joinPath(...args: string[]) { + return path.join(...args) +} \ No newline at end of file diff --git a/src/utils/project.ts b/src/utils/project.ts new file mode 100644 index 0000000..ba75773 --- /dev/null +++ b/src/utils/project.ts @@ -0,0 +1,97 @@ +import {l10n, Uri, window, workspace} from 'vscode'; +import {INestApplication, INestProject} from '../types'; +import {getAllNestOptions} from './options'; +import {resolve} from './path'; + +/** + * 通过读取nest-cli.json文件判断工作文件中是否存在多个project + * @returns {[boolean, any[]]} + */ +export async function getAllNestProjects( + application?: INestApplication, +): Promise { + let allNestOptions = await getAllNestOptions(application); + if (!allNestOptions) { + return []; + } + + const projects = allNestOptions + .filter( + it => + it.configuration.projects && + Object.keys(it.configuration.projects).length, + ) + .reduce((a, b) => { + let projects = Object.entries(b.configuration.projects!).map( + ([key, value]) => { + return { + name: key, + workspace: b.workspace, + application: b.application, + ...value, + }; + }, + ); + return a.concat(projects); + }, [] as INestProject[]); + + return projects; +} + +/** + * 获取nestjs中的projects内容 + * @param projects + * @returns + */ +export function getAllNestProjectPickItems(projects: INestProject[]) { + return projects.map(project => { + const applicationName = + project.application.name === 'root' + ? '/' + : `${project.application.name}/`; + + return { + label: project.name, + description: project.type, + detail: resolve( + project.workspace.uri.fsPath, + applicationName, + project.name, + ), + }; + }); +} + +export async function getProjectFromUri( + uri: Uri, + application?: INestApplication, +) { + const projects = await getAllNestProjects(application); + return projects.find( + it => + it.workspace === workspace.getWorkspaceFolder(uri) && + uri.fsPath.includes( + Uri.joinPath( + it.workspace.uri, + it.application.name === 'root' ? '' : it.application.name, + it.root || '', + ).fsPath, + ), + ); +} + +export async function showProjectQuickPick(application: INestApplication) { + const projects = await getAllNestProjects(application); + const pickitems = getAllNestProjectPickItems(projects); + + const selectedItem = await window.showQuickPick(pickitems, { + placeHolder:l10n.t("Please select a project"), + matchOnDescription: true, + matchOnDetail: true, + }); + if (!selectedItem) { + return; + } + + return projects.find(it => it.name === selectedItem.label); +} diff --git a/src/utils/workspace.ts b/src/utils/workspace.ts new file mode 100644 index 0000000..819182a --- /dev/null +++ b/src/utils/workspace.ts @@ -0,0 +1,9 @@ +import {QuickPickItem, workspace} from 'vscode'; + +export function getAllWorkspaceFolderQuickPickItems(): QuickPickItem[] { + const workspaceFolders = workspace.workspaceFolders || []; + return workspaceFolders.map(ws => ({ + label: ws.name, + description: ws.uri.fsPath, + })); +} diff --git a/tsconfig.json b/tsconfig.json index d9b7015..3cb22e6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,7 @@ { "compilerOptions": { "module": "commonjs", + "moduleResolution": "Node", "target": "ES2020", "lib": ["ES2020"], "sourceMap": true, diff --git a/webpack.config.js b/webpack.config.js index 3a8db0c..2303d3b 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -8,6 +8,8 @@ const fs = require('node:fs'); const pkgInfo = JSON.parse( fs.readFileSync(path.resolve(__dirname, 'package.json')).toString(), ); + +const isProduction = process.env.NODE_ENV === 'production'; //@ts-check /** @typedef {import('webpack').Configuration} WebpackConfig **/ @@ -33,18 +35,33 @@ const extensionConfig = { }, module: { rules: [ - { - test: /\.m?ts$/, - exclude: /(node_modules)/, - use: { - loader: 'swc-loader', - }, - }, + isProduction + ? { + test: /\.m?ts$/, + exclude: /(node_modules)/, + use: { + loader: 'swc-loader', + }, + } + : { + test: /\.ts$/, + exclude: /node_modules/, + use: [ + { + loader: 'ts-loader', + options: { + compilerOptions: { + module: 'es6', // override `tsconfig.json` so that TypeScript emits native JavaScript modules. + }, + }, + }, + ], + }, ], }, - devtool: 'nosources-source-map', + devtool: 'source-map', infrastructureLogging: { - level: 'error', // enables logging required for problem matchers + level: 'info', // enables logging required for problem matchers }, plugins: [ new DefinePlugin({ diff --git a/yarn.lock b/yarn.lock index 6bcfe66..70bcfbf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,41 +7,6 @@ resolved "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@angular-devkit/core@17.1.2": - version "17.1.2" - resolved "https://registry.npmmirror.com/@angular-devkit/core/-/core-17.1.2.tgz#bf2c3475e9ff853dc53d8dc8ce9bbf8b2f1193f8" - integrity sha512-ku+/W/HMCBacSWFppenr9y6Lx8mDuTuQvn1IkTyBLiJOpWnzgVbx9kHDeaDchGa1PwLlJUBBrv27t3qgJOIDPw== - dependencies: - ajv "8.12.0" - ajv-formats "2.1.1" - jsonc-parser "3.2.0" - picomatch "3.0.1" - rxjs "7.8.1" - source-map "0.7.4" - -"@angular-devkit/schematics-cli@17.1.2": - version "17.1.2" - resolved "https://registry.npmmirror.com/@angular-devkit/schematics-cli/-/schematics-cli-17.1.2.tgz#7a77e8294071e5ba569e2ffb567b3301d1db3f07" - integrity sha512-bvXykYzSST05qFdlgIzUguNOb3z0hCa8HaTwtqdmQo9aFPf+P+/AC56I64t1iTchMjQtf3JrBQhYM25gUdcGbg== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - ansi-colors "4.1.3" - inquirer "9.2.12" - symbol-observable "4.0.0" - yargs-parser "21.1.1" - -"@angular-devkit/schematics@17.1.2": - version "17.1.2" - resolved "https://registry.npmmirror.com/@angular-devkit/schematics/-/schematics-17.1.2.tgz#ca77a86ed44ab227614aff6e1f7ce4f3cd0c6ded" - integrity sha512-8S9RuM8olFN/gwN+mjbuF1CwHX61f0i59EGXz9tXLnKRUTjsRR+8vVMTAmX0dvVAT5fJTG/T69X+HX7FeumdqA== - dependencies: - "@angular-devkit/core" "17.1.2" - jsonc-parser "3.2.0" - magic-string "0.30.5" - ora "5.4.1" - rxjs "7.8.1" - "@azure-rest/ai-translation-text@^1.0.0-beta.1": version "1.0.0-beta.1" resolved "https://registry.npmmirror.com/@azure-rest/ai-translation-text/-/ai-translation-text-1.0.0-beta.1.tgz#bf61811d0a3fc7e689e91b5a5452d0128e270b67" @@ -124,7 +89,7 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.21.4": version "7.24.2" resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -353,10 +318,172 @@ human-id "^1.0.2" prettier "^2.7.1" -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.npmmirror.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== +"@commitlint/cli@^19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@commitlint/cli/-/cli-19.2.1.tgz#8f00d27a8b7c7780e75b06fd4658fdc1e9209f1b" + integrity sha512-cbkYUJsLqRomccNxvoJTyv5yn0bSy05BBizVyIcLACkRbVUqYorC351Diw/XFSWC/GtpwiwT2eOvQgFZa374bg== + dependencies: + "@commitlint/format" "^19.0.3" + "@commitlint/lint" "^19.1.0" + "@commitlint/load" "^19.2.0" + "@commitlint/read" "^19.2.1" + "@commitlint/types" "^19.0.3" + execa "^8.0.1" + yargs "^17.0.0" + +"@commitlint/config-angular-type-enum@^19.1.0": + version "19.1.0" + resolved "https://registry.npmmirror.com/@commitlint/config-angular-type-enum/-/config-angular-type-enum-19.1.0.tgz#d72ff2cfbc4dfab6bb567dc5e41eb3ce433c6c42" + integrity sha512-eLjt7vSArP62kpDmmIZNdIBjPzbqY8jss6mVOcSDm4t1KfDw4UmPrtPh/7zcIL3GI5uf/7W8d2s3K0qisf9C+g== + +"@commitlint/config-angular@^19.1.0": + version "19.1.0" + resolved "https://registry.npmmirror.com/@commitlint/config-angular/-/config-angular-19.1.0.tgz#f326677d5fa9cb76446a66b16daa3dfb1d1642ef" + integrity sha512-qZyG9FHjPoG+VaHxH1OruWI8cmWWRe00sAS73jXAhACimT74k4Dex5jI2cKFcXSH8Ebh1yGwxfjzSgup5O0ykA== + dependencies: + "@commitlint/config-angular-type-enum" "^19.1.0" + +"@commitlint/config-validator@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/config-validator/-/config-validator-19.0.3.tgz#052b181a30da6b4fc16dc5230f4589ac95e0bc81" + integrity sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q== + dependencies: + "@commitlint/types" "^19.0.3" + ajv "^8.11.0" + +"@commitlint/ensure@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/ensure/-/ensure-19.0.3.tgz#d172b1b72ca88cbd317ea1ee79f3a03dbaccc76e" + integrity sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ== + dependencies: + "@commitlint/types" "^19.0.3" + lodash.camelcase "^4.3.0" + lodash.kebabcase "^4.1.1" + lodash.snakecase "^4.1.1" + lodash.startcase "^4.4.0" + lodash.upperfirst "^4.3.1" + +"@commitlint/execute-rule@^19.0.0": + version "19.0.0" + resolved "https://registry.npmmirror.com/@commitlint/execute-rule/-/execute-rule-19.0.0.tgz#928fb239ae8deec82a6e3b05ec9cfe20afa83856" + integrity sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw== + +"@commitlint/format@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/format/-/format-19.0.3.tgz#6e3dcdc028b39d370ba717b8bde0853705c467dc" + integrity sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q== + dependencies: + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" + +"@commitlint/is-ignored@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/is-ignored/-/is-ignored-19.0.3.tgz#a64e0e217044f2d916127369d21ea12324a834fe" + integrity sha512-MqDrxJaRSVSzCbPsV6iOKG/Lt52Y+PVwFVexqImmYYFhe51iVJjK2hRhOG2jUAGiUHk4jpdFr0cZPzcBkSzXDQ== + dependencies: + "@commitlint/types" "^19.0.3" + semver "^7.6.0" + +"@commitlint/lint@^19.1.0": + version "19.1.0" + resolved "https://registry.npmmirror.com/@commitlint/lint/-/lint-19.1.0.tgz#0f4b26b1452d59a92a28b5fa6de9bdbee18399a1" + integrity sha512-ESjaBmL/9cxm+eePyEr6SFlBUIYlYpI80n+Ltm7IA3MAcrmiP05UMhJdAD66sO8jvo8O4xdGn/1Mt2G5VzfZKw== + dependencies: + "@commitlint/is-ignored" "^19.0.3" + "@commitlint/parse" "^19.0.3" + "@commitlint/rules" "^19.0.3" + "@commitlint/types" "^19.0.3" + +"@commitlint/load@^19.2.0": + version "19.2.0" + resolved "https://registry.npmmirror.com/@commitlint/load/-/load-19.2.0.tgz#3ca51fdead4f1e1e09c9c7df343306412b1ef295" + integrity sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/execute-rule" "^19.0.0" + "@commitlint/resolve-extends" "^19.1.0" + "@commitlint/types" "^19.0.3" + chalk "^5.3.0" + cosmiconfig "^9.0.0" + cosmiconfig-typescript-loader "^5.0.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + lodash.uniq "^4.5.0" + +"@commitlint/message@^19.0.0": + version "19.0.0" + resolved "https://registry.npmmirror.com/@commitlint/message/-/message-19.0.0.tgz#f789dd1b7a1f9c784578e0111f46cc3fecf5a531" + integrity sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw== + +"@commitlint/parse@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/parse/-/parse-19.0.3.tgz#a2d09876d458e17ad0e1695b04f41af8b50a41c2" + integrity sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA== + dependencies: + "@commitlint/types" "^19.0.3" + conventional-changelog-angular "^7.0.0" + conventional-commits-parser "^5.0.0" + +"@commitlint/read@^19.2.1": + version "19.2.1" + resolved "https://registry.npmmirror.com/@commitlint/read/-/read-19.2.1.tgz#7296b99c9a989e60e5927fff8388a1dd44299c2f" + integrity sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw== + dependencies: + "@commitlint/top-level" "^19.0.0" + "@commitlint/types" "^19.0.3" + execa "^8.0.1" + git-raw-commits "^4.0.0" + minimist "^1.2.8" + +"@commitlint/resolve-extends@^19.1.0": + version "19.1.0" + resolved "https://registry.npmmirror.com/@commitlint/resolve-extends/-/resolve-extends-19.1.0.tgz#fa5b8f921e9c8d76f53624c35bf25b9676bd73fa" + integrity sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg== + dependencies: + "@commitlint/config-validator" "^19.0.3" + "@commitlint/types" "^19.0.3" + global-directory "^4.0.1" + import-meta-resolve "^4.0.0" + lodash.mergewith "^4.6.2" + resolve-from "^5.0.0" + +"@commitlint/rules@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/rules/-/rules-19.0.3.tgz#de647a9055847cae4f3ae32b4798096b604584f3" + integrity sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw== + dependencies: + "@commitlint/ensure" "^19.0.3" + "@commitlint/message" "^19.0.0" + "@commitlint/to-lines" "^19.0.0" + "@commitlint/types" "^19.0.3" + execa "^8.0.1" + +"@commitlint/to-lines@^19.0.0": + version "19.0.0" + resolved "https://registry.npmmirror.com/@commitlint/to-lines/-/to-lines-19.0.0.tgz#aa6618eb371bafbc0cd3b48f0db565c4a40462c6" + integrity sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw== + +"@commitlint/top-level@^19.0.0": + version "19.0.0" + resolved "https://registry.npmmirror.com/@commitlint/top-level/-/top-level-19.0.0.tgz#9c44d7cec533bb9598bfae9658737e2d6a903605" + integrity sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ== + dependencies: + find-up "^7.0.0" + +"@commitlint/types@^19.0.3": + version "19.0.3" + resolved "https://registry.npmmirror.com/@commitlint/types/-/types-19.0.3.tgz#feff4ecac2b5c359f2a57f9ab094b2ac80ef0266" + integrity sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA== + dependencies: + "@types/conventional-commits-parser" "^5.0.0" + chalk "^5.3.0" + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmmirror.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" "@discoveryjs/json-ext@^0.5.0": version "0.5.7" @@ -392,6 +519,16 @@ resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@hutson/parse-repository-url@^5.0.0": + version "5.0.0" + resolved "https://registry.npmmirror.com/@hutson/parse-repository-url/-/parse-repository-url-5.0.0.tgz#bf344cc75136039bc41bcf5d1ddbcb40405fca3b" + integrity sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg== + +"@iarna/toml@2.2.5": + version "2.2.5" + resolved "https://registry.npmmirror.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" + integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -413,7 +550,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== @@ -431,11 +568,19 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" @@ -444,7 +589,7 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@ljharb/through@^2.3.11": +"@ljharb/through@^2.3.12": version "2.3.13" resolved "https://registry.npmmirror.com/@ljharb/through/-/through-2.3.13.tgz#b7e4766e0b65aa82e529be945ab078de79874edc" integrity sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ== @@ -473,45 +618,6 @@ globby "^11.0.0" read-yaml-file "^1.1.0" -"@nestjs/cli@^10.3.2": - version "10.3.2" - resolved "https://registry.npmmirror.com/@nestjs/cli/-/cli-10.3.2.tgz#42d2764ead6633e278c55d42de871b4cc1db002b" - integrity sha512-aWmD1GLluWrbuC4a1Iz/XBk5p74Uj6nIVZj6Ov03JbTfgtWqGFLtXuMetvzMiHxfrHehx/myt2iKAPRhKdZvTg== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - "@angular-devkit/schematics-cli" "17.1.2" - "@nestjs/schematics" "^10.0.1" - chalk "4.1.2" - chokidar "3.6.0" - cli-table3 "0.6.3" - commander "4.1.1" - fork-ts-checker-webpack-plugin "9.0.2" - glob "10.3.10" - inquirer "8.2.6" - node-emoji "1.11.0" - ora "5.4.1" - rimraf "4.4.1" - shelljs "0.8.5" - source-map-support "0.5.21" - tree-kill "1.2.2" - tsconfig-paths "4.2.0" - tsconfig-paths-webpack-plugin "4.1.0" - typescript "5.3.3" - webpack "5.90.1" - webpack-node-externals "3.0.0" - -"@nestjs/schematics@^10.0.1": - version "10.1.1" - resolved "https://registry.npmmirror.com/@nestjs/schematics/-/schematics-10.1.1.tgz#a67fb178a7ad6025ccc3314910b077ac454fcdf3" - integrity sha512-o4lfCnEeIkfJhGBbLZxTuVWcGuqDCFwg5OrvpgRUBM7vI/vONvKKiB5riVNpO+JqXoH0I42NNeDb0m4V5RREig== - dependencies: - "@angular-devkit/core" "17.1.2" - "@angular-devkit/schematics" "17.1.2" - comment-json "4.2.3" - jsonc-parser "3.2.1" - pluralize "8.0.0" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -533,11 +639,147 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@^5.0.0": + version "5.1.0" + resolved "https://registry.npmmirror.com/@octokit/core/-/core-5.1.0.tgz#81dacf0197ed7855e6413f128bd6dd9e121e7d2f" + integrity sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.0.0" + "@octokit/request" "^8.0.2" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^9.0.0": + version "9.0.4" + resolved "https://registry.npmmirror.com/@octokit/endpoint/-/endpoint-9.0.4.tgz#8afda5ad1ffc3073d08f2b450964c610b821d1ea" + integrity sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw== + dependencies: + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^7.0.0": + version "7.0.2" + resolved "https://registry.npmmirror.com/@octokit/graphql/-/graphql-7.0.2.tgz#3df14b9968192f9060d94ed9e3aa9780a76e7f99" + integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q== + dependencies: + "@octokit/request" "^8.0.1" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/openapi-types@^20.0.0": + version "20.0.0" + resolved "https://registry.npmmirror.com/@octokit/openapi-types/-/openapi-types-20.0.0.tgz#9ec2daa0090eeb865ee147636e0c00f73790c6e5" + integrity sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA== + +"@octokit/plugin-paginate-rest@^9.0.0": + version "9.2.1" + resolved "https://registry.npmmirror.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz#2e2a2f0f52c9a4b1da1a3aa17dabe3c459b9e401" + integrity sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw== + dependencies: + "@octokit/types" "^12.6.0" + +"@octokit/plugin-request-log@^4.0.0": + version "4.0.1" + resolved "https://registry.npmmirror.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz#98a3ca96e0b107380664708111864cb96551f958" + integrity sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== + +"@octokit/plugin-rest-endpoint-methods@^10.0.0": + version "10.4.1" + resolved "https://registry.npmmirror.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz#41ba478a558b9f554793075b2e20cd2ef973be17" + integrity sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg== + dependencies: + "@octokit/types" "^12.6.0" + +"@octokit/request-error@^5.0.0": + version "5.0.1" + resolved "https://registry.npmmirror.com/@octokit/request-error/-/request-error-5.0.1.tgz#277e3ce3b540b41525e07ba24c5ef5e868a72db9" + integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ== + dependencies: + "@octokit/types" "^12.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^8.0.1", "@octokit/request@^8.0.2": + version "8.2.0" + resolved "https://registry.npmmirror.com/@octokit/request/-/request-8.2.0.tgz#125c547bc3f4c0e2dfa38c6829a1cf00027fbd98" + integrity sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ== + dependencies: + "@octokit/endpoint" "^9.0.0" + "@octokit/request-error" "^5.0.0" + "@octokit/types" "^12.0.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@20.0.2": + version "20.0.2" + resolved "https://registry.npmmirror.com/@octokit/rest/-/rest-20.0.2.tgz#5cc8871ba01b14604439049e5f06c74b45c99594" + integrity sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ== + dependencies: + "@octokit/core" "^5.0.0" + "@octokit/plugin-paginate-rest" "^9.0.0" + "@octokit/plugin-request-log" "^4.0.0" + "@octokit/plugin-rest-endpoint-methods" "^10.0.0" + +"@octokit/types@^12.0.0", "@octokit/types@^12.6.0": + version "12.6.0" + resolved "https://registry.npmmirror.com/@octokit/types/-/types-12.6.0.tgz#8100fb9eeedfe083aae66473bd97b15b62aedcb2" + integrity sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw== + dependencies: + "@octokit/openapi-types" "^20.0.0" + "@pkgjs/parseargs@^0.11.0": version "0.11.0" resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.npmmirror.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.npmmirror.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.2.2" + resolved "https://registry.npmmirror.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz#0058baf1c26cbb63a828f0193795401684ac86f0" + integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + +"@release-it/conventional-changelog@^8.0.1": + version "8.0.1" + resolved "https://registry.npmmirror.com/@release-it/conventional-changelog/-/conventional-changelog-8.0.1.tgz#7aba0162769a001b11fa72ab05ca3f108c2657e3" + integrity sha512-pwc9jaBYDaSX5TXw6rEnPfqDkKJN2sFBhYpON1kBi9T3sA9EOBncC4ed0Bv3L1ciNb6eqEJXPfp+tQMqVlv/eg== + dependencies: + concat-stream "^2.0.0" + conventional-changelog "^5.1.0" + conventional-recommended-bump "^9.0.0" + semver "^7.5.4" + +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + +"@sindresorhus/merge-streams@^2.1.0": + version "2.3.0" + resolved "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" + integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== + "@swc/core-darwin-arm64@1.4.11": version "1.4.11" resolved "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.11.tgz#91ef40816e10495a4038a98dc6c8dfcc85d9c59b" @@ -619,11 +861,50 @@ dependencies: "@swc/counter" "^0.1.3" +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/quickjs-emscripten@^0.23.0": + version "0.23.0" + resolved "https://registry.npmmirror.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" + integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.npmmirror.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmmirror.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmmirror.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmmirror.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/conventional-commits-parser@^5.0.0": + version "5.0.0" + resolved "https://registry.npmmirror.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#8c9d23e0b415b24b91626d07017303755d542dc8" + integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== + dependencies: + "@types/node" "*" + "@types/eslint-scope@^3.7.3": version "3.7.7" resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" @@ -660,6 +941,11 @@ "@types/minimatch" "^5.1.2" "@types/node" "*" +"@types/http-cache-semantics@^4.0.2": + version "4.0.4" + resolved "https://registry.npmmirror.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + "@types/json-schema@*", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": version "7.0.15" resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" @@ -697,7 +983,7 @@ resolved "https://registry.npmmirror.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/normalize-package-data@^2.4.0": +"@types/normalize-package-data@^2.4.0", "@types/normalize-package-data@^2.4.1": version "2.4.4" resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== @@ -803,7 +1089,7 @@ xml2js "^0.5.0" yargs "^17.7.1" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@^1.12.1": +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": version "1.12.1" resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== @@ -869,7 +1155,7 @@ resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/wasm-edit@^1.11.5", "@webassemblyjs/wasm-edit@^1.12.1": +"@webassemblyjs/wasm-edit@^1.12.1": version "1.12.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== @@ -904,7 +1190,7 @@ "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@^1.12.1": +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": version "1.12.1" resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== @@ -949,6 +1235,14 @@ resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.npmmirror.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + acorn-import-assertions@^1.9.0: version "1.9.0" resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" @@ -959,16 +1253,26 @@ acorn-jsx@^5.3.1: resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== +acorn-walk@^8.1.1: + version "8.3.2" + resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + acorn@^7.4.0: version "7.4.1" resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.7.1, acorn@^8.8.2: +acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: version "8.11.3" resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + agent-base@6: version "6.0.2" resolved "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -983,19 +1287,29 @@ agent-base@^7.0.2, agent-base@^7.1.0: dependencies: debug "^4.3.4" -ajv-formats@2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== +agent-base@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== dependencies: - ajv "^8.0.0" + debug "^4.3.4" ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@8.12.0, ajv@^8.0.0, ajv@^8.0.1: +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1, ajv@^8.11.0: version "8.12.0" resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -1005,27 +1319,24 @@ ajv@8.12.0, ajv@^8.0.0, ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" + string-width "^4.1.0" ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-colors@4.1.3, ansi-colors@^4.1.1, ansi-colors@^4.1.3: +ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: +ansi-escapes@^4.3.2: version "4.3.2" resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -1071,7 +1382,7 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@~3.1.1: version "3.1.3" resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -1079,6 +1390,11 @@ anymatch@~3.1.1, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -1099,10 +1415,10 @@ array-buffer-byte-length@^1.0.1: call-bind "^1.0.5" is-array-buffer "^3.0.4" -array-timsort@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/array-timsort/-/array-timsort-1.0.3.tgz#3c9e4199e54fb2b9c3fe5976396a21614ef0d926" - integrity sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ== +array-ify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-union@^2.1.0: version "2.1.0" @@ -1119,6 +1435,18 @@ array.prototype.flat@^1.2.3: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" +array.prototype.map@^1.0.5: + version "1.0.7" + resolved "https://registry.npmmirror.com/array.prototype.map/-/array.prototype.map-1.0.7.tgz#82fa4d6027272d1fca28a63bbda424d0185d78a7" + integrity sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-array-method-boxes-properly "^1.0.0" + es-object-atoms "^1.0.0" + is-string "^1.0.7" + arraybuffer.prototype.slice@^1.0.3: version "1.0.3" resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" @@ -1138,11 +1466,25 @@ arrify@^1.0.1: resolved "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== +ast-types@^0.13.4: + version "0.13.4" + resolved "https://registry.npmmirror.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async-retry@1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" + integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== + dependencies: + retry "0.13.1" + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -1165,6 +1507,16 @@ base64-js@^1.3.1: resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +basic-ftp@^5.0.2: + version "5.0.5" + resolved "https://registry.npmmirror.com/basic-ftp/-/basic-ftp-5.0.5.tgz#14a474f5fffecca1f4f406f1c26b18f800225ac0" + integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg== + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.npmmirror.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + better-path-resolve@1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" @@ -1209,6 +1561,20 @@ boolbase@^1.0.0: resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== +boxen@^7.1.1: + version "7.1.1" + resolved "https://registry.npmmirror.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1276,6 +1642,31 @@ buffers@~0.1.1: resolved "https://registry.npmmirror.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" integrity sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ== +bundle-name@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" + integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== + dependencies: + run-applescript "^7.0.0" + +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" + call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" @@ -1311,6 +1702,11 @@ camelcase@^6.0.0: resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + caniuse-lite@^1.0.30001587: version "1.0.30001600" resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079" @@ -1323,15 +1719,7 @@ chainsaw@~0.1.0: dependencies: traverse ">=0.3.0 <0.4" -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@5.3.0, chalk@^5.3.0: +chalk@5.3.0, chalk@^5.2.0, chalk@^5.3.0: version "5.3.0" resolved "https://registry.npmmirror.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== @@ -1345,6 +1733,14 @@ chalk@^2.1.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.7.0: version "0.7.0" resolved "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" @@ -1365,31 +1761,21 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" -chokidar@3.6.0, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@^3.7.0: +ci-info@^3.2.0, ci-info@^3.7.0: version "3.9.0" resolved "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -1404,20 +1790,11 @@ cli-cursor@^4.0.0: dependencies: restore-cursor "^4.0.0" -cli-spinners@^2.5.0: +cli-spinners@^2.5.0, cli-spinners@^2.9.2: version "2.9.2" resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== -cli-table3@0.6.3: - version "0.6.3" - resolved "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - cli-truncate@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" @@ -1426,11 +1803,6 @@ cli-truncate@^4.0.0: slice-ansi "^5.0.0" string-width "^7.0.0" -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - cli-width@^4.1.0: version "4.1.0" resolved "https://registry.npmmirror.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" @@ -1511,11 +1883,6 @@ commander@11.1.0: resolved "https://registry.npmmirror.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== -commander@4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - commander@^10.0.1: version "10.0.1" resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" @@ -1526,36 +1893,202 @@ commander@^2.20.0: resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -comment-json@4.2.3: - version "4.2.3" - resolved "https://registry.npmmirror.com/comment-json/-/comment-json-4.2.3.tgz#50b487ebbf43abe44431f575ebda07d30d015365" - integrity sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw== +compare-func@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" + integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== dependencies: - array-timsort "^1.0.3" - core-util-is "^1.0.3" - esprima "^4.0.1" - has-own-prop "^2.0.0" - repeat-string "^1.6.1" + array-ify "^1.0.0" + dot-prop "^5.1.0" concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -core-util-is@^1.0.3, core-util-is@~1.0.0: +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + +conventional-changelog-angular@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz#5eec8edbff15aa9b1680a8dcfbd53e2d7eb2ba7a" + integrity sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-atom@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-atom/-/conventional-changelog-atom-4.0.0.tgz#291fd1583517d4e7131dba779ad9fa238359daa1" + integrity sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw== + +conventional-changelog-codemirror@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-4.0.0.tgz#3421aced2377552229cef454447aa06e2a319516" + integrity sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q== + +conventional-changelog-conventionalcommits@^7.0.2: + version "7.0.2" + resolved "https://registry.npmmirror.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-7.0.2.tgz#aa5da0f1b2543094889e8cf7616ebe1a8f5c70d5" + integrity sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-core@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-core/-/conventional-changelog-core-7.0.0.tgz#d8879ebb8692cd1fa8126c209e1b3af34d94e113" + integrity sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg== + dependencies: + "@hutson/parse-repository-url" "^5.0.0" + add-stream "^1.0.0" + conventional-changelog-writer "^7.0.0" + conventional-commits-parser "^5.0.0" + git-raw-commits "^4.0.0" + git-semver-tags "^7.0.0" + hosted-git-info "^7.0.0" + normalize-package-data "^6.0.0" + read-pkg "^8.0.0" + read-pkg-up "^10.0.0" + +conventional-changelog-ember@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-ember/-/conventional-changelog-ember-4.0.0.tgz#d90409083a840cd8955bf8257b17498fc539db6a" + integrity sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA== + +conventional-changelog-eslint@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-eslint/-/conventional-changelog-eslint-5.0.0.tgz#d7f428f787f079b3ce08ccc76ed46d4b1852f41b" + integrity sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA== + +conventional-changelog-express@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-express/-/conventional-changelog-express-4.0.0.tgz#5f50086bae1cd9887959af1fa3d5244fd1f55974" + integrity sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw== + +conventional-changelog-jquery@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-jquery/-/conventional-changelog-jquery-5.0.0.tgz#d56e5cc9158b5035669ac6e0f773c3e593621887" + integrity sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw== + +conventional-changelog-jshint@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-changelog-jshint/-/conventional-changelog-jshint-4.0.0.tgz#95aec357f9122b214671381ef94124287208ece9" + integrity sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg== + dependencies: + compare-func "^2.0.0" + +conventional-changelog-preset-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-4.1.0.tgz#996bc40d516471c5bf8248fdc30222563b9bcfe6" + integrity sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA== + +conventional-changelog-writer@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/conventional-changelog-writer/-/conventional-changelog-writer-7.0.1.tgz#e64ef74fa8e773cab4124af217f3f02b29eb0a9c" + integrity sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA== + dependencies: + conventional-commits-filter "^4.0.0" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + meow "^12.0.1" + semver "^7.5.2" + split2 "^4.0.0" + +conventional-changelog@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/conventional-changelog/-/conventional-changelog-5.1.0.tgz#04b36a5ad0518e0323e9d629e3b86e34f7abb7eb" + integrity sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg== + dependencies: + conventional-changelog-angular "^7.0.0" + conventional-changelog-atom "^4.0.0" + conventional-changelog-codemirror "^4.0.0" + conventional-changelog-conventionalcommits "^7.0.2" + conventional-changelog-core "^7.0.0" + conventional-changelog-ember "^4.0.0" + conventional-changelog-eslint "^5.0.0" + conventional-changelog-express "^4.0.0" + conventional-changelog-jquery "^5.0.0" + conventional-changelog-jshint "^4.0.0" + conventional-changelog-preset-loader "^4.1.0" + +conventional-commits-filter@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/conventional-commits-filter/-/conventional-commits-filter-4.0.0.tgz#845d713e48dc7d1520b84ec182e2773c10c7bf7f" + integrity sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A== + +conventional-commits-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#57f3594b81ad54d40c1b4280f04554df28627d9a" + integrity sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA== + dependencies: + JSONStream "^1.3.5" + is-text-path "^2.0.0" + meow "^12.0.1" + split2 "^4.0.0" + +conventional-recommended-bump@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/conventional-recommended-bump/-/conventional-recommended-bump-9.0.0.tgz#2910b08b10e6c705301335ab916e7438eba5907f" + integrity sha512-HR1yD0G5HgYAu6K0wJjLd7QGRK8MQDqqj6Tn1n/ja1dFwBCE6QmV+iSgQ5F7hkx7OUR/8bHpxJqYtXj2f/opPQ== + dependencies: + conventional-changelog-preset-loader "^4.1.0" + conventional-commits-filter "^4.0.0" + conventional-commits-parser "^5.0.0" + git-raw-commits "^4.0.0" + git-semver-tags "^7.0.0" + meow "^12.0.1" + +core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^8.2.0: - version "8.3.6" - resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== +cosmiconfig-typescript-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" + integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== + dependencies: + jiti "^1.19.1" + +cosmiconfig@9.0.0, cosmiconfig@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" + integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: + env-paths "^2.2.1" import-fresh "^3.3.0" js-yaml "^4.1.0" parse-json "^5.2.0" - path-type "^4.0.0" + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-spawn@^5.1.0: version "5.1.0" @@ -1575,6 +2108,13 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + css-select@^5.1.0: version "5.1.0" resolved "https://registry.npmmirror.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" @@ -1616,6 +2156,21 @@ csv@^5.5.3: csv-stringify "^5.6.5" stream-transform "^2.1.3" +dargs@^8.0.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/dargs/-/dargs-8.1.0.tgz#a34859ea509cbce45485e5aa356fef70bfcc7272" + integrity sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw== + +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + +data-uri-to-buffer@^6.0.2: + version "6.0.2" + resolved "https://registry.npmmirror.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b" + integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== + data-view-buffer@^1.0.1: version "1.0.1" resolved "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" @@ -1675,6 +2230,18 @@ decamelize@^4.0.0: resolved "https://registry.npmmirror.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -1685,10 +2252,18 @@ deepmerge-json@^1.5.0: resolved "https://registry.npmmirror.com/deepmerge-json/-/deepmerge-json-1.5.0.tgz#6daa3600d53fc1f646604853bc99e95e260fbda0" integrity sha512-jZRrDmBKjmGcqMFEUJ14FjMJwm05Qaked+1vxaALRtF0UAl7lPU8OLWXFxvoeg3jbQM249VPFVn8g2znaQkEtA== -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== +default-browser-id@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" + integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== + +default-browser@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" + integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== + dependencies: + bundle-name "^4.1.0" + default-browser-id "^5.0.0" defaults@^1.0.3: version "1.0.4" @@ -1697,6 +2272,11 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +defer-to-connect@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" @@ -1706,7 +2286,12 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -1715,6 +2300,20 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +degenerator@^5.0.0: + version "5.0.1" + resolved "https://registry.npmmirror.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" + integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== + dependencies: + ast-types "^0.13.4" + escodegen "^2.1.0" + esprima "^4.0.1" + +deprecation@^2.0.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + detect-indent@^6.0.0: version "6.1.0" resolved "https://registry.npmmirror.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" @@ -1725,6 +2324,11 @@ diff@5.0.0: resolved "https://registry.npmmirror.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1769,6 +2373,20 @@ domutils@^3.0.1: domelementtype "^2.3.0" domhandler "^5.0.3" +dot-prop@^5.1.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -1801,7 +2419,7 @@ emoji-regex@^9.2.2: resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -enhanced-resolve@^5.15.0, enhanced-resolve@^5.16.0, enhanced-resolve@^5.7.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0: version "5.16.0" resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== @@ -1822,12 +2440,17 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + envinfo@^7.7.3: version "7.11.1" resolved "https://registry.npmmirror.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== -error-ex@^1.3.1: +error-ex@^1.3.1, error-ex@^1.3.2: version "1.3.2" resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -1886,6 +2509,63 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0: unbox-primitive "^1.0.2" which-typed-array "^1.1.15" +es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + es-define-property@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" @@ -1898,6 +2578,21 @@ es-errors@^1.2.1, es-errors@^1.3.0: resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== +es-get-iterator@^1.0.2: + version "1.1.3" + resolved "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + es-module-lexer@^1.2.1: version "1.5.0" resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.0.tgz#4878fee3789ad99e065f975fdd3c645529ff0236" @@ -1940,6 +2635,11 @@ escalade@^3.1.1: resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== + escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -1950,10 +2650,16 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" - integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== +escodegen@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -2086,7 +2792,7 @@ events@^3.2.0: resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@8.0.1: +execa@8.0.1, execa@^8.0.1: version "8.0.1" resolved "https://registry.npmmirror.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== @@ -2101,12 +2807,27 @@ execa@8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" +execa@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + extendable-error@^0.1.5: version "0.1.7" resolved "https://registry.npmmirror.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== -external-editor@^3.0.3, external-editor@^3.1.0: +external-editor@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== @@ -2120,7 +2841,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.9: +fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -2153,21 +2874,21 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -figures@^3.0.0: +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.npmmirror.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + +figures@^3.2.0: version "3.2.0" resolved "https://registry.npmmirror.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" -figures@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/figures/-/figures-5.0.0.tgz#126cd055052dea699f8a54e8c9450e6ecfc44d5f" - integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg== - dependencies: - escape-string-regexp "^5.0.0" - is-unicode-supported "^1.2.0" - file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -2198,6 +2919,23 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + +find-up@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-7.0.0.tgz#e8dec1455f74f78d888ad65bf7ca13dd2b4e66fb" + integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g== + dependencies: + locate-path "^7.2.0" + path-exists "^5.0.0" + unicorn-magic "^0.1.0" + find-yarn-workspace-root2@1.2.16: version "1.2.16" resolved "https://registry.npmmirror.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" @@ -2240,28 +2978,22 @@ foreground-child@^3.1.0: cross-spawn "^7.0.0" signal-exit "^4.0.1" -fork-ts-checker-webpack-plugin@9.0.2: - version "9.0.2" - resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-9.0.2.tgz#c12c590957837eb02b02916902dcf3e675fd2b1e" - integrity sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg== +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.npmmirror.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.npmmirror.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: - "@babel/code-frame" "^7.16.7" - chalk "^4.1.2" - chokidar "^3.5.3" - cosmiconfig "^8.2.0" - deepmerge "^4.2.2" - fs-extra "^10.0.0" - memfs "^3.4.1" - minimatch "^3.0.4" - node-abort-controller "^3.0.1" - schema-utils "^3.1.1" - semver "^7.3.5" - tapable "^2.2.1" + fetch-blob "^3.1.2" -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== +fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -2295,17 +3027,12 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.1, fsevents@~2.3.2: +fsevents@~2.3.1: version "2.3.3" resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -2371,6 +3098,11 @@ get-stdin@^7.0.0: resolved "https://registry.npmmirror.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== +get-stream@^6.0.0, get-stream@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + get-stream@^8.0.1: version "8.0.1" resolved "https://registry.npmmirror.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" @@ -2385,7 +3117,49 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: +get-uri@^6.0.1: + version "6.0.3" + resolved "https://registry.npmmirror.com/get-uri/-/get-uri-6.0.3.tgz#0d26697bc13cf91092e519aa63aa60ee5b6f385a" + integrity sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw== + dependencies: + basic-ftp "^5.0.2" + data-uri-to-buffer "^6.0.2" + debug "^4.3.4" + fs-extra "^11.2.0" + +git-raw-commits@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/git-raw-commits/-/git-raw-commits-4.0.0.tgz#b212fd2bff9726d27c1283a1157e829490593285" + integrity sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ== + dependencies: + dargs "^8.0.0" + meow "^12.0.1" + split2 "^4.0.0" + +git-semver-tags@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/git-semver-tags/-/git-semver-tags-7.0.1.tgz#74426e7d7710e5a263655e78b4c651eed804d63e" + integrity sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q== + dependencies: + meow "^12.0.1" + semver "^7.5.2" + +git-up@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467" + integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ== + dependencies: + is-ssh "^1.4.0" + parse-url "^8.1.0" + +git-url-parse@14.0.0: + version "14.0.0" + resolved "https://registry.npmmirror.com/git-url-parse/-/git-url-parse-14.0.0.tgz#18ce834726d5fbca0c25a4555101aa277017418f" + integrity sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ== + dependencies: + git-up "^7.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.0: version "5.1.2" resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -2397,17 +3171,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@10.3.10: - version "10.3.10" - resolved "https://registry.npmmirror.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@7.1.6: version "7.1.6" resolved "https://registry.npmmirror.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" @@ -2443,15 +3206,19 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^9.2.0: - version "9.3.5" - resolved "https://registry.npmmirror.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" - integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== +global-directory@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" + integrity sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q== dependencies: - fs.realpath "^1.0.0" - minimatch "^8.0.2" - minipass "^4.2.4" - path-scurry "^1.6.1" + ini "4.1.1" + +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" globals@^13.6.0, globals@^13.9.0: version "13.24.0" @@ -2467,6 +3234,18 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" +globby@14.0.1: + version "14.0.1" + resolved "https://registry.npmmirror.com/globby/-/globby-14.0.1.tgz#a1b44841aa7f4c6d8af2bc39951109d77301959b" + integrity sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== + dependencies: + "@sindresorhus/merge-streams" "^2.1.0" + fast-glob "^3.3.2" + ignore "^5.2.4" + path-type "^5.0.0" + slash "^5.1.0" + unicorn-magic "^0.1.0" + globby@^11.0.0, globby@^11.0.3: version "11.1.0" resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -2486,7 +3265,46 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +got@13.0.0: + version "13.0.0" + resolved "https://registry.npmmirror.com/got/-/got-13.0.0.tgz#a2402862cef27a5d0d1b07c0fb25d12b58175422" + integrity sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +got@^12.1.0: + version "12.6.1" + resolved "https://registry.npmmirror.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.11" resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2501,6 +3319,18 @@ growl@1.10.5: resolved "https://registry.npmmirror.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== +handlebars@^4.7.7: + version "4.7.8" + resolved "https://registry.npmmirror.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -2521,11 +3351,6 @@ has-flag@^4.0.0: resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-own-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/has-own-prop/-/has-own-prop-2.0.0.tgz#f0f95d58f65804f5d218db32563bb85b8e0417af" - integrity sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ== - has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" @@ -2567,6 +3392,18 @@ hosted-git-info@^2.1.4: resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" + integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== + dependencies: + lru-cache "^10.0.1" + +http-cache-semantics@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -2576,7 +3413,7 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" -http-proxy-agent@^7.0.0: +http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.1: version "7.0.2" resolved "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== @@ -2584,6 +3421,14 @@ http-proxy-agent@^7.0.0: agent-base "^7.1.0" debug "^4.3.4" +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.npmmirror.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -2592,7 +3437,7 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^7.0.0: +https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3: version "7.0.4" resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== @@ -2605,6 +3450,11 @@ human-id@^1.0.2: resolved "https://registry.npmmirror.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + human-signals@^5.0.0: version "5.0.0" resolved "https://registry.npmmirror.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" @@ -2632,7 +3482,7 @@ ignore@^4.0.6: resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.1.8, ignore@^5.2.0, ignore@^5.2.4: version "5.3.1" resolved "https://registry.npmmirror.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== @@ -2645,6 +3495,11 @@ import-fresh@^3.0.0, import-fresh@^3.2.1, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^3.0.2: version "3.1.0" resolved "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" @@ -2653,6 +3508,11 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-meta-resolve@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz#0b1195915689f60ab00f830af0f15cc841e8919e" + integrity sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -2676,39 +3536,33 @@ inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.3: resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inquirer@8.2.6: - version "8.2.6" - resolved "https://registry.npmmirror.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" - integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.1" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.21" - mute-stream "0.0.8" - ora "^5.4.1" - run-async "^2.4.0" - rxjs "^7.5.5" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - wrap-ansi "^6.0.1" +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -inquirer@9.2.12: - version "9.2.12" - resolved "https://registry.npmmirror.com/inquirer/-/inquirer-9.2.12.tgz#0348e9311765b7c93fce143bb1c0ef1ae879b1d7" - integrity sha512-mg3Fh9g2zfuVWJn6lhST0O7x4n03k7G8Tx5nvikJkbq8/CK47WDVm+UznF0G6s5Zi0KcyUisr6DU8T67N5U+1Q== +ini@4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== + +ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inquirer@9.2.14: + version "9.2.14" + resolved "https://registry.npmmirror.com/inquirer/-/inquirer-9.2.14.tgz#b55474f1e4f5f0eb28b2f75f09c082209f0cc2ca" + integrity sha512-4ByIMt677Iz5AvjyKrDpzaepIyMewNvDcvwpVVRZNmy9dLakVoVgdCHZXbK1SlVJra1db0JZ6XkJyHsanpdrdQ== dependencies: - "@ljharb/through" "^2.3.11" + "@ljharb/through" "^2.3.12" ansi-escapes "^4.3.2" chalk "^5.3.0" cli-cursor "^3.1.0" cli-width "^4.1.0" external-editor "^3.1.0" - figures "^5.0.0" + figures "^3.2.0" lodash "^4.17.21" mute-stream "1.0.0" ora "^5.4.1" @@ -2718,7 +3572,7 @@ inquirer@9.2.12: strip-ansi "^6.0.1" wrap-ansi "^6.2.0" -internal-slot@^1.0.7: +internal-slot@^1.0.4, internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -2737,6 +3591,22 @@ interpret@^3.1.1: resolved "https://registry.npmmirror.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmmirror.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" @@ -2777,7 +3647,14 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0: +is-ci@3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + +is-core-module@^2.13.0, is-core-module@^2.8.1: version "2.13.1" resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== @@ -2798,6 +3675,11 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -2832,16 +3714,51 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-in-ci@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-in-ci/-/is-in-ci-0.1.0.tgz#5e07d6a02ec3a8292d3f590973357efa3fceb0d3" + integrity sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ== + +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-interactive@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" + integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== + +is-map@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== +is-npm@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" + integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== + is-number-object@^1.0.4: version "1.0.7" resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" @@ -2854,6 +3771,16 @@ is-number@^7.0.0: resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -2879,6 +3806,11 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-set@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: version "1.0.3" resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" @@ -2886,6 +3818,18 @@ is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: dependencies: call-bind "^1.0.7" +is-ssh@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" + integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== + dependencies: + protocols "^2.0.1" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-stream@^3.0.0: version "3.0.0" resolved "https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" @@ -2912,6 +3856,13 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" +is-text-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-text-path/-/is-text-path-2.0.0.tgz#b2484e2b720a633feb2e85b67dc193ff72c75636" + integrity sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw== + dependencies: + text-extensions "^2.0.0" + is-typed-array@^1.1.13: version "1.1.13" resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" @@ -2919,16 +3870,26 @@ is-typed-array@^1.1.13: dependencies: which-typed-array "^1.1.14" +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-unicode-supported@^1.2.0: +is-unicode-supported@^1.3.0: version "1.3.0" resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== +is-unicode-supported@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz#fdf32df9ae98ff6ab2cedc155a5a6e895701c451" + integrity sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -2941,6 +3902,13 @@ is-windows@^1.0.0: resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" + isarray@^2.0.5: version "2.0.5" resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" @@ -2961,7 +3929,31 @@ isobject@^3.0.1: resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jackspeak@^2.3.5, jackspeak@^2.3.6: +issue-parser@6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/issue-parser/-/issue-parser-6.0.0.tgz#b1edd06315d4f2044a9755daf85fdafde9b4014a" + integrity sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA== + dependencies: + lodash.capitalize "^4.2.1" + lodash.escaperegexp "^4.1.2" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.uniqby "^4.7.0" + +iterate-iterator@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91" + integrity sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw== + +iterate-value@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== + dependencies: + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" + +jackspeak@^2.3.6: version "2.3.6" resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== @@ -2979,6 +3971,11 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.npmmirror.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3006,6 +4003,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -3016,6 +4018,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz#02bb29fb5da90b5444581749c22cedd3597c6cb0" + integrity sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3031,20 +4038,10 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@3.2.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonc-parser@3.2.1: - version "3.2.1" - resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== jsonfile@^4.0.0: version "4.0.0" @@ -3062,6 +4059,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.npmmirror.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + keyv@^4.5.3: version "4.5.4" resolved "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -3079,6 +4081,13 @@ kleur@^4.1.5: resolved "https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== + dependencies: + package-json "^8.1.0" + levn@^0.4.1: version "0.4.1" resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -3097,6 +4106,11 @@ lines-and-columns@^1.1.6: resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lines-and-columns@^2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + linkify-it@^5.0.0: version "5.0.0" resolved "https://registry.npmmirror.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" @@ -3166,11 +4180,58 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.1.0, locate-path@^7.2.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + +lodash.capitalize@^4.2.1: + version "4.2.1" + resolved "https://registry.npmmirror.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" + integrity sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw== + +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.mergewith@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== + +lodash.snakecase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" + integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== + lodash.startcase@^4.4.0: version "4.4.0" resolved "https://registry.npmmirror.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" @@ -3181,7 +4242,22 @@ lodash.truncate@^4.4.2: resolved "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@^4.17.21: +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmmirror.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== + +lodash.upperfirst@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" + integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== + +lodash@4.17.21, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -3201,6 +4277,14 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log-symbols@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-6.0.0.tgz#bb95e5f05322651cac30c0feb6404f9f2a8a9439" + integrity sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== + dependencies: + chalk "^5.3.0" + is-unicode-supported "^1.3.0" + log-update@^6.0.0: version "6.0.0" resolved "https://registry.npmmirror.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" @@ -3212,7 +4296,12 @@ log-update@^6.0.0: strip-ansi "^7.1.0" wrap-ansi "^9.0.0" -lru-cache@^10.2.0: +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@^10.0.1, lru-cache@^10.2.0: version "10.2.0" resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3" integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== @@ -3232,12 +4321,20 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@0.30.5: - version "0.30.5" - resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" - integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" +lru-cache@^7.14.1: + version "7.18.3" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +macos-release@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/macos-release/-/macos-release-3.2.0.tgz#dcee82b6a4932971b1538dbf6f3aabc4a903b613" + integrity sha512-fSErXALFNsnowREYZ49XCdOHF8wOPWuFOGQrAhP7x5J/BqQv+B02cNsTykGpDgRVx43EKg++6ANmTaGTtW+hUA== + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== map-obj@^1.0.0: version "1.0.1" @@ -3266,12 +4363,10 @@ mdurl@^2.0.0: resolved "https://registry.npmmirror.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== -memfs@^3.4.1: - version "3.6.0" - resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" +meow@^12.0.1: + version "12.1.1" + resolved "https://registry.npmmirror.com/meow/-/meow-12.1.1.tgz#e558dddbab12477b69b2e9a2728c327f191bace6" + integrity sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw== meow@^6.0.0: version "6.1.1" @@ -3300,7 +4395,7 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@4.0.5, micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.5" resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -3313,7 +4408,7 @@ mime-db@1.52.0: resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.27: +mime-types@2.1.35, mime-types@^2.1.27: version "2.1.35" resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -3330,6 +4425,16 @@ mimic-fn@^4.0.0: resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -3349,13 +4454,6 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimatch@^8.0.2: - version "8.0.4" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" - integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== - dependencies: - brace-expansion "^2.0.1" - minimatch@^9.0.1: version "9.0.4" resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" @@ -3372,16 +4470,11 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass@^4.2.4: - version "4.2.8" - resolved "https://registry.npmmirror.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" - integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== - "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: version "7.0.4" resolved "https://registry.npmmirror.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" @@ -3445,11 +4538,6 @@ mustache@^4.1.0: resolved "https://registry.npmmirror.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - mute-stream@1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" @@ -3470,17 +4558,31 @@ neo-async@^2.6.2: resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + +new-github-release-url@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/new-github-release-url/-/new-github-release-url-2.0.0.tgz#335189b91f52bbb9569042a7485900a205a0500b" + integrity sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ== + dependencies: + type-fest "^2.5.1" + +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-emoji@1.11.0: - version "1.11.0" - resolved "https://registry.npmmirror.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== +node-fetch@3.3.2: + version "3.3.2" + resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: - lodash "^4.17.21" + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" node-html-markdown@^1.3.0: version "1.3.0" @@ -3512,11 +4614,33 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz#68a96b3c11edd462af7189c837b6b1064a484196" + integrity sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg== + dependencies: + hosted-git-info "^7.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-url@^8.0.0: + version "8.0.1" + resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + npm-run-path@^5.1.0: version "5.3.0" resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" @@ -3551,14 +4675,14 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -once@^1.3.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -3572,6 +4696,16 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +open@10.0.3: + version "10.0.3" + resolved "https://registry.npmmirror.com/open/-/open-10.0.3.tgz#f60d8db49fa126c50aec751957fb5d7de3308d4f" + integrity sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A== + dependencies: + default-browser "^5.2.1" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^3.1.0" + optionator@^0.9.1: version "0.9.3" resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" @@ -3584,7 +4718,22 @@ optionator@^0.9.1: prelude-ls "^1.2.1" type-check "^0.4.0" -ora@5.4.1, ora@^5.4.1: +ora@8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/ora/-/ora-8.0.1.tgz#6dcb9250a629642cbe0d2df3a6331ad6f7a2af3e" + integrity sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ== + dependencies: + chalk "^5.3.0" + cli-cursor "^4.0.0" + cli-spinners "^2.9.2" + is-interactive "^2.0.0" + is-unicode-supported "^2.0.0" + log-symbols "^6.0.0" + stdin-discarder "^0.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +ora@^5.4.1: version "5.4.1" resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -3599,6 +4748,14 @@ ora@5.4.1, ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" +os-name@5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/os-name/-/os-name-5.1.0.tgz#4f5ab5edfa6938b590112714f1570fe79f1d957a" + integrity sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ== + dependencies: + macos-release "^3.1.0" + windows-release "^5.0.1" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3609,6 +4766,11 @@ outdent@^0.5.0: resolved "https://registry.npmmirror.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + p-filter@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" @@ -3630,6 +4792,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -3644,6 +4813,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + p-map@^2.0.0: version "2.1.0" resolved "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -3654,6 +4830,38 @@ p-try@^2.0.0: resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pac-proxy-agent@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" + integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== + dependencies: + "@tootallnate/quickjs-emscripten" "^0.23.0" + agent-base "^7.0.2" + debug "^4.3.4" + get-uri "^6.0.1" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" + pac-resolver "^7.0.0" + socks-proxy-agent "^8.0.2" + +pac-resolver@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/pac-resolver/-/pac-resolver-7.0.1.tgz#54675558ea368b64d210fd9c92a640b5f3b8abb6" + integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== + dependencies: + degenerator "^5.0.0" + netmask "^2.0.2" + +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.npmmirror.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== + dependencies: + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -3671,17 +4879,47 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-json@^7.0.0: + version "7.1.1" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-7.1.1.tgz#68f7e6f0edf88c54ab14c00eb700b753b14e2120" + integrity sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw== + dependencies: + "@babel/code-frame" "^7.21.4" + error-ex "^1.3.2" + json-parse-even-better-errors "^3.0.0" + lines-and-columns "^2.0.3" + type-fest "^3.8.0" + +parse-path@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b" + integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog== + dependencies: + protocols "^2.0.0" + +parse-url@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d" + integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w== + dependencies: + parse-path "^7.0.0" + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -3696,7 +4934,7 @@ path-parse@^1.0.7: resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1, path-scurry@^1.10.2, path-scurry@^1.6.1: +path-scurry@^1.10.2: version "1.10.2" resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== @@ -3709,16 +4947,16 @@ path-type@^4.0.0: resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +path-type@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" + integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" - integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== - picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -3741,11 +4979,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pluralize@8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" @@ -3786,6 +5019,47 @@ progress@^2.0.0: resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise.allsettled@1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/promise.allsettled/-/promise.allsettled-1.0.7.tgz#b9dd51e9cffe496243f5271515652c468865f2d8" + integrity sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA== + dependencies: + array.prototype.map "^1.0.5" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + iterate-value "^1.0.2" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +protocols@^2.0.0, protocols@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" + integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== + +proxy-agent@6.4.0: + version "6.4.0" + resolved "https://registry.npmmirror.com/proxy-agent/-/proxy-agent-6.4.0.tgz#b4e2dd51dee2b377748aef8d45604c2d7608652d" + integrity sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ== + dependencies: + agent-base "^7.0.2" + debug "^4.3.4" + http-proxy-agent "^7.0.1" + https-proxy-agent "^7.0.3" + lru-cache "^7.14.1" + pac-proxy-agent "^7.0.1" + proxy-from-env "^1.1.0" + socks-proxy-agent "^8.0.2" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + pseudo-localization@^2.4.0: version "2.4.0" resolved "https://registry.npmmirror.com/pseudo-localization/-/pseudo-localization-2.4.0.tgz#5c19da35bc182ad7fc00d82d33dd42e88005e241" @@ -3811,6 +5085,13 @@ punycode@^2.1.0: resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +pupa@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" + integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== + dependencies: + escape-goat "^4.0.0" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -3821,6 +5102,11 @@ quick-lru@^4.0.1: resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -3828,6 +5114,25 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +rc@1.2.8: + version "1.2.8" + resolved "https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^10.0.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-10.1.0.tgz#2d13ab732d2f05d6e8094167c2112e2ee50644f4" + integrity sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA== + dependencies: + find-up "^6.3.0" + read-pkg "^8.1.0" + type-fest "^4.2.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -3847,6 +5152,16 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" +read-pkg@^8.0.0, read-pkg@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-8.1.0.tgz#6cf560b91d90df68bce658527e7e3eee75f7c4c7" + integrity sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ== + dependencies: + "@types/normalize-package-data" "^2.4.1" + normalize-package-data "^6.0.0" + parse-json "^7.0.0" + type-fest "^4.2.0" + read-yaml-file@^1.1.0: version "1.1.0" resolved "https://registry.npmmirror.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" @@ -3870,7 +5185,7 @@ readable-stream@^2.0.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.4.0: +readable-stream@^3.0.2, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -3886,13 +5201,6 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -3935,10 +5243,52 @@ regexpp@^3.1.0: resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== +registry-auth-token@^5.0.1: + version "5.0.2" + resolved "https://registry.npmmirror.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" + integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + dependencies: + "@pnpm/npm-conf" "^2.1.0" + +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== + dependencies: + rc "1.2.8" + +release-it@^17.1.1: + version "17.1.1" + resolved "https://registry.npmmirror.com/release-it/-/release-it-17.1.1.tgz#59925d2a84c23cd8bd4a649b7fa7a96bad801427" + integrity sha512-b+4Tu2eb5f2wIdIe5E9hre0evbMQrXp/kRq0natHsHYJVqu1Bd4/h2a+swFi0faGmC3cJdB16uYR6LscG9SchQ== + dependencies: + "@iarna/toml" "2.2.5" + "@octokit/rest" "20.0.2" + async-retry "1.3.3" + chalk "5.3.0" + cosmiconfig "9.0.0" + execa "8.0.1" + git-url-parse "14.0.0" + globby "14.0.1" + got "13.0.0" + inquirer "9.2.14" + is-ci "3.0.1" + issue-parser "6.0.0" + lodash "4.17.21" + mime-types "2.1.35" + new-github-release-url "2.0.0" + node-fetch "3.3.2" + open "10.0.3" + ora "8.0.1" + os-name "5.1.0" + promise.allsettled "1.0.7" + proxy-agent "6.4.0" + semver "7.6.0" + shelljs "0.8.5" + update-notifier "7.0.0" + url-join "5.0.0" + wildcard-match "5.1.2" + yargs-parser "21.1.1" require-directory@^2.1.1: version "2.1.1" @@ -3955,6 +5305,11 @@ require-main-filename@^2.0.0: resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.npmmirror.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -3981,6 +5336,13 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -3997,6 +5359,11 @@ restore-cursor@^4.0.0: onetime "^5.1.0" signal-exit "^3.0.2" +retry@0.13.1: + version "0.13.1" + resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -4014,13 +5381,6 @@ rimraf@2: dependencies: glob "^7.1.3" -rimraf@4.4.1: - version "4.4.1" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" - integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== - dependencies: - glob "^9.2.0" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -4028,10 +5388,10 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-applescript@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" + integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== run-async@^3.0.0: version "3.0.0" @@ -4045,7 +5405,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@7.8.1, rxjs@^7.5.5, rxjs@^7.8.1: +rxjs@^7.8.1: version "7.8.1" resolved "https://registry.npmmirror.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -4100,12 +5460,19 @@ schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== + dependencies: + semver "^7.3.5" + "semver@2 || 3 || 4 || 5": version "5.7.2" resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^7.2.1, semver@^7.3.5, semver@^7.5.3: +semver@7.6.0, semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.0" resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== @@ -4208,7 +5575,7 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.2: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -4223,6 +5590,11 @@ slash@^3.0.0: resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -4248,6 +5620,11 @@ slice-ansi@^7.0.0: ansi-styles "^6.2.1" is-fullwidth-code-point "^5.0.0" +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + smartwrap@^2.0.2: version "2.0.2" resolved "https://registry.npmmirror.com/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" @@ -4260,7 +5637,24 @@ smartwrap@^2.0.2: wcwidth "^1.0.1" yargs "^15.1.0" -source-map-support@0.5.21, source-map-support@~0.5.20: +socks-proxy-agent@^8.0.2: + version "8.0.3" + resolved "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-8.0.3.tgz#6b2da3d77364fde6292e810b496cb70440b9b89d" + integrity sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A== + dependencies: + agent-base "^7.1.1" + debug "^4.3.4" + socks "^2.7.1" + +socks@^2.7.1: + version "2.8.1" + resolved "https://registry.npmmirror.com/socks/-/socks-2.8.1.tgz#22c7d9dd7882649043cba0eafb49ae144e3457af" + integrity sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -4268,16 +5662,16 @@ source-map-support@0.5.21, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.7.4: - version "0.7.4" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.6.0: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + spawndamnit@^2.0.0: version "2.0.0" resolved "https://registry.npmmirror.com/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" @@ -4312,11 +5706,33 @@ spdx-license-ids@^3.0.0: resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +stdin-discarder@^0.2.1: + version "0.2.2" + resolved "https://registry.npmmirror.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" + integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + stream-transform@^2.1.3: version "2.1.3" resolved "https://registry.npmmirror.com/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" @@ -4383,7 +5799,7 @@ string.prototype.trimend@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: +string.prototype.trimstart@^1.0.7, string.prototype.trimstart@^1.0.8: version "1.0.8" resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== @@ -4432,6 +5848,11 @@ strip-bom@^3.0.0: resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-final-newline@^3.0.0: version "3.0.0" resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" @@ -4449,6 +5870,11 @@ strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1. resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" @@ -4482,11 +5908,6 @@ swc-loader@^0.2.6: dependencies: "@swc/counter" "^0.1.3" -symbol-observable@4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - table@^6.0.9: version "6.8.2" resolved "https://registry.npmmirror.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" @@ -4498,7 +5919,7 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: +tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== @@ -4529,12 +5950,17 @@ terser@^5.26.0: commander "^2.20.0" source-map-support "~0.5.20" +text-extensions@^2.0.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/text-extensions/-/text-extensions-2.4.0.tgz#a1cfcc50cf34da41bfd047cc744f804d1680ea34" + integrity sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g== + text-table@^0.2.0: version "0.2.0" resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -through@^2.3.6: +"through@>=2.2.7 <3": version "2.3.8" resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -4558,40 +5984,47 @@ to-regex-range@^5.0.1: resolved "https://registry.npmmirror.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== -tree-kill@1.2.2: - version "1.2.2" - resolved "https://registry.npmmirror.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -tsconfig-paths-webpack-plugin@4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz#3c6892c5e7319c146eee1e7302ed9e6f2be4f763" - integrity sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA== +ts-loader@^9.5.1: + version "9.5.1" + resolved "https://registry.npmmirror.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== dependencies: chalk "^4.1.0" - enhanced-resolve "^5.7.0" - tsconfig-paths "^4.1.2" - -tsconfig-paths@4.2.0, tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +ts-node@^10.9.2: + version "10.9.2" + resolved "https://registry.npmmirror.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" tslib@^1.8.1: version "1.14.1" resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.2.0, tslib@^2.6.2: +tslib@^2.0.1, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -4648,6 +6081,26 @@ type-fest@^0.8.1: resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0, type-fest@^2.5.1: + version "2.19.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-fest@^3.8.0: + version "3.13.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + +type-fest@^4.2.0: + version "4.14.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-4.14.0.tgz#46f9a358e605f0ec5ca99ab83deaa7257a7ae379" + integrity sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q== + typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -4680,7 +6133,7 @@ typed-array-byte-offset@^1.0.2: has-proto "^1.0.3" is-typed-array "^1.1.13" -typed-array-length@^1.0.5: +typed-array-length@^1.0.5, typed-array-length@^1.0.6: version "1.0.6" resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== @@ -4692,10 +6145,17 @@ typed-array-length@^1.0.5: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@5.3.3: - version "5.3.3" - resolved "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== typescript@^4.1.2, typescript@^4.7.4: version "4.9.5" @@ -4707,6 +6167,11 @@ uc.micro@^2.0.0, uc.micro@^2.1.0: resolved "https://registry.npmmirror.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -4722,6 +6187,23 @@ undici-types@~5.26.4: resolved "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + +universal-user-agent@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa" + integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -4756,6 +6238,24 @@ update-browserslist-db@^1.0.13: escalade "^3.1.1" picocolors "^1.0.0" +update-notifier@7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/update-notifier/-/update-notifier-7.0.0.tgz#295aa782dadab784ed4073f7ffaea1fb2123031c" + integrity sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ== + dependencies: + boxen "^7.1.1" + chalk "^5.3.0" + configstore "^6.0.0" + import-lazy "^4.0.0" + is-in-ci "^0.1.0" + is-installed-globally "^0.4.0" + is-npm "^6.0.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.5.4" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -4763,17 +6263,27 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-join@5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/url-join/-/url-join-5.0.0.tgz#c2f1e5cbd95fa91082a93b58a1f42fecb4bdbcf1" + integrity sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA== + util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8-compile-cache@^2.0.3: version "2.4.0" resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== -validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== @@ -4791,7 +6301,7 @@ vscode-test@^1.4.1: rimraf "^3.0.2" unzipper "^0.10.11" -watchpack@^2.4.0, watchpack@^2.4.1: +watchpack@^2.4.1: version "2.4.1" resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== @@ -4806,6 +6316,11 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" +web-streams-polyfill@^3.0.3: + version "3.3.3" + resolved "https://registry.npmmirror.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" + integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== + web-tree-sitter@^0.20.8: version "0.20.8" resolved "https://registry.npmmirror.com/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz#1e371cb577584789cadd75cb49c7ddfbc99d04c8" @@ -4839,46 +6354,11 @@ webpack-merge@^5.7.3: flat "^5.0.2" wildcard "^2.0.0" -webpack-node-externals@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" - integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== - webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.90.1: - version "5.90.1" - resolved "https://registry.npmmirror.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" - integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - webpack@^5.90.3: version "5.91.0" resolved "https://registry.npmmirror.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" @@ -4965,17 +6445,42 @@ wide-align@1.1.3: dependencies: string-width "^1.0.2 || 2" +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + +wildcard-match@5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/wildcard-match/-/wildcard-match-5.1.2.tgz#66b438001391674d8599b45da051e0bd9f33cd2a" + integrity sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ== + wildcard@^2.0.0: version "2.0.1" resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== +windows-release@^5.0.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/windows-release/-/windows-release-5.1.1.tgz#7ac7019f9baeaea6c00ec889b11824f46c12ee8d" + integrity sha512-NMD00arvqcq2nwqc5Q6KtrSRHK+fVD31erE5FEMahAw5PmVCgD7MUXodq3pdZSUkqA9Cda2iWx6s1XYwiJWRmw== + dependencies: + execa "^5.1.1" + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + workerpool@6.1.0: version "6.1.0" resolved "https://registry.npmmirror.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -4984,7 +6489,7 @@ workerpool@6.1.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: +wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== @@ -5016,6 +6521,21 @@ wrappy@1: resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + xml2js@^0.5.0: version "0.5.0" resolved "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7" @@ -5117,7 +6637,7 @@ yargs@^15.1.0: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.2.1, yargs@^17.7.1: +yargs@^17.0.0, yargs@^17.2.1, yargs@^17.7.1: version "17.7.2" resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== @@ -5130,7 +6650,17 @@ yargs@^17.2.1, yargs@^17.7.1: y18n "^5.0.5" yargs-parser "^21.1.1" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== From 23ec2e7f9b9fa2e54538e500033b5d84c504902b Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:22:13 +0800 Subject: [PATCH 3/9] =?UTF-8?q?refector:=20=E5=A4=84=E7=90=86=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- l10n/bundle.l10n.json | 6 +++-- l10n/bundle.l10n.zh.json | 6 +++-- src/constants/commands.ts | 2 +- src/services/command-service.ts | 46 ++++++++++++++++++++++++++------- src/types/command.ts | 4 +-- src/utils/modules.ts | 17 ++++++++---- 6 files changed, 60 insertions(+), 21 deletions(-) diff --git a/l10n/bundle.l10n.json b/l10n/bundle.l10n.json index f25077d..424a3dc 100644 --- a/l10n/bundle.l10n.json +++ b/l10n/bundle.l10n.json @@ -1,13 +1,15 @@ { + "Please select a project": "Please select a project", + "Do not select submodules and create them directly": "Do not select submodules and create them directly", "Please select a module": "Please select a module", - "Please select an app": "Please select an app", - "Please select a app": "Please select a app", "Please select a operation": "Please select a operation", + "Please select an app": "Please select an app", "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run": "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run", "Canceled": "Canceled", "Generate a new application workspace": "Generate a new application workspace", "Generate a new class": "Generate a new class", "Generate a new cli configuration file": "Generate a new cli configuration file", + "Can't create config file in nest application": "Can't create config file in nest application", "Generate a new controller declaration": "Generate a new controller declaration", "Generate a new custom decorator": "Generate a new custom decorator", "Generate a new filter declaration": "Generate a new filter declaration", diff --git a/l10n/bundle.l10n.zh.json b/l10n/bundle.l10n.zh.json index f25077d..424a3dc 100644 --- a/l10n/bundle.l10n.zh.json +++ b/l10n/bundle.l10n.zh.json @@ -1,13 +1,15 @@ { + "Please select a project": "Please select a project", + "Do not select submodules and create them directly": "Do not select submodules and create them directly", "Please select a module": "Please select a module", - "Please select an app": "Please select an app", - "Please select a app": "Please select a app", "Please select a operation": "Please select a operation", + "Please select an app": "Please select an app", "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run": "Please enter the name and optional parameters, separated by spaces, such as: application --dry-run", "Canceled": "Canceled", "Generate a new application workspace": "Generate a new application workspace", "Generate a new class": "Generate a new class", "Generate a new cli configuration file": "Generate a new cli configuration file", + "Can't create config file in nest application": "Can't create config file in nest application", "Generate a new controller declaration": "Generate a new controller declaration", "Generate a new custom decorator": "Generate a new custom decorator", "Generate a new filter declaration": "Generate a new filter declaration", diff --git a/src/constants/commands.ts b/src/constants/commands.ts index 1fac9b7..fcc5487 100644 --- a/src/constants/commands.ts +++ b/src/constants/commands.ts @@ -31,7 +31,7 @@ export const COMMANDS: INestCommand[] = [ alias: NestGenerateAlias.CONFIG, needInput: false, description: l10n.t('Generate a new cli configuration file'), - preValidate: (ctx, ...args): boolean => { + preValidate: async (ctx, ...args): Promise => { // 当从菜单上下文中创建 config 文件时,判断当前是否为 nest应用, 如果是,直接提示用户不可以先进行创建配置文件 const fileUri = ctx.fileUri as Uri; const cmd = args[0] as INestCommand; diff --git a/src/services/command-service.ts b/src/services/command-service.ts index d15d1b8..a7d629b 100644 --- a/src/services/command-service.ts +++ b/src/services/command-service.ts @@ -21,7 +21,13 @@ import { showCommandsQuickPick, showProjectQuickPick, } from '../utils'; -import {IModule, INestApplication, INestProject} from '../types'; +import { + IModule, + INestApplication, + INestCommand, + INestProject, + NestGenerateAlias, +} from '../types'; import { getApplicationFromUri, showApplicationQuickPick, @@ -60,6 +66,7 @@ export default class CommandService implements Disposable { const {postExecute: callback, ...rest} = cmd; const options = {...rest, logger: self.sm.logger}; this.registerCommand(options.name, async (...args: any[]) => { + const isConfigCmd = cmd.alias === NestGenerateAlias.CONFIG; const meta = args.length === 1 ? args[0] : null; let userInput: string | undefined = ''; let selectedModule: IModule | undefined = undefined; @@ -83,15 +90,18 @@ export default class CommandService implements Disposable { // 获取当前文件所在的应用 const fileUri = args[0] as Uri; - if (cmd.preValidate && !cmd.preValidate(cmdCtx, cmd)) { + if (cmd.preValidate && !(await cmd.preValidate(cmdCtx, cmd))) { return; } application = await getApplicationFromUri(fileUri); - project = await getProjectFromUri(fileUri, application); + + if (!isConfigCmd) { + project = await getProjectFromUri(fileUri, application); - if (!project && application) { - project = await showProjectQuickPick(application); + if (!project && application) { + project = await showProjectQuickPick(application); + } } } @@ -106,9 +116,17 @@ export default class CommandService implements Disposable { } } - // 从app中选取模块进行将生成的文件添加到指定的模块中 - selectedModule = await getModulesQuickPick(application!, project); - userInput = this._buildCommand(userInput, project, selectedModule); + if (!isConfigCmd) { + // 从app中选取模块进行将生成的文件添加到指定的模块中 + selectedModule = await getModulesQuickPick(application!, project); + + userInput = this._buildCommand( + cmd, + userInput, + project, + selectedModule, + ); + } if (cmd.validateUserInput) { const isValid = await cmd.validateUserInput(cmdCtx, userInput); @@ -151,6 +169,7 @@ export default class CommandService implements Disposable { * @returns 处理后的用户输入 */ private _buildCommand( + cmd: INestCommand, userInput: string, project?: INestProject, module?: IModule, @@ -158,13 +177,22 @@ export default class CommandService implements Disposable { let _userInput = userInput.trim(); const {flat, noSpec, noFlat, skipImport, spec} = this.configuration; + if (cmd.alias === NestGenerateAlias.CONFIG) { + return _userInput; + } + // 追加到指定的项目中 if (project) { _userInput = _userInput + ` --project ${project.name}`; } // 在指定的module中生成对应的文件 - if (!_userInput.startsWith('-') && module && module.name) { + if ( + !_userInput.startsWith('-') && + module && + module.name && + module.name !== 'None' + ) { _userInput = `${module.name}/${_userInput}`; } diff --git a/src/types/command.ts b/src/types/command.ts index 9243b51..3037da3 100644 --- a/src/types/command.ts +++ b/src/types/command.ts @@ -57,9 +57,9 @@ export interface INestCommand extends IBaseCommon { | ((ctx: CommandContext, ...args: any[]) => Promise) | undefined; - preValidate?: (ctx: CommandContext, ...args: any[]) => Promise | boolean; + preValidate?: (ctx: CommandContext, ...args: any[]) => Promise ; - validateUserInput?: (ctx: CommandContext, ...args: any[]) => Promise | boolean; + validateUserInput?: (ctx: CommandContext, ...args: any[]) => Promise ; } /** diff --git a/src/utils/modules.ts b/src/utils/modules.ts index 911d2bc..9d17f94 100644 --- a/src/utils/modules.ts +++ b/src/utils/modules.ts @@ -46,11 +46,18 @@ export function getAllModules( } export function getModulePickItems(modules: IModule[]): QuickPickItem[] { - return modules.map(module => ({ - label: module.name, - description: module.project ? module.project.name : '', - detail: module.moduleEntry, - })); + return [ + { + label: 'None', + description: 'None', + detail: l10n.t('Do not select submodules and create them directly'), + }, + ...modules.map(module => ({ + label: module.name, + description: module.project ? module.project.name : '', + detail: module.moduleEntry, + })), + ]; } export function getModuleFromUri(uri: Uri) {} From bc35a4d3fd8d5ba564cb735945e8170d972c6765 Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:38:29 +0800 Subject: [PATCH 4/9] =?UTF-8?q?build(cli):=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4hooks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .husky/comment-msg | 4 ++++ .husky/pre-commit | 4 ++++ package.json | 12 +++++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 .husky/comment-msg create mode 100644 .husky/pre-commit diff --git a/.husky/comment-msg b/.husky/comment-msg new file mode 100644 index 0000000..c928489 --- /dev/null +++ b/.husky/comment-msg @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn commitlint \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..dc0378c --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn lint-staged \ No newline at end of file diff --git a/package.json b/package.json index d38afd0..b3f9080 100644 --- a/package.json +++ b/package.json @@ -294,12 +294,13 @@ "lint": "eslint src --ext ts", "test": "node ./out/test/runTest.js", "prettier": "prettier --fix -w ./src/**/*.{js,ts} ", - "postinstall": "husky install && husky set .husky/pre-commit \"yarn lint-staged\"", "publish:beta": "vsce package --pre-release", "publish": "vsce publish", "lint-staged": "lint-staged", "l10n": "node ./node_modules/@vscode/l10n-dev/dist/cli.js export -o ./l10n ./src", - "release": "release-it" + "release": "release-it", + "prepare": "husky", + "commitlint": "commitlint --edit $1" }, "devDependencies": { "@changesets/cli": "^2.27.1", @@ -336,5 +337,10 @@ "mustache": "^4.1.0" }, "license": "MIT", - "packageManager": "yarn@1.22.19" + "packageManager": "yarn@1.22.19", + "lint-staged": { + "*.{js,ts}": [ + "prettier --write" + ] + } } \ No newline at end of file From 71bcd9e0a1a91e74c3cdd48d4016c8265754c0e4 Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:40:05 +0800 Subject: [PATCH 5/9] =?UTF-8?q?build(cli):=E4=BF=AE=E6=94=B9lint-staged?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index b3f9080..6ef8fed 100644 --- a/package.json +++ b/package.json @@ -340,6 +340,7 @@ "packageManager": "yarn@1.22.19", "lint-staged": { "*.{js,ts}": [ + "yarn lint", "prettier --write" ] } From 3b43aad2f6215598e3c74bbd74ca126e3b815f57 Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:46:34 +0800 Subject: [PATCH 6/9] =?UTF-8?q?build(cli):=20=20=E5=A2=9E=E5=8A=A0commitli?= =?UTF-8?q?nt=20action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/commitlint.yaml | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/commitlint.yaml diff --git a/.github/workflows/commitlint.yaml b/.github/workflows/commitlint.yaml new file mode 100644 index 0000000..ebdca71 --- /dev/null +++ b/.github/workflows/commitlint.yaml @@ -0,0 +1,36 @@ +name: CI + +on: [push, pull_request] + +jobs: + commitlint: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install required dependencies + run: | + apt update + apt install -y sudo + sudo apt install -y git curl + curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - + sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs + - name: Print versions + run: | + git --version + node --version + npm --version + npx commitlint --version + - name: Install commitlint + run: | + npm install conventional-changelog-conventionalcommits + npm install commitlint@latest + + - name: Validate current commit (last commit) with commitlint + if: github.event_name == 'push' + run: npx commitlint --last --verbose + + - name: Validate PR commits with commitlint + if: github.event_name == 'pull_request' + run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose \ No newline at end of file From f0ed3591293379b72b37d06fbfaac0db537ac10e Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:53:39 +0800 Subject: [PATCH 7/9] =?UTF-8?q?chore(cli):=20=20=E8=B0=83=E6=95=B4commitli?= =?UTF-8?q?nt=20action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/commitlint.yaml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/commitlint.yaml b/.github/workflows/commitlint.yaml index ebdca71..0b9866d 100644 --- a/.github/workflows/commitlint.yaml +++ b/.github/workflows/commitlint.yaml @@ -5,17 +5,21 @@ on: [push, pull_request] jobs: commitlint: runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + strategy: + matrix: + node-version: [18.x] steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Install required dependencies - run: | - apt update - apt install -y sudo - sudo apt install -y git curl - curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - - sudo DEBIAN_FRONTEND=noninteractive apt install -y nodejs + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'yarn' - name: Print versions run: | git --version From c8fc6a1549202459f1eee4060248d077e0e31d31 Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 22:57:40 +0800 Subject: [PATCH 8/9] =?UTF-8?q?chore(cli):=20=20=E8=B0=83=E6=95=B4commitli?= =?UTF-8?q?nt=20action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/commitlint.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/commitlint.yaml b/.github/workflows/commitlint.yaml index 0b9866d..8eeb7d2 100644 --- a/.github/workflows/commitlint.yaml +++ b/.github/workflows/commitlint.yaml @@ -28,13 +28,13 @@ jobs: npx commitlint --version - name: Install commitlint run: | - npm install conventional-changelog-conventionalcommits - npm install commitlint@latest + yarn add conventional-changelog-conventionalcommits + yarn add commitlint@latest - name: Validate current commit (last commit) with commitlint if: github.event_name == 'push' - run: npx commitlint --last --verbose + run: yarn commitlint --last --verbose - name: Validate PR commits with commitlint if: github.event_name == 'pull_request' - run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose \ No newline at end of file + run: yarn commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose \ No newline at end of file From 93a2cbfc94d374bea259c8e138340c127241569d Mon Sep 17 00:00:00 2001 From: abchen Date: Wed, 3 Apr 2024 23:09:27 +0800 Subject: [PATCH 9/9] =?UTF-8?q?chore(action):=20=E8=B0=83=E6=95=B4github?= =?UTF-8?q?=20actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/commitlint.yaml | 4 ++-- .github/workflows/release.yml | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/commitlint.yaml b/.github/workflows/commitlint.yaml index 8eeb7d2..648e5a8 100644 --- a/.github/workflows/commitlint.yaml +++ b/.github/workflows/commitlint.yaml @@ -33,8 +33,8 @@ jobs: - name: Validate current commit (last commit) with commitlint if: github.event_name == 'push' - run: yarn commitlint --last --verbose + run: npx commitlint --last --verbose - name: Validate PR commits with commitlint if: github.event_name == 'pull_request' - run: yarn commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose \ No newline at end of file + run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dfab3ef..8187f8a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ name: Publish to vscode extension marketplace on: release: - types: [published] + types: [released] jobs: build: @@ -13,8 +13,6 @@ jobs: permissions: contents: read packages: write - env: - VSCE_AIUTH_TOKEN: ${{secrets.RELEASE_TOEKN}} strategy: matrix: @@ -32,4 +30,4 @@ jobs: - name: 'Publish to marketplace' run: 'yarn publish -p $VSCE_AIUTH_TOKEN' env: - VSCE_AIUTH_TOKEN: ${{secrets.RELEASE_TOEKN}} + VSCE_AIUTH_TOKEN: ${{secrets.RELEASE_TOEKN}} \ No newline at end of file