├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github ├── FUNDING.yml └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.json ├── README.md ├── index.html ├── license ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts └── verifyCommit.ts ├── src ├── createChunk.ts ├── fragmentFile.ts ├── fragmentFile1.ts ├── fragmentUpload.ts ├── fragmentUpload1.ts ├── index.ts ├── type.ts ├── work.ts └── work1.ts ├── test └── index.test.ts └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | pnpm-lock.yaml 4 | !.* 5 | .history 6 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@antfu" 3 | } 4 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: Simon-He95 2 | custom: ["https://github.com/Simon-He95/sponsor"] 3 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | pull_request: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | lint: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v3 17 | - name: Set node 18 | uses: actions/setup-node@v3 19 | with: 20 | node-version: 16.x 21 | 22 | - name: Setup 23 | run: npm i -g @antfu/ni 24 | 25 | - name: Install 26 | run: nci 27 | 28 | - name: Lint 29 | run: nr lint 30 | 31 | typecheck: 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v3 35 | - name: Set node 36 | uses: actions/setup-node@v3 37 | with: 38 | node-version: 16.x 39 | 40 | - name: Setup 41 | run: npm i -g @antfu/ni 42 | 43 | - name: Install 44 | run: nci 45 | 46 | - name: Typecheck 47 | run: nr typecheck 48 | 49 | test: 50 | runs-on: ${{ matrix.os }} 51 | 52 | strategy: 53 | matrix: 54 | node: [14.x, 16.x] 55 | os: [ubuntu-latest, windows-latest, macos-latest] 56 | fail-fast: false 57 | 58 | steps: 59 | - uses: actions/checkout@v3 60 | - name: Set node ${{ matrix.node }} 61 | uses: actions/setup-node@v3 62 | with: 63 | node-version: ${{ matrix.node }} 64 | 65 | - name: Setup 66 | run: npm i -g @antfu/ni 67 | 68 | - name: Install 69 | run: nci 70 | 71 | - name: Build 72 | run: nr build 73 | 74 | - name: Test 75 | run: nr test 76 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | with: 14 | fetch-depth: 0 15 | 16 | - uses: actions/setup-node@v3 17 | with: 18 | node-version: 16.x 19 | 20 | - run: npx changelogithub 21 | env: 22 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | node_modules 3 | *.log 4 | idea/ 5 | *.local 6 | .DS_Store 7 | dist 8 | .cache 9 | .idea 10 | .history 11 | logs 12 | &-debug.log 13 | *-error.log 14 | .eslintcache 15 | tmp 16 | 17 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | ignore-workspace-root-check=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | packages/*/CHANGELOG.md 2 | playground-temp/ 3 | dist/ 4 | temp/ 5 | LICENSE.md 6 | pnpm-lock.yaml 7 | pnpm-workspace.yaml 8 | playground/tsconfig-json-load-error/has-error/tsconfig.json 9 | playground/html/invalid.html 10 | playground/html/valid.html 11 | playground/worker/classic-worker.js 12 | .history 13 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "tabWidth": 2, 4 | "singleQuote": true, 5 | "printWidth": 80, 6 | "trailingComma": "all", 7 | "overrides": [ 8 | { 9 | "files": ["*.json5"], 10 | "options": { 11 | "singleQuote": false, 12 | "quoteProps": "preserve" 13 | } 14 | }, 15 | { 16 | "files": ["*.yml"], 17 | "options": { 18 | "singleQuote": false 19 | } 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Fast Fragment Uploader 2 | 3 | > WIP: 一个简单使用并且快速的分片上传封装函数,使用 Worker 进行分片上传,Worker 开启数量根据 CPU 内核数控制,支持多个文件同时上传,每片默认按照 5MB 进行分片,可自己设置。另外提供了 2 个函数,fragmentUpload 会在单个文件全部分完片后依次回调,fragmentUpload1 则是在每分好一个片立即回调,可按照具体需求使用。 4 | 5 | ## Install 6 | 7 | ``` 8 | npm i fast-fragment-upload 9 | ``` 10 | 11 | ## Usage 12 | 13 | ### fragmentUpload 14 | 15 | ```typescript 16 | import { fragmentUpload } from 'fast-fragment-upload' 17 | 18 | fragmentUpload('input[type="file"]', { 19 | perCallback: (fileInfo) => { 20 | console.log('单个文件每一次调用', fileInfo) 21 | }, 22 | lastCallback: (files) => { 23 | console.log('所有文件最后一次总和的调用', files) 24 | }, 25 | }) 26 | ``` 27 | 28 | ### fragmentUpload1 29 | 30 | ```typescript 31 | fragmentUpload1('input[type="file"]', { 32 | callback: (chunk) => { 33 | // 每一个片分片的结果回调,每一个片分好立即回调,能够更快的往服务端去上传 34 | console.log(chunk) 35 | }, 36 | }) 37 | ``` 38 | 39 | ## Params 40 | 41 | ```typescript 42 | export interface FragmentUpload { 43 | perCallback?: (fileInfo: FileInfo & { isDone: boolean }) => void 44 | lastCallback?: (filesInfo: FileInfo[]) => void 45 | splitCallback?: (fileInfo: FileInfo) => void 46 | chunkSize?: number 47 | } 48 | 49 | export interface FileInfo { 50 | name: string 51 | type: string 52 | size: number 53 | lastModified: number 54 | chunks: ChunkInfo[] 55 | } 56 | 57 | export interface ChunkInfo { 58 | start: number 59 | end: number 60 | index: number 61 | hash: string 62 | } 63 | 64 | export interface FragmentUpload1 { 65 | chunkSize?: number 66 | callback?: (chunk: ChunkInfo & { isDone: boolean }) => void 67 | } 68 | ``` 69 | 70 | ## License 71 | 72 | [MIT](./LICENSE) License © 2022 [Simon He](https://github.com/Simon-He95) 73 | 74 | Buy Me A Coffee 75 | 76 |

77 | 78 | 79 | 80 |

81 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Fragment Upload 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Simon He 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fast-fragment-upload", 3 | "version": "0.0.6", 4 | "packageManager": "pnpm@7.2.1", 5 | "description": "", 6 | "author": "Simon He", 7 | "license": "MIT", 8 | "funding": "https://github.com/sponsors/Simon-He95", 9 | "homepage": "https://github.com/Simon-He95/fast-fragment-upload#readme", 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/Simon-He95/fast-fragment-upload.git" 13 | }, 14 | "bugs": "https://github.com/Simon-He95/fast-fragment-upload/issues", 15 | "keywords": [], 16 | "sideEffects": false, 17 | "exports": { 18 | ".": { 19 | "types": "./dist/index.d.ts", 20 | "require": "./dist/index.js", 21 | "import": "./dist/index.mjs" 22 | } 23 | }, 24 | "main": "./dist/index.js", 25 | "module": "./dist/index.mjs", 26 | "types": "./dist/index.d.ts", 27 | "typesVersions": { 28 | "*": { 29 | "*": [ 30 | "./dist/*", 31 | "./dist/index.d.ts" 32 | ] 33 | } 34 | }, 35 | "files": [ 36 | "dist" 37 | ], 38 | "scripts": { 39 | "build": "tsup ./src/index.ts ./src/work.ts ./src/work1.ts --format cjs,esm --dts --clean --minify", 40 | "dev": "npm run build -- --watch src", 41 | "format": "prettier --write --cache .", 42 | "lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx,.md,.json --max-warnings 0 --cache", 43 | "lint:fix": "pnpm run lint --fix", 44 | "prepublishOnly": "nr build", 45 | "release": "bumpp && npm publish", 46 | "start": "esno src/index.ts", 47 | "test": "vitest", 48 | "typecheck": "tsc --noEmit" 49 | }, 50 | "devDependencies": { 51 | "@antfu/eslint-config": "^0.25.1", 52 | "@types/node": "^18.0.0", 53 | "@types/spark-md5": "^3.0.2", 54 | "bumpp": "^8.2.1", 55 | "eslint": "^8.18.0", 56 | "esno": "^0.16.3", 57 | "lint-staged": "^13.1.0", 58 | "prettier": "^2.8.1", 59 | "rimraf": "^3.0.2", 60 | "spark-md5": "^3.0.2", 61 | "tsup": "^6.5.0", 62 | "tsx": "^3.12.1", 63 | "typescript": "^4.7.4", 64 | "vitest": "^0.15.1" 65 | }, 66 | "lint-staged": { 67 | "*": [ 68 | "prettier --write --cache --ignore-unknown" 69 | ], 70 | "*.{vue,js,ts,jsx,tsx,md,json}": "eslint --fix" 71 | }, 72 | "eslintConfig": { 73 | "extends": "@antfu" 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@antfu/eslint-config': 12 | specifier: ^0.25.1 13 | version: 0.25.1(eslint@8.18.0)(typescript@4.7.4) 14 | '@types/node': 15 | specifier: ^18.0.0 16 | version: 18.0.0 17 | '@types/spark-md5': 18 | specifier: ^3.0.2 19 | version: 3.0.2 20 | bumpp: 21 | specifier: ^8.2.1 22 | version: 8.2.1 23 | eslint: 24 | specifier: ^8.18.0 25 | version: 8.18.0 26 | esno: 27 | specifier: ^0.16.3 28 | version: 0.16.3 29 | lint-staged: 30 | specifier: ^13.1.0 31 | version: 13.1.0 32 | prettier: 33 | specifier: ^2.8.1 34 | version: 2.8.1 35 | rimraf: 36 | specifier: ^3.0.2 37 | version: 3.0.2 38 | spark-md5: 39 | specifier: ^3.0.2 40 | version: 3.0.2 41 | tsup: 42 | specifier: ^6.5.0 43 | version: 6.5.0(typescript@4.7.4) 44 | tsx: 45 | specifier: ^3.12.1 46 | version: 3.12.1 47 | typescript: 48 | specifier: ^4.7.4 49 | version: 4.7.4 50 | vitest: 51 | specifier: ^0.15.1 52 | version: 0.15.1 53 | 54 | packages: 55 | 56 | /@antfu/eslint-config-basic@0.25.1(@typescript-eslint/parser@5.26.0)(eslint@8.18.0)(typescript@4.7.4): 57 | resolution: {integrity: sha512-FiOC33yoqHJCElFjSPJ9rHIjGSvJSqbYE58PgRXtJE9E4MM00vwzbA9iKILLnj27o3r3V+1sngHWlIeGaQu/iA==} 58 | peerDependencies: 59 | eslint: '>=7.4.0' 60 | dependencies: 61 | eslint: 8.18.0 62 | eslint-plugin-antfu: 0.25.1(eslint@8.18.0)(typescript@4.7.4) 63 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.18.0) 64 | eslint-plugin-html: 6.2.0 65 | eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0) 66 | eslint-plugin-jsonc: 2.2.1(eslint@8.18.0) 67 | eslint-plugin-markdown: 2.2.1(eslint@8.18.0) 68 | eslint-plugin-n: 15.2.0(eslint@8.18.0) 69 | eslint-plugin-promise: 6.0.0(eslint@8.18.0) 70 | eslint-plugin-unicorn: 42.0.0(eslint@8.18.0) 71 | eslint-plugin-yml: 1.0.0(eslint@8.18.0) 72 | jsonc-eslint-parser: 2.1.0 73 | yaml-eslint-parser: 1.0.1 74 | transitivePeerDependencies: 75 | - '@typescript-eslint/parser' 76 | - eslint-import-resolver-typescript 77 | - eslint-import-resolver-webpack 78 | - supports-color 79 | - typescript 80 | dev: true 81 | 82 | /@antfu/eslint-config-react@0.25.1(eslint@8.18.0)(typescript@4.7.4): 83 | resolution: {integrity: sha512-gLdRj4nmOk4W9ORzvkwf8kklCkSxY7ox7BKE97HYcGtaq5oAQjibYC+WPkLklj2+BQuOXcZdGbqJgx/+qHfRrw==} 84 | peerDependencies: 85 | eslint: '>=7.4.0' 86 | dependencies: 87 | '@antfu/eslint-config-ts': 0.25.1(eslint@8.18.0)(typescript@4.7.4) 88 | eslint: 8.18.0 89 | eslint-plugin-react: 7.30.0(eslint@8.18.0) 90 | transitivePeerDependencies: 91 | - eslint-import-resolver-typescript 92 | - eslint-import-resolver-webpack 93 | - supports-color 94 | - typescript 95 | dev: true 96 | 97 | /@antfu/eslint-config-ts@0.25.1(eslint@8.18.0)(typescript@4.7.4): 98 | resolution: {integrity: sha512-bKaSOah8Qb5ND0i14x3kcpfMA5euxy/9VYVwZQ2XJgY6hkjEY1wTyC0Jw6JQvTYglEycEc2SDrtEZ0+0SKA/jg==} 99 | peerDependencies: 100 | eslint: '>=7.4.0' 101 | typescript: '>=3.9' 102 | dependencies: 103 | '@antfu/eslint-config-basic': 0.25.1(@typescript-eslint/parser@5.26.0)(eslint@8.18.0)(typescript@4.7.4) 104 | '@typescript-eslint/eslint-plugin': 5.32.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0)(typescript@4.7.4) 105 | '@typescript-eslint/parser': 5.26.0(eslint@8.18.0)(typescript@4.7.4) 106 | eslint: 8.18.0 107 | typescript: 4.7.4 108 | transitivePeerDependencies: 109 | - eslint-import-resolver-typescript 110 | - eslint-import-resolver-webpack 111 | - supports-color 112 | dev: true 113 | 114 | /@antfu/eslint-config-vue@0.25.1(eslint@8.18.0)(typescript@4.7.4): 115 | resolution: {integrity: sha512-Z9MCGYKZO50eU8YwgqBYWx+GVSOfDHxbIf6+BLxpDmrVGUuJQMqT5CIcihSRkQMeH/drQwPmQKbSSmVdjOLHrg==} 116 | peerDependencies: 117 | eslint: '>=7.4.0' 118 | dependencies: 119 | '@antfu/eslint-config-ts': 0.25.1(eslint@8.18.0)(typescript@4.7.4) 120 | eslint: 8.18.0 121 | eslint-plugin-vue: 9.0.1(eslint@8.18.0) 122 | transitivePeerDependencies: 123 | - eslint-import-resolver-typescript 124 | - eslint-import-resolver-webpack 125 | - supports-color 126 | - typescript 127 | dev: true 128 | 129 | /@antfu/eslint-config@0.25.1(eslint@8.18.0)(typescript@4.7.4): 130 | resolution: {integrity: sha512-CRg2LL6bh+lWWfG5TDJh3TUQTh+immu6IWkiVaJJn4jVD7jFQSewvIQUoPo7/YEPFpL2TTCCUjmT2YpmSbnedg==} 131 | peerDependencies: 132 | eslint: '>=7.4.0' 133 | dependencies: 134 | '@antfu/eslint-config-react': 0.25.1(eslint@8.18.0)(typescript@4.7.4) 135 | '@antfu/eslint-config-vue': 0.25.1(eslint@8.18.0)(typescript@4.7.4) 136 | '@typescript-eslint/eslint-plugin': 5.32.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0)(typescript@4.7.4) 137 | '@typescript-eslint/parser': 5.26.0(eslint@8.18.0)(typescript@4.7.4) 138 | eslint: 8.18.0 139 | eslint-plugin-eslint-comments: 3.2.0(eslint@8.18.0) 140 | eslint-plugin-html: 6.2.0 141 | eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0) 142 | eslint-plugin-jsonc: 2.2.1(eslint@8.18.0) 143 | eslint-plugin-n: 15.2.0(eslint@8.18.0) 144 | eslint-plugin-promise: 6.0.0(eslint@8.18.0) 145 | eslint-plugin-unicorn: 42.0.0(eslint@8.18.0) 146 | eslint-plugin-vue: 9.0.1(eslint@8.18.0) 147 | eslint-plugin-yml: 1.0.0(eslint@8.18.0) 148 | jsonc-eslint-parser: 2.1.0 149 | yaml-eslint-parser: 1.0.1 150 | transitivePeerDependencies: 151 | - eslint-import-resolver-typescript 152 | - eslint-import-resolver-webpack 153 | - supports-color 154 | - typescript 155 | dev: true 156 | 157 | /@babel/code-frame@7.16.7: 158 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 159 | engines: {node: '>=6.9.0'} 160 | dependencies: 161 | '@babel/highlight': 7.16.10 162 | dev: true 163 | 164 | /@babel/helper-validator-identifier@7.16.7: 165 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 166 | engines: {node: '>=6.9.0'} 167 | dev: true 168 | 169 | /@babel/highlight@7.16.10: 170 | resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} 171 | engines: {node: '>=6.9.0'} 172 | dependencies: 173 | '@babel/helper-validator-identifier': 7.16.7 174 | chalk: 2.4.2 175 | js-tokens: 4.0.0 176 | dev: true 177 | 178 | /@esbuild-kit/cjs-loader@2.4.1: 179 | resolution: {integrity: sha512-lhc/XLith28QdW0HpHZvZKkorWgmCNT7sVelMHDj3HFdTfdqkwEKvT+aXVQtNAmCC39VJhunDkWhONWB7335mg==} 180 | dependencies: 181 | '@esbuild-kit/core-utils': 3.0.0 182 | get-tsconfig: 4.2.0 183 | dev: true 184 | 185 | /@esbuild-kit/core-utils@3.0.0: 186 | resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} 187 | dependencies: 188 | esbuild: 0.15.18 189 | source-map-support: 0.5.21 190 | dev: true 191 | 192 | /@esbuild-kit/esm-loader@2.5.4: 193 | resolution: {integrity: sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==} 194 | dependencies: 195 | '@esbuild-kit/core-utils': 3.0.0 196 | get-tsconfig: 4.2.0 197 | dev: true 198 | 199 | /@esbuild/android-arm@0.15.18: 200 | resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} 201 | engines: {node: '>=12'} 202 | cpu: [arm] 203 | os: [android] 204 | requiresBuild: true 205 | dev: true 206 | optional: true 207 | 208 | /@esbuild/linux-loong64@0.15.18: 209 | resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} 210 | engines: {node: '>=12'} 211 | cpu: [loong64] 212 | os: [linux] 213 | requiresBuild: true 214 | dev: true 215 | optional: true 216 | 217 | /@eslint/eslintrc@1.3.0: 218 | resolution: {integrity: sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==} 219 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 220 | dependencies: 221 | ajv: 6.12.6 222 | debug: 4.3.4 223 | espree: 9.3.2 224 | globals: 13.15.0 225 | ignore: 5.2.0 226 | import-fresh: 3.3.0 227 | js-yaml: 4.1.0 228 | minimatch: 3.1.2 229 | strip-json-comments: 3.1.1 230 | transitivePeerDependencies: 231 | - supports-color 232 | dev: true 233 | 234 | /@humanwhocodes/config-array@0.9.2: 235 | resolution: {integrity: sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==} 236 | engines: {node: '>=10.10.0'} 237 | dependencies: 238 | '@humanwhocodes/object-schema': 1.2.1 239 | debug: 4.3.4 240 | minimatch: 3.1.2 241 | transitivePeerDependencies: 242 | - supports-color 243 | dev: true 244 | 245 | /@humanwhocodes/object-schema@1.2.1: 246 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 247 | dev: true 248 | 249 | /@jsdevtools/ez-spawn@3.0.4: 250 | resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} 251 | engines: {node: '>=10'} 252 | dependencies: 253 | call-me-maybe: 1.0.1 254 | cross-spawn: 7.0.3 255 | string-argv: 0.3.1 256 | type-detect: 4.0.8 257 | dev: true 258 | 259 | /@nodelib/fs.scandir@2.1.4: 260 | resolution: {integrity: sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==} 261 | engines: {node: '>= 8'} 262 | dependencies: 263 | '@nodelib/fs.stat': 2.0.4 264 | run-parallel: 1.2.0 265 | dev: true 266 | 267 | /@nodelib/fs.stat@2.0.4: 268 | resolution: {integrity: sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==} 269 | engines: {node: '>= 8'} 270 | dev: true 271 | 272 | /@nodelib/fs.walk@1.2.6: 273 | resolution: {integrity: sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==} 274 | engines: {node: '>= 8'} 275 | dependencies: 276 | '@nodelib/fs.scandir': 2.1.4 277 | fastq: 1.10.1 278 | dev: true 279 | 280 | /@types/chai-subset@1.3.3: 281 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 282 | dependencies: 283 | '@types/chai': 4.3.1 284 | dev: true 285 | 286 | /@types/chai@4.3.1: 287 | resolution: {integrity: sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==} 288 | dev: true 289 | 290 | /@types/json-schema@7.0.9: 291 | resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} 292 | dev: true 293 | 294 | /@types/json5@0.0.29: 295 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 296 | dev: true 297 | 298 | /@types/mdast@3.0.10: 299 | resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} 300 | dependencies: 301 | '@types/unist': 2.0.6 302 | dev: true 303 | 304 | /@types/node@18.0.0: 305 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 306 | dev: true 307 | 308 | /@types/normalize-package-data@2.4.0: 309 | resolution: {integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==} 310 | dev: true 311 | 312 | /@types/spark-md5@3.0.2: 313 | resolution: {integrity: sha512-82E/lVRaqelV9qmRzzJ1PKTpyrpnT7mwdneKNJB9hUtypZDMggloDfFUCIqRRx3lYRxteCwXSq9c+W71Vf0QnQ==} 314 | dev: true 315 | 316 | /@types/unist@2.0.6: 317 | resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} 318 | dev: true 319 | 320 | /@typescript-eslint/eslint-plugin@5.32.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0)(typescript@4.7.4): 321 | resolution: {integrity: sha512-CHLuz5Uz7bHP2WgVlvoZGhf0BvFakBJKAD/43Ty0emn4wXWv5k01ND0C0fHcl/Im8Td2y/7h44E9pca9qAu2ew==} 322 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 323 | peerDependencies: 324 | '@typescript-eslint/parser': ^5.0.0 325 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 326 | typescript: '*' 327 | peerDependenciesMeta: 328 | typescript: 329 | optional: true 330 | dependencies: 331 | '@typescript-eslint/parser': 5.26.0(eslint@8.18.0)(typescript@4.7.4) 332 | '@typescript-eslint/scope-manager': 5.32.0 333 | '@typescript-eslint/type-utils': 5.32.0(eslint@8.18.0)(typescript@4.7.4) 334 | '@typescript-eslint/utils': 5.32.0(eslint@8.18.0)(typescript@4.7.4) 335 | debug: 4.3.4 336 | eslint: 8.18.0 337 | functional-red-black-tree: 1.0.1 338 | ignore: 5.2.0 339 | regexpp: 3.2.0 340 | semver: 7.3.7 341 | tsutils: 3.21.0(typescript@4.7.4) 342 | typescript: 4.7.4 343 | transitivePeerDependencies: 344 | - supports-color 345 | dev: true 346 | 347 | /@typescript-eslint/parser@5.26.0(eslint@8.18.0)(typescript@4.7.4): 348 | resolution: {integrity: sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==} 349 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 350 | peerDependencies: 351 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 352 | typescript: '*' 353 | peerDependenciesMeta: 354 | typescript: 355 | optional: true 356 | dependencies: 357 | '@typescript-eslint/scope-manager': 5.26.0 358 | '@typescript-eslint/types': 5.26.0 359 | '@typescript-eslint/typescript-estree': 5.26.0(typescript@4.7.4) 360 | debug: 4.3.4 361 | eslint: 8.18.0 362 | typescript: 4.7.4 363 | transitivePeerDependencies: 364 | - supports-color 365 | dev: true 366 | 367 | /@typescript-eslint/scope-manager@5.26.0: 368 | resolution: {integrity: sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==} 369 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 370 | dependencies: 371 | '@typescript-eslint/types': 5.26.0 372 | '@typescript-eslint/visitor-keys': 5.26.0 373 | dev: true 374 | 375 | /@typescript-eslint/scope-manager@5.32.0: 376 | resolution: {integrity: sha512-KyAE+tUON0D7tNz92p1uetRqVJiiAkeluvwvZOqBmW9z2XApmk5WSMV9FrzOroAcVxJZB3GfUwVKr98Dr/OjOg==} 377 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 378 | dependencies: 379 | '@typescript-eslint/types': 5.32.0 380 | '@typescript-eslint/visitor-keys': 5.32.0 381 | dev: true 382 | 383 | /@typescript-eslint/type-utils@5.32.0(eslint@8.18.0)(typescript@4.7.4): 384 | resolution: {integrity: sha512-0gSsIhFDduBz3QcHJIp3qRCvVYbqzHg8D6bHFsDMrm0rURYDj+skBK2zmYebdCp+4nrd9VWd13egvhYFJj/wZg==} 385 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 386 | peerDependencies: 387 | eslint: '*' 388 | typescript: '*' 389 | peerDependenciesMeta: 390 | typescript: 391 | optional: true 392 | dependencies: 393 | '@typescript-eslint/utils': 5.32.0(eslint@8.18.0)(typescript@4.7.4) 394 | debug: 4.3.4 395 | eslint: 8.18.0 396 | tsutils: 3.21.0(typescript@4.7.4) 397 | typescript: 4.7.4 398 | transitivePeerDependencies: 399 | - supports-color 400 | dev: true 401 | 402 | /@typescript-eslint/types@5.26.0: 403 | resolution: {integrity: sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==} 404 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 405 | dev: true 406 | 407 | /@typescript-eslint/types@5.32.0: 408 | resolution: {integrity: sha512-EBUKs68DOcT/EjGfzywp+f8wG9Zw6gj6BjWu7KV/IYllqKJFPlZlLSYw/PTvVyiRw50t6wVbgv4p9uE2h6sZrQ==} 409 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 410 | dev: true 411 | 412 | /@typescript-eslint/typescript-estree@5.26.0(typescript@4.7.4): 413 | resolution: {integrity: sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==} 414 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 415 | peerDependencies: 416 | typescript: '*' 417 | peerDependenciesMeta: 418 | typescript: 419 | optional: true 420 | dependencies: 421 | '@typescript-eslint/types': 5.26.0 422 | '@typescript-eslint/visitor-keys': 5.26.0 423 | debug: 4.3.4 424 | globby: 11.1.0 425 | is-glob: 4.0.3 426 | semver: 7.3.7 427 | tsutils: 3.21.0(typescript@4.7.4) 428 | typescript: 4.7.4 429 | transitivePeerDependencies: 430 | - supports-color 431 | dev: true 432 | 433 | /@typescript-eslint/typescript-estree@5.32.0(typescript@4.7.4): 434 | resolution: {integrity: sha512-ZVAUkvPk3ITGtCLU5J4atCw9RTxK+SRc6hXqLtllC2sGSeMFWN+YwbiJR9CFrSFJ3w4SJfcWtDwNb/DmUIHdhg==} 435 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 436 | peerDependencies: 437 | typescript: '*' 438 | peerDependenciesMeta: 439 | typescript: 440 | optional: true 441 | dependencies: 442 | '@typescript-eslint/types': 5.32.0 443 | '@typescript-eslint/visitor-keys': 5.32.0 444 | debug: 4.3.4 445 | globby: 11.1.0 446 | is-glob: 4.0.3 447 | semver: 7.3.7 448 | tsutils: 3.21.0(typescript@4.7.4) 449 | typescript: 4.7.4 450 | transitivePeerDependencies: 451 | - supports-color 452 | dev: true 453 | 454 | /@typescript-eslint/utils@5.32.0(eslint@8.18.0)(typescript@4.7.4): 455 | resolution: {integrity: sha512-W7lYIAI5Zlc5K082dGR27Fczjb3Q57ECcXefKU/f0ajM5ToM0P+N9NmJWip8GmGu/g6QISNT+K6KYB+iSHjXCQ==} 456 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 457 | peerDependencies: 458 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 459 | dependencies: 460 | '@types/json-schema': 7.0.9 461 | '@typescript-eslint/scope-manager': 5.32.0 462 | '@typescript-eslint/types': 5.32.0 463 | '@typescript-eslint/typescript-estree': 5.32.0(typescript@4.7.4) 464 | eslint: 8.18.0 465 | eslint-scope: 5.1.1 466 | eslint-utils: 3.0.0(eslint@8.18.0) 467 | transitivePeerDependencies: 468 | - supports-color 469 | - typescript 470 | dev: true 471 | 472 | /@typescript-eslint/visitor-keys@5.26.0: 473 | resolution: {integrity: sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==} 474 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 475 | dependencies: 476 | '@typescript-eslint/types': 5.26.0 477 | eslint-visitor-keys: 3.3.0 478 | dev: true 479 | 480 | /@typescript-eslint/visitor-keys@5.32.0: 481 | resolution: {integrity: sha512-S54xOHZgfThiZ38/ZGTgB2rqx51CMJ5MCfVT2IplK4Q7hgzGfe0nLzLCcenDnc/cSjP568hdeKfeDcBgqNHD/g==} 482 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 483 | dependencies: 484 | '@typescript-eslint/types': 5.32.0 485 | eslint-visitor-keys: 3.3.0 486 | dev: true 487 | 488 | /acorn-jsx@5.3.2(acorn@8.7.1): 489 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 490 | peerDependencies: 491 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 492 | dependencies: 493 | acorn: 8.7.1 494 | dev: true 495 | 496 | /acorn@8.7.1: 497 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==} 498 | engines: {node: '>=0.4.0'} 499 | hasBin: true 500 | dev: true 501 | 502 | /aggregate-error@3.1.0: 503 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 504 | engines: {node: '>=8'} 505 | dependencies: 506 | clean-stack: 2.2.0 507 | indent-string: 4.0.0 508 | dev: true 509 | 510 | /ajv@6.12.6: 511 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 512 | dependencies: 513 | fast-deep-equal: 3.1.3 514 | fast-json-stable-stringify: 2.1.0 515 | json-schema-traverse: 0.4.1 516 | uri-js: 4.4.1 517 | dev: true 518 | 519 | /ansi-escapes@4.3.2: 520 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 521 | engines: {node: '>=8'} 522 | dependencies: 523 | type-fest: 0.21.3 524 | dev: true 525 | 526 | /ansi-regex@5.0.1: 527 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 528 | engines: {node: '>=8'} 529 | dev: true 530 | 531 | /ansi-regex@6.0.1: 532 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 533 | engines: {node: '>=12'} 534 | dev: true 535 | 536 | /ansi-styles@3.2.1: 537 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 538 | engines: {node: '>=4'} 539 | dependencies: 540 | color-convert: 1.9.3 541 | dev: true 542 | 543 | /ansi-styles@4.3.0: 544 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 545 | engines: {node: '>=8'} 546 | dependencies: 547 | color-convert: 2.0.1 548 | dev: true 549 | 550 | /ansi-styles@6.2.1: 551 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 552 | engines: {node: '>=12'} 553 | dev: true 554 | 555 | /any-promise@1.3.0: 556 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 557 | dev: true 558 | 559 | /anymatch@3.1.3: 560 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 561 | engines: {node: '>= 8'} 562 | dependencies: 563 | normalize-path: 3.0.0 564 | picomatch: 2.3.0 565 | dev: true 566 | 567 | /argparse@2.0.1: 568 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 569 | dev: true 570 | 571 | /array-includes@3.1.5: 572 | resolution: {integrity: sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==} 573 | engines: {node: '>= 0.4'} 574 | dependencies: 575 | call-bind: 1.0.2 576 | define-properties: 1.1.4 577 | es-abstract: 1.20.1 578 | get-intrinsic: 1.1.1 579 | is-string: 1.0.7 580 | dev: true 581 | 582 | /array-union@2.1.0: 583 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 584 | engines: {node: '>=8'} 585 | dev: true 586 | 587 | /array.prototype.flat@1.2.5: 588 | resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} 589 | engines: {node: '>= 0.4'} 590 | dependencies: 591 | call-bind: 1.0.2 592 | define-properties: 1.1.4 593 | es-abstract: 1.20.1 594 | dev: true 595 | 596 | /array.prototype.flatmap@1.3.0: 597 | resolution: {integrity: sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==} 598 | engines: {node: '>= 0.4'} 599 | dependencies: 600 | call-bind: 1.0.2 601 | define-properties: 1.1.4 602 | es-abstract: 1.20.1 603 | es-shim-unscopables: 1.0.0 604 | dev: true 605 | 606 | /assertion-error@1.1.0: 607 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 608 | dev: true 609 | 610 | /astral-regex@2.0.0: 611 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 612 | engines: {node: '>=8'} 613 | dev: true 614 | 615 | /balanced-match@1.0.0: 616 | resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} 617 | dev: true 618 | 619 | /binary-extensions@2.2.0: 620 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 621 | engines: {node: '>=8'} 622 | dev: true 623 | 624 | /boolbase@1.0.0: 625 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 626 | dev: true 627 | 628 | /brace-expansion@1.1.11: 629 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 630 | dependencies: 631 | balanced-match: 1.0.0 632 | concat-map: 0.0.1 633 | dev: true 634 | 635 | /braces@3.0.2: 636 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 637 | engines: {node: '>=8'} 638 | dependencies: 639 | fill-range: 7.0.1 640 | dev: true 641 | 642 | /buffer-from@1.1.2: 643 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 644 | dev: true 645 | 646 | /builtin-modules@3.2.0: 647 | resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} 648 | engines: {node: '>=6'} 649 | dev: true 650 | 651 | /builtins@4.0.0: 652 | resolution: {integrity: sha512-qC0E2Dxgou1IHhvJSLwGDSTvokbRovU5zZFuDY6oY8Y2lF3nGt5Ad8YZK7GMtqzY84Wu7pXTPeHQeHcXSXsRhw==} 653 | dependencies: 654 | semver: 7.3.7 655 | dev: true 656 | 657 | /bumpp@8.2.1: 658 | resolution: {integrity: sha512-4tHKsWC2mqHQvdjZ4AXgVhS2xMsz8qQ4zYt87vGRXW5tqAjrYa/UJqy7s/dGYI2OIe9ghBdiFhKpyKEX9SXffg==} 659 | engines: {node: '>=10'} 660 | hasBin: true 661 | dependencies: 662 | '@jsdevtools/ez-spawn': 3.0.4 663 | cac: 6.7.12 664 | fast-glob: 3.2.11 665 | kleur: 4.1.4 666 | prompts: 2.4.1 667 | semver: 7.3.7 668 | dev: true 669 | 670 | /bundle-require@3.1.2(esbuild@0.15.18): 671 | resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} 672 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 673 | peerDependencies: 674 | esbuild: '>=0.13' 675 | dependencies: 676 | esbuild: 0.15.18 677 | load-tsconfig: 0.2.3 678 | dev: true 679 | 680 | /cac@6.7.12: 681 | resolution: {integrity: sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==} 682 | engines: {node: '>=8'} 683 | dev: true 684 | 685 | /call-bind@1.0.2: 686 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 687 | dependencies: 688 | function-bind: 1.1.1 689 | get-intrinsic: 1.1.1 690 | dev: true 691 | 692 | /call-me-maybe@1.0.1: 693 | resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} 694 | dev: true 695 | 696 | /callsites@3.1.0: 697 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 698 | engines: {node: '>=6'} 699 | dev: true 700 | 701 | /chai@4.3.6: 702 | resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==} 703 | engines: {node: '>=4'} 704 | dependencies: 705 | assertion-error: 1.1.0 706 | check-error: 1.0.2 707 | deep-eql: 3.0.1 708 | get-func-name: 2.0.0 709 | loupe: 2.3.4 710 | pathval: 1.1.1 711 | type-detect: 4.0.8 712 | dev: true 713 | 714 | /chalk@2.4.2: 715 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 716 | engines: {node: '>=4'} 717 | dependencies: 718 | ansi-styles: 3.2.1 719 | escape-string-regexp: 1.0.5 720 | supports-color: 5.5.0 721 | dev: true 722 | 723 | /chalk@4.1.2: 724 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 725 | engines: {node: '>=10'} 726 | dependencies: 727 | ansi-styles: 4.3.0 728 | supports-color: 7.2.0 729 | dev: true 730 | 731 | /character-entities-legacy@1.1.4: 732 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} 733 | dev: true 734 | 735 | /character-entities@1.2.4: 736 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} 737 | dev: true 738 | 739 | /character-reference-invalid@1.1.4: 740 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} 741 | dev: true 742 | 743 | /check-error@1.0.2: 744 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 745 | dev: true 746 | 747 | /chokidar@3.5.3: 748 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 749 | engines: {node: '>= 8.10.0'} 750 | dependencies: 751 | anymatch: 3.1.3 752 | braces: 3.0.2 753 | glob-parent: 5.1.2 754 | is-binary-path: 2.1.0 755 | is-glob: 4.0.3 756 | normalize-path: 3.0.0 757 | readdirp: 3.6.0 758 | optionalDependencies: 759 | fsevents: 2.3.2 760 | dev: true 761 | 762 | /ci-info@3.3.0: 763 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} 764 | dev: true 765 | 766 | /clean-regexp@1.0.0: 767 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 768 | engines: {node: '>=4'} 769 | dependencies: 770 | escape-string-regexp: 1.0.5 771 | dev: true 772 | 773 | /clean-stack@2.2.0: 774 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 775 | engines: {node: '>=6'} 776 | dev: true 777 | 778 | /cli-cursor@3.1.0: 779 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 780 | engines: {node: '>=8'} 781 | dependencies: 782 | restore-cursor: 3.1.0 783 | dev: true 784 | 785 | /cli-truncate@2.1.0: 786 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 787 | engines: {node: '>=8'} 788 | dependencies: 789 | slice-ansi: 3.0.0 790 | string-width: 4.2.3 791 | dev: true 792 | 793 | /cli-truncate@3.1.0: 794 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 795 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 796 | dependencies: 797 | slice-ansi: 5.0.0 798 | string-width: 5.1.2 799 | dev: true 800 | 801 | /color-convert@1.9.3: 802 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 803 | dependencies: 804 | color-name: 1.1.3 805 | dev: true 806 | 807 | /color-convert@2.0.1: 808 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 809 | engines: {node: '>=7.0.0'} 810 | dependencies: 811 | color-name: 1.1.4 812 | dev: true 813 | 814 | /color-name@1.1.3: 815 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 816 | dev: true 817 | 818 | /color-name@1.1.4: 819 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 820 | dev: true 821 | 822 | /colorette@2.0.20: 823 | resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 824 | dev: true 825 | 826 | /commander@4.1.1: 827 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 828 | engines: {node: '>= 6'} 829 | dev: true 830 | 831 | /commander@9.5.0: 832 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 833 | engines: {node: ^12.20.0 || >=14} 834 | dev: true 835 | 836 | /concat-map@0.0.1: 837 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 838 | dev: true 839 | 840 | /cross-spawn@7.0.3: 841 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 842 | engines: {node: '>= 8'} 843 | dependencies: 844 | path-key: 3.1.1 845 | shebang-command: 2.0.0 846 | which: 2.0.2 847 | dev: true 848 | 849 | /cssesc@3.0.0: 850 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 851 | engines: {node: '>=4'} 852 | hasBin: true 853 | dev: true 854 | 855 | /debug@2.6.9: 856 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 857 | peerDependencies: 858 | supports-color: '*' 859 | peerDependenciesMeta: 860 | supports-color: 861 | optional: true 862 | dependencies: 863 | ms: 2.0.0 864 | dev: true 865 | 866 | /debug@3.2.7: 867 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 868 | peerDependencies: 869 | supports-color: '*' 870 | peerDependenciesMeta: 871 | supports-color: 872 | optional: true 873 | dependencies: 874 | ms: 2.1.2 875 | dev: true 876 | 877 | /debug@4.3.4: 878 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 879 | engines: {node: '>=6.0'} 880 | peerDependencies: 881 | supports-color: '*' 882 | peerDependenciesMeta: 883 | supports-color: 884 | optional: true 885 | dependencies: 886 | ms: 2.1.2 887 | dev: true 888 | 889 | /deep-eql@3.0.1: 890 | resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==} 891 | engines: {node: '>=0.12'} 892 | dependencies: 893 | type-detect: 4.0.8 894 | dev: true 895 | 896 | /deep-is@0.1.3: 897 | resolution: {integrity: sha512-GtxAN4HvBachZzm4OnWqc45ESpUCMwkYcsjnsPs23FwJbsO+k4t0k9bQCgOmzIlpHO28+WPK/KRbRk0DDHuuDw==} 898 | dev: true 899 | 900 | /define-properties@1.1.4: 901 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 902 | engines: {node: '>= 0.4'} 903 | dependencies: 904 | has-property-descriptors: 1.0.0 905 | object-keys: 1.1.1 906 | dev: true 907 | 908 | /dir-glob@3.0.1: 909 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 910 | engines: {node: '>=8'} 911 | dependencies: 912 | path-type: 4.0.0 913 | dev: true 914 | 915 | /doctrine@2.1.0: 916 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 917 | engines: {node: '>=0.10.0'} 918 | dependencies: 919 | esutils: 2.0.3 920 | dev: true 921 | 922 | /doctrine@3.0.0: 923 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 924 | engines: {node: '>=6.0.0'} 925 | dependencies: 926 | esutils: 2.0.3 927 | dev: true 928 | 929 | /dom-serializer@1.2.0: 930 | resolution: {integrity: sha512-n6kZFH/KlCrqs/1GHMOd5i2fd/beQHuehKdWvNNffbGHTr/almdhuVvTVFb3V7fglz+nC50fFusu3lY33h12pA==} 931 | dependencies: 932 | domelementtype: 2.2.0 933 | domhandler: 4.2.2 934 | entities: 2.2.0 935 | dev: true 936 | 937 | /domelementtype@2.2.0: 938 | resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} 939 | dev: true 940 | 941 | /domhandler@4.2.2: 942 | resolution: {integrity: sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==} 943 | engines: {node: '>= 4'} 944 | dependencies: 945 | domelementtype: 2.2.0 946 | dev: true 947 | 948 | /domutils@2.8.0: 949 | resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} 950 | dependencies: 951 | dom-serializer: 1.2.0 952 | domelementtype: 2.2.0 953 | domhandler: 4.2.2 954 | dev: true 955 | 956 | /eastasianwidth@0.2.0: 957 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 958 | dev: true 959 | 960 | /emoji-regex@8.0.0: 961 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 962 | dev: true 963 | 964 | /emoji-regex@9.2.2: 965 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 966 | dev: true 967 | 968 | /entities@2.2.0: 969 | resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} 970 | dev: true 971 | 972 | /entities@3.0.1: 973 | resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} 974 | engines: {node: '>=0.12'} 975 | dev: true 976 | 977 | /error-ex@1.3.2: 978 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 979 | dependencies: 980 | is-arrayish: 0.2.1 981 | dev: true 982 | 983 | /es-abstract@1.20.1: 984 | resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} 985 | engines: {node: '>= 0.4'} 986 | dependencies: 987 | call-bind: 1.0.2 988 | es-to-primitive: 1.2.1 989 | function-bind: 1.1.1 990 | function.prototype.name: 1.1.5 991 | get-intrinsic: 1.1.1 992 | get-symbol-description: 1.0.0 993 | has: 1.0.3 994 | has-property-descriptors: 1.0.0 995 | has-symbols: 1.0.3 996 | internal-slot: 1.0.3 997 | is-callable: 1.2.4 998 | is-negative-zero: 2.0.2 999 | is-regex: 1.1.4 1000 | is-shared-array-buffer: 1.0.2 1001 | is-string: 1.0.7 1002 | is-weakref: 1.0.2 1003 | object-inspect: 1.12.1 1004 | object-keys: 1.1.1 1005 | object.assign: 4.1.2 1006 | regexp.prototype.flags: 1.4.3 1007 | string.prototype.trimend: 1.0.5 1008 | string.prototype.trimstart: 1.0.5 1009 | unbox-primitive: 1.0.2 1010 | dev: true 1011 | 1012 | /es-shim-unscopables@1.0.0: 1013 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1014 | dependencies: 1015 | has: 1.0.3 1016 | dev: true 1017 | 1018 | /es-to-primitive@1.2.1: 1019 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1020 | engines: {node: '>= 0.4'} 1021 | dependencies: 1022 | is-callable: 1.2.4 1023 | is-date-object: 1.0.2 1024 | is-symbol: 1.0.3 1025 | dev: true 1026 | 1027 | /esbuild-android-64@0.14.38: 1028 | resolution: {integrity: sha512-aRFxR3scRKkbmNuGAK+Gee3+yFxkTJO/cx83Dkyzo4CnQl/2zVSurtG6+G86EQIZ+w+VYngVyK7P3HyTBKu3nw==} 1029 | engines: {node: '>=12'} 1030 | cpu: [x64] 1031 | os: [android] 1032 | requiresBuild: true 1033 | dev: true 1034 | optional: true 1035 | 1036 | /esbuild-android-64@0.15.18: 1037 | resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} 1038 | engines: {node: '>=12'} 1039 | cpu: [x64] 1040 | os: [android] 1041 | requiresBuild: true 1042 | dev: true 1043 | optional: true 1044 | 1045 | /esbuild-android-arm64@0.14.38: 1046 | resolution: {integrity: sha512-L2NgQRWuHFI89IIZIlpAcINy9FvBk6xFVZ7xGdOwIm8VyhX1vNCEqUJO3DPSSy945Gzdg98cxtNt8Grv1CsyhA==} 1047 | engines: {node: '>=12'} 1048 | cpu: [arm64] 1049 | os: [android] 1050 | requiresBuild: true 1051 | dev: true 1052 | optional: true 1053 | 1054 | /esbuild-android-arm64@0.15.18: 1055 | resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} 1056 | engines: {node: '>=12'} 1057 | cpu: [arm64] 1058 | os: [android] 1059 | requiresBuild: true 1060 | dev: true 1061 | optional: true 1062 | 1063 | /esbuild-darwin-64@0.14.38: 1064 | resolution: {integrity: sha512-5JJvgXkX87Pd1Og0u/NJuO7TSqAikAcQQ74gyJ87bqWRVeouky84ICoV4sN6VV53aTW+NE87qLdGY4QA2S7KNA==} 1065 | engines: {node: '>=12'} 1066 | cpu: [x64] 1067 | os: [darwin] 1068 | requiresBuild: true 1069 | dev: true 1070 | optional: true 1071 | 1072 | /esbuild-darwin-64@0.15.18: 1073 | resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} 1074 | engines: {node: '>=12'} 1075 | cpu: [x64] 1076 | os: [darwin] 1077 | requiresBuild: true 1078 | dev: true 1079 | optional: true 1080 | 1081 | /esbuild-darwin-arm64@0.14.38: 1082 | resolution: {integrity: sha512-eqF+OejMI3mC5Dlo9Kdq/Ilbki9sQBw3QlHW3wjLmsLh+quNfHmGMp3Ly1eWm981iGBMdbtSS9+LRvR2T8B3eQ==} 1083 | engines: {node: '>=12'} 1084 | cpu: [arm64] 1085 | os: [darwin] 1086 | requiresBuild: true 1087 | dev: true 1088 | optional: true 1089 | 1090 | /esbuild-darwin-arm64@0.15.18: 1091 | resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} 1092 | engines: {node: '>=12'} 1093 | cpu: [arm64] 1094 | os: [darwin] 1095 | requiresBuild: true 1096 | dev: true 1097 | optional: true 1098 | 1099 | /esbuild-freebsd-64@0.14.38: 1100 | resolution: {integrity: sha512-epnPbhZUt93xV5cgeY36ZxPXDsQeO55DppzsIgWM8vgiG/Rz+qYDLmh5ts3e+Ln1wA9dQ+nZmVHw+RjaW3I5Ig==} 1101 | engines: {node: '>=12'} 1102 | cpu: [x64] 1103 | os: [freebsd] 1104 | requiresBuild: true 1105 | dev: true 1106 | optional: true 1107 | 1108 | /esbuild-freebsd-64@0.15.18: 1109 | resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} 1110 | engines: {node: '>=12'} 1111 | cpu: [x64] 1112 | os: [freebsd] 1113 | requiresBuild: true 1114 | dev: true 1115 | optional: true 1116 | 1117 | /esbuild-freebsd-arm64@0.14.38: 1118 | resolution: {integrity: sha512-/9icXUYJWherhk+y5fjPI5yNUdFPtXHQlwP7/K/zg8t8lQdHVj20SqU9/udQmeUo5pDFHMYzcEFfJqgOVeKNNQ==} 1119 | engines: {node: '>=12'} 1120 | cpu: [arm64] 1121 | os: [freebsd] 1122 | requiresBuild: true 1123 | dev: true 1124 | optional: true 1125 | 1126 | /esbuild-freebsd-arm64@0.15.18: 1127 | resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} 1128 | engines: {node: '>=12'} 1129 | cpu: [arm64] 1130 | os: [freebsd] 1131 | requiresBuild: true 1132 | dev: true 1133 | optional: true 1134 | 1135 | /esbuild-linux-32@0.14.38: 1136 | resolution: {integrity: sha512-QfgfeNHRFvr2XeHFzP8kOZVnal3QvST3A0cgq32ZrHjSMFTdgXhMhmWdKzRXP/PKcfv3e2OW9tT9PpcjNvaq6g==} 1137 | engines: {node: '>=12'} 1138 | cpu: [ia32] 1139 | os: [linux] 1140 | requiresBuild: true 1141 | dev: true 1142 | optional: true 1143 | 1144 | /esbuild-linux-32@0.15.18: 1145 | resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} 1146 | engines: {node: '>=12'} 1147 | cpu: [ia32] 1148 | os: [linux] 1149 | requiresBuild: true 1150 | dev: true 1151 | optional: true 1152 | 1153 | /esbuild-linux-64@0.14.38: 1154 | resolution: {integrity: sha512-uuZHNmqcs+Bj1qiW9k/HZU3FtIHmYiuxZ/6Aa+/KHb/pFKr7R3aVqvxlAudYI9Fw3St0VCPfv7QBpUITSmBR1Q==} 1155 | engines: {node: '>=12'} 1156 | cpu: [x64] 1157 | os: [linux] 1158 | requiresBuild: true 1159 | dev: true 1160 | optional: true 1161 | 1162 | /esbuild-linux-64@0.15.18: 1163 | resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} 1164 | engines: {node: '>=12'} 1165 | cpu: [x64] 1166 | os: [linux] 1167 | requiresBuild: true 1168 | dev: true 1169 | optional: true 1170 | 1171 | /esbuild-linux-arm64@0.14.38: 1172 | resolution: {integrity: sha512-HlMGZTEsBrXrivr64eZ/EO0NQM8H8DuSENRok9d+Jtvq8hOLzrxfsAT9U94K3KOGk2XgCmkaI2KD8hX7F97lvA==} 1173 | engines: {node: '>=12'} 1174 | cpu: [arm64] 1175 | os: [linux] 1176 | requiresBuild: true 1177 | dev: true 1178 | optional: true 1179 | 1180 | /esbuild-linux-arm64@0.15.18: 1181 | resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} 1182 | engines: {node: '>=12'} 1183 | cpu: [arm64] 1184 | os: [linux] 1185 | requiresBuild: true 1186 | dev: true 1187 | optional: true 1188 | 1189 | /esbuild-linux-arm@0.14.38: 1190 | resolution: {integrity: sha512-FiFvQe8J3VKTDXG01JbvoVRXQ0x6UZwyrU4IaLBZeq39Bsbatd94Fuc3F1RGqPF5RbIWW7RvkVQjn79ejzysnA==} 1191 | engines: {node: '>=12'} 1192 | cpu: [arm] 1193 | os: [linux] 1194 | requiresBuild: true 1195 | dev: true 1196 | optional: true 1197 | 1198 | /esbuild-linux-arm@0.15.18: 1199 | resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} 1200 | engines: {node: '>=12'} 1201 | cpu: [arm] 1202 | os: [linux] 1203 | requiresBuild: true 1204 | dev: true 1205 | optional: true 1206 | 1207 | /esbuild-linux-mips64le@0.14.38: 1208 | resolution: {integrity: sha512-qd1dLf2v7QBiI5wwfil9j0HG/5YMFBAmMVmdeokbNAMbcg49p25t6IlJFXAeLzogv1AvgaXRXvgFNhScYEUXGQ==} 1209 | engines: {node: '>=12'} 1210 | cpu: [mips64el] 1211 | os: [linux] 1212 | requiresBuild: true 1213 | dev: true 1214 | optional: true 1215 | 1216 | /esbuild-linux-mips64le@0.15.18: 1217 | resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} 1218 | engines: {node: '>=12'} 1219 | cpu: [mips64el] 1220 | os: [linux] 1221 | requiresBuild: true 1222 | dev: true 1223 | optional: true 1224 | 1225 | /esbuild-linux-ppc64le@0.14.38: 1226 | resolution: {integrity: sha512-mnbEm7o69gTl60jSuK+nn+pRsRHGtDPfzhrqEUXyCl7CTOCLtWN2bhK8bgsdp6J/2NyS/wHBjs1x8aBWwP2X9Q==} 1227 | engines: {node: '>=12'} 1228 | cpu: [ppc64] 1229 | os: [linux] 1230 | requiresBuild: true 1231 | dev: true 1232 | optional: true 1233 | 1234 | /esbuild-linux-ppc64le@0.15.18: 1235 | resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} 1236 | engines: {node: '>=12'} 1237 | cpu: [ppc64] 1238 | os: [linux] 1239 | requiresBuild: true 1240 | dev: true 1241 | optional: true 1242 | 1243 | /esbuild-linux-riscv64@0.14.38: 1244 | resolution: {integrity: sha512-+p6YKYbuV72uikChRk14FSyNJZ4WfYkffj6Af0/Tw63/6TJX6TnIKE+6D3xtEc7DeDth1fjUOEqm+ApKFXbbVQ==} 1245 | engines: {node: '>=12'} 1246 | cpu: [riscv64] 1247 | os: [linux] 1248 | requiresBuild: true 1249 | dev: true 1250 | optional: true 1251 | 1252 | /esbuild-linux-riscv64@0.15.18: 1253 | resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} 1254 | engines: {node: '>=12'} 1255 | cpu: [riscv64] 1256 | os: [linux] 1257 | requiresBuild: true 1258 | dev: true 1259 | optional: true 1260 | 1261 | /esbuild-linux-s390x@0.14.38: 1262 | resolution: {integrity: sha512-0zUsiDkGJiMHxBQ7JDU8jbaanUY975CdOW1YDrurjrM0vWHfjv9tLQsW9GSyEb/heSK1L5gaweRjzfUVBFoybQ==} 1263 | engines: {node: '>=12'} 1264 | cpu: [s390x] 1265 | os: [linux] 1266 | requiresBuild: true 1267 | dev: true 1268 | optional: true 1269 | 1270 | /esbuild-linux-s390x@0.15.18: 1271 | resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} 1272 | engines: {node: '>=12'} 1273 | cpu: [s390x] 1274 | os: [linux] 1275 | requiresBuild: true 1276 | dev: true 1277 | optional: true 1278 | 1279 | /esbuild-netbsd-64@0.14.38: 1280 | resolution: {integrity: sha512-cljBAApVwkpnJZfnRVThpRBGzCi+a+V9Ofb1fVkKhtrPLDYlHLrSYGtmnoTVWDQdU516qYI8+wOgcGZ4XIZh0Q==} 1281 | engines: {node: '>=12'} 1282 | cpu: [x64] 1283 | os: [netbsd] 1284 | requiresBuild: true 1285 | dev: true 1286 | optional: true 1287 | 1288 | /esbuild-netbsd-64@0.15.18: 1289 | resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} 1290 | engines: {node: '>=12'} 1291 | cpu: [x64] 1292 | os: [netbsd] 1293 | requiresBuild: true 1294 | dev: true 1295 | optional: true 1296 | 1297 | /esbuild-openbsd-64@0.14.38: 1298 | resolution: {integrity: sha512-CDswYr2PWPGEPpLDUO50mL3WO/07EMjnZDNKpmaxUPsrW+kVM3LoAqr/CE8UbzugpEiflYqJsGPLirThRB18IQ==} 1299 | engines: {node: '>=12'} 1300 | cpu: [x64] 1301 | os: [openbsd] 1302 | requiresBuild: true 1303 | dev: true 1304 | optional: true 1305 | 1306 | /esbuild-openbsd-64@0.15.18: 1307 | resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} 1308 | engines: {node: '>=12'} 1309 | cpu: [x64] 1310 | os: [openbsd] 1311 | requiresBuild: true 1312 | dev: true 1313 | optional: true 1314 | 1315 | /esbuild-sunos-64@0.14.38: 1316 | resolution: {integrity: sha512-2mfIoYW58gKcC3bck0j7lD3RZkqYA7MmujFYmSn9l6TiIcAMpuEvqksO+ntBgbLep/eyjpgdplF7b+4T9VJGOA==} 1317 | engines: {node: '>=12'} 1318 | cpu: [x64] 1319 | os: [sunos] 1320 | requiresBuild: true 1321 | dev: true 1322 | optional: true 1323 | 1324 | /esbuild-sunos-64@0.15.18: 1325 | resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} 1326 | engines: {node: '>=12'} 1327 | cpu: [x64] 1328 | os: [sunos] 1329 | requiresBuild: true 1330 | dev: true 1331 | optional: true 1332 | 1333 | /esbuild-windows-32@0.14.38: 1334 | resolution: {integrity: sha512-L2BmEeFZATAvU+FJzJiRLFUP+d9RHN+QXpgaOrs2klshoAm1AE6Us4X6fS9k33Uy5SzScn2TpcgecbqJza1Hjw==} 1335 | engines: {node: '>=12'} 1336 | cpu: [ia32] 1337 | os: [win32] 1338 | requiresBuild: true 1339 | dev: true 1340 | optional: true 1341 | 1342 | /esbuild-windows-32@0.15.18: 1343 | resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} 1344 | engines: {node: '>=12'} 1345 | cpu: [ia32] 1346 | os: [win32] 1347 | requiresBuild: true 1348 | dev: true 1349 | optional: true 1350 | 1351 | /esbuild-windows-64@0.14.38: 1352 | resolution: {integrity: sha512-Khy4wVmebnzue8aeSXLC+6clo/hRYeNIm0DyikoEqX+3w3rcvrhzpoix0S+MF9vzh6JFskkIGD7Zx47ODJNyCw==} 1353 | engines: {node: '>=12'} 1354 | cpu: [x64] 1355 | os: [win32] 1356 | requiresBuild: true 1357 | dev: true 1358 | optional: true 1359 | 1360 | /esbuild-windows-64@0.15.18: 1361 | resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} 1362 | engines: {node: '>=12'} 1363 | cpu: [x64] 1364 | os: [win32] 1365 | requiresBuild: true 1366 | dev: true 1367 | optional: true 1368 | 1369 | /esbuild-windows-arm64@0.14.38: 1370 | resolution: {integrity: sha512-k3FGCNmHBkqdJXuJszdWciAH77PukEyDsdIryEHn9cKLQFxzhT39dSumeTuggaQcXY57UlmLGIkklWZo2qzHpw==} 1371 | engines: {node: '>=12'} 1372 | cpu: [arm64] 1373 | os: [win32] 1374 | requiresBuild: true 1375 | dev: true 1376 | optional: true 1377 | 1378 | /esbuild-windows-arm64@0.15.18: 1379 | resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} 1380 | engines: {node: '>=12'} 1381 | cpu: [arm64] 1382 | os: [win32] 1383 | requiresBuild: true 1384 | dev: true 1385 | optional: true 1386 | 1387 | /esbuild@0.14.38: 1388 | resolution: {integrity: sha512-12fzJ0fsm7gVZX1YQ1InkOE5f9Tl7cgf6JPYXRJtPIoE0zkWAbHdPHVPPaLi9tYAcEBqheGzqLn/3RdTOyBfcA==} 1389 | engines: {node: '>=12'} 1390 | hasBin: true 1391 | requiresBuild: true 1392 | optionalDependencies: 1393 | esbuild-android-64: 0.14.38 1394 | esbuild-android-arm64: 0.14.38 1395 | esbuild-darwin-64: 0.14.38 1396 | esbuild-darwin-arm64: 0.14.38 1397 | esbuild-freebsd-64: 0.14.38 1398 | esbuild-freebsd-arm64: 0.14.38 1399 | esbuild-linux-32: 0.14.38 1400 | esbuild-linux-64: 0.14.38 1401 | esbuild-linux-arm: 0.14.38 1402 | esbuild-linux-arm64: 0.14.38 1403 | esbuild-linux-mips64le: 0.14.38 1404 | esbuild-linux-ppc64le: 0.14.38 1405 | esbuild-linux-riscv64: 0.14.38 1406 | esbuild-linux-s390x: 0.14.38 1407 | esbuild-netbsd-64: 0.14.38 1408 | esbuild-openbsd-64: 0.14.38 1409 | esbuild-sunos-64: 0.14.38 1410 | esbuild-windows-32: 0.14.38 1411 | esbuild-windows-64: 0.14.38 1412 | esbuild-windows-arm64: 0.14.38 1413 | dev: true 1414 | 1415 | /esbuild@0.15.18: 1416 | resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} 1417 | engines: {node: '>=12'} 1418 | hasBin: true 1419 | requiresBuild: true 1420 | optionalDependencies: 1421 | '@esbuild/android-arm': 0.15.18 1422 | '@esbuild/linux-loong64': 0.15.18 1423 | esbuild-android-64: 0.15.18 1424 | esbuild-android-arm64: 0.15.18 1425 | esbuild-darwin-64: 0.15.18 1426 | esbuild-darwin-arm64: 0.15.18 1427 | esbuild-freebsd-64: 0.15.18 1428 | esbuild-freebsd-arm64: 0.15.18 1429 | esbuild-linux-32: 0.15.18 1430 | esbuild-linux-64: 0.15.18 1431 | esbuild-linux-arm: 0.15.18 1432 | esbuild-linux-arm64: 0.15.18 1433 | esbuild-linux-mips64le: 0.15.18 1434 | esbuild-linux-ppc64le: 0.15.18 1435 | esbuild-linux-riscv64: 0.15.18 1436 | esbuild-linux-s390x: 0.15.18 1437 | esbuild-netbsd-64: 0.15.18 1438 | esbuild-openbsd-64: 0.15.18 1439 | esbuild-sunos-64: 0.15.18 1440 | esbuild-windows-32: 0.15.18 1441 | esbuild-windows-64: 0.15.18 1442 | esbuild-windows-arm64: 0.15.18 1443 | dev: true 1444 | 1445 | /escape-string-regexp@1.0.5: 1446 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1447 | engines: {node: '>=0.8.0'} 1448 | dev: true 1449 | 1450 | /escape-string-regexp@4.0.0: 1451 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1452 | engines: {node: '>=10'} 1453 | dev: true 1454 | 1455 | /eslint-import-resolver-node@0.3.6: 1456 | resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} 1457 | dependencies: 1458 | debug: 3.2.7 1459 | resolve: 1.22.0 1460 | transitivePeerDependencies: 1461 | - supports-color 1462 | dev: true 1463 | 1464 | /eslint-module-utils@2.7.3(@typescript-eslint/parser@5.26.0)(eslint-import-resolver-node@0.3.6): 1465 | resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} 1466 | engines: {node: '>=4'} 1467 | peerDependencies: 1468 | '@typescript-eslint/parser': '*' 1469 | eslint-import-resolver-node: '*' 1470 | eslint-import-resolver-typescript: '*' 1471 | eslint-import-resolver-webpack: '*' 1472 | peerDependenciesMeta: 1473 | '@typescript-eslint/parser': 1474 | optional: true 1475 | eslint-import-resolver-node: 1476 | optional: true 1477 | eslint-import-resolver-typescript: 1478 | optional: true 1479 | eslint-import-resolver-webpack: 1480 | optional: true 1481 | dependencies: 1482 | '@typescript-eslint/parser': 5.26.0(eslint@8.18.0)(typescript@4.7.4) 1483 | debug: 3.2.7 1484 | eslint-import-resolver-node: 0.3.6 1485 | find-up: 2.1.0 1486 | transitivePeerDependencies: 1487 | - supports-color 1488 | dev: true 1489 | 1490 | /eslint-plugin-antfu@0.25.1(eslint@8.18.0)(typescript@4.7.4): 1491 | resolution: {integrity: sha512-xZrk0BIHZFfrUkr2Ff1uZdnzTmCM6ZQccOxpn7/IKfUENe16sSMuZ8YHKaVrUSAMIPoUOFKG2Qpu2UxwIRTd9w==} 1492 | dependencies: 1493 | '@typescript-eslint/utils': 5.32.0(eslint@8.18.0)(typescript@4.7.4) 1494 | transitivePeerDependencies: 1495 | - eslint 1496 | - supports-color 1497 | - typescript 1498 | dev: true 1499 | 1500 | /eslint-plugin-es@4.1.0(eslint@8.18.0): 1501 | resolution: {integrity: sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ==} 1502 | engines: {node: '>=8.10.0'} 1503 | peerDependencies: 1504 | eslint: '>=4.19.1' 1505 | dependencies: 1506 | eslint: 8.18.0 1507 | eslint-utils: 2.1.0 1508 | regexpp: 3.2.0 1509 | dev: true 1510 | 1511 | /eslint-plugin-eslint-comments@3.2.0(eslint@8.18.0): 1512 | resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} 1513 | engines: {node: '>=6.5.0'} 1514 | peerDependencies: 1515 | eslint: '>=4.19.1' 1516 | dependencies: 1517 | escape-string-regexp: 1.0.5 1518 | eslint: 8.18.0 1519 | ignore: 5.2.0 1520 | dev: true 1521 | 1522 | /eslint-plugin-html@6.2.0: 1523 | resolution: {integrity: sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==} 1524 | dependencies: 1525 | htmlparser2: 7.2.0 1526 | dev: true 1527 | 1528 | /eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.26.0)(eslint@8.18.0): 1529 | resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} 1530 | engines: {node: '>=4'} 1531 | peerDependencies: 1532 | '@typescript-eslint/parser': '*' 1533 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 1534 | peerDependenciesMeta: 1535 | '@typescript-eslint/parser': 1536 | optional: true 1537 | dependencies: 1538 | '@typescript-eslint/parser': 5.26.0(eslint@8.18.0)(typescript@4.7.4) 1539 | array-includes: 3.1.5 1540 | array.prototype.flat: 1.2.5 1541 | debug: 2.6.9 1542 | doctrine: 2.1.0 1543 | eslint: 8.18.0 1544 | eslint-import-resolver-node: 0.3.6 1545 | eslint-module-utils: 2.7.3(@typescript-eslint/parser@5.26.0)(eslint-import-resolver-node@0.3.6) 1546 | has: 1.0.3 1547 | is-core-module: 2.8.1 1548 | is-glob: 4.0.3 1549 | minimatch: 3.1.2 1550 | object.values: 1.1.5 1551 | resolve: 1.22.0 1552 | tsconfig-paths: 3.14.1 1553 | transitivePeerDependencies: 1554 | - eslint-import-resolver-typescript 1555 | - eslint-import-resolver-webpack 1556 | - supports-color 1557 | dev: true 1558 | 1559 | /eslint-plugin-jsonc@2.2.1(eslint@8.18.0): 1560 | resolution: {integrity: sha512-ozGjWXhxF3ZfITHmRLuUL6zORh5Dzo0ymwVdxhfFaa4LEtU2S88JIwDYCWAifQLG92x7chqcnZlGUggaPSlfIQ==} 1561 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1562 | peerDependencies: 1563 | eslint: '>=6.0.0' 1564 | dependencies: 1565 | eslint: 8.18.0 1566 | eslint-utils: 3.0.0(eslint@8.18.0) 1567 | jsonc-eslint-parser: 2.1.0 1568 | natural-compare: 1.4.0 1569 | dev: true 1570 | 1571 | /eslint-plugin-markdown@2.2.1(eslint@8.18.0): 1572 | resolution: {integrity: sha512-FgWp4iyYvTFxPwfbxofTvXxgzPsDuSKHQy2S+a8Ve6savbujey+lgrFFbXQA0HPygISpRYWYBjooPzhYSF81iA==} 1573 | engines: {node: ^8.10.0 || ^10.12.0 || >= 12.0.0} 1574 | peerDependencies: 1575 | eslint: '>=6.0.0' 1576 | dependencies: 1577 | eslint: 8.18.0 1578 | mdast-util-from-markdown: 0.8.5 1579 | transitivePeerDependencies: 1580 | - supports-color 1581 | dev: true 1582 | 1583 | /eslint-plugin-n@15.2.0(eslint@8.18.0): 1584 | resolution: {integrity: sha512-lWLg++jGwC88GDGGBX3CMkk0GIWq0y41aH51lavWApOKcMQcYoL3Ayd0lEdtD3SnQtR+3qBvWQS3qGbR2BxRWg==} 1585 | engines: {node: '>=12.22.0'} 1586 | peerDependencies: 1587 | eslint: '>=7.0.0' 1588 | dependencies: 1589 | builtins: 4.0.0 1590 | eslint: 8.18.0 1591 | eslint-plugin-es: 4.1.0(eslint@8.18.0) 1592 | eslint-utils: 3.0.0(eslint@8.18.0) 1593 | ignore: 5.2.0 1594 | is-core-module: 2.8.1 1595 | minimatch: 3.1.2 1596 | resolve: 1.22.0 1597 | semver: 6.3.0 1598 | dev: true 1599 | 1600 | /eslint-plugin-promise@6.0.0(eslint@8.18.0): 1601 | resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} 1602 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1603 | peerDependencies: 1604 | eslint: ^7.0.0 || ^8.0.0 1605 | dependencies: 1606 | eslint: 8.18.0 1607 | dev: true 1608 | 1609 | /eslint-plugin-react@7.30.0(eslint@8.18.0): 1610 | resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==} 1611 | engines: {node: '>=4'} 1612 | peerDependencies: 1613 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 1614 | dependencies: 1615 | array-includes: 3.1.5 1616 | array.prototype.flatmap: 1.3.0 1617 | doctrine: 2.1.0 1618 | eslint: 8.18.0 1619 | estraverse: 5.3.0 1620 | jsx-ast-utils: 3.2.0 1621 | minimatch: 3.1.2 1622 | object.entries: 1.1.5 1623 | object.fromentries: 2.0.5 1624 | object.hasown: 1.1.1 1625 | object.values: 1.1.5 1626 | prop-types: 15.8.1 1627 | resolve: 2.0.0-next.3 1628 | semver: 6.3.0 1629 | string.prototype.matchall: 4.0.7 1630 | dev: true 1631 | 1632 | /eslint-plugin-unicorn@42.0.0(eslint@8.18.0): 1633 | resolution: {integrity: sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==} 1634 | engines: {node: '>=12'} 1635 | peerDependencies: 1636 | eslint: '>=8.8.0' 1637 | dependencies: 1638 | '@babel/helper-validator-identifier': 7.16.7 1639 | ci-info: 3.3.0 1640 | clean-regexp: 1.0.0 1641 | eslint: 8.18.0 1642 | eslint-utils: 3.0.0(eslint@8.18.0) 1643 | esquery: 1.4.0 1644 | indent-string: 4.0.0 1645 | is-builtin-module: 3.1.0 1646 | lodash: 4.17.21 1647 | pluralize: 8.0.0 1648 | read-pkg-up: 7.0.1 1649 | regexp-tree: 0.1.24 1650 | safe-regex: 2.1.1 1651 | semver: 7.3.7 1652 | strip-indent: 3.0.0 1653 | dev: true 1654 | 1655 | /eslint-plugin-vue@9.0.1(eslint@8.18.0): 1656 | resolution: {integrity: sha512-/w/9/vzz+4bSYtp5UqXgJ0CfycXTMtpp6lkz7/fMp0CcJxPWyRP6Pr88ihhrsNEcVt2ZweMupWRNYa+5Md41LQ==} 1657 | engines: {node: ^14.17.0 || >=16.0.0} 1658 | peerDependencies: 1659 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 1660 | dependencies: 1661 | eslint: 8.18.0 1662 | eslint-utils: 3.0.0(eslint@8.18.0) 1663 | natural-compare: 1.4.0 1664 | nth-check: 2.0.1 1665 | postcss-selector-parser: 6.0.10 1666 | semver: 7.3.7 1667 | vue-eslint-parser: 9.0.2(eslint@8.18.0) 1668 | xml-name-validator: 4.0.0 1669 | transitivePeerDependencies: 1670 | - supports-color 1671 | dev: true 1672 | 1673 | /eslint-plugin-yml@1.0.0(eslint@8.18.0): 1674 | resolution: {integrity: sha512-0RVoUFh5vpznE2DIP5agSpWO/nU8GgAWwoTAHWopU2X+1SCB5ykHU6DwS0GrZ5Hvejtk6CcADQllpQQJB4C5QA==} 1675 | engines: {node: ^14.17.0 || >=16.0.0} 1676 | peerDependencies: 1677 | eslint: '>=6.0.0' 1678 | dependencies: 1679 | debug: 4.3.4 1680 | eslint: 8.18.0 1681 | lodash: 4.17.21 1682 | natural-compare: 1.4.0 1683 | yaml-eslint-parser: 1.0.1 1684 | transitivePeerDependencies: 1685 | - supports-color 1686 | dev: true 1687 | 1688 | /eslint-scope@5.1.1: 1689 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1690 | engines: {node: '>=8.0.0'} 1691 | dependencies: 1692 | esrecurse: 4.3.0 1693 | estraverse: 4.3.0 1694 | dev: true 1695 | 1696 | /eslint-scope@7.1.1: 1697 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1698 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1699 | dependencies: 1700 | esrecurse: 4.3.0 1701 | estraverse: 5.3.0 1702 | dev: true 1703 | 1704 | /eslint-utils@2.1.0: 1705 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} 1706 | engines: {node: '>=6'} 1707 | dependencies: 1708 | eslint-visitor-keys: 1.3.0 1709 | dev: true 1710 | 1711 | /eslint-utils@3.0.0(eslint@8.18.0): 1712 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1713 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1714 | peerDependencies: 1715 | eslint: '>=5' 1716 | dependencies: 1717 | eslint: 8.18.0 1718 | eslint-visitor-keys: 2.1.0 1719 | dev: true 1720 | 1721 | /eslint-visitor-keys@1.3.0: 1722 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} 1723 | engines: {node: '>=4'} 1724 | dev: true 1725 | 1726 | /eslint-visitor-keys@2.1.0: 1727 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1728 | engines: {node: '>=10'} 1729 | dev: true 1730 | 1731 | /eslint-visitor-keys@3.3.0: 1732 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1733 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1734 | dev: true 1735 | 1736 | /eslint@8.18.0: 1737 | resolution: {integrity: sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==} 1738 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1739 | hasBin: true 1740 | dependencies: 1741 | '@eslint/eslintrc': 1.3.0 1742 | '@humanwhocodes/config-array': 0.9.2 1743 | ajv: 6.12.6 1744 | chalk: 4.1.2 1745 | cross-spawn: 7.0.3 1746 | debug: 4.3.4 1747 | doctrine: 3.0.0 1748 | escape-string-regexp: 4.0.0 1749 | eslint-scope: 7.1.1 1750 | eslint-utils: 3.0.0(eslint@8.18.0) 1751 | eslint-visitor-keys: 3.3.0 1752 | espree: 9.3.2 1753 | esquery: 1.4.0 1754 | esutils: 2.0.3 1755 | fast-deep-equal: 3.1.3 1756 | file-entry-cache: 6.0.1 1757 | functional-red-black-tree: 1.0.1 1758 | glob-parent: 6.0.2 1759 | globals: 13.15.0 1760 | ignore: 5.2.0 1761 | import-fresh: 3.3.0 1762 | imurmurhash: 0.1.4 1763 | is-glob: 4.0.3 1764 | js-yaml: 4.1.0 1765 | json-stable-stringify-without-jsonify: 1.0.1 1766 | levn: 0.4.1 1767 | lodash.merge: 4.6.2 1768 | minimatch: 3.1.2 1769 | natural-compare: 1.4.0 1770 | optionator: 0.9.1 1771 | regexpp: 3.2.0 1772 | strip-ansi: 6.0.1 1773 | strip-json-comments: 3.1.1 1774 | text-table: 0.2.0 1775 | v8-compile-cache: 2.2.0 1776 | transitivePeerDependencies: 1777 | - supports-color 1778 | dev: true 1779 | 1780 | /esno@0.16.3: 1781 | resolution: {integrity: sha512-6slSBEV1lMKcX13DBifvnDFpNno5WXhw4j/ff7RI0y51BZiDqEe5dNhhjhIQ3iCOQuzsm2MbVzmwqbN78BBhPg==} 1782 | hasBin: true 1783 | dependencies: 1784 | tsx: 3.12.1 1785 | dev: true 1786 | 1787 | /espree@9.3.2: 1788 | resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} 1789 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1790 | dependencies: 1791 | acorn: 8.7.1 1792 | acorn-jsx: 5.3.2(acorn@8.7.1) 1793 | eslint-visitor-keys: 3.3.0 1794 | dev: true 1795 | 1796 | /esquery@1.4.0: 1797 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 1798 | engines: {node: '>=0.10'} 1799 | dependencies: 1800 | estraverse: 5.3.0 1801 | dev: true 1802 | 1803 | /esrecurse@4.3.0: 1804 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1805 | engines: {node: '>=4.0'} 1806 | dependencies: 1807 | estraverse: 5.3.0 1808 | dev: true 1809 | 1810 | /estraverse@4.3.0: 1811 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1812 | engines: {node: '>=4.0'} 1813 | dev: true 1814 | 1815 | /estraverse@5.3.0: 1816 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1817 | engines: {node: '>=4.0'} 1818 | dev: true 1819 | 1820 | /esutils@2.0.3: 1821 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1822 | engines: {node: '>=0.10.0'} 1823 | dev: true 1824 | 1825 | /execa@5.1.1: 1826 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1827 | engines: {node: '>=10'} 1828 | dependencies: 1829 | cross-spawn: 7.0.3 1830 | get-stream: 6.0.1 1831 | human-signals: 2.1.0 1832 | is-stream: 2.0.1 1833 | merge-stream: 2.0.0 1834 | npm-run-path: 4.0.1 1835 | onetime: 5.1.2 1836 | signal-exit: 3.0.7 1837 | strip-final-newline: 2.0.0 1838 | dev: true 1839 | 1840 | /execa@6.1.0: 1841 | resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} 1842 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1843 | dependencies: 1844 | cross-spawn: 7.0.3 1845 | get-stream: 6.0.1 1846 | human-signals: 3.0.1 1847 | is-stream: 3.0.0 1848 | merge-stream: 2.0.0 1849 | npm-run-path: 5.1.0 1850 | onetime: 6.0.0 1851 | signal-exit: 3.0.7 1852 | strip-final-newline: 3.0.0 1853 | dev: true 1854 | 1855 | /fast-deep-equal@3.1.3: 1856 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1857 | dev: true 1858 | 1859 | /fast-glob@3.2.11: 1860 | resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} 1861 | engines: {node: '>=8.6.0'} 1862 | dependencies: 1863 | '@nodelib/fs.stat': 2.0.4 1864 | '@nodelib/fs.walk': 1.2.6 1865 | glob-parent: 5.1.2 1866 | merge2: 1.4.1 1867 | micromatch: 4.0.4 1868 | dev: true 1869 | 1870 | /fast-json-stable-stringify@2.1.0: 1871 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1872 | dev: true 1873 | 1874 | /fast-levenshtein@2.0.6: 1875 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1876 | dev: true 1877 | 1878 | /fastq@1.10.1: 1879 | resolution: {integrity: sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==} 1880 | dependencies: 1881 | reusify: 1.0.4 1882 | dev: true 1883 | 1884 | /file-entry-cache@6.0.1: 1885 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1886 | engines: {node: ^10.12.0 || >=12.0.0} 1887 | dependencies: 1888 | flat-cache: 3.0.4 1889 | dev: true 1890 | 1891 | /fill-range@7.0.1: 1892 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1893 | engines: {node: '>=8'} 1894 | dependencies: 1895 | to-regex-range: 5.0.1 1896 | dev: true 1897 | 1898 | /find-up@2.1.0: 1899 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 1900 | engines: {node: '>=4'} 1901 | dependencies: 1902 | locate-path: 2.0.0 1903 | dev: true 1904 | 1905 | /find-up@4.1.0: 1906 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1907 | engines: {node: '>=8'} 1908 | dependencies: 1909 | locate-path: 5.0.0 1910 | path-exists: 4.0.0 1911 | dev: true 1912 | 1913 | /flat-cache@3.0.4: 1914 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1915 | engines: {node: ^10.12.0 || >=12.0.0} 1916 | dependencies: 1917 | flatted: 3.1.1 1918 | rimraf: 3.0.2 1919 | dev: true 1920 | 1921 | /flatted@3.1.1: 1922 | resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==} 1923 | dev: true 1924 | 1925 | /fs.realpath@1.0.0: 1926 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 1927 | dev: true 1928 | 1929 | /fsevents@2.3.2: 1930 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1931 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1932 | os: [darwin] 1933 | requiresBuild: true 1934 | dev: true 1935 | optional: true 1936 | 1937 | /function-bind@1.1.1: 1938 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1939 | dev: true 1940 | 1941 | /function.prototype.name@1.1.5: 1942 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1943 | engines: {node: '>= 0.4'} 1944 | dependencies: 1945 | call-bind: 1.0.2 1946 | define-properties: 1.1.4 1947 | es-abstract: 1.20.1 1948 | functions-have-names: 1.2.3 1949 | dev: true 1950 | 1951 | /functional-red-black-tree@1.0.1: 1952 | resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} 1953 | dev: true 1954 | 1955 | /functions-have-names@1.2.3: 1956 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1957 | dev: true 1958 | 1959 | /get-func-name@2.0.0: 1960 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 1961 | dev: true 1962 | 1963 | /get-intrinsic@1.1.1: 1964 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} 1965 | dependencies: 1966 | function-bind: 1.1.1 1967 | has: 1.0.3 1968 | has-symbols: 1.0.3 1969 | dev: true 1970 | 1971 | /get-stream@6.0.1: 1972 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1973 | engines: {node: '>=10'} 1974 | dev: true 1975 | 1976 | /get-symbol-description@1.0.0: 1977 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1978 | engines: {node: '>= 0.4'} 1979 | dependencies: 1980 | call-bind: 1.0.2 1981 | get-intrinsic: 1.1.1 1982 | dev: true 1983 | 1984 | /get-tsconfig@4.2.0: 1985 | resolution: {integrity: sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==} 1986 | dev: true 1987 | 1988 | /glob-parent@5.1.2: 1989 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1990 | engines: {node: '>= 6'} 1991 | dependencies: 1992 | is-glob: 4.0.3 1993 | dev: true 1994 | 1995 | /glob-parent@6.0.2: 1996 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1997 | engines: {node: '>=10.13.0'} 1998 | dependencies: 1999 | is-glob: 4.0.3 2000 | dev: true 2001 | 2002 | /glob@7.1.6: 2003 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 2004 | dependencies: 2005 | fs.realpath: 1.0.0 2006 | inflight: 1.0.6 2007 | inherits: 2.0.4 2008 | minimatch: 3.1.2 2009 | once: 1.4.0 2010 | path-is-absolute: 1.0.1 2011 | dev: true 2012 | 2013 | /globals@13.15.0: 2014 | resolution: {integrity: sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==} 2015 | engines: {node: '>=8'} 2016 | dependencies: 2017 | type-fest: 0.20.2 2018 | dev: true 2019 | 2020 | /globby@11.1.0: 2021 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 2022 | engines: {node: '>=10'} 2023 | dependencies: 2024 | array-union: 2.1.0 2025 | dir-glob: 3.0.1 2026 | fast-glob: 3.2.11 2027 | ignore: 5.2.0 2028 | merge2: 1.4.1 2029 | slash: 3.0.0 2030 | dev: true 2031 | 2032 | /has-bigints@1.0.2: 2033 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 2034 | dev: true 2035 | 2036 | /has-flag@3.0.0: 2037 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 2038 | engines: {node: '>=4'} 2039 | dev: true 2040 | 2041 | /has-flag@4.0.0: 2042 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2043 | engines: {node: '>=8'} 2044 | dev: true 2045 | 2046 | /has-property-descriptors@1.0.0: 2047 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2048 | dependencies: 2049 | get-intrinsic: 1.1.1 2050 | dev: true 2051 | 2052 | /has-symbols@1.0.3: 2053 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2054 | engines: {node: '>= 0.4'} 2055 | dev: true 2056 | 2057 | /has-tostringtag@1.0.0: 2058 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 2059 | engines: {node: '>= 0.4'} 2060 | dependencies: 2061 | has-symbols: 1.0.3 2062 | dev: true 2063 | 2064 | /has@1.0.3: 2065 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2066 | engines: {node: '>= 0.4.0'} 2067 | dependencies: 2068 | function-bind: 1.1.1 2069 | dev: true 2070 | 2071 | /hosted-git-info@2.8.8: 2072 | resolution: {integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==} 2073 | dev: true 2074 | 2075 | /htmlparser2@7.2.0: 2076 | resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} 2077 | dependencies: 2078 | domelementtype: 2.2.0 2079 | domhandler: 4.2.2 2080 | domutils: 2.8.0 2081 | entities: 3.0.1 2082 | dev: true 2083 | 2084 | /human-signals@2.1.0: 2085 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 2086 | engines: {node: '>=10.17.0'} 2087 | dev: true 2088 | 2089 | /human-signals@3.0.1: 2090 | resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} 2091 | engines: {node: '>=12.20.0'} 2092 | dev: true 2093 | 2094 | /ignore@5.2.0: 2095 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 2096 | engines: {node: '>= 4'} 2097 | dev: true 2098 | 2099 | /import-fresh@3.3.0: 2100 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2101 | engines: {node: '>=6'} 2102 | dependencies: 2103 | parent-module: 1.0.1 2104 | resolve-from: 4.0.0 2105 | dev: true 2106 | 2107 | /imurmurhash@0.1.4: 2108 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2109 | engines: {node: '>=0.8.19'} 2110 | dev: true 2111 | 2112 | /indent-string@4.0.0: 2113 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2114 | engines: {node: '>=8'} 2115 | dev: true 2116 | 2117 | /inflight@1.0.6: 2118 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 2119 | dependencies: 2120 | once: 1.4.0 2121 | wrappy: 1.0.2 2122 | dev: true 2123 | 2124 | /inherits@2.0.4: 2125 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2126 | dev: true 2127 | 2128 | /internal-slot@1.0.3: 2129 | resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} 2130 | engines: {node: '>= 0.4'} 2131 | dependencies: 2132 | get-intrinsic: 1.1.1 2133 | has: 1.0.3 2134 | side-channel: 1.0.4 2135 | dev: true 2136 | 2137 | /is-alphabetical@1.0.4: 2138 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} 2139 | dev: true 2140 | 2141 | /is-alphanumerical@1.0.4: 2142 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} 2143 | dependencies: 2144 | is-alphabetical: 1.0.4 2145 | is-decimal: 1.0.4 2146 | dev: true 2147 | 2148 | /is-arrayish@0.2.1: 2149 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2150 | dev: true 2151 | 2152 | /is-bigint@1.0.2: 2153 | resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==} 2154 | dev: true 2155 | 2156 | /is-binary-path@2.1.0: 2157 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2158 | engines: {node: '>=8'} 2159 | dependencies: 2160 | binary-extensions: 2.2.0 2161 | dev: true 2162 | 2163 | /is-boolean-object@1.1.1: 2164 | resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==} 2165 | engines: {node: '>= 0.4'} 2166 | dependencies: 2167 | call-bind: 1.0.2 2168 | dev: true 2169 | 2170 | /is-builtin-module@3.1.0: 2171 | resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} 2172 | engines: {node: '>=6'} 2173 | dependencies: 2174 | builtin-modules: 3.2.0 2175 | dev: true 2176 | 2177 | /is-callable@1.2.4: 2178 | resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} 2179 | engines: {node: '>= 0.4'} 2180 | dev: true 2181 | 2182 | /is-core-module@2.8.1: 2183 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} 2184 | dependencies: 2185 | has: 1.0.3 2186 | dev: true 2187 | 2188 | /is-date-object@1.0.2: 2189 | resolution: {integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==} 2190 | engines: {node: '>= 0.4'} 2191 | dev: true 2192 | 2193 | /is-decimal@1.0.4: 2194 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} 2195 | dev: true 2196 | 2197 | /is-extglob@2.1.1: 2198 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2199 | engines: {node: '>=0.10.0'} 2200 | dev: true 2201 | 2202 | /is-fullwidth-code-point@3.0.0: 2203 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2204 | engines: {node: '>=8'} 2205 | dev: true 2206 | 2207 | /is-fullwidth-code-point@4.0.0: 2208 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 2209 | engines: {node: '>=12'} 2210 | dev: true 2211 | 2212 | /is-glob@4.0.3: 2213 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2214 | engines: {node: '>=0.10.0'} 2215 | dependencies: 2216 | is-extglob: 2.1.1 2217 | dev: true 2218 | 2219 | /is-hexadecimal@1.0.4: 2220 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} 2221 | dev: true 2222 | 2223 | /is-negative-zero@2.0.2: 2224 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 2225 | engines: {node: '>= 0.4'} 2226 | dev: true 2227 | 2228 | /is-number-object@1.0.5: 2229 | resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==} 2230 | engines: {node: '>= 0.4'} 2231 | dev: true 2232 | 2233 | /is-number@7.0.0: 2234 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2235 | engines: {node: '>=0.12.0'} 2236 | dev: true 2237 | 2238 | /is-regex@1.1.4: 2239 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 2240 | engines: {node: '>= 0.4'} 2241 | dependencies: 2242 | call-bind: 1.0.2 2243 | has-tostringtag: 1.0.0 2244 | dev: true 2245 | 2246 | /is-shared-array-buffer@1.0.2: 2247 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 2248 | dependencies: 2249 | call-bind: 1.0.2 2250 | dev: true 2251 | 2252 | /is-stream@2.0.1: 2253 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2254 | engines: {node: '>=8'} 2255 | dev: true 2256 | 2257 | /is-stream@3.0.0: 2258 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2259 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2260 | dev: true 2261 | 2262 | /is-string@1.0.7: 2263 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 2264 | engines: {node: '>= 0.4'} 2265 | dependencies: 2266 | has-tostringtag: 1.0.0 2267 | dev: true 2268 | 2269 | /is-symbol@1.0.3: 2270 | resolution: {integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==} 2271 | engines: {node: '>= 0.4'} 2272 | dependencies: 2273 | has-symbols: 1.0.3 2274 | dev: true 2275 | 2276 | /is-weakref@1.0.2: 2277 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 2278 | dependencies: 2279 | call-bind: 1.0.2 2280 | dev: true 2281 | 2282 | /isexe@2.0.0: 2283 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2284 | dev: true 2285 | 2286 | /joycon@3.0.1: 2287 | resolution: {integrity: sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA==} 2288 | engines: {node: '>=10'} 2289 | dev: true 2290 | 2291 | /js-tokens@4.0.0: 2292 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2293 | dev: true 2294 | 2295 | /js-yaml@4.1.0: 2296 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2297 | hasBin: true 2298 | dependencies: 2299 | argparse: 2.0.1 2300 | dev: true 2301 | 2302 | /json-parse-even-better-errors@2.3.1: 2303 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2304 | dev: true 2305 | 2306 | /json-schema-traverse@0.4.1: 2307 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2308 | dev: true 2309 | 2310 | /json-stable-stringify-without-jsonify@1.0.1: 2311 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2312 | dev: true 2313 | 2314 | /json5@1.0.1: 2315 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} 2316 | hasBin: true 2317 | dependencies: 2318 | minimist: 1.2.6 2319 | dev: true 2320 | 2321 | /jsonc-eslint-parser@2.1.0: 2322 | resolution: {integrity: sha512-qCRJWlbP2v6HbmKW7R3lFbeiVWHo+oMJ0j+MizwvauqnCV/EvtAeEeuCgoc/ErtsuoKgYB8U4Ih8AxJbXoE6/g==} 2323 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 2324 | dependencies: 2325 | acorn: 8.7.1 2326 | eslint-visitor-keys: 3.3.0 2327 | espree: 9.3.2 2328 | semver: 7.3.7 2329 | dev: true 2330 | 2331 | /jsx-ast-utils@3.2.0: 2332 | resolution: {integrity: sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==} 2333 | engines: {node: '>=4.0'} 2334 | dependencies: 2335 | array-includes: 3.1.5 2336 | object.assign: 4.1.2 2337 | dev: true 2338 | 2339 | /kleur@3.0.3: 2340 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 2341 | engines: {node: '>=6'} 2342 | dev: true 2343 | 2344 | /kleur@4.1.4: 2345 | resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} 2346 | engines: {node: '>=6'} 2347 | dev: true 2348 | 2349 | /levn@0.4.1: 2350 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2351 | engines: {node: '>= 0.8.0'} 2352 | dependencies: 2353 | prelude-ls: 1.2.1 2354 | type-check: 0.4.0 2355 | dev: true 2356 | 2357 | /lilconfig@2.0.6: 2358 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} 2359 | engines: {node: '>=10'} 2360 | dev: true 2361 | 2362 | /lines-and-columns@1.1.6: 2363 | resolution: {integrity: sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==} 2364 | dev: true 2365 | 2366 | /lint-staged@13.1.0: 2367 | resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} 2368 | engines: {node: ^14.13.1 || >=16.0.0} 2369 | hasBin: true 2370 | dependencies: 2371 | cli-truncate: 3.1.0 2372 | colorette: 2.0.20 2373 | commander: 9.5.0 2374 | debug: 4.3.4 2375 | execa: 6.1.0 2376 | lilconfig: 2.0.6 2377 | listr2: 5.0.8 2378 | micromatch: 4.0.5 2379 | normalize-path: 3.0.0 2380 | object-inspect: 1.12.3 2381 | pidtree: 0.6.0 2382 | string-argv: 0.3.1 2383 | yaml: 2.3.2 2384 | transitivePeerDependencies: 2385 | - enquirer 2386 | - supports-color 2387 | dev: true 2388 | 2389 | /listr2@5.0.8: 2390 | resolution: {integrity: sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==} 2391 | engines: {node: ^14.13.1 || >=16.0.0} 2392 | peerDependencies: 2393 | enquirer: '>= 2.3.0 < 3' 2394 | peerDependenciesMeta: 2395 | enquirer: 2396 | optional: true 2397 | dependencies: 2398 | cli-truncate: 2.1.0 2399 | colorette: 2.0.20 2400 | log-update: 4.0.0 2401 | p-map: 4.0.0 2402 | rfdc: 1.3.0 2403 | rxjs: 7.8.1 2404 | through: 2.3.8 2405 | wrap-ansi: 7.0.0 2406 | dev: true 2407 | 2408 | /load-tsconfig@0.2.3: 2409 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} 2410 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2411 | dev: true 2412 | 2413 | /local-pkg@0.4.1: 2414 | resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} 2415 | engines: {node: '>=14'} 2416 | dev: true 2417 | 2418 | /locate-path@2.0.0: 2419 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 2420 | engines: {node: '>=4'} 2421 | dependencies: 2422 | p-locate: 2.0.0 2423 | path-exists: 3.0.0 2424 | dev: true 2425 | 2426 | /locate-path@5.0.0: 2427 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2428 | engines: {node: '>=8'} 2429 | dependencies: 2430 | p-locate: 4.1.0 2431 | dev: true 2432 | 2433 | /lodash.merge@4.6.2: 2434 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2435 | dev: true 2436 | 2437 | /lodash.sortby@4.7.0: 2438 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 2439 | dev: true 2440 | 2441 | /lodash@4.17.21: 2442 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2443 | dev: true 2444 | 2445 | /log-update@4.0.0: 2446 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 2447 | engines: {node: '>=10'} 2448 | dependencies: 2449 | ansi-escapes: 4.3.2 2450 | cli-cursor: 3.1.0 2451 | slice-ansi: 4.0.0 2452 | wrap-ansi: 6.2.0 2453 | dev: true 2454 | 2455 | /loose-envify@1.4.0: 2456 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} 2457 | hasBin: true 2458 | dependencies: 2459 | js-tokens: 4.0.0 2460 | dev: true 2461 | 2462 | /loupe@2.3.4: 2463 | resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==} 2464 | dependencies: 2465 | get-func-name: 2.0.0 2466 | dev: true 2467 | 2468 | /lru-cache@6.0.0: 2469 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2470 | engines: {node: '>=10'} 2471 | dependencies: 2472 | yallist: 4.0.0 2473 | dev: true 2474 | 2475 | /mdast-util-from-markdown@0.8.5: 2476 | resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} 2477 | dependencies: 2478 | '@types/mdast': 3.0.10 2479 | mdast-util-to-string: 2.0.0 2480 | micromark: 2.11.4 2481 | parse-entities: 2.0.0 2482 | unist-util-stringify-position: 2.0.3 2483 | transitivePeerDependencies: 2484 | - supports-color 2485 | dev: true 2486 | 2487 | /mdast-util-to-string@2.0.0: 2488 | resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} 2489 | dev: true 2490 | 2491 | /merge-stream@2.0.0: 2492 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2493 | dev: true 2494 | 2495 | /merge2@1.4.1: 2496 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2497 | engines: {node: '>= 8'} 2498 | dev: true 2499 | 2500 | /micromark@2.11.4: 2501 | resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} 2502 | dependencies: 2503 | debug: 4.3.4 2504 | parse-entities: 2.0.0 2505 | transitivePeerDependencies: 2506 | - supports-color 2507 | dev: true 2508 | 2509 | /micromatch@4.0.4: 2510 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} 2511 | engines: {node: '>=8.6'} 2512 | dependencies: 2513 | braces: 3.0.2 2514 | picomatch: 2.3.0 2515 | dev: true 2516 | 2517 | /micromatch@4.0.5: 2518 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2519 | engines: {node: '>=8.6'} 2520 | dependencies: 2521 | braces: 3.0.2 2522 | picomatch: 2.3.1 2523 | dev: true 2524 | 2525 | /mimic-fn@2.1.0: 2526 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2527 | engines: {node: '>=6'} 2528 | dev: true 2529 | 2530 | /mimic-fn@4.0.0: 2531 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 2532 | engines: {node: '>=12'} 2533 | dev: true 2534 | 2535 | /min-indent@1.0.1: 2536 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 2537 | engines: {node: '>=4'} 2538 | dev: true 2539 | 2540 | /minimatch@3.1.2: 2541 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2542 | dependencies: 2543 | brace-expansion: 1.1.11 2544 | dev: true 2545 | 2546 | /minimist@1.2.6: 2547 | resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} 2548 | dev: true 2549 | 2550 | /ms@2.0.0: 2551 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 2552 | dev: true 2553 | 2554 | /ms@2.1.2: 2555 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2556 | dev: true 2557 | 2558 | /mz@2.7.0: 2559 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 2560 | dependencies: 2561 | any-promise: 1.3.0 2562 | object-assign: 4.1.1 2563 | thenify-all: 1.6.0 2564 | dev: true 2565 | 2566 | /nanoid@3.3.4: 2567 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 2568 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 2569 | hasBin: true 2570 | dev: true 2571 | 2572 | /natural-compare@1.4.0: 2573 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2574 | dev: true 2575 | 2576 | /normalize-package-data@2.5.0: 2577 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 2578 | dependencies: 2579 | hosted-git-info: 2.8.8 2580 | resolve: 1.22.0 2581 | semver: 5.7.1 2582 | validate-npm-package-license: 3.0.4 2583 | dev: true 2584 | 2585 | /normalize-path@3.0.0: 2586 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2587 | engines: {node: '>=0.10.0'} 2588 | dev: true 2589 | 2590 | /npm-run-path@4.0.1: 2591 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2592 | engines: {node: '>=8'} 2593 | dependencies: 2594 | path-key: 3.1.1 2595 | dev: true 2596 | 2597 | /npm-run-path@5.1.0: 2598 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 2599 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2600 | dependencies: 2601 | path-key: 4.0.0 2602 | dev: true 2603 | 2604 | /nth-check@2.0.1: 2605 | resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} 2606 | dependencies: 2607 | boolbase: 1.0.0 2608 | dev: true 2609 | 2610 | /object-assign@4.1.1: 2611 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 2612 | engines: {node: '>=0.10.0'} 2613 | dev: true 2614 | 2615 | /object-inspect@1.12.1: 2616 | resolution: {integrity: sha512-Y/jF6vnvEtOPGiKD1+q+X0CiUYRQtEHp89MLLUJ7TUivtH8Ugn2+3A7Rynqk7BRsAoqeOQWnFnjpDrKSxDgIGA==} 2617 | dev: true 2618 | 2619 | /object-inspect@1.12.3: 2620 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 2621 | dev: true 2622 | 2623 | /object-keys@1.1.1: 2624 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 2625 | engines: {node: '>= 0.4'} 2626 | dev: true 2627 | 2628 | /object.assign@4.1.2: 2629 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 2630 | engines: {node: '>= 0.4'} 2631 | dependencies: 2632 | call-bind: 1.0.2 2633 | define-properties: 1.1.4 2634 | has-symbols: 1.0.3 2635 | object-keys: 1.1.1 2636 | dev: true 2637 | 2638 | /object.entries@1.1.5: 2639 | resolution: {integrity: sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==} 2640 | engines: {node: '>= 0.4'} 2641 | dependencies: 2642 | call-bind: 1.0.2 2643 | define-properties: 1.1.4 2644 | es-abstract: 1.20.1 2645 | dev: true 2646 | 2647 | /object.fromentries@2.0.5: 2648 | resolution: {integrity: sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==} 2649 | engines: {node: '>= 0.4'} 2650 | dependencies: 2651 | call-bind: 1.0.2 2652 | define-properties: 1.1.4 2653 | es-abstract: 1.20.1 2654 | dev: true 2655 | 2656 | /object.hasown@1.1.1: 2657 | resolution: {integrity: sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==} 2658 | dependencies: 2659 | define-properties: 1.1.4 2660 | es-abstract: 1.20.1 2661 | dev: true 2662 | 2663 | /object.values@1.1.5: 2664 | resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} 2665 | engines: {node: '>= 0.4'} 2666 | dependencies: 2667 | call-bind: 1.0.2 2668 | define-properties: 1.1.4 2669 | es-abstract: 1.20.1 2670 | dev: true 2671 | 2672 | /once@1.4.0: 2673 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 2674 | dependencies: 2675 | wrappy: 1.0.2 2676 | dev: true 2677 | 2678 | /onetime@5.1.2: 2679 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2680 | engines: {node: '>=6'} 2681 | dependencies: 2682 | mimic-fn: 2.1.0 2683 | dev: true 2684 | 2685 | /onetime@6.0.0: 2686 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2687 | engines: {node: '>=12'} 2688 | dependencies: 2689 | mimic-fn: 4.0.0 2690 | dev: true 2691 | 2692 | /optionator@0.9.1: 2693 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2694 | engines: {node: '>= 0.8.0'} 2695 | dependencies: 2696 | deep-is: 0.1.3 2697 | fast-levenshtein: 2.0.6 2698 | levn: 0.4.1 2699 | prelude-ls: 1.2.1 2700 | type-check: 0.4.0 2701 | word-wrap: 1.2.3 2702 | dev: true 2703 | 2704 | /p-limit@1.3.0: 2705 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 2706 | engines: {node: '>=4'} 2707 | dependencies: 2708 | p-try: 1.0.0 2709 | dev: true 2710 | 2711 | /p-limit@2.3.0: 2712 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2713 | engines: {node: '>=6'} 2714 | dependencies: 2715 | p-try: 2.2.0 2716 | dev: true 2717 | 2718 | /p-locate@2.0.0: 2719 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 2720 | engines: {node: '>=4'} 2721 | dependencies: 2722 | p-limit: 1.3.0 2723 | dev: true 2724 | 2725 | /p-locate@4.1.0: 2726 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2727 | engines: {node: '>=8'} 2728 | dependencies: 2729 | p-limit: 2.3.0 2730 | dev: true 2731 | 2732 | /p-map@4.0.0: 2733 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2734 | engines: {node: '>=10'} 2735 | dependencies: 2736 | aggregate-error: 3.1.0 2737 | dev: true 2738 | 2739 | /p-try@1.0.0: 2740 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 2741 | engines: {node: '>=4'} 2742 | dev: true 2743 | 2744 | /p-try@2.2.0: 2745 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2746 | engines: {node: '>=6'} 2747 | dev: true 2748 | 2749 | /parent-module@1.0.1: 2750 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2751 | engines: {node: '>=6'} 2752 | dependencies: 2753 | callsites: 3.1.0 2754 | dev: true 2755 | 2756 | /parse-entities@2.0.0: 2757 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} 2758 | dependencies: 2759 | character-entities: 1.2.4 2760 | character-entities-legacy: 1.1.4 2761 | character-reference-invalid: 1.1.4 2762 | is-alphanumerical: 1.0.4 2763 | is-decimal: 1.0.4 2764 | is-hexadecimal: 1.0.4 2765 | dev: true 2766 | 2767 | /parse-json@5.2.0: 2768 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2769 | engines: {node: '>=8'} 2770 | dependencies: 2771 | '@babel/code-frame': 7.16.7 2772 | error-ex: 1.3.2 2773 | json-parse-even-better-errors: 2.3.1 2774 | lines-and-columns: 1.1.6 2775 | dev: true 2776 | 2777 | /path-exists@3.0.0: 2778 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 2779 | engines: {node: '>=4'} 2780 | dev: true 2781 | 2782 | /path-exists@4.0.0: 2783 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2784 | engines: {node: '>=8'} 2785 | dev: true 2786 | 2787 | /path-is-absolute@1.0.1: 2788 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 2789 | engines: {node: '>=0.10.0'} 2790 | dev: true 2791 | 2792 | /path-key@3.1.1: 2793 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2794 | engines: {node: '>=8'} 2795 | dev: true 2796 | 2797 | /path-key@4.0.0: 2798 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2799 | engines: {node: '>=12'} 2800 | dev: true 2801 | 2802 | /path-parse@1.0.7: 2803 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2804 | dev: true 2805 | 2806 | /path-type@4.0.0: 2807 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2808 | engines: {node: '>=8'} 2809 | dev: true 2810 | 2811 | /pathval@1.1.1: 2812 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 2813 | dev: true 2814 | 2815 | /picocolors@1.0.0: 2816 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2817 | dev: true 2818 | 2819 | /picomatch@2.3.0: 2820 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} 2821 | engines: {node: '>=8.6'} 2822 | dev: true 2823 | 2824 | /picomatch@2.3.1: 2825 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2826 | engines: {node: '>=8.6'} 2827 | dev: true 2828 | 2829 | /pidtree@0.6.0: 2830 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 2831 | engines: {node: '>=0.10'} 2832 | hasBin: true 2833 | dev: true 2834 | 2835 | /pirates@4.0.5: 2836 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2837 | engines: {node: '>= 6'} 2838 | dev: true 2839 | 2840 | /pluralize@8.0.0: 2841 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 2842 | engines: {node: '>=4'} 2843 | dev: true 2844 | 2845 | /postcss-load-config@3.1.4: 2846 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 2847 | engines: {node: '>= 10'} 2848 | peerDependencies: 2849 | postcss: '>=8.0.9' 2850 | ts-node: '>=9.0.0' 2851 | peerDependenciesMeta: 2852 | postcss: 2853 | optional: true 2854 | ts-node: 2855 | optional: true 2856 | dependencies: 2857 | lilconfig: 2.0.6 2858 | yaml: 1.10.2 2859 | dev: true 2860 | 2861 | /postcss-selector-parser@6.0.10: 2862 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} 2863 | engines: {node: '>=4'} 2864 | dependencies: 2865 | cssesc: 3.0.0 2866 | util-deprecate: 1.0.2 2867 | dev: true 2868 | 2869 | /postcss@8.4.13: 2870 | resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==} 2871 | engines: {node: ^10 || ^12 || >=14} 2872 | dependencies: 2873 | nanoid: 3.3.4 2874 | picocolors: 1.0.0 2875 | source-map-js: 1.0.2 2876 | dev: true 2877 | 2878 | /prelude-ls@1.2.1: 2879 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 2880 | engines: {node: '>= 0.8.0'} 2881 | dev: true 2882 | 2883 | /prettier@2.8.1: 2884 | resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} 2885 | engines: {node: '>=10.13.0'} 2886 | hasBin: true 2887 | dev: true 2888 | 2889 | /prompts@2.4.1: 2890 | resolution: {integrity: sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==} 2891 | engines: {node: '>= 6'} 2892 | dependencies: 2893 | kleur: 3.0.3 2894 | sisteransi: 1.0.5 2895 | dev: true 2896 | 2897 | /prop-types@15.8.1: 2898 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} 2899 | dependencies: 2900 | loose-envify: 1.4.0 2901 | object-assign: 4.1.1 2902 | react-is: 16.13.1 2903 | dev: true 2904 | 2905 | /punycode@2.1.1: 2906 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 2907 | engines: {node: '>=6'} 2908 | dev: true 2909 | 2910 | /queue-microtask@1.2.2: 2911 | resolution: {integrity: sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg==} 2912 | dev: true 2913 | 2914 | /react-is@16.13.1: 2915 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} 2916 | dev: true 2917 | 2918 | /read-pkg-up@7.0.1: 2919 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2920 | engines: {node: '>=8'} 2921 | dependencies: 2922 | find-up: 4.1.0 2923 | read-pkg: 5.2.0 2924 | type-fest: 0.8.1 2925 | dev: true 2926 | 2927 | /read-pkg@5.2.0: 2928 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2929 | engines: {node: '>=8'} 2930 | dependencies: 2931 | '@types/normalize-package-data': 2.4.0 2932 | normalize-package-data: 2.5.0 2933 | parse-json: 5.2.0 2934 | type-fest: 0.6.0 2935 | dev: true 2936 | 2937 | /readdirp@3.6.0: 2938 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2939 | engines: {node: '>=8.10.0'} 2940 | dependencies: 2941 | picomatch: 2.3.0 2942 | dev: true 2943 | 2944 | /regexp-tree@0.1.24: 2945 | resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} 2946 | hasBin: true 2947 | dev: true 2948 | 2949 | /regexp.prototype.flags@1.4.3: 2950 | resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} 2951 | engines: {node: '>= 0.4'} 2952 | dependencies: 2953 | call-bind: 1.0.2 2954 | define-properties: 1.1.4 2955 | functions-have-names: 1.2.3 2956 | dev: true 2957 | 2958 | /regexpp@3.2.0: 2959 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 2960 | engines: {node: '>=8'} 2961 | dev: true 2962 | 2963 | /resolve-from@4.0.0: 2964 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2965 | engines: {node: '>=4'} 2966 | dev: true 2967 | 2968 | /resolve-from@5.0.0: 2969 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2970 | engines: {node: '>=8'} 2971 | dev: true 2972 | 2973 | /resolve@1.22.0: 2974 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 2975 | hasBin: true 2976 | dependencies: 2977 | is-core-module: 2.8.1 2978 | path-parse: 1.0.7 2979 | supports-preserve-symlinks-flag: 1.0.0 2980 | dev: true 2981 | 2982 | /resolve@2.0.0-next.3: 2983 | resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} 2984 | dependencies: 2985 | is-core-module: 2.8.1 2986 | path-parse: 1.0.7 2987 | dev: true 2988 | 2989 | /restore-cursor@3.1.0: 2990 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 2991 | engines: {node: '>=8'} 2992 | dependencies: 2993 | onetime: 5.1.2 2994 | signal-exit: 3.0.7 2995 | dev: true 2996 | 2997 | /reusify@1.0.4: 2998 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2999 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3000 | dev: true 3001 | 3002 | /rfdc@1.3.0: 3003 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 3004 | dev: true 3005 | 3006 | /rimraf@3.0.2: 3007 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3008 | hasBin: true 3009 | dependencies: 3010 | glob: 7.1.6 3011 | dev: true 3012 | 3013 | /rollup@2.70.2: 3014 | resolution: {integrity: sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==} 3015 | engines: {node: '>=10.0.0'} 3016 | hasBin: true 3017 | optionalDependencies: 3018 | fsevents: 2.3.2 3019 | dev: true 3020 | 3021 | /rollup@3.7.4: 3022 | resolution: {integrity: sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==} 3023 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 3024 | hasBin: true 3025 | optionalDependencies: 3026 | fsevents: 2.3.2 3027 | dev: true 3028 | 3029 | /run-parallel@1.2.0: 3030 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3031 | dependencies: 3032 | queue-microtask: 1.2.2 3033 | dev: true 3034 | 3035 | /rxjs@7.8.1: 3036 | resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} 3037 | dependencies: 3038 | tslib: 2.6.2 3039 | dev: true 3040 | 3041 | /safe-regex@2.1.1: 3042 | resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} 3043 | dependencies: 3044 | regexp-tree: 0.1.24 3045 | dev: true 3046 | 3047 | /semver@5.7.1: 3048 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 3049 | hasBin: true 3050 | dev: true 3051 | 3052 | /semver@6.3.0: 3053 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3054 | hasBin: true 3055 | dev: true 3056 | 3057 | /semver@7.3.7: 3058 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 3059 | engines: {node: '>=10'} 3060 | hasBin: true 3061 | dependencies: 3062 | lru-cache: 6.0.0 3063 | dev: true 3064 | 3065 | /shebang-command@2.0.0: 3066 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3067 | engines: {node: '>=8'} 3068 | dependencies: 3069 | shebang-regex: 3.0.0 3070 | dev: true 3071 | 3072 | /shebang-regex@3.0.0: 3073 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3074 | engines: {node: '>=8'} 3075 | dev: true 3076 | 3077 | /side-channel@1.0.4: 3078 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 3079 | dependencies: 3080 | call-bind: 1.0.2 3081 | get-intrinsic: 1.1.1 3082 | object-inspect: 1.12.1 3083 | dev: true 3084 | 3085 | /signal-exit@3.0.7: 3086 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3087 | dev: true 3088 | 3089 | /sisteransi@1.0.5: 3090 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3091 | dev: true 3092 | 3093 | /slash@3.0.0: 3094 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3095 | engines: {node: '>=8'} 3096 | dev: true 3097 | 3098 | /slice-ansi@3.0.0: 3099 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 3100 | engines: {node: '>=8'} 3101 | dependencies: 3102 | ansi-styles: 4.3.0 3103 | astral-regex: 2.0.0 3104 | is-fullwidth-code-point: 3.0.0 3105 | dev: true 3106 | 3107 | /slice-ansi@4.0.0: 3108 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 3109 | engines: {node: '>=10'} 3110 | dependencies: 3111 | ansi-styles: 4.3.0 3112 | astral-regex: 2.0.0 3113 | is-fullwidth-code-point: 3.0.0 3114 | dev: true 3115 | 3116 | /slice-ansi@5.0.0: 3117 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 3118 | engines: {node: '>=12'} 3119 | dependencies: 3120 | ansi-styles: 6.2.1 3121 | is-fullwidth-code-point: 4.0.0 3122 | dev: true 3123 | 3124 | /source-map-js@1.0.2: 3125 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 3126 | engines: {node: '>=0.10.0'} 3127 | dev: true 3128 | 3129 | /source-map-support@0.5.21: 3130 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 3131 | dependencies: 3132 | buffer-from: 1.1.2 3133 | source-map: 0.6.1 3134 | dev: true 3135 | 3136 | /source-map@0.6.1: 3137 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3138 | engines: {node: '>=0.10.0'} 3139 | dev: true 3140 | 3141 | /source-map@0.8.0-beta.0: 3142 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 3143 | engines: {node: '>= 8'} 3144 | dependencies: 3145 | whatwg-url: 7.1.0 3146 | dev: true 3147 | 3148 | /spark-md5@3.0.2: 3149 | resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==} 3150 | dev: true 3151 | 3152 | /spdx-correct@3.1.1: 3153 | resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} 3154 | dependencies: 3155 | spdx-expression-parse: 3.0.1 3156 | spdx-license-ids: 3.0.7 3157 | dev: true 3158 | 3159 | /spdx-exceptions@2.3.0: 3160 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 3161 | dev: true 3162 | 3163 | /spdx-expression-parse@3.0.1: 3164 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 3165 | dependencies: 3166 | spdx-exceptions: 2.3.0 3167 | spdx-license-ids: 3.0.7 3168 | dev: true 3169 | 3170 | /spdx-license-ids@3.0.7: 3171 | resolution: {integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==} 3172 | dev: true 3173 | 3174 | /string-argv@0.3.1: 3175 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 3176 | engines: {node: '>=0.6.19'} 3177 | dev: true 3178 | 3179 | /string-width@4.2.3: 3180 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3181 | engines: {node: '>=8'} 3182 | dependencies: 3183 | emoji-regex: 8.0.0 3184 | is-fullwidth-code-point: 3.0.0 3185 | strip-ansi: 6.0.1 3186 | dev: true 3187 | 3188 | /string-width@5.1.2: 3189 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 3190 | engines: {node: '>=12'} 3191 | dependencies: 3192 | eastasianwidth: 0.2.0 3193 | emoji-regex: 9.2.2 3194 | strip-ansi: 7.1.0 3195 | dev: true 3196 | 3197 | /string.prototype.matchall@4.0.7: 3198 | resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==} 3199 | dependencies: 3200 | call-bind: 1.0.2 3201 | define-properties: 1.1.4 3202 | es-abstract: 1.20.1 3203 | get-intrinsic: 1.1.1 3204 | has-symbols: 1.0.3 3205 | internal-slot: 1.0.3 3206 | regexp.prototype.flags: 1.4.3 3207 | side-channel: 1.0.4 3208 | dev: true 3209 | 3210 | /string.prototype.trimend@1.0.5: 3211 | resolution: {integrity: sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==} 3212 | dependencies: 3213 | call-bind: 1.0.2 3214 | define-properties: 1.1.4 3215 | es-abstract: 1.20.1 3216 | dev: true 3217 | 3218 | /string.prototype.trimstart@1.0.5: 3219 | resolution: {integrity: sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==} 3220 | dependencies: 3221 | call-bind: 1.0.2 3222 | define-properties: 1.1.4 3223 | es-abstract: 1.20.1 3224 | dev: true 3225 | 3226 | /strip-ansi@6.0.1: 3227 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3228 | engines: {node: '>=8'} 3229 | dependencies: 3230 | ansi-regex: 5.0.1 3231 | dev: true 3232 | 3233 | /strip-ansi@7.1.0: 3234 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 3235 | engines: {node: '>=12'} 3236 | dependencies: 3237 | ansi-regex: 6.0.1 3238 | dev: true 3239 | 3240 | /strip-bom@3.0.0: 3241 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 3242 | engines: {node: '>=4'} 3243 | dev: true 3244 | 3245 | /strip-final-newline@2.0.0: 3246 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3247 | engines: {node: '>=6'} 3248 | dev: true 3249 | 3250 | /strip-final-newline@3.0.0: 3251 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3252 | engines: {node: '>=12'} 3253 | dev: true 3254 | 3255 | /strip-indent@3.0.0: 3256 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 3257 | engines: {node: '>=8'} 3258 | dependencies: 3259 | min-indent: 1.0.1 3260 | dev: true 3261 | 3262 | /strip-json-comments@3.1.1: 3263 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3264 | engines: {node: '>=8'} 3265 | dev: true 3266 | 3267 | /sucrase@3.29.0: 3268 | resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} 3269 | engines: {node: '>=8'} 3270 | hasBin: true 3271 | dependencies: 3272 | commander: 4.1.1 3273 | glob: 7.1.6 3274 | lines-and-columns: 1.1.6 3275 | mz: 2.7.0 3276 | pirates: 4.0.5 3277 | ts-interface-checker: 0.1.13 3278 | dev: true 3279 | 3280 | /supports-color@5.5.0: 3281 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3282 | engines: {node: '>=4'} 3283 | dependencies: 3284 | has-flag: 3.0.0 3285 | dev: true 3286 | 3287 | /supports-color@7.2.0: 3288 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3289 | engines: {node: '>=8'} 3290 | dependencies: 3291 | has-flag: 4.0.0 3292 | dev: true 3293 | 3294 | /supports-preserve-symlinks-flag@1.0.0: 3295 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3296 | engines: {node: '>= 0.4'} 3297 | dev: true 3298 | 3299 | /text-table@0.2.0: 3300 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3301 | dev: true 3302 | 3303 | /thenify-all@1.6.0: 3304 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 3305 | engines: {node: '>=0.8'} 3306 | dependencies: 3307 | thenify: 3.3.1 3308 | dev: true 3309 | 3310 | /thenify@3.3.1: 3311 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 3312 | dependencies: 3313 | any-promise: 1.3.0 3314 | dev: true 3315 | 3316 | /through@2.3.8: 3317 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3318 | dev: true 3319 | 3320 | /tinypool@0.1.3: 3321 | resolution: {integrity: sha512-2IfcQh7CP46XGWGGbdyO4pjcKqsmVqFAPcXfPxcPXmOWt9cYkTP9HcDmGgsfijYoAEc4z9qcpM/BaBz46Y9/CQ==} 3322 | engines: {node: '>=14.0.0'} 3323 | dev: true 3324 | 3325 | /tinyspy@0.3.2: 3326 | resolution: {integrity: sha512-2+40EP4D3sFYy42UkgkFFB+kiX2Tg3URG/lVvAZFfLxgGpnWl5qQJuBw1gaLttq8UOS+2p3C0WrhJnQigLTT2Q==} 3327 | engines: {node: '>=14.0.0'} 3328 | dev: true 3329 | 3330 | /to-regex-range@5.0.1: 3331 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3332 | engines: {node: '>=8.0'} 3333 | dependencies: 3334 | is-number: 7.0.0 3335 | dev: true 3336 | 3337 | /tr46@1.0.1: 3338 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 3339 | dependencies: 3340 | punycode: 2.1.1 3341 | dev: true 3342 | 3343 | /tree-kill@1.2.2: 3344 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 3345 | hasBin: true 3346 | dev: true 3347 | 3348 | /ts-interface-checker@0.1.13: 3349 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 3350 | dev: true 3351 | 3352 | /tsconfig-paths@3.14.1: 3353 | resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} 3354 | dependencies: 3355 | '@types/json5': 0.0.29 3356 | json5: 1.0.1 3357 | minimist: 1.2.6 3358 | strip-bom: 3.0.0 3359 | dev: true 3360 | 3361 | /tslib@1.14.1: 3362 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3363 | dev: true 3364 | 3365 | /tslib@2.6.2: 3366 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 3367 | dev: true 3368 | 3369 | /tsup@6.5.0(typescript@4.7.4): 3370 | resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} 3371 | engines: {node: '>=14'} 3372 | hasBin: true 3373 | peerDependencies: 3374 | '@swc/core': ^1 3375 | postcss: ^8.4.12 3376 | typescript: ^4.1.0 3377 | peerDependenciesMeta: 3378 | '@swc/core': 3379 | optional: true 3380 | postcss: 3381 | optional: true 3382 | typescript: 3383 | optional: true 3384 | dependencies: 3385 | bundle-require: 3.1.2(esbuild@0.15.18) 3386 | cac: 6.7.12 3387 | chokidar: 3.5.3 3388 | debug: 4.3.4 3389 | esbuild: 0.15.18 3390 | execa: 5.1.1 3391 | globby: 11.1.0 3392 | joycon: 3.0.1 3393 | postcss-load-config: 3.1.4 3394 | resolve-from: 5.0.0 3395 | rollup: 3.7.4 3396 | source-map: 0.8.0-beta.0 3397 | sucrase: 3.29.0 3398 | tree-kill: 1.2.2 3399 | typescript: 4.7.4 3400 | transitivePeerDependencies: 3401 | - supports-color 3402 | - ts-node 3403 | dev: true 3404 | 3405 | /tsutils@3.21.0(typescript@4.7.4): 3406 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3407 | engines: {node: '>= 6'} 3408 | peerDependencies: 3409 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3410 | dependencies: 3411 | tslib: 1.14.1 3412 | typescript: 4.7.4 3413 | dev: true 3414 | 3415 | /tsx@3.12.1: 3416 | resolution: {integrity: sha512-Rcg1x+rNe7qwlP8j7kx4VjP/pJo/V57k+17hlrn6a7FuQLNwkaw5W4JF75tYornNVCxkXdSUnqlIT8JY/ttvIw==} 3417 | hasBin: true 3418 | dependencies: 3419 | '@esbuild-kit/cjs-loader': 2.4.1 3420 | '@esbuild-kit/core-utils': 3.0.0 3421 | '@esbuild-kit/esm-loader': 2.5.4 3422 | optionalDependencies: 3423 | fsevents: 2.3.2 3424 | dev: true 3425 | 3426 | /type-check@0.4.0: 3427 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3428 | engines: {node: '>= 0.8.0'} 3429 | dependencies: 3430 | prelude-ls: 1.2.1 3431 | dev: true 3432 | 3433 | /type-detect@4.0.8: 3434 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 3435 | engines: {node: '>=4'} 3436 | dev: true 3437 | 3438 | /type-fest@0.20.2: 3439 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3440 | engines: {node: '>=10'} 3441 | dev: true 3442 | 3443 | /type-fest@0.21.3: 3444 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3445 | engines: {node: '>=10'} 3446 | dev: true 3447 | 3448 | /type-fest@0.6.0: 3449 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 3450 | engines: {node: '>=8'} 3451 | dev: true 3452 | 3453 | /type-fest@0.8.1: 3454 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 3455 | engines: {node: '>=8'} 3456 | dev: true 3457 | 3458 | /typescript@4.7.4: 3459 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} 3460 | engines: {node: '>=4.2.0'} 3461 | hasBin: true 3462 | dev: true 3463 | 3464 | /unbox-primitive@1.0.2: 3465 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 3466 | dependencies: 3467 | call-bind: 1.0.2 3468 | has-bigints: 1.0.2 3469 | has-symbols: 1.0.3 3470 | which-boxed-primitive: 1.0.2 3471 | dev: true 3472 | 3473 | /unist-util-stringify-position@2.0.3: 3474 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} 3475 | dependencies: 3476 | '@types/unist': 2.0.6 3477 | dev: true 3478 | 3479 | /uri-js@4.4.1: 3480 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3481 | dependencies: 3482 | punycode: 2.1.1 3483 | dev: true 3484 | 3485 | /util-deprecate@1.0.2: 3486 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 3487 | dev: true 3488 | 3489 | /v8-compile-cache@2.2.0: 3490 | resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} 3491 | dev: true 3492 | 3493 | /validate-npm-package-license@3.0.4: 3494 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 3495 | dependencies: 3496 | spdx-correct: 3.1.1 3497 | spdx-expression-parse: 3.0.1 3498 | dev: true 3499 | 3500 | /vite@2.9.12: 3501 | resolution: {integrity: sha512-suxC36dQo9Rq1qMB2qiRorNJtJAdxguu5TMvBHOc/F370KvqAe9t48vYp+/TbPKRNrMh/J55tOUmkuIqstZaew==} 3502 | engines: {node: '>=12.2.0'} 3503 | hasBin: true 3504 | peerDependencies: 3505 | less: '*' 3506 | sass: '*' 3507 | stylus: '*' 3508 | peerDependenciesMeta: 3509 | less: 3510 | optional: true 3511 | sass: 3512 | optional: true 3513 | stylus: 3514 | optional: true 3515 | dependencies: 3516 | esbuild: 0.14.38 3517 | postcss: 8.4.13 3518 | resolve: 1.22.0 3519 | rollup: 2.70.2 3520 | optionalDependencies: 3521 | fsevents: 2.3.2 3522 | dev: true 3523 | 3524 | /vitest@0.15.1: 3525 | resolution: {integrity: sha512-NaNFi93JKSuvV4YGnfQ0l0GKYxH0EsLcTrrXaCzd6qfVEZM/RJpjwSevg6waNFqu2DyN6e0aHHdrCZW5/vh5NA==} 3526 | engines: {node: '>=v14.16.0'} 3527 | hasBin: true 3528 | peerDependencies: 3529 | '@vitest/ui': '*' 3530 | c8: '*' 3531 | happy-dom: '*' 3532 | jsdom: '*' 3533 | peerDependenciesMeta: 3534 | '@vitest/ui': 3535 | optional: true 3536 | c8: 3537 | optional: true 3538 | happy-dom: 3539 | optional: true 3540 | jsdom: 3541 | optional: true 3542 | dependencies: 3543 | '@types/chai': 4.3.1 3544 | '@types/chai-subset': 1.3.3 3545 | '@types/node': 18.0.0 3546 | chai: 4.3.6 3547 | debug: 4.3.4 3548 | local-pkg: 0.4.1 3549 | tinypool: 0.1.3 3550 | tinyspy: 0.3.2 3551 | vite: 2.9.12 3552 | transitivePeerDependencies: 3553 | - less 3554 | - sass 3555 | - stylus 3556 | - supports-color 3557 | dev: true 3558 | 3559 | /vue-eslint-parser@9.0.2(eslint@8.18.0): 3560 | resolution: {integrity: sha512-uCPQwTGjOtAYrwnU+76pYxalhjsh7iFBsHwBqDHiOPTxtICDaraO4Szw54WFTNZTAEsgHHzqFOu1mmnBOBRzDA==} 3561 | engines: {node: ^14.17.0 || >=16.0.0} 3562 | peerDependencies: 3563 | eslint: '>=6.0.0' 3564 | dependencies: 3565 | debug: 4.3.4 3566 | eslint: 8.18.0 3567 | eslint-scope: 7.1.1 3568 | eslint-visitor-keys: 3.3.0 3569 | espree: 9.3.2 3570 | esquery: 1.4.0 3571 | lodash: 4.17.21 3572 | semver: 7.3.7 3573 | transitivePeerDependencies: 3574 | - supports-color 3575 | dev: true 3576 | 3577 | /webidl-conversions@4.0.2: 3578 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 3579 | dev: true 3580 | 3581 | /whatwg-url@7.1.0: 3582 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 3583 | dependencies: 3584 | lodash.sortby: 4.7.0 3585 | tr46: 1.0.1 3586 | webidl-conversions: 4.0.2 3587 | dev: true 3588 | 3589 | /which-boxed-primitive@1.0.2: 3590 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 3591 | dependencies: 3592 | is-bigint: 1.0.2 3593 | is-boolean-object: 1.1.1 3594 | is-number-object: 1.0.5 3595 | is-string: 1.0.7 3596 | is-symbol: 1.0.3 3597 | dev: true 3598 | 3599 | /which@2.0.2: 3600 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3601 | engines: {node: '>= 8'} 3602 | hasBin: true 3603 | dependencies: 3604 | isexe: 2.0.0 3605 | dev: true 3606 | 3607 | /word-wrap@1.2.3: 3608 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3609 | engines: {node: '>=0.10.0'} 3610 | dev: true 3611 | 3612 | /wrap-ansi@6.2.0: 3613 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3614 | engines: {node: '>=8'} 3615 | dependencies: 3616 | ansi-styles: 4.3.0 3617 | string-width: 4.2.3 3618 | strip-ansi: 6.0.1 3619 | dev: true 3620 | 3621 | /wrap-ansi@7.0.0: 3622 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3623 | engines: {node: '>=10'} 3624 | dependencies: 3625 | ansi-styles: 4.3.0 3626 | string-width: 4.2.3 3627 | strip-ansi: 6.0.1 3628 | dev: true 3629 | 3630 | /wrappy@1.0.2: 3631 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 3632 | dev: true 3633 | 3634 | /xml-name-validator@4.0.0: 3635 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 3636 | engines: {node: '>=12'} 3637 | dev: true 3638 | 3639 | /yallist@4.0.0: 3640 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3641 | dev: true 3642 | 3643 | /yaml-eslint-parser@1.0.1: 3644 | resolution: {integrity: sha512-acQYWneSXwnJgPQbTyJvDxWx9zlJ/rq267p/zzQMSCE7ljJxQ8elefsQase1gEIJMo+pIqmLRczoo7fPt6VbKQ==} 3645 | engines: {node: ^14.17.0 || >=16.0.0} 3646 | dependencies: 3647 | eslint-visitor-keys: 3.3.0 3648 | lodash: 4.17.21 3649 | yaml: 2.1.0 3650 | dev: true 3651 | 3652 | /yaml@1.10.2: 3653 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 3654 | engines: {node: '>= 6'} 3655 | dev: true 3656 | 3657 | /yaml@2.1.0: 3658 | resolution: {integrity: sha512-OuAINfTsoJrY5H7CBWnKZhX6nZciXBydrMtTHr1dC4nP40X5jyTIVlogZHxSlVZM8zSgXRfgZGsaHF4+pV+JRw==} 3659 | engines: {node: '>= 14'} 3660 | dev: true 3661 | 3662 | /yaml@2.3.2: 3663 | resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} 3664 | engines: {node: '>= 14'} 3665 | dev: true 3666 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - playground 3 | - examples/* 4 | -------------------------------------------------------------------------------- /scripts/verifyCommit.ts: -------------------------------------------------------------------------------- 1 | // Invoked on the commit-msg git hook by simple-git-hooks. 2 | 3 | import { readFileSync } from 'node:fs' 4 | import colors from 'picocolors' 5 | 6 | // get $1 from commit-msg script 7 | const msgPath = process.argv[2] 8 | const msg = readFileSync(msgPath, 'utf-8').trim() 9 | 10 | const releaseRE = /^v\d/ 11 | const commitRE 12 | = /^(?:revert: )?(?:feat|fix|docs|dx|refactor|perf|test|workflow|build|ci|chore|types|wip|release|deps)(?:\(.+\))?!?: .{1,50}/ 13 | 14 | if (!releaseRE.test(msg) && !commitRE.test(msg)) { 15 | console.log() 16 | console.error( 17 | ` ${colors.bgRed(colors.white(' ERROR '))} ${colors.red( 18 | 'invalid commit message format.', 19 | )}\n\n${colors.red( 20 | ' Proper commit message format is required for automated changelog generation. Examples:\n\n', 21 | )} ${colors.green('feat: add \'comments\' option')}\n` 22 | + ` ${colors.green( 23 | 'fix: handle events on blur (close #28)', 24 | )}\n\n${colors.red( 25 | ' See .github/commit-convention.md for more details.\n', 26 | )}`, 27 | ) 28 | process.exit(1) 29 | } 30 | -------------------------------------------------------------------------------- /src/createChunk.ts: -------------------------------------------------------------------------------- 1 | import SparkMD5 from 'spark-md5' 2 | import type { ChunkInfo } from './type' 3 | 4 | const hashMap = new Map() 5 | export function createChunk( 6 | file: File, 7 | index: number, 8 | chunkSize: number, 9 | ): Promise { 10 | return new Promise((resolve) => { 11 | const start = index * chunkSize 12 | const end = start + chunkSize 13 | const spark = new SparkMD5.ArrayBuffer() 14 | const fileReader = new FileReader() 15 | fileReader.onload = (e) => { 16 | const fileBuffer = e.target?.result as ArrayBuffer 17 | let hash 18 | if (!hashMap.has(fileBuffer)) { 19 | spark.append(fileBuffer) 20 | hash = spark.end() 21 | } 22 | else { 23 | hash = hashMap.get(fileBuffer) 24 | } 25 | 26 | resolve({ 27 | start, 28 | end, 29 | index, 30 | hash, 31 | }) 32 | } 33 | fileReader.readAsArrayBuffer(file.slice(start, end)) 34 | }) 35 | } 36 | -------------------------------------------------------------------------------- /src/fragmentFile.ts: -------------------------------------------------------------------------------- 1 | import type { ChunkInfo } from './type' 2 | 3 | const THREAD_COUNT = navigator.hardwareConcurrency || 4 4 | export function fragmentFile( 5 | file: File, 6 | CHUNK_SIZE: number = 5 * 1024 * 1024, 7 | ): Promise { 8 | return new Promise((resolve) => { 9 | const result: any = [] 10 | let finishCount = 0 11 | const chunkCount = Math.ceil(file.size / CHUNK_SIZE) 12 | const workerChunkCount = Math.ceil(chunkCount / THREAD_COUNT) 13 | for (let i = 0; i < THREAD_COUNT; i++) { 14 | const worker = new Worker('./dist/work.js', { type: 'module' }) 15 | const startIndex = i * workerChunkCount 16 | let endIndex = startIndex + workerChunkCount 17 | if (endIndex > chunkCount) 18 | endIndex = chunkCount 19 | worker.postMessage({ file, i, CHUNK_SIZE, startIndex, endIndex }) 20 | worker.onmessage = ({ data }) => { 21 | for (let i = startIndex; i < endIndex; i++) 22 | result[i] = data[i - startIndex] 23 | 24 | worker.terminate() 25 | finishCount++ 26 | if (finishCount === THREAD_COUNT) 27 | resolve(result) 28 | } 29 | } 30 | }) 31 | } 32 | -------------------------------------------------------------------------------- /src/fragmentFile1.ts: -------------------------------------------------------------------------------- 1 | import type { ChunkDetail, Options1 } from './type' 2 | const THREAD_COUNT = navigator.hardwareConcurrency || 4 3 | export function fragmentFile1( 4 | file: File, 5 | CHUNK_SIZE: number = 5 * 1024 * 1024, 6 | callback?: Options1['callback'], 7 | ): Promise { 8 | return new Promise((resolve) => { 9 | const chunkCount = Math.ceil(file.size / CHUNK_SIZE) 10 | const workerChunkCount = Math.ceil(chunkCount / THREAD_COUNT) 11 | const result: ChunkDetail[] = [] 12 | let finishCount = 0 13 | for (let i = 0; i < THREAD_COUNT; i++) { 14 | const worker = new Worker('./dist/work1.js', { type: 'module' }) 15 | const startIndex = i * workerChunkCount 16 | let endIndex = startIndex + workerChunkCount 17 | if (endIndex > chunkCount) 18 | endIndex = chunkCount 19 | worker.postMessage({ file, i, CHUNK_SIZE, startIndex, endIndex }) 20 | worker.onmessage = ({ data }) => { 21 | finishCount++ 22 | const params = { 23 | ...data, 24 | fileName: file.name, 25 | type: file.type, 26 | size: file.size, 27 | lastModified: file.lastModified, 28 | isDone: finishCount === THREAD_COUNT, 29 | remaning: THREAD_COUNT - finishCount, 30 | } 31 | callback && callback(params) 32 | result.push(params) 33 | worker.terminate() 34 | if (finishCount === THREAD_COUNT) 35 | resolve(result) 36 | } 37 | } 38 | }) 39 | } 40 | -------------------------------------------------------------------------------- /src/fragmentUpload.ts: -------------------------------------------------------------------------------- 1 | import { fragmentFile } from './fragmentFile' 2 | import type { FileInfo, Options } from './type' 3 | 4 | // 大文件分片上传函数 5 | export function fragmentUpload(selector: string, options?: Options) { 6 | // ... 7 | const el = document.querySelector(selector) as HTMLInputElement 8 | const { perCallback, lastCallback, chunkSize } = options || {} 9 | el.onchange = async () => { 10 | const files = el.files ? Array.from(el.files) : [] 11 | const results: FileInfo[] = [] 12 | let fileCount = files.length 13 | for (const file of files) { 14 | fragmentFile(file, chunkSize).then((chunks) => { 15 | fileCount-- 16 | const fileInfo = { 17 | name: file.name, 18 | type: file.type, 19 | size: file.size, 20 | lastModified: file.lastModified, 21 | chunks, 22 | } 23 | perCallback && perCallback({ ...fileInfo, isDone: fileCount === 0 }) 24 | results.push(fileInfo) 25 | if (fileCount === 0) 26 | lastCallback && lastCallback(results) 27 | }) 28 | } 29 | } 30 | } 31 | 32 | // fragmentUpload('input[type="file"]', { 33 | // perCallback: (fileInfo) => { 34 | // console.log('单个文件每一次调用', fileInfo) 35 | // }, 36 | // lastCallback: (files) => { 37 | // console.log('所有文件最后一次总和的调用', files) 38 | // }, 39 | // }) 40 | -------------------------------------------------------------------------------- /src/fragmentUpload1.ts: -------------------------------------------------------------------------------- 1 | import { fragmentFile1 } from './fragmentFile1' 2 | import type { Options1 } from './type' 3 | 4 | export function fragmentUpload1(selector: string, options: Options1) { 5 | const el = document.querySelector(selector) as HTMLInputElement 6 | const { callback, chunkSize } = options || {} 7 | el.onchange = async () => { 8 | const files = el.files ? Array.from(el.files) : [] 9 | for (const file of files) fragmentFile1(file, chunkSize, callback) 10 | } 11 | } 12 | 13 | // fragmentUpload1('input[type="file"]', { 14 | // callback: (chunk) => { 15 | // console.log(chunk) 16 | // }, 17 | // chunkSize: 1024, 18 | // }) 19 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fragmentUpload' 2 | export * from './fragmentUpload1' 3 | export * from './type' 4 | -------------------------------------------------------------------------------- /src/type.ts: -------------------------------------------------------------------------------- 1 | export interface Options { 2 | perCallback?: (fileInfo: FileInfo & { isDone: boolean }) => void 3 | lastCallback?: (filesInfo: FileInfo[]) => void 4 | splitCallback?: (fileInfo: FileInfo) => void 5 | chunkSize?: number 6 | } 7 | 8 | export interface FileInfo { 9 | name: string 10 | type: string 11 | size: number 12 | lastModified: number 13 | chunks: ChunkInfo[] 14 | } 15 | 16 | export interface ChunkInfo { 17 | start: number 18 | end: number 19 | index: number 20 | hash: string 21 | } 22 | 23 | export type ChunkDetail = ChunkInfo & { 24 | isDone: boolean 25 | remaning: number 26 | type: string 27 | size: number 28 | lastModified: number 29 | } 30 | 31 | export interface Options1 { 32 | chunkSize?: number 33 | callback?: (chunk: ChunkDetail) => void 34 | } 35 | -------------------------------------------------------------------------------- /src/work.ts: -------------------------------------------------------------------------------- 1 | import { createChunk } from './createChunk' 2 | 3 | onmessage = async (e) => { 4 | const { file, CHUNK_SIZE, startIndex, endIndex } = e.data 5 | const promises = [] 6 | for (let i = startIndex; i < endIndex; i++) 7 | promises.push(createChunk(file, i, CHUNK_SIZE)) 8 | 9 | const results = await Promise.all(promises) 10 | postMessage(results) 11 | } 12 | -------------------------------------------------------------------------------- /src/work1.ts: -------------------------------------------------------------------------------- 1 | import { createChunk } from './createChunk' 2 | 3 | onmessage = async (e) => { 4 | const { file, CHUNK_SIZE, startIndex, endIndex } = e.data 5 | for (let i = startIndex; i < endIndex; i++) 6 | createChunk(file, i, CHUNK_SIZE).then(postMessage) 7 | } 8 | -------------------------------------------------------------------------------- /test/index.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, expect, it } from 'vitest' 2 | 3 | describe('should', () => { 4 | it('exported', () => { 5 | expect(1).toEqual(1) 6 | }) 7 | }) 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2018", 4 | "module": "esnext", 5 | "lib": ["esnext", "dom"], 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "strictNullChecks": true, 10 | "resolveJsonModule": true, 11 | "skipLibCheck": true, 12 | "skipDefaultLibCheck": true 13 | } 14 | } 15 | --------------------------------------------------------------------------------