├── .editorconfig ├── .eslintrc.yaml ├── .gitattributes ├── .github └── workflows │ ├── ci.yaml │ └── update.yaml ├── .gitignore ├── .npmrc ├── Makefile ├── README.md ├── index.json ├── index.test.js ├── package-lock.json ├── package.json ├── snapshots └── index.test.js.snap ├── update-data.js ├── updates.config.js └── vitest.config.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | tab_width = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [Makefile] 13 | indent_style = tab 14 | -------------------------------------------------------------------------------- /.eslintrc.yaml: -------------------------------------------------------------------------------- 1 | root: true 2 | extends: silverwind 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | *.snap linguist-language=JavaScript 3 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: ci 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | test: 6 | strategy: 7 | fail-fast: false 8 | matrix: 9 | node: [18, 20] 10 | 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: actions/setup-node@v3 15 | with: 16 | node-version: ${{matrix.node}} 17 | - run: make test 18 | -------------------------------------------------------------------------------- /.github/workflows/update.yaml: -------------------------------------------------------------------------------- 1 | name: update 2 | on: 3 | schedule: 4 | - cron: "45 3 * * *" 5 | 6 | jobs: 7 | update: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v4 11 | with: 12 | ssh-key: ${{ secrets.DEPLOY_KEY }} 13 | - uses: actions/setup-node@v3 14 | with: 15 | node-version: 20 16 | registry-url: https://registry.npmjs.org 17 | - run: make deps 18 | - run: make update-data 19 | - run: | 20 | if [[ $(git status --porcelain --untracked-files=no) ]]; then 21 | git fetch --unshallow --quiet --tags 22 | git config user.name "github-actions[bot]" 23 | git config user.email "41898282+github-actions[bot]@users.noreply.github.com" 24 | git commit -am "automated data update" 25 | make patch 26 | else 27 | echo "Nothing to commit" 28 | fi 29 | env: 30 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.vscode 2 | /node_modules 3 | /npm-debug.log* 4 | /yarn-error.log 5 | /yarn.lock 6 | .DS_Store 7 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | audit=false 2 | fund=false 3 | package-lock=true 4 | save-exact=true 5 | update-notifier=false 6 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | node_modules: package-lock.json 2 | npm install --no-save 3 | @touch node_modules 4 | 5 | .PHONY: deps 6 | deps: node_modules 7 | 8 | .PHONY: update-data 9 | update-data: 10 | node update-data.js 11 | 12 | .PHONY: lint 13 | lint: node_modules 14 | npx eslint --color . 15 | 16 | .PHONY: test 17 | test: lint node_modules 18 | npx vitest 19 | 20 | .PHONY: test-update 21 | test-update: lint node_modules 22 | npx vitest --update 23 | 24 | .PHONY: publish 25 | publish: node_modules 26 | git push -u --tags origin master 27 | npm publish 28 | 29 | .PHONY: update 30 | update: node_modules 31 | npx updates -cu 32 | rm -rf node_modules package-lock.json 33 | npm install 34 | @touch node_modules 35 | 36 | .PHONY: path 37 | patch: node_modules lint test 38 | npx versions patch package.json package-lock.json 39 | @$(MAKE) --no-print-directory publish 40 | 41 | .PHONY: minor 42 | minor: node_modules lint test 43 | npx versions minor package.json package-lock.json 44 | @$(MAKE) --no-print-directory publish 45 | 46 | .PHONY: major 47 | major: node_modules lint test 48 | npx versions major package.json package-lock.json 49 | @$(MAKE) --no-print-directory publish 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # port-numbers 2 | [![](https://img.shields.io/npm/v/port-numbers.svg?style=flat)](https://www.npmjs.org/package/port-numbers) [![](https://img.shields.io/npm/dm/port-numbers.svg)](https://www.npmjs.org/package/port-numbers) [![](https://packagephobia.com/badge?p=port-numbers)](https://packagephobia.com/result?p=port-numbers) 3 | 4 | npm module that holds information on network port numbers based on [IANA's data](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml). 5 | 6 | ### Usage 7 | 8 | Depending on your environment you may need to use [import attributes](https://github.com/tc39/proposal-import-attributes), [import assertions](https://nodejs.org/api/esm.html#import-assertions) or [nothing at all](https://bun.sh/guides/runtime/import-json). 9 | 10 | 11 | ```js 12 | import ports from "port-numbers" with {type: "json"}; 13 | 14 | ports["6379/tcp"]; 15 | // ["redis", "An advanced key-value cache and store"] 16 | ports["123/udp"]; 17 | // ["ntp", "Network Time Protocol"] 18 | ``` 19 | 20 | ### API 21 | 22 | The export is a JSON object in with `port/proto` as key and `[name, description]` as value. 23 | 24 | ```json 25 | { 26 | "6379/tcp": [ 27 | "redis", 28 | "An advanced key-value cache and store" 29 | ] 30 | } 31 | ``` 32 | 33 | © [silverwind](https://github.com/silverwind), distributed under BSD licence 34 | -------------------------------------------------------------------------------- /index.test.js: -------------------------------------------------------------------------------- 1 | import {readFileSync} from "node:fs"; 2 | 3 | test("ports", () => { 4 | // json import in vitest is horribly slow, this is about 50 times faster 5 | const ports = JSON.parse(readFileSync(new URL("index.json", import.meta.url))); 6 | expect(ports["0/tcp"]).toMatchSnapshot(); 7 | expect(ports["3306/tcp"]).toMatchSnapshot(); 8 | expect(ports["53/udp"]).toMatchSnapshot(); 9 | expect(ports["65536/udp"]).toMatchSnapshot(); 10 | expect(ports["80/tcp"]).toMatchSnapshot(); 11 | }); 12 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "port-numbers", 3 | "version": "8.0.26", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "port-numbers", 9 | "version": "8.0.26", 10 | "license": "BSD-2-Clause", 11 | "devDependencies": { 12 | "d3-dsv": "3.0.1", 13 | "eslint": "8.57.0", 14 | "eslint-config-silverwind": "85.1.4", 15 | "updates": "16.1.1", 16 | "versions": "12.0.2", 17 | "vitest": "1.6.0", 18 | "vitest-config-silverwind": "9.0.6" 19 | } 20 | }, 21 | "node_modules/@babel/code-frame": { 22 | "version": "7.24.2", 23 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", 24 | "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", 25 | "dev": true, 26 | "dependencies": { 27 | "@babel/highlight": "^7.24.2", 28 | "picocolors": "^1.0.0" 29 | }, 30 | "engines": { 31 | "node": ">=6.9.0" 32 | } 33 | }, 34 | "node_modules/@babel/helper-validator-identifier": { 35 | "version": "7.24.5", 36 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", 37 | "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", 38 | "dev": true, 39 | "engines": { 40 | "node": ">=6.9.0" 41 | } 42 | }, 43 | "node_modules/@babel/highlight": { 44 | "version": "7.24.5", 45 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", 46 | "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", 47 | "dev": true, 48 | "dependencies": { 49 | "@babel/helper-validator-identifier": "^7.24.5", 50 | "chalk": "^2.4.2", 51 | "js-tokens": "^4.0.0", 52 | "picocolors": "^1.0.0" 53 | }, 54 | "engines": { 55 | "node": ">=6.9.0" 56 | } 57 | }, 58 | "node_modules/@babel/highlight/node_modules/ansi-styles": { 59 | "version": "3.2.1", 60 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 61 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 62 | "dev": true, 63 | "dependencies": { 64 | "color-convert": "^1.9.0" 65 | }, 66 | "engines": { 67 | "node": ">=4" 68 | } 69 | }, 70 | "node_modules/@babel/highlight/node_modules/chalk": { 71 | "version": "2.4.2", 72 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 73 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 74 | "dev": true, 75 | "dependencies": { 76 | "ansi-styles": "^3.2.1", 77 | "escape-string-regexp": "^1.0.5", 78 | "supports-color": "^5.3.0" 79 | }, 80 | "engines": { 81 | "node": ">=4" 82 | } 83 | }, 84 | "node_modules/@babel/highlight/node_modules/color-convert": { 85 | "version": "1.9.3", 86 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 87 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 88 | "dev": true, 89 | "dependencies": { 90 | "color-name": "1.1.3" 91 | } 92 | }, 93 | "node_modules/@babel/highlight/node_modules/color-name": { 94 | "version": "1.1.3", 95 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 96 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 97 | "dev": true 98 | }, 99 | "node_modules/@babel/highlight/node_modules/escape-string-regexp": { 100 | "version": "1.0.5", 101 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 102 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 103 | "dev": true, 104 | "engines": { 105 | "node": ">=0.8.0" 106 | } 107 | }, 108 | "node_modules/@babel/highlight/node_modules/has-flag": { 109 | "version": "3.0.0", 110 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 111 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 112 | "dev": true, 113 | "engines": { 114 | "node": ">=4" 115 | } 116 | }, 117 | "node_modules/@babel/highlight/node_modules/supports-color": { 118 | "version": "5.5.0", 119 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 120 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 121 | "dev": true, 122 | "dependencies": { 123 | "has-flag": "^3.0.0" 124 | }, 125 | "engines": { 126 | "node": ">=4" 127 | } 128 | }, 129 | "node_modules/@esbuild/aix-ppc64": { 130 | "version": "0.20.2", 131 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", 132 | "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", 133 | "cpu": [ 134 | "ppc64" 135 | ], 136 | "dev": true, 137 | "optional": true, 138 | "os": [ 139 | "aix" 140 | ], 141 | "engines": { 142 | "node": ">=12" 143 | } 144 | }, 145 | "node_modules/@esbuild/android-arm": { 146 | "version": "0.20.2", 147 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", 148 | "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", 149 | "cpu": [ 150 | "arm" 151 | ], 152 | "dev": true, 153 | "optional": true, 154 | "os": [ 155 | "android" 156 | ], 157 | "engines": { 158 | "node": ">=12" 159 | } 160 | }, 161 | "node_modules/@esbuild/android-arm64": { 162 | "version": "0.20.2", 163 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", 164 | "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", 165 | "cpu": [ 166 | "arm64" 167 | ], 168 | "dev": true, 169 | "optional": true, 170 | "os": [ 171 | "android" 172 | ], 173 | "engines": { 174 | "node": ">=12" 175 | } 176 | }, 177 | "node_modules/@esbuild/android-x64": { 178 | "version": "0.20.2", 179 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", 180 | "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", 181 | "cpu": [ 182 | "x64" 183 | ], 184 | "dev": true, 185 | "optional": true, 186 | "os": [ 187 | "android" 188 | ], 189 | "engines": { 190 | "node": ">=12" 191 | } 192 | }, 193 | "node_modules/@esbuild/darwin-arm64": { 194 | "version": "0.20.2", 195 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", 196 | "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", 197 | "cpu": [ 198 | "arm64" 199 | ], 200 | "dev": true, 201 | "optional": true, 202 | "os": [ 203 | "darwin" 204 | ], 205 | "engines": { 206 | "node": ">=12" 207 | } 208 | }, 209 | "node_modules/@esbuild/darwin-x64": { 210 | "version": "0.20.2", 211 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", 212 | "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", 213 | "cpu": [ 214 | "x64" 215 | ], 216 | "dev": true, 217 | "optional": true, 218 | "os": [ 219 | "darwin" 220 | ], 221 | "engines": { 222 | "node": ">=12" 223 | } 224 | }, 225 | "node_modules/@esbuild/freebsd-arm64": { 226 | "version": "0.20.2", 227 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", 228 | "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", 229 | "cpu": [ 230 | "arm64" 231 | ], 232 | "dev": true, 233 | "optional": true, 234 | "os": [ 235 | "freebsd" 236 | ], 237 | "engines": { 238 | "node": ">=12" 239 | } 240 | }, 241 | "node_modules/@esbuild/freebsd-x64": { 242 | "version": "0.20.2", 243 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", 244 | "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", 245 | "cpu": [ 246 | "x64" 247 | ], 248 | "dev": true, 249 | "optional": true, 250 | "os": [ 251 | "freebsd" 252 | ], 253 | "engines": { 254 | "node": ">=12" 255 | } 256 | }, 257 | "node_modules/@esbuild/linux-arm": { 258 | "version": "0.20.2", 259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", 260 | "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", 261 | "cpu": [ 262 | "arm" 263 | ], 264 | "dev": true, 265 | "optional": true, 266 | "os": [ 267 | "linux" 268 | ], 269 | "engines": { 270 | "node": ">=12" 271 | } 272 | }, 273 | "node_modules/@esbuild/linux-arm64": { 274 | "version": "0.20.2", 275 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", 276 | "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", 277 | "cpu": [ 278 | "arm64" 279 | ], 280 | "dev": true, 281 | "optional": true, 282 | "os": [ 283 | "linux" 284 | ], 285 | "engines": { 286 | "node": ">=12" 287 | } 288 | }, 289 | "node_modules/@esbuild/linux-ia32": { 290 | "version": "0.20.2", 291 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", 292 | "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", 293 | "cpu": [ 294 | "ia32" 295 | ], 296 | "dev": true, 297 | "optional": true, 298 | "os": [ 299 | "linux" 300 | ], 301 | "engines": { 302 | "node": ">=12" 303 | } 304 | }, 305 | "node_modules/@esbuild/linux-loong64": { 306 | "version": "0.20.2", 307 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", 308 | "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", 309 | "cpu": [ 310 | "loong64" 311 | ], 312 | "dev": true, 313 | "optional": true, 314 | "os": [ 315 | "linux" 316 | ], 317 | "engines": { 318 | "node": ">=12" 319 | } 320 | }, 321 | "node_modules/@esbuild/linux-mips64el": { 322 | "version": "0.20.2", 323 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", 324 | "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", 325 | "cpu": [ 326 | "mips64el" 327 | ], 328 | "dev": true, 329 | "optional": true, 330 | "os": [ 331 | "linux" 332 | ], 333 | "engines": { 334 | "node": ">=12" 335 | } 336 | }, 337 | "node_modules/@esbuild/linux-ppc64": { 338 | "version": "0.20.2", 339 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", 340 | "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", 341 | "cpu": [ 342 | "ppc64" 343 | ], 344 | "dev": true, 345 | "optional": true, 346 | "os": [ 347 | "linux" 348 | ], 349 | "engines": { 350 | "node": ">=12" 351 | } 352 | }, 353 | "node_modules/@esbuild/linux-riscv64": { 354 | "version": "0.20.2", 355 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", 356 | "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", 357 | "cpu": [ 358 | "riscv64" 359 | ], 360 | "dev": true, 361 | "optional": true, 362 | "os": [ 363 | "linux" 364 | ], 365 | "engines": { 366 | "node": ">=12" 367 | } 368 | }, 369 | "node_modules/@esbuild/linux-s390x": { 370 | "version": "0.20.2", 371 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", 372 | "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", 373 | "cpu": [ 374 | "s390x" 375 | ], 376 | "dev": true, 377 | "optional": true, 378 | "os": [ 379 | "linux" 380 | ], 381 | "engines": { 382 | "node": ">=12" 383 | } 384 | }, 385 | "node_modules/@esbuild/linux-x64": { 386 | "version": "0.20.2", 387 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", 388 | "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", 389 | "cpu": [ 390 | "x64" 391 | ], 392 | "dev": true, 393 | "optional": true, 394 | "os": [ 395 | "linux" 396 | ], 397 | "engines": { 398 | "node": ">=12" 399 | } 400 | }, 401 | "node_modules/@esbuild/netbsd-x64": { 402 | "version": "0.20.2", 403 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", 404 | "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", 405 | "cpu": [ 406 | "x64" 407 | ], 408 | "dev": true, 409 | "optional": true, 410 | "os": [ 411 | "netbsd" 412 | ], 413 | "engines": { 414 | "node": ">=12" 415 | } 416 | }, 417 | "node_modules/@esbuild/openbsd-x64": { 418 | "version": "0.20.2", 419 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", 420 | "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", 421 | "cpu": [ 422 | "x64" 423 | ], 424 | "dev": true, 425 | "optional": true, 426 | "os": [ 427 | "openbsd" 428 | ], 429 | "engines": { 430 | "node": ">=12" 431 | } 432 | }, 433 | "node_modules/@esbuild/sunos-x64": { 434 | "version": "0.20.2", 435 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", 436 | "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", 437 | "cpu": [ 438 | "x64" 439 | ], 440 | "dev": true, 441 | "optional": true, 442 | "os": [ 443 | "sunos" 444 | ], 445 | "engines": { 446 | "node": ">=12" 447 | } 448 | }, 449 | "node_modules/@esbuild/win32-arm64": { 450 | "version": "0.20.2", 451 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", 452 | "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", 453 | "cpu": [ 454 | "arm64" 455 | ], 456 | "dev": true, 457 | "optional": true, 458 | "os": [ 459 | "win32" 460 | ], 461 | "engines": { 462 | "node": ">=12" 463 | } 464 | }, 465 | "node_modules/@esbuild/win32-ia32": { 466 | "version": "0.20.2", 467 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", 468 | "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", 469 | "cpu": [ 470 | "ia32" 471 | ], 472 | "dev": true, 473 | "optional": true, 474 | "os": [ 475 | "win32" 476 | ], 477 | "engines": { 478 | "node": ">=12" 479 | } 480 | }, 481 | "node_modules/@esbuild/win32-x64": { 482 | "version": "0.20.2", 483 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", 484 | "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", 485 | "cpu": [ 486 | "x64" 487 | ], 488 | "dev": true, 489 | "optional": true, 490 | "os": [ 491 | "win32" 492 | ], 493 | "engines": { 494 | "node": ">=12" 495 | } 496 | }, 497 | "node_modules/@eslint-community/eslint-plugin-eslint-comments": { 498 | "version": "4.3.0", 499 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.3.0.tgz", 500 | "integrity": "sha512-6e93KtgsndNkvwCCa07LOQJSwzzLLxwrFll3+huyFoiiQXWG0KBcmo0Q1bVgYQQDLfWOOZl2VPBsXqZL6vHIBQ==", 501 | "dev": true, 502 | "dependencies": { 503 | "escape-string-regexp": "^4.0.0", 504 | "ignore": "^5.2.4" 505 | }, 506 | "engines": { 507 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 508 | }, 509 | "peerDependencies": { 510 | "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" 511 | } 512 | }, 513 | "node_modules/@eslint-community/eslint-utils": { 514 | "version": "4.4.0", 515 | "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 516 | "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 517 | "dev": true, 518 | "dependencies": { 519 | "eslint-visitor-keys": "^3.3.0" 520 | }, 521 | "engines": { 522 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 523 | }, 524 | "peerDependencies": { 525 | "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 526 | } 527 | }, 528 | "node_modules/@eslint-community/regexpp": { 529 | "version": "4.10.0", 530 | "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", 531 | "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", 532 | "dev": true, 533 | "engines": { 534 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 535 | } 536 | }, 537 | "node_modules/@eslint/eslintrc": { 538 | "version": "2.1.4", 539 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", 540 | "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", 541 | "dev": true, 542 | "dependencies": { 543 | "ajv": "^6.12.4", 544 | "debug": "^4.3.2", 545 | "espree": "^9.6.0", 546 | "globals": "^13.19.0", 547 | "ignore": "^5.2.0", 548 | "import-fresh": "^3.2.1", 549 | "js-yaml": "^4.1.0", 550 | "minimatch": "^3.1.2", 551 | "strip-json-comments": "^3.1.1" 552 | }, 553 | "engines": { 554 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 555 | }, 556 | "funding": { 557 | "url": "https://opencollective.com/eslint" 558 | } 559 | }, 560 | "node_modules/@eslint/js": { 561 | "version": "8.57.0", 562 | "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", 563 | "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", 564 | "dev": true, 565 | "engines": { 566 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 567 | } 568 | }, 569 | "node_modules/@humanwhocodes/config-array": { 570 | "version": "0.11.14", 571 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", 572 | "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", 573 | "dev": true, 574 | "dependencies": { 575 | "@humanwhocodes/object-schema": "^2.0.2", 576 | "debug": "^4.3.1", 577 | "minimatch": "^3.0.5" 578 | }, 579 | "engines": { 580 | "node": ">=10.10.0" 581 | } 582 | }, 583 | "node_modules/@humanwhocodes/module-importer": { 584 | "version": "1.0.1", 585 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", 586 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", 587 | "dev": true, 588 | "engines": { 589 | "node": ">=12.22" 590 | }, 591 | "funding": { 592 | "type": "github", 593 | "url": "https://github.com/sponsors/nzakas" 594 | } 595 | }, 596 | "node_modules/@humanwhocodes/object-schema": { 597 | "version": "2.0.3", 598 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", 599 | "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", 600 | "dev": true 601 | }, 602 | "node_modules/@jest/schemas": { 603 | "version": "29.6.3", 604 | "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", 605 | "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", 606 | "dev": true, 607 | "dependencies": { 608 | "@sinclair/typebox": "^0.27.8" 609 | }, 610 | "engines": { 611 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 612 | } 613 | }, 614 | "node_modules/@jridgewell/sourcemap-codec": { 615 | "version": "1.4.15", 616 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 617 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 618 | "dev": true 619 | }, 620 | "node_modules/@nodelib/fs.scandir": { 621 | "version": "2.1.5", 622 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 623 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 624 | "dev": true, 625 | "dependencies": { 626 | "@nodelib/fs.stat": "2.0.5", 627 | "run-parallel": "^1.1.9" 628 | }, 629 | "engines": { 630 | "node": ">= 8" 631 | } 632 | }, 633 | "node_modules/@nodelib/fs.stat": { 634 | "version": "2.0.5", 635 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 636 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 637 | "dev": true, 638 | "engines": { 639 | "node": ">= 8" 640 | } 641 | }, 642 | "node_modules/@nodelib/fs.walk": { 643 | "version": "1.2.8", 644 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 645 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 646 | "dev": true, 647 | "dependencies": { 648 | "@nodelib/fs.scandir": "2.1.5", 649 | "fastq": "^1.6.0" 650 | }, 651 | "engines": { 652 | "node": ">= 8" 653 | } 654 | }, 655 | "node_modules/@rollup/rollup-android-arm-eabi": { 656 | "version": "4.18.0", 657 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", 658 | "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", 659 | "cpu": [ 660 | "arm" 661 | ], 662 | "dev": true, 663 | "optional": true, 664 | "os": [ 665 | "android" 666 | ] 667 | }, 668 | "node_modules/@rollup/rollup-android-arm64": { 669 | "version": "4.18.0", 670 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", 671 | "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", 672 | "cpu": [ 673 | "arm64" 674 | ], 675 | "dev": true, 676 | "optional": true, 677 | "os": [ 678 | "android" 679 | ] 680 | }, 681 | "node_modules/@rollup/rollup-darwin-arm64": { 682 | "version": "4.18.0", 683 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", 684 | "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", 685 | "cpu": [ 686 | "arm64" 687 | ], 688 | "dev": true, 689 | "optional": true, 690 | "os": [ 691 | "darwin" 692 | ] 693 | }, 694 | "node_modules/@rollup/rollup-darwin-x64": { 695 | "version": "4.18.0", 696 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", 697 | "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", 698 | "cpu": [ 699 | "x64" 700 | ], 701 | "dev": true, 702 | "optional": true, 703 | "os": [ 704 | "darwin" 705 | ] 706 | }, 707 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 708 | "version": "4.18.0", 709 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", 710 | "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", 711 | "cpu": [ 712 | "arm" 713 | ], 714 | "dev": true, 715 | "optional": true, 716 | "os": [ 717 | "linux" 718 | ] 719 | }, 720 | "node_modules/@rollup/rollup-linux-arm-musleabihf": { 721 | "version": "4.18.0", 722 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", 723 | "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", 724 | "cpu": [ 725 | "arm" 726 | ], 727 | "dev": true, 728 | "optional": true, 729 | "os": [ 730 | "linux" 731 | ] 732 | }, 733 | "node_modules/@rollup/rollup-linux-arm64-gnu": { 734 | "version": "4.18.0", 735 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", 736 | "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", 737 | "cpu": [ 738 | "arm64" 739 | ], 740 | "dev": true, 741 | "optional": true, 742 | "os": [ 743 | "linux" 744 | ] 745 | }, 746 | "node_modules/@rollup/rollup-linux-arm64-musl": { 747 | "version": "4.18.0", 748 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", 749 | "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", 750 | "cpu": [ 751 | "arm64" 752 | ], 753 | "dev": true, 754 | "optional": true, 755 | "os": [ 756 | "linux" 757 | ] 758 | }, 759 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 760 | "version": "4.18.0", 761 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", 762 | "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", 763 | "cpu": [ 764 | "ppc64" 765 | ], 766 | "dev": true, 767 | "optional": true, 768 | "os": [ 769 | "linux" 770 | ] 771 | }, 772 | "node_modules/@rollup/rollup-linux-riscv64-gnu": { 773 | "version": "4.18.0", 774 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", 775 | "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", 776 | "cpu": [ 777 | "riscv64" 778 | ], 779 | "dev": true, 780 | "optional": true, 781 | "os": [ 782 | "linux" 783 | ] 784 | }, 785 | "node_modules/@rollup/rollup-linux-s390x-gnu": { 786 | "version": "4.18.0", 787 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", 788 | "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", 789 | "cpu": [ 790 | "s390x" 791 | ], 792 | "dev": true, 793 | "optional": true, 794 | "os": [ 795 | "linux" 796 | ] 797 | }, 798 | "node_modules/@rollup/rollup-linux-x64-gnu": { 799 | "version": "4.18.0", 800 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", 801 | "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", 802 | "cpu": [ 803 | "x64" 804 | ], 805 | "dev": true, 806 | "optional": true, 807 | "os": [ 808 | "linux" 809 | ] 810 | }, 811 | "node_modules/@rollup/rollup-linux-x64-musl": { 812 | "version": "4.18.0", 813 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", 814 | "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", 815 | "cpu": [ 816 | "x64" 817 | ], 818 | "dev": true, 819 | "optional": true, 820 | "os": [ 821 | "linux" 822 | ] 823 | }, 824 | "node_modules/@rollup/rollup-win32-arm64-msvc": { 825 | "version": "4.18.0", 826 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", 827 | "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", 828 | "cpu": [ 829 | "arm64" 830 | ], 831 | "dev": true, 832 | "optional": true, 833 | "os": [ 834 | "win32" 835 | ] 836 | }, 837 | "node_modules/@rollup/rollup-win32-ia32-msvc": { 838 | "version": "4.18.0", 839 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", 840 | "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", 841 | "cpu": [ 842 | "ia32" 843 | ], 844 | "dev": true, 845 | "optional": true, 846 | "os": [ 847 | "win32" 848 | ] 849 | }, 850 | "node_modules/@rollup/rollup-win32-x64-msvc": { 851 | "version": "4.18.0", 852 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", 853 | "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", 854 | "cpu": [ 855 | "x64" 856 | ], 857 | "dev": true, 858 | "optional": true, 859 | "os": [ 860 | "win32" 861 | ] 862 | }, 863 | "node_modules/@sinclair/typebox": { 864 | "version": "0.27.8", 865 | "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", 866 | "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", 867 | "dev": true 868 | }, 869 | "node_modules/@stylistic/eslint-plugin-js": { 870 | "version": "2.1.0", 871 | "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.1.0.tgz", 872 | "integrity": "sha512-gdXUjGNSsnY6nPyqxu6lmDTtVrwCOjun4x8PUn0x04d5ucLI74N3MT1Q0UhdcOR9No3bo5PGDyBgXK+KmD787A==", 873 | "dev": true, 874 | "dependencies": { 875 | "@types/eslint": "^8.56.10", 876 | "acorn": "^8.11.3", 877 | "eslint-visitor-keys": "^4.0.0", 878 | "espree": "^10.0.1" 879 | }, 880 | "engines": { 881 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 882 | }, 883 | "peerDependencies": { 884 | "eslint": ">=8.40.0" 885 | } 886 | }, 887 | "node_modules/@stylistic/eslint-plugin-js/node_modules/eslint-visitor-keys": { 888 | "version": "4.0.0", 889 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", 890 | "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", 891 | "dev": true, 892 | "engines": { 893 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 894 | }, 895 | "funding": { 896 | "url": "https://opencollective.com/eslint" 897 | } 898 | }, 899 | "node_modules/@stylistic/eslint-plugin-js/node_modules/espree": { 900 | "version": "10.0.1", 901 | "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", 902 | "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", 903 | "dev": true, 904 | "dependencies": { 905 | "acorn": "^8.11.3", 906 | "acorn-jsx": "^5.3.2", 907 | "eslint-visitor-keys": "^4.0.0" 908 | }, 909 | "engines": { 910 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 911 | }, 912 | "funding": { 913 | "url": "https://opencollective.com/eslint" 914 | } 915 | }, 916 | "node_modules/@types/eslint": { 917 | "version": "8.56.10", 918 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", 919 | "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", 920 | "dev": true, 921 | "dependencies": { 922 | "@types/estree": "*", 923 | "@types/json-schema": "*" 924 | } 925 | }, 926 | "node_modules/@types/estree": { 927 | "version": "1.0.5", 928 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", 929 | "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", 930 | "dev": true 931 | }, 932 | "node_modules/@types/json-schema": { 933 | "version": "7.0.15", 934 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", 935 | "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", 936 | "dev": true 937 | }, 938 | "node_modules/@types/json5": { 939 | "version": "0.0.29", 940 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 941 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 942 | "dev": true, 943 | "peer": true 944 | }, 945 | "node_modules/@types/normalize-package-data": { 946 | "version": "2.4.4", 947 | "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", 948 | "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", 949 | "dev": true 950 | }, 951 | "node_modules/@typescript-eslint/parser": { 952 | "version": "7.10.0", 953 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.10.0.tgz", 954 | "integrity": "sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==", 955 | "dev": true, 956 | "dependencies": { 957 | "@typescript-eslint/scope-manager": "7.10.0", 958 | "@typescript-eslint/types": "7.10.0", 959 | "@typescript-eslint/typescript-estree": "7.10.0", 960 | "@typescript-eslint/visitor-keys": "7.10.0", 961 | "debug": "^4.3.4" 962 | }, 963 | "engines": { 964 | "node": "^18.18.0 || >=20.0.0" 965 | }, 966 | "funding": { 967 | "type": "opencollective", 968 | "url": "https://opencollective.com/typescript-eslint" 969 | }, 970 | "peerDependencies": { 971 | "eslint": "^8.56.0" 972 | }, 973 | "peerDependenciesMeta": { 974 | "typescript": { 975 | "optional": true 976 | } 977 | } 978 | }, 979 | "node_modules/@typescript-eslint/scope-manager": { 980 | "version": "7.10.0", 981 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz", 982 | "integrity": "sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==", 983 | "dev": true, 984 | "dependencies": { 985 | "@typescript-eslint/types": "7.10.0", 986 | "@typescript-eslint/visitor-keys": "7.10.0" 987 | }, 988 | "engines": { 989 | "node": "^18.18.0 || >=20.0.0" 990 | }, 991 | "funding": { 992 | "type": "opencollective", 993 | "url": "https://opencollective.com/typescript-eslint" 994 | } 995 | }, 996 | "node_modules/@typescript-eslint/types": { 997 | "version": "7.10.0", 998 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.10.0.tgz", 999 | "integrity": "sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==", 1000 | "dev": true, 1001 | "engines": { 1002 | "node": "^18.18.0 || >=20.0.0" 1003 | }, 1004 | "funding": { 1005 | "type": "opencollective", 1006 | "url": "https://opencollective.com/typescript-eslint" 1007 | } 1008 | }, 1009 | "node_modules/@typescript-eslint/typescript-estree": { 1010 | "version": "7.10.0", 1011 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz", 1012 | "integrity": "sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==", 1013 | "dev": true, 1014 | "dependencies": { 1015 | "@typescript-eslint/types": "7.10.0", 1016 | "@typescript-eslint/visitor-keys": "7.10.0", 1017 | "debug": "^4.3.4", 1018 | "globby": "^11.1.0", 1019 | "is-glob": "^4.0.3", 1020 | "minimatch": "^9.0.4", 1021 | "semver": "^7.6.0", 1022 | "ts-api-utils": "^1.3.0" 1023 | }, 1024 | "engines": { 1025 | "node": "^18.18.0 || >=20.0.0" 1026 | }, 1027 | "funding": { 1028 | "type": "opencollective", 1029 | "url": "https://opencollective.com/typescript-eslint" 1030 | }, 1031 | "peerDependenciesMeta": { 1032 | "typescript": { 1033 | "optional": true 1034 | } 1035 | } 1036 | }, 1037 | "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { 1038 | "version": "2.0.1", 1039 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1040 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1041 | "dev": true, 1042 | "dependencies": { 1043 | "balanced-match": "^1.0.0" 1044 | } 1045 | }, 1046 | "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { 1047 | "version": "9.0.4", 1048 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 1049 | "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 1050 | "dev": true, 1051 | "dependencies": { 1052 | "brace-expansion": "^2.0.1" 1053 | }, 1054 | "engines": { 1055 | "node": ">=16 || 14 >=14.17" 1056 | }, 1057 | "funding": { 1058 | "url": "https://github.com/sponsors/isaacs" 1059 | } 1060 | }, 1061 | "node_modules/@typescript-eslint/utils": { 1062 | "version": "7.10.0", 1063 | "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.10.0.tgz", 1064 | "integrity": "sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==", 1065 | "dev": true, 1066 | "dependencies": { 1067 | "@eslint-community/eslint-utils": "^4.4.0", 1068 | "@typescript-eslint/scope-manager": "7.10.0", 1069 | "@typescript-eslint/types": "7.10.0", 1070 | "@typescript-eslint/typescript-estree": "7.10.0" 1071 | }, 1072 | "engines": { 1073 | "node": "^18.18.0 || >=20.0.0" 1074 | }, 1075 | "funding": { 1076 | "type": "opencollective", 1077 | "url": "https://opencollective.com/typescript-eslint" 1078 | }, 1079 | "peerDependencies": { 1080 | "eslint": "^8.56.0" 1081 | } 1082 | }, 1083 | "node_modules/@typescript-eslint/visitor-keys": { 1084 | "version": "7.10.0", 1085 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz", 1086 | "integrity": "sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==", 1087 | "dev": true, 1088 | "dependencies": { 1089 | "@typescript-eslint/types": "7.10.0", 1090 | "eslint-visitor-keys": "^3.4.3" 1091 | }, 1092 | "engines": { 1093 | "node": "^18.18.0 || >=20.0.0" 1094 | }, 1095 | "funding": { 1096 | "type": "opencollective", 1097 | "url": "https://opencollective.com/typescript-eslint" 1098 | } 1099 | }, 1100 | "node_modules/@ungap/structured-clone": { 1101 | "version": "1.2.0", 1102 | "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", 1103 | "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", 1104 | "dev": true 1105 | }, 1106 | "node_modules/@vitest/expect": { 1107 | "version": "1.6.0", 1108 | "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.0.tgz", 1109 | "integrity": "sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==", 1110 | "dev": true, 1111 | "dependencies": { 1112 | "@vitest/spy": "1.6.0", 1113 | "@vitest/utils": "1.6.0", 1114 | "chai": "^4.3.10" 1115 | }, 1116 | "funding": { 1117 | "url": "https://opencollective.com/vitest" 1118 | } 1119 | }, 1120 | "node_modules/@vitest/runner": { 1121 | "version": "1.6.0", 1122 | "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.0.tgz", 1123 | "integrity": "sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==", 1124 | "dev": true, 1125 | "dependencies": { 1126 | "@vitest/utils": "1.6.0", 1127 | "p-limit": "^5.0.0", 1128 | "pathe": "^1.1.1" 1129 | }, 1130 | "funding": { 1131 | "url": "https://opencollective.com/vitest" 1132 | } 1133 | }, 1134 | "node_modules/@vitest/runner/node_modules/p-limit": { 1135 | "version": "5.0.0", 1136 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", 1137 | "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", 1138 | "dev": true, 1139 | "dependencies": { 1140 | "yocto-queue": "^1.0.0" 1141 | }, 1142 | "engines": { 1143 | "node": ">=18" 1144 | }, 1145 | "funding": { 1146 | "url": "https://github.com/sponsors/sindresorhus" 1147 | } 1148 | }, 1149 | "node_modules/@vitest/runner/node_modules/yocto-queue": { 1150 | "version": "1.0.0", 1151 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", 1152 | "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", 1153 | "dev": true, 1154 | "engines": { 1155 | "node": ">=12.20" 1156 | }, 1157 | "funding": { 1158 | "url": "https://github.com/sponsors/sindresorhus" 1159 | } 1160 | }, 1161 | "node_modules/@vitest/snapshot": { 1162 | "version": "1.6.0", 1163 | "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.0.tgz", 1164 | "integrity": "sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==", 1165 | "dev": true, 1166 | "dependencies": { 1167 | "magic-string": "^0.30.5", 1168 | "pathe": "^1.1.1", 1169 | "pretty-format": "^29.7.0" 1170 | }, 1171 | "funding": { 1172 | "url": "https://opencollective.com/vitest" 1173 | } 1174 | }, 1175 | "node_modules/@vitest/spy": { 1176 | "version": "1.6.0", 1177 | "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", 1178 | "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", 1179 | "dev": true, 1180 | "dependencies": { 1181 | "tinyspy": "^2.2.0" 1182 | }, 1183 | "funding": { 1184 | "url": "https://opencollective.com/vitest" 1185 | } 1186 | }, 1187 | "node_modules/@vitest/utils": { 1188 | "version": "1.6.0", 1189 | "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", 1190 | "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", 1191 | "dev": true, 1192 | "dependencies": { 1193 | "diff-sequences": "^29.6.3", 1194 | "estree-walker": "^3.0.3", 1195 | "loupe": "^2.3.7", 1196 | "pretty-format": "^29.7.0" 1197 | }, 1198 | "funding": { 1199 | "url": "https://opencollective.com/vitest" 1200 | } 1201 | }, 1202 | "node_modules/acorn": { 1203 | "version": "8.11.3", 1204 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 1205 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 1206 | "dev": true, 1207 | "bin": { 1208 | "acorn": "bin/acorn" 1209 | }, 1210 | "engines": { 1211 | "node": ">=0.4.0" 1212 | } 1213 | }, 1214 | "node_modules/acorn-jsx": { 1215 | "version": "5.3.2", 1216 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1217 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1218 | "dev": true, 1219 | "peerDependencies": { 1220 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 1221 | } 1222 | }, 1223 | "node_modules/acorn-walk": { 1224 | "version": "8.3.2", 1225 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", 1226 | "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", 1227 | "dev": true, 1228 | "engines": { 1229 | "node": ">=0.4.0" 1230 | } 1231 | }, 1232 | "node_modules/ajv": { 1233 | "version": "6.12.6", 1234 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1235 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1236 | "dev": true, 1237 | "dependencies": { 1238 | "fast-deep-equal": "^3.1.1", 1239 | "fast-json-stable-stringify": "^2.0.0", 1240 | "json-schema-traverse": "^0.4.1", 1241 | "uri-js": "^4.2.2" 1242 | }, 1243 | "funding": { 1244 | "type": "github", 1245 | "url": "https://github.com/sponsors/epoberezkin" 1246 | } 1247 | }, 1248 | "node_modules/ansi-regex": { 1249 | "version": "5.0.1", 1250 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1251 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1252 | "dev": true, 1253 | "engines": { 1254 | "node": ">=8" 1255 | } 1256 | }, 1257 | "node_modules/ansi-styles": { 1258 | "version": "4.3.0", 1259 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1260 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1261 | "dev": true, 1262 | "dependencies": { 1263 | "color-convert": "^2.0.1" 1264 | }, 1265 | "engines": { 1266 | "node": ">=8" 1267 | }, 1268 | "funding": { 1269 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1270 | } 1271 | }, 1272 | "node_modules/argparse": { 1273 | "version": "2.0.1", 1274 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 1275 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 1276 | "dev": true 1277 | }, 1278 | "node_modules/array-buffer-byte-length": { 1279 | "version": "1.0.1", 1280 | "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", 1281 | "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", 1282 | "dev": true, 1283 | "peer": true, 1284 | "dependencies": { 1285 | "call-bind": "^1.0.5", 1286 | "is-array-buffer": "^3.0.4" 1287 | }, 1288 | "engines": { 1289 | "node": ">= 0.4" 1290 | }, 1291 | "funding": { 1292 | "url": "https://github.com/sponsors/ljharb" 1293 | } 1294 | }, 1295 | "node_modules/array-includes": { 1296 | "version": "3.1.8", 1297 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", 1298 | "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", 1299 | "dev": true, 1300 | "peer": true, 1301 | "dependencies": { 1302 | "call-bind": "^1.0.7", 1303 | "define-properties": "^1.2.1", 1304 | "es-abstract": "^1.23.2", 1305 | "es-object-atoms": "^1.0.0", 1306 | "get-intrinsic": "^1.2.4", 1307 | "is-string": "^1.0.7" 1308 | }, 1309 | "engines": { 1310 | "node": ">= 0.4" 1311 | }, 1312 | "funding": { 1313 | "url": "https://github.com/sponsors/ljharb" 1314 | } 1315 | }, 1316 | "node_modules/array-union": { 1317 | "version": "2.1.0", 1318 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 1319 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 1320 | "dev": true, 1321 | "engines": { 1322 | "node": ">=8" 1323 | } 1324 | }, 1325 | "node_modules/array.prototype.findlastindex": { 1326 | "version": "1.2.5", 1327 | "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", 1328 | "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", 1329 | "dev": true, 1330 | "peer": true, 1331 | "dependencies": { 1332 | "call-bind": "^1.0.7", 1333 | "define-properties": "^1.2.1", 1334 | "es-abstract": "^1.23.2", 1335 | "es-errors": "^1.3.0", 1336 | "es-object-atoms": "^1.0.0", 1337 | "es-shim-unscopables": "^1.0.2" 1338 | }, 1339 | "engines": { 1340 | "node": ">= 0.4" 1341 | }, 1342 | "funding": { 1343 | "url": "https://github.com/sponsors/ljharb" 1344 | } 1345 | }, 1346 | "node_modules/array.prototype.flat": { 1347 | "version": "1.3.2", 1348 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", 1349 | "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", 1350 | "dev": true, 1351 | "peer": true, 1352 | "dependencies": { 1353 | "call-bind": "^1.0.2", 1354 | "define-properties": "^1.2.0", 1355 | "es-abstract": "^1.22.1", 1356 | "es-shim-unscopables": "^1.0.0" 1357 | }, 1358 | "engines": { 1359 | "node": ">= 0.4" 1360 | }, 1361 | "funding": { 1362 | "url": "https://github.com/sponsors/ljharb" 1363 | } 1364 | }, 1365 | "node_modules/array.prototype.flatmap": { 1366 | "version": "1.3.2", 1367 | "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", 1368 | "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", 1369 | "dev": true, 1370 | "peer": true, 1371 | "dependencies": { 1372 | "call-bind": "^1.0.2", 1373 | "define-properties": "^1.2.0", 1374 | "es-abstract": "^1.22.1", 1375 | "es-shim-unscopables": "^1.0.0" 1376 | }, 1377 | "engines": { 1378 | "node": ">= 0.4" 1379 | }, 1380 | "funding": { 1381 | "url": "https://github.com/sponsors/ljharb" 1382 | } 1383 | }, 1384 | "node_modules/arraybuffer.prototype.slice": { 1385 | "version": "1.0.3", 1386 | "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", 1387 | "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", 1388 | "dev": true, 1389 | "peer": true, 1390 | "dependencies": { 1391 | "array-buffer-byte-length": "^1.0.1", 1392 | "call-bind": "^1.0.5", 1393 | "define-properties": "^1.2.1", 1394 | "es-abstract": "^1.22.3", 1395 | "es-errors": "^1.2.1", 1396 | "get-intrinsic": "^1.2.3", 1397 | "is-array-buffer": "^3.0.4", 1398 | "is-shared-array-buffer": "^1.0.2" 1399 | }, 1400 | "engines": { 1401 | "node": ">= 0.4" 1402 | }, 1403 | "funding": { 1404 | "url": "https://github.com/sponsors/ljharb" 1405 | } 1406 | }, 1407 | "node_modules/assertion-error": { 1408 | "version": "1.1.0", 1409 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", 1410 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", 1411 | "dev": true, 1412 | "engines": { 1413 | "node": "*" 1414 | } 1415 | }, 1416 | "node_modules/available-typed-arrays": { 1417 | "version": "1.0.7", 1418 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", 1419 | "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", 1420 | "dev": true, 1421 | "peer": true, 1422 | "dependencies": { 1423 | "possible-typed-array-names": "^1.0.0" 1424 | }, 1425 | "engines": { 1426 | "node": ">= 0.4" 1427 | }, 1428 | "funding": { 1429 | "url": "https://github.com/sponsors/ljharb" 1430 | } 1431 | }, 1432 | "node_modules/balanced-match": { 1433 | "version": "1.0.2", 1434 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1435 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1436 | "dev": true 1437 | }, 1438 | "node_modules/brace-expansion": { 1439 | "version": "1.1.11", 1440 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1441 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1442 | "dev": true, 1443 | "dependencies": { 1444 | "balanced-match": "^1.0.0", 1445 | "concat-map": "0.0.1" 1446 | } 1447 | }, 1448 | "node_modules/braces": { 1449 | "version": "3.0.3", 1450 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1451 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1452 | "dev": true, 1453 | "dependencies": { 1454 | "fill-range": "^7.1.1" 1455 | }, 1456 | "engines": { 1457 | "node": ">=8" 1458 | } 1459 | }, 1460 | "node_modules/browserslist": { 1461 | "version": "4.23.0", 1462 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", 1463 | "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", 1464 | "dev": true, 1465 | "funding": [ 1466 | { 1467 | "type": "opencollective", 1468 | "url": "https://opencollective.com/browserslist" 1469 | }, 1470 | { 1471 | "type": "tidelift", 1472 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1473 | }, 1474 | { 1475 | "type": "github", 1476 | "url": "https://github.com/sponsors/ai" 1477 | } 1478 | ], 1479 | "dependencies": { 1480 | "caniuse-lite": "^1.0.30001587", 1481 | "electron-to-chromium": "^1.4.668", 1482 | "node-releases": "^2.0.14", 1483 | "update-browserslist-db": "^1.0.13" 1484 | }, 1485 | "bin": { 1486 | "browserslist": "cli.js" 1487 | }, 1488 | "engines": { 1489 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1490 | } 1491 | }, 1492 | "node_modules/builtin-modules": { 1493 | "version": "3.3.0", 1494 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", 1495 | "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", 1496 | "dev": true, 1497 | "engines": { 1498 | "node": ">=6" 1499 | }, 1500 | "funding": { 1501 | "url": "https://github.com/sponsors/sindresorhus" 1502 | } 1503 | }, 1504 | "node_modules/cac": { 1505 | "version": "6.7.14", 1506 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 1507 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 1508 | "dev": true, 1509 | "engines": { 1510 | "node": ">=8" 1511 | } 1512 | }, 1513 | "node_modules/call-bind": { 1514 | "version": "1.0.7", 1515 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", 1516 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", 1517 | "dev": true, 1518 | "peer": true, 1519 | "dependencies": { 1520 | "es-define-property": "^1.0.0", 1521 | "es-errors": "^1.3.0", 1522 | "function-bind": "^1.1.2", 1523 | "get-intrinsic": "^1.2.4", 1524 | "set-function-length": "^1.2.1" 1525 | }, 1526 | "engines": { 1527 | "node": ">= 0.4" 1528 | }, 1529 | "funding": { 1530 | "url": "https://github.com/sponsors/ljharb" 1531 | } 1532 | }, 1533 | "node_modules/callsites": { 1534 | "version": "3.1.0", 1535 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1536 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1537 | "dev": true, 1538 | "engines": { 1539 | "node": ">=6" 1540 | } 1541 | }, 1542 | "node_modules/caniuse-lite": { 1543 | "version": "1.0.30001621", 1544 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz", 1545 | "integrity": "sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==", 1546 | "dev": true, 1547 | "funding": [ 1548 | { 1549 | "type": "opencollective", 1550 | "url": "https://opencollective.com/browserslist" 1551 | }, 1552 | { 1553 | "type": "tidelift", 1554 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1555 | }, 1556 | { 1557 | "type": "github", 1558 | "url": "https://github.com/sponsors/ai" 1559 | } 1560 | ] 1561 | }, 1562 | "node_modules/chai": { 1563 | "version": "4.4.1", 1564 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", 1565 | "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", 1566 | "dev": true, 1567 | "dependencies": { 1568 | "assertion-error": "^1.1.0", 1569 | "check-error": "^1.0.3", 1570 | "deep-eql": "^4.1.3", 1571 | "get-func-name": "^2.0.2", 1572 | "loupe": "^2.3.6", 1573 | "pathval": "^1.1.1", 1574 | "type-detect": "^4.0.8" 1575 | }, 1576 | "engines": { 1577 | "node": ">=4" 1578 | } 1579 | }, 1580 | "node_modules/chalk": { 1581 | "version": "4.1.2", 1582 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1583 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1584 | "dev": true, 1585 | "dependencies": { 1586 | "ansi-styles": "^4.1.0", 1587 | "supports-color": "^7.1.0" 1588 | }, 1589 | "engines": { 1590 | "node": ">=10" 1591 | }, 1592 | "funding": { 1593 | "url": "https://github.com/chalk/chalk?sponsor=1" 1594 | } 1595 | }, 1596 | "node_modules/check-error": { 1597 | "version": "1.0.3", 1598 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", 1599 | "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", 1600 | "dev": true, 1601 | "dependencies": { 1602 | "get-func-name": "^2.0.2" 1603 | }, 1604 | "engines": { 1605 | "node": "*" 1606 | } 1607 | }, 1608 | "node_modules/ci-info": { 1609 | "version": "4.0.0", 1610 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", 1611 | "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", 1612 | "dev": true, 1613 | "funding": [ 1614 | { 1615 | "type": "github", 1616 | "url": "https://github.com/sponsors/sibiraj-s" 1617 | } 1618 | ], 1619 | "engines": { 1620 | "node": ">=8" 1621 | } 1622 | }, 1623 | "node_modules/clean-regexp": { 1624 | "version": "1.0.0", 1625 | "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", 1626 | "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", 1627 | "dev": true, 1628 | "dependencies": { 1629 | "escape-string-regexp": "^1.0.5" 1630 | }, 1631 | "engines": { 1632 | "node": ">=4" 1633 | } 1634 | }, 1635 | "node_modules/clean-regexp/node_modules/escape-string-regexp": { 1636 | "version": "1.0.5", 1637 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1638 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1639 | "dev": true, 1640 | "engines": { 1641 | "node": ">=0.8.0" 1642 | } 1643 | }, 1644 | "node_modules/color-convert": { 1645 | "version": "2.0.1", 1646 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1647 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1648 | "dev": true, 1649 | "dependencies": { 1650 | "color-name": "~1.1.4" 1651 | }, 1652 | "engines": { 1653 | "node": ">=7.0.0" 1654 | } 1655 | }, 1656 | "node_modules/color-name": { 1657 | "version": "1.1.4", 1658 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1659 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1660 | "dev": true 1661 | }, 1662 | "node_modules/commander": { 1663 | "version": "7.2.0", 1664 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 1665 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 1666 | "dev": true, 1667 | "engines": { 1668 | "node": ">= 10" 1669 | } 1670 | }, 1671 | "node_modules/comment-parser": { 1672 | "version": "1.4.1", 1673 | "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", 1674 | "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", 1675 | "dev": true, 1676 | "engines": { 1677 | "node": ">= 12.0.0" 1678 | } 1679 | }, 1680 | "node_modules/concat-map": { 1681 | "version": "0.0.1", 1682 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1683 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1684 | "dev": true 1685 | }, 1686 | "node_modules/confbox": { 1687 | "version": "0.1.7", 1688 | "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.7.tgz", 1689 | "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", 1690 | "dev": true 1691 | }, 1692 | "node_modules/core-js-compat": { 1693 | "version": "3.37.1", 1694 | "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", 1695 | "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", 1696 | "dev": true, 1697 | "dependencies": { 1698 | "browserslist": "^4.23.0" 1699 | }, 1700 | "funding": { 1701 | "type": "opencollective", 1702 | "url": "https://opencollective.com/core-js" 1703 | } 1704 | }, 1705 | "node_modules/cross-spawn": { 1706 | "version": "7.0.3", 1707 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1708 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1709 | "dev": true, 1710 | "dependencies": { 1711 | "path-key": "^3.1.0", 1712 | "shebang-command": "^2.0.0", 1713 | "which": "^2.0.1" 1714 | }, 1715 | "engines": { 1716 | "node": ">= 8" 1717 | } 1718 | }, 1719 | "node_modules/d3-dsv": { 1720 | "version": "3.0.1", 1721 | "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", 1722 | "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", 1723 | "dev": true, 1724 | "dependencies": { 1725 | "commander": "7", 1726 | "iconv-lite": "0.6", 1727 | "rw": "1" 1728 | }, 1729 | "bin": { 1730 | "csv2json": "bin/dsv2json.js", 1731 | "csv2tsv": "bin/dsv2dsv.js", 1732 | "dsv2dsv": "bin/dsv2dsv.js", 1733 | "dsv2json": "bin/dsv2json.js", 1734 | "json2csv": "bin/json2dsv.js", 1735 | "json2dsv": "bin/json2dsv.js", 1736 | "json2tsv": "bin/json2dsv.js", 1737 | "tsv2csv": "bin/dsv2dsv.js", 1738 | "tsv2json": "bin/dsv2json.js" 1739 | }, 1740 | "engines": { 1741 | "node": ">=12" 1742 | } 1743 | }, 1744 | "node_modules/data-view-buffer": { 1745 | "version": "1.0.1", 1746 | "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", 1747 | "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", 1748 | "dev": true, 1749 | "peer": true, 1750 | "dependencies": { 1751 | "call-bind": "^1.0.6", 1752 | "es-errors": "^1.3.0", 1753 | "is-data-view": "^1.0.1" 1754 | }, 1755 | "engines": { 1756 | "node": ">= 0.4" 1757 | }, 1758 | "funding": { 1759 | "url": "https://github.com/sponsors/ljharb" 1760 | } 1761 | }, 1762 | "node_modules/data-view-byte-length": { 1763 | "version": "1.0.1", 1764 | "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", 1765 | "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", 1766 | "dev": true, 1767 | "peer": true, 1768 | "dependencies": { 1769 | "call-bind": "^1.0.7", 1770 | "es-errors": "^1.3.0", 1771 | "is-data-view": "^1.0.1" 1772 | }, 1773 | "engines": { 1774 | "node": ">= 0.4" 1775 | }, 1776 | "funding": { 1777 | "url": "https://github.com/sponsors/ljharb" 1778 | } 1779 | }, 1780 | "node_modules/data-view-byte-offset": { 1781 | "version": "1.0.0", 1782 | "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", 1783 | "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", 1784 | "dev": true, 1785 | "peer": true, 1786 | "dependencies": { 1787 | "call-bind": "^1.0.6", 1788 | "es-errors": "^1.3.0", 1789 | "is-data-view": "^1.0.1" 1790 | }, 1791 | "engines": { 1792 | "node": ">= 0.4" 1793 | }, 1794 | "funding": { 1795 | "url": "https://github.com/sponsors/ljharb" 1796 | } 1797 | }, 1798 | "node_modules/debug": { 1799 | "version": "4.3.4", 1800 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1801 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1802 | "dev": true, 1803 | "dependencies": { 1804 | "ms": "2.1.2" 1805 | }, 1806 | "engines": { 1807 | "node": ">=6.0" 1808 | }, 1809 | "peerDependenciesMeta": { 1810 | "supports-color": { 1811 | "optional": true 1812 | } 1813 | } 1814 | }, 1815 | "node_modules/deep-eql": { 1816 | "version": "4.1.3", 1817 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", 1818 | "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", 1819 | "dev": true, 1820 | "dependencies": { 1821 | "type-detect": "^4.0.0" 1822 | }, 1823 | "engines": { 1824 | "node": ">=6" 1825 | } 1826 | }, 1827 | "node_modules/deep-is": { 1828 | "version": "0.1.4", 1829 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1830 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1831 | "dev": true 1832 | }, 1833 | "node_modules/deepie-merge": { 1834 | "version": "1.2.3", 1835 | "resolved": "https://registry.npmjs.org/deepie-merge/-/deepie-merge-1.2.3.tgz", 1836 | "integrity": "sha512-PjsNcrHDXs9wz8YD8bsFTRSqW8ttmv0rKMCB+gMPZkQQciH+miNOIPGXwDdqgAtbWAECrZ2Jb9R0cE2FtR92Rg==", 1837 | "dev": true, 1838 | "engines": { 1839 | "node": ">=18" 1840 | } 1841 | }, 1842 | "node_modules/define-data-property": { 1843 | "version": "1.1.4", 1844 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 1845 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 1846 | "dev": true, 1847 | "peer": true, 1848 | "dependencies": { 1849 | "es-define-property": "^1.0.0", 1850 | "es-errors": "^1.3.0", 1851 | "gopd": "^1.0.1" 1852 | }, 1853 | "engines": { 1854 | "node": ">= 0.4" 1855 | }, 1856 | "funding": { 1857 | "url": "https://github.com/sponsors/ljharb" 1858 | } 1859 | }, 1860 | "node_modules/define-properties": { 1861 | "version": "1.2.1", 1862 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 1863 | "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 1864 | "dev": true, 1865 | "peer": true, 1866 | "dependencies": { 1867 | "define-data-property": "^1.0.1", 1868 | "has-property-descriptors": "^1.0.0", 1869 | "object-keys": "^1.1.1" 1870 | }, 1871 | "engines": { 1872 | "node": ">= 0.4" 1873 | }, 1874 | "funding": { 1875 | "url": "https://github.com/sponsors/ljharb" 1876 | } 1877 | }, 1878 | "node_modules/diff-sequences": { 1879 | "version": "29.6.3", 1880 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", 1881 | "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", 1882 | "dev": true, 1883 | "engines": { 1884 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 1885 | } 1886 | }, 1887 | "node_modules/dir-glob": { 1888 | "version": "3.0.1", 1889 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 1890 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 1891 | "dev": true, 1892 | "dependencies": { 1893 | "path-type": "^4.0.0" 1894 | }, 1895 | "engines": { 1896 | "node": ">=8" 1897 | } 1898 | }, 1899 | "node_modules/doctrine": { 1900 | "version": "3.0.0", 1901 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1902 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1903 | "dev": true, 1904 | "dependencies": { 1905 | "esutils": "^2.0.2" 1906 | }, 1907 | "engines": { 1908 | "node": ">=6.0.0" 1909 | } 1910 | }, 1911 | "node_modules/electron-to-chromium": { 1912 | "version": "1.4.780", 1913 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.780.tgz", 1914 | "integrity": "sha512-NPtACGFe7vunRYzvYqVRhQvsDrTevxpgDKxG/Vcbe0BTNOY+5+/2mOXSw2ls7ToNbE5Bf/+uQbjTxcmwMozpCw==", 1915 | "dev": true 1916 | }, 1917 | "node_modules/enhanced-resolve": { 1918 | "version": "5.16.1", 1919 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz", 1920 | "integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==", 1921 | "dev": true, 1922 | "dependencies": { 1923 | "graceful-fs": "^4.2.4", 1924 | "tapable": "^2.2.0" 1925 | }, 1926 | "engines": { 1927 | "node": ">=10.13.0" 1928 | } 1929 | }, 1930 | "node_modules/error-ex": { 1931 | "version": "1.3.2", 1932 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1933 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1934 | "dev": true, 1935 | "dependencies": { 1936 | "is-arrayish": "^0.2.1" 1937 | } 1938 | }, 1939 | "node_modules/es-abstract": { 1940 | "version": "1.23.3", 1941 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", 1942 | "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", 1943 | "dev": true, 1944 | "peer": true, 1945 | "dependencies": { 1946 | "array-buffer-byte-length": "^1.0.1", 1947 | "arraybuffer.prototype.slice": "^1.0.3", 1948 | "available-typed-arrays": "^1.0.7", 1949 | "call-bind": "^1.0.7", 1950 | "data-view-buffer": "^1.0.1", 1951 | "data-view-byte-length": "^1.0.1", 1952 | "data-view-byte-offset": "^1.0.0", 1953 | "es-define-property": "^1.0.0", 1954 | "es-errors": "^1.3.0", 1955 | "es-object-atoms": "^1.0.0", 1956 | "es-set-tostringtag": "^2.0.3", 1957 | "es-to-primitive": "^1.2.1", 1958 | "function.prototype.name": "^1.1.6", 1959 | "get-intrinsic": "^1.2.4", 1960 | "get-symbol-description": "^1.0.2", 1961 | "globalthis": "^1.0.3", 1962 | "gopd": "^1.0.1", 1963 | "has-property-descriptors": "^1.0.2", 1964 | "has-proto": "^1.0.3", 1965 | "has-symbols": "^1.0.3", 1966 | "hasown": "^2.0.2", 1967 | "internal-slot": "^1.0.7", 1968 | "is-array-buffer": "^3.0.4", 1969 | "is-callable": "^1.2.7", 1970 | "is-data-view": "^1.0.1", 1971 | "is-negative-zero": "^2.0.3", 1972 | "is-regex": "^1.1.4", 1973 | "is-shared-array-buffer": "^1.0.3", 1974 | "is-string": "^1.0.7", 1975 | "is-typed-array": "^1.1.13", 1976 | "is-weakref": "^1.0.2", 1977 | "object-inspect": "^1.13.1", 1978 | "object-keys": "^1.1.1", 1979 | "object.assign": "^4.1.5", 1980 | "regexp.prototype.flags": "^1.5.2", 1981 | "safe-array-concat": "^1.1.2", 1982 | "safe-regex-test": "^1.0.3", 1983 | "string.prototype.trim": "^1.2.9", 1984 | "string.prototype.trimend": "^1.0.8", 1985 | "string.prototype.trimstart": "^1.0.8", 1986 | "typed-array-buffer": "^1.0.2", 1987 | "typed-array-byte-length": "^1.0.1", 1988 | "typed-array-byte-offset": "^1.0.2", 1989 | "typed-array-length": "^1.0.6", 1990 | "unbox-primitive": "^1.0.2", 1991 | "which-typed-array": "^1.1.15" 1992 | }, 1993 | "engines": { 1994 | "node": ">= 0.4" 1995 | }, 1996 | "funding": { 1997 | "url": "https://github.com/sponsors/ljharb" 1998 | } 1999 | }, 2000 | "node_modules/es-define-property": { 2001 | "version": "1.0.0", 2002 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", 2003 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", 2004 | "dev": true, 2005 | "peer": true, 2006 | "dependencies": { 2007 | "get-intrinsic": "^1.2.4" 2008 | }, 2009 | "engines": { 2010 | "node": ">= 0.4" 2011 | } 2012 | }, 2013 | "node_modules/es-errors": { 2014 | "version": "1.3.0", 2015 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 2016 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 2017 | "dev": true, 2018 | "peer": true, 2019 | "engines": { 2020 | "node": ">= 0.4" 2021 | } 2022 | }, 2023 | "node_modules/es-object-atoms": { 2024 | "version": "1.0.0", 2025 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", 2026 | "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", 2027 | "dev": true, 2028 | "peer": true, 2029 | "dependencies": { 2030 | "es-errors": "^1.3.0" 2031 | }, 2032 | "engines": { 2033 | "node": ">= 0.4" 2034 | } 2035 | }, 2036 | "node_modules/es-set-tostringtag": { 2037 | "version": "2.0.3", 2038 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", 2039 | "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", 2040 | "dev": true, 2041 | "peer": true, 2042 | "dependencies": { 2043 | "get-intrinsic": "^1.2.4", 2044 | "has-tostringtag": "^1.0.2", 2045 | "hasown": "^2.0.1" 2046 | }, 2047 | "engines": { 2048 | "node": ">= 0.4" 2049 | } 2050 | }, 2051 | "node_modules/es-shim-unscopables": { 2052 | "version": "1.0.2", 2053 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", 2054 | "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", 2055 | "dev": true, 2056 | "peer": true, 2057 | "dependencies": { 2058 | "hasown": "^2.0.0" 2059 | } 2060 | }, 2061 | "node_modules/es-to-primitive": { 2062 | "version": "1.2.1", 2063 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 2064 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 2065 | "dev": true, 2066 | "peer": true, 2067 | "dependencies": { 2068 | "is-callable": "^1.1.4", 2069 | "is-date-object": "^1.0.1", 2070 | "is-symbol": "^1.0.2" 2071 | }, 2072 | "engines": { 2073 | "node": ">= 0.4" 2074 | }, 2075 | "funding": { 2076 | "url": "https://github.com/sponsors/ljharb" 2077 | } 2078 | }, 2079 | "node_modules/esbuild": { 2080 | "version": "0.20.2", 2081 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", 2082 | "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", 2083 | "dev": true, 2084 | "hasInstallScript": true, 2085 | "bin": { 2086 | "esbuild": "bin/esbuild" 2087 | }, 2088 | "engines": { 2089 | "node": ">=12" 2090 | }, 2091 | "optionalDependencies": { 2092 | "@esbuild/aix-ppc64": "0.20.2", 2093 | "@esbuild/android-arm": "0.20.2", 2094 | "@esbuild/android-arm64": "0.20.2", 2095 | "@esbuild/android-x64": "0.20.2", 2096 | "@esbuild/darwin-arm64": "0.20.2", 2097 | "@esbuild/darwin-x64": "0.20.2", 2098 | "@esbuild/freebsd-arm64": "0.20.2", 2099 | "@esbuild/freebsd-x64": "0.20.2", 2100 | "@esbuild/linux-arm": "0.20.2", 2101 | "@esbuild/linux-arm64": "0.20.2", 2102 | "@esbuild/linux-ia32": "0.20.2", 2103 | "@esbuild/linux-loong64": "0.20.2", 2104 | "@esbuild/linux-mips64el": "0.20.2", 2105 | "@esbuild/linux-ppc64": "0.20.2", 2106 | "@esbuild/linux-riscv64": "0.20.2", 2107 | "@esbuild/linux-s390x": "0.20.2", 2108 | "@esbuild/linux-x64": "0.20.2", 2109 | "@esbuild/netbsd-x64": "0.20.2", 2110 | "@esbuild/openbsd-x64": "0.20.2", 2111 | "@esbuild/sunos-x64": "0.20.2", 2112 | "@esbuild/win32-arm64": "0.20.2", 2113 | "@esbuild/win32-ia32": "0.20.2", 2114 | "@esbuild/win32-x64": "0.20.2" 2115 | } 2116 | }, 2117 | "node_modules/escalade": { 2118 | "version": "3.1.2", 2119 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 2120 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 2121 | "dev": true, 2122 | "engines": { 2123 | "node": ">=6" 2124 | } 2125 | }, 2126 | "node_modules/escape-string-regexp": { 2127 | "version": "4.0.0", 2128 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2129 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2130 | "dev": true, 2131 | "engines": { 2132 | "node": ">=10" 2133 | }, 2134 | "funding": { 2135 | "url": "https://github.com/sponsors/sindresorhus" 2136 | } 2137 | }, 2138 | "node_modules/eslint": { 2139 | "version": "8.57.0", 2140 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", 2141 | "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", 2142 | "dev": true, 2143 | "dependencies": { 2144 | "@eslint-community/eslint-utils": "^4.2.0", 2145 | "@eslint-community/regexpp": "^4.6.1", 2146 | "@eslint/eslintrc": "^2.1.4", 2147 | "@eslint/js": "8.57.0", 2148 | "@humanwhocodes/config-array": "^0.11.14", 2149 | "@humanwhocodes/module-importer": "^1.0.1", 2150 | "@nodelib/fs.walk": "^1.2.8", 2151 | "@ungap/structured-clone": "^1.2.0", 2152 | "ajv": "^6.12.4", 2153 | "chalk": "^4.0.0", 2154 | "cross-spawn": "^7.0.2", 2155 | "debug": "^4.3.2", 2156 | "doctrine": "^3.0.0", 2157 | "escape-string-regexp": "^4.0.0", 2158 | "eslint-scope": "^7.2.2", 2159 | "eslint-visitor-keys": "^3.4.3", 2160 | "espree": "^9.6.1", 2161 | "esquery": "^1.4.2", 2162 | "esutils": "^2.0.2", 2163 | "fast-deep-equal": "^3.1.3", 2164 | "file-entry-cache": "^6.0.1", 2165 | "find-up": "^5.0.0", 2166 | "glob-parent": "^6.0.2", 2167 | "globals": "^13.19.0", 2168 | "graphemer": "^1.4.0", 2169 | "ignore": "^5.2.0", 2170 | "imurmurhash": "^0.1.4", 2171 | "is-glob": "^4.0.0", 2172 | "is-path-inside": "^3.0.3", 2173 | "js-yaml": "^4.1.0", 2174 | "json-stable-stringify-without-jsonify": "^1.0.1", 2175 | "levn": "^0.4.1", 2176 | "lodash.merge": "^4.6.2", 2177 | "minimatch": "^3.1.2", 2178 | "natural-compare": "^1.4.0", 2179 | "optionator": "^0.9.3", 2180 | "strip-ansi": "^6.0.1", 2181 | "text-table": "^0.2.0" 2182 | }, 2183 | "bin": { 2184 | "eslint": "bin/eslint.js" 2185 | }, 2186 | "engines": { 2187 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2188 | }, 2189 | "funding": { 2190 | "url": "https://opencollective.com/eslint" 2191 | } 2192 | }, 2193 | "node_modules/eslint-config-silverwind": { 2194 | "version": "85.1.4", 2195 | "resolved": "https://registry.npmjs.org/eslint-config-silverwind/-/eslint-config-silverwind-85.1.4.tgz", 2196 | "integrity": "sha512-AutGS9PV1MMhsWNF3uDQjlTcjgbyTvV5T7uXxQo1MG+MvlaqQvfXLtMM5PKqTMhKfHS7IP1mytN57MqOoC5UsQ==", 2197 | "dev": true, 2198 | "dependencies": { 2199 | "@eslint-community/eslint-plugin-eslint-comments": "4.3.0", 2200 | "@stylistic/eslint-plugin-js": "2.1.0", 2201 | "@typescript-eslint/parser": "7.10.0", 2202 | "deepie-merge": "1.2.3", 2203 | "eslint-import-resolver-typescript": "3.6.1", 2204 | "eslint-plugin-array-func": "4.0.0", 2205 | "eslint-plugin-i": "2.29.1", 2206 | "eslint-plugin-no-use-extend-native": "0.5.0", 2207 | "eslint-plugin-regexp": "2.6.0", 2208 | "eslint-plugin-sonarjs": "1.0.3", 2209 | "eslint-plugin-unicorn": "53.0.0", 2210 | "eslint-plugin-vitest": "0.4.1", 2211 | "eslint-plugin-vitest-globals": "1.5.0", 2212 | "globals": "15.3.0" 2213 | }, 2214 | "peerDependencies": { 2215 | "eslint": "^8", 2216 | "typescript": "^5" 2217 | } 2218 | }, 2219 | "node_modules/eslint-config-silverwind/node_modules/globals": { 2220 | "version": "15.3.0", 2221 | "resolved": "https://registry.npmjs.org/globals/-/globals-15.3.0.tgz", 2222 | "integrity": "sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==", 2223 | "dev": true, 2224 | "engines": { 2225 | "node": ">=18" 2226 | }, 2227 | "funding": { 2228 | "url": "https://github.com/sponsors/sindresorhus" 2229 | } 2230 | }, 2231 | "node_modules/eslint-import-resolver-node": { 2232 | "version": "0.3.9", 2233 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", 2234 | "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", 2235 | "dev": true, 2236 | "dependencies": { 2237 | "debug": "^3.2.7", 2238 | "is-core-module": "^2.13.0", 2239 | "resolve": "^1.22.4" 2240 | } 2241 | }, 2242 | "node_modules/eslint-import-resolver-node/node_modules/debug": { 2243 | "version": "3.2.7", 2244 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2245 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2246 | "dev": true, 2247 | "dependencies": { 2248 | "ms": "^2.1.1" 2249 | } 2250 | }, 2251 | "node_modules/eslint-import-resolver-typescript": { 2252 | "version": "3.6.1", 2253 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", 2254 | "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", 2255 | "dev": true, 2256 | "dependencies": { 2257 | "debug": "^4.3.4", 2258 | "enhanced-resolve": "^5.12.0", 2259 | "eslint-module-utils": "^2.7.4", 2260 | "fast-glob": "^3.3.1", 2261 | "get-tsconfig": "^4.5.0", 2262 | "is-core-module": "^2.11.0", 2263 | "is-glob": "^4.0.3" 2264 | }, 2265 | "engines": { 2266 | "node": "^14.18.0 || >=16.0.0" 2267 | }, 2268 | "funding": { 2269 | "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" 2270 | }, 2271 | "peerDependencies": { 2272 | "eslint": "*", 2273 | "eslint-plugin-import": "*" 2274 | } 2275 | }, 2276 | "node_modules/eslint-module-utils": { 2277 | "version": "2.8.1", 2278 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", 2279 | "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", 2280 | "dev": true, 2281 | "dependencies": { 2282 | "debug": "^3.2.7" 2283 | }, 2284 | "engines": { 2285 | "node": ">=4" 2286 | }, 2287 | "peerDependenciesMeta": { 2288 | "eslint": { 2289 | "optional": true 2290 | } 2291 | } 2292 | }, 2293 | "node_modules/eslint-module-utils/node_modules/debug": { 2294 | "version": "3.2.7", 2295 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2296 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2297 | "dev": true, 2298 | "dependencies": { 2299 | "ms": "^2.1.1" 2300 | } 2301 | }, 2302 | "node_modules/eslint-plugin-array-func": { 2303 | "version": "4.0.0", 2304 | "resolved": "https://registry.npmjs.org/eslint-plugin-array-func/-/eslint-plugin-array-func-4.0.0.tgz", 2305 | "integrity": "sha512-p3NY2idNIvgmQLF2/62ZskYt8gOuUgQ51smRc3Lh7FtSozpNc2sg+lniz9VaCagLZHEZTl8qGJKqE7xy8O/D/g==", 2306 | "dev": true, 2307 | "engines": { 2308 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2309 | }, 2310 | "peerDependencies": { 2311 | "eslint": ">=8.40.0" 2312 | } 2313 | }, 2314 | "node_modules/eslint-plugin-i": { 2315 | "version": "2.29.1", 2316 | "resolved": "https://registry.npmjs.org/eslint-plugin-i/-/eslint-plugin-i-2.29.1.tgz", 2317 | "integrity": "sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==", 2318 | "dev": true, 2319 | "dependencies": { 2320 | "debug": "^4.3.4", 2321 | "doctrine": "^3.0.0", 2322 | "eslint-import-resolver-node": "^0.3.9", 2323 | "eslint-module-utils": "^2.8.0", 2324 | "get-tsconfig": "^4.7.2", 2325 | "is-glob": "^4.0.3", 2326 | "minimatch": "^3.1.2", 2327 | "semver": "^7.5.4" 2328 | }, 2329 | "engines": { 2330 | "node": ">=12" 2331 | }, 2332 | "funding": { 2333 | "url": "https://opencollective.com/unts" 2334 | }, 2335 | "peerDependencies": { 2336 | "eslint": "^7.2.0 || ^8" 2337 | } 2338 | }, 2339 | "node_modules/eslint-plugin-import": { 2340 | "version": "2.29.1", 2341 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", 2342 | "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", 2343 | "dev": true, 2344 | "peer": true, 2345 | "dependencies": { 2346 | "array-includes": "^3.1.7", 2347 | "array.prototype.findlastindex": "^1.2.3", 2348 | "array.prototype.flat": "^1.3.2", 2349 | "array.prototype.flatmap": "^1.3.2", 2350 | "debug": "^3.2.7", 2351 | "doctrine": "^2.1.0", 2352 | "eslint-import-resolver-node": "^0.3.9", 2353 | "eslint-module-utils": "^2.8.0", 2354 | "hasown": "^2.0.0", 2355 | "is-core-module": "^2.13.1", 2356 | "is-glob": "^4.0.3", 2357 | "minimatch": "^3.1.2", 2358 | "object.fromentries": "^2.0.7", 2359 | "object.groupby": "^1.0.1", 2360 | "object.values": "^1.1.7", 2361 | "semver": "^6.3.1", 2362 | "tsconfig-paths": "^3.15.0" 2363 | }, 2364 | "engines": { 2365 | "node": ">=4" 2366 | }, 2367 | "peerDependencies": { 2368 | "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" 2369 | } 2370 | }, 2371 | "node_modules/eslint-plugin-import/node_modules/debug": { 2372 | "version": "3.2.7", 2373 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 2374 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 2375 | "dev": true, 2376 | "peer": true, 2377 | "dependencies": { 2378 | "ms": "^2.1.1" 2379 | } 2380 | }, 2381 | "node_modules/eslint-plugin-import/node_modules/doctrine": { 2382 | "version": "2.1.0", 2383 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 2384 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 2385 | "dev": true, 2386 | "peer": true, 2387 | "dependencies": { 2388 | "esutils": "^2.0.2" 2389 | }, 2390 | "engines": { 2391 | "node": ">=0.10.0" 2392 | } 2393 | }, 2394 | "node_modules/eslint-plugin-import/node_modules/semver": { 2395 | "version": "6.3.1", 2396 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2397 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2398 | "dev": true, 2399 | "peer": true, 2400 | "bin": { 2401 | "semver": "bin/semver.js" 2402 | } 2403 | }, 2404 | "node_modules/eslint-plugin-no-use-extend-native": { 2405 | "version": "0.5.0", 2406 | "resolved": "https://registry.npmjs.org/eslint-plugin-no-use-extend-native/-/eslint-plugin-no-use-extend-native-0.5.0.tgz", 2407 | "integrity": "sha512-dBNjs8hor8rJgeXLH4HTut5eD3RGWf9JUsadIfuL7UosVQ/dnvOKwxEcRrXrFxrMZ8llUVWT+hOimxJABsAUzQ==", 2408 | "dev": true, 2409 | "dependencies": { 2410 | "is-get-set-prop": "^1.0.0", 2411 | "is-js-type": "^2.0.0", 2412 | "is-obj-prop": "^1.0.0", 2413 | "is-proto-prop": "^2.0.0" 2414 | }, 2415 | "engines": { 2416 | "node": ">=6.0.0" 2417 | } 2418 | }, 2419 | "node_modules/eslint-plugin-regexp": { 2420 | "version": "2.6.0", 2421 | "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-2.6.0.tgz", 2422 | "integrity": "sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==", 2423 | "dev": true, 2424 | "dependencies": { 2425 | "@eslint-community/eslint-utils": "^4.2.0", 2426 | "@eslint-community/regexpp": "^4.9.1", 2427 | "comment-parser": "^1.4.0", 2428 | "jsdoc-type-pratt-parser": "^4.0.0", 2429 | "refa": "^0.12.1", 2430 | "regexp-ast-analysis": "^0.7.1", 2431 | "scslre": "^0.3.0" 2432 | }, 2433 | "engines": { 2434 | "node": "^18 || >=20" 2435 | }, 2436 | "peerDependencies": { 2437 | "eslint": ">=8.44.0" 2438 | } 2439 | }, 2440 | "node_modules/eslint-plugin-sonarjs": { 2441 | "version": "1.0.3", 2442 | "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-1.0.3.tgz", 2443 | "integrity": "sha512-6s41HLPYPyDrp+5+7Db5yFYbod6h9pC7yx+xfcNwHRcLe1EZwbbQT/tdOAkR7ekVUkNGEvN3GmYakIoQUX7dEg==", 2444 | "dev": true, 2445 | "engines": { 2446 | "node": ">=16" 2447 | }, 2448 | "peerDependencies": { 2449 | "eslint": "^8.0.0 || ^9.0.0" 2450 | } 2451 | }, 2452 | "node_modules/eslint-plugin-unicorn": { 2453 | "version": "53.0.0", 2454 | "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz", 2455 | "integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==", 2456 | "dev": true, 2457 | "dependencies": { 2458 | "@babel/helper-validator-identifier": "^7.24.5", 2459 | "@eslint-community/eslint-utils": "^4.4.0", 2460 | "@eslint/eslintrc": "^3.0.2", 2461 | "ci-info": "^4.0.0", 2462 | "clean-regexp": "^1.0.0", 2463 | "core-js-compat": "^3.37.0", 2464 | "esquery": "^1.5.0", 2465 | "indent-string": "^4.0.0", 2466 | "is-builtin-module": "^3.2.1", 2467 | "jsesc": "^3.0.2", 2468 | "pluralize": "^8.0.0", 2469 | "read-pkg-up": "^7.0.1", 2470 | "regexp-tree": "^0.1.27", 2471 | "regjsparser": "^0.10.0", 2472 | "semver": "^7.6.1", 2473 | "strip-indent": "^3.0.0" 2474 | }, 2475 | "engines": { 2476 | "node": ">=18.18" 2477 | }, 2478 | "funding": { 2479 | "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" 2480 | }, 2481 | "peerDependencies": { 2482 | "eslint": ">=8.56.0" 2483 | } 2484 | }, 2485 | "node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": { 2486 | "version": "3.1.0", 2487 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", 2488 | "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", 2489 | "dev": true, 2490 | "dependencies": { 2491 | "ajv": "^6.12.4", 2492 | "debug": "^4.3.2", 2493 | "espree": "^10.0.1", 2494 | "globals": "^14.0.0", 2495 | "ignore": "^5.2.0", 2496 | "import-fresh": "^3.2.1", 2497 | "js-yaml": "^4.1.0", 2498 | "minimatch": "^3.1.2", 2499 | "strip-json-comments": "^3.1.1" 2500 | }, 2501 | "engines": { 2502 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2503 | }, 2504 | "funding": { 2505 | "url": "https://opencollective.com/eslint" 2506 | } 2507 | }, 2508 | "node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": { 2509 | "version": "4.0.0", 2510 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", 2511 | "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", 2512 | "dev": true, 2513 | "engines": { 2514 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2515 | }, 2516 | "funding": { 2517 | "url": "https://opencollective.com/eslint" 2518 | } 2519 | }, 2520 | "node_modules/eslint-plugin-unicorn/node_modules/espree": { 2521 | "version": "10.0.1", 2522 | "resolved": "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz", 2523 | "integrity": "sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==", 2524 | "dev": true, 2525 | "dependencies": { 2526 | "acorn": "^8.11.3", 2527 | "acorn-jsx": "^5.3.2", 2528 | "eslint-visitor-keys": "^4.0.0" 2529 | }, 2530 | "engines": { 2531 | "node": "^18.18.0 || ^20.9.0 || >=21.1.0" 2532 | }, 2533 | "funding": { 2534 | "url": "https://opencollective.com/eslint" 2535 | } 2536 | }, 2537 | "node_modules/eslint-plugin-unicorn/node_modules/globals": { 2538 | "version": "14.0.0", 2539 | "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", 2540 | "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", 2541 | "dev": true, 2542 | "engines": { 2543 | "node": ">=18" 2544 | }, 2545 | "funding": { 2546 | "url": "https://github.com/sponsors/sindresorhus" 2547 | } 2548 | }, 2549 | "node_modules/eslint-plugin-vitest": { 2550 | "version": "0.4.1", 2551 | "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.4.1.tgz", 2552 | "integrity": "sha512-+PnZ2u/BS+f5FiuHXz4zKsHPcMKHie+K+1Uvu/x91ovkCMEOJqEI8E9Tw1Wzx2QRz4MHOBHYf1ypO8N1K0aNAA==", 2553 | "dev": true, 2554 | "dependencies": { 2555 | "@typescript-eslint/utils": "^7.4.0" 2556 | }, 2557 | "engines": { 2558 | "node": "^18.0.0 || >= 20.0.0" 2559 | }, 2560 | "peerDependencies": { 2561 | "eslint": ">=8.0.0", 2562 | "vitest": "*" 2563 | }, 2564 | "peerDependenciesMeta": { 2565 | "@typescript-eslint/eslint-plugin": { 2566 | "optional": true 2567 | }, 2568 | "vitest": { 2569 | "optional": true 2570 | } 2571 | } 2572 | }, 2573 | "node_modules/eslint-plugin-vitest-globals": { 2574 | "version": "1.5.0", 2575 | "resolved": "https://registry.npmjs.org/eslint-plugin-vitest-globals/-/eslint-plugin-vitest-globals-1.5.0.tgz", 2576 | "integrity": "sha512-ZSsVOaOIig0oVLzRTyk8lUfBfqzWxr/J3/NFMfGGRIkGQPejJYmDH3gXmSJxAojts77uzAGB/UmVrwi2DC4LYA==", 2577 | "dev": true 2578 | }, 2579 | "node_modules/eslint-scope": { 2580 | "version": "7.2.2", 2581 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", 2582 | "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", 2583 | "dev": true, 2584 | "dependencies": { 2585 | "esrecurse": "^4.3.0", 2586 | "estraverse": "^5.2.0" 2587 | }, 2588 | "engines": { 2589 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2590 | }, 2591 | "funding": { 2592 | "url": "https://opencollective.com/eslint" 2593 | } 2594 | }, 2595 | "node_modules/eslint-visitor-keys": { 2596 | "version": "3.4.3", 2597 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", 2598 | "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", 2599 | "dev": true, 2600 | "engines": { 2601 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2602 | }, 2603 | "funding": { 2604 | "url": "https://opencollective.com/eslint" 2605 | } 2606 | }, 2607 | "node_modules/espree": { 2608 | "version": "9.6.1", 2609 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", 2610 | "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", 2611 | "dev": true, 2612 | "dependencies": { 2613 | "acorn": "^8.9.0", 2614 | "acorn-jsx": "^5.3.2", 2615 | "eslint-visitor-keys": "^3.4.1" 2616 | }, 2617 | "engines": { 2618 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2619 | }, 2620 | "funding": { 2621 | "url": "https://opencollective.com/eslint" 2622 | } 2623 | }, 2624 | "node_modules/esquery": { 2625 | "version": "1.5.0", 2626 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 2627 | "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 2628 | "dev": true, 2629 | "dependencies": { 2630 | "estraverse": "^5.1.0" 2631 | }, 2632 | "engines": { 2633 | "node": ">=0.10" 2634 | } 2635 | }, 2636 | "node_modules/esrecurse": { 2637 | "version": "4.3.0", 2638 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 2639 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 2640 | "dev": true, 2641 | "dependencies": { 2642 | "estraverse": "^5.2.0" 2643 | }, 2644 | "engines": { 2645 | "node": ">=4.0" 2646 | } 2647 | }, 2648 | "node_modules/estraverse": { 2649 | "version": "5.3.0", 2650 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2651 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2652 | "dev": true, 2653 | "engines": { 2654 | "node": ">=4.0" 2655 | } 2656 | }, 2657 | "node_modules/estree-walker": { 2658 | "version": "3.0.3", 2659 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 2660 | "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 2661 | "dev": true, 2662 | "dependencies": { 2663 | "@types/estree": "^1.0.0" 2664 | } 2665 | }, 2666 | "node_modules/esutils": { 2667 | "version": "2.0.3", 2668 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 2669 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 2670 | "dev": true, 2671 | "engines": { 2672 | "node": ">=0.10.0" 2673 | } 2674 | }, 2675 | "node_modules/execa": { 2676 | "version": "8.0.1", 2677 | "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", 2678 | "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", 2679 | "dev": true, 2680 | "dependencies": { 2681 | "cross-spawn": "^7.0.3", 2682 | "get-stream": "^8.0.1", 2683 | "human-signals": "^5.0.0", 2684 | "is-stream": "^3.0.0", 2685 | "merge-stream": "^2.0.0", 2686 | "npm-run-path": "^5.1.0", 2687 | "onetime": "^6.0.0", 2688 | "signal-exit": "^4.1.0", 2689 | "strip-final-newline": "^3.0.0" 2690 | }, 2691 | "engines": { 2692 | "node": ">=16.17" 2693 | }, 2694 | "funding": { 2695 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 2696 | } 2697 | }, 2698 | "node_modules/fast-deep-equal": { 2699 | "version": "3.1.3", 2700 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2701 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2702 | "dev": true 2703 | }, 2704 | "node_modules/fast-glob": { 2705 | "version": "3.3.2", 2706 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 2707 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 2708 | "dev": true, 2709 | "dependencies": { 2710 | "@nodelib/fs.stat": "^2.0.2", 2711 | "@nodelib/fs.walk": "^1.2.3", 2712 | "glob-parent": "^5.1.2", 2713 | "merge2": "^1.3.0", 2714 | "micromatch": "^4.0.4" 2715 | }, 2716 | "engines": { 2717 | "node": ">=8.6.0" 2718 | } 2719 | }, 2720 | "node_modules/fast-glob/node_modules/glob-parent": { 2721 | "version": "5.1.2", 2722 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2723 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2724 | "dev": true, 2725 | "dependencies": { 2726 | "is-glob": "^4.0.1" 2727 | }, 2728 | "engines": { 2729 | "node": ">= 6" 2730 | } 2731 | }, 2732 | "node_modules/fast-json-stable-stringify": { 2733 | "version": "2.1.0", 2734 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 2735 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 2736 | "dev": true 2737 | }, 2738 | "node_modules/fast-levenshtein": { 2739 | "version": "2.0.6", 2740 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 2741 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 2742 | "dev": true 2743 | }, 2744 | "node_modules/fastq": { 2745 | "version": "1.17.1", 2746 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 2747 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 2748 | "dev": true, 2749 | "dependencies": { 2750 | "reusify": "^1.0.4" 2751 | } 2752 | }, 2753 | "node_modules/file-entry-cache": { 2754 | "version": "6.0.1", 2755 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 2756 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 2757 | "dev": true, 2758 | "dependencies": { 2759 | "flat-cache": "^3.0.4" 2760 | }, 2761 | "engines": { 2762 | "node": "^10.12.0 || >=12.0.0" 2763 | } 2764 | }, 2765 | "node_modules/fill-range": { 2766 | "version": "7.1.1", 2767 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2768 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2769 | "dev": true, 2770 | "dependencies": { 2771 | "to-regex-range": "^5.0.1" 2772 | }, 2773 | "engines": { 2774 | "node": ">=8" 2775 | } 2776 | }, 2777 | "node_modules/find-up": { 2778 | "version": "5.0.0", 2779 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 2780 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 2781 | "dev": true, 2782 | "dependencies": { 2783 | "locate-path": "^6.0.0", 2784 | "path-exists": "^4.0.0" 2785 | }, 2786 | "engines": { 2787 | "node": ">=10" 2788 | }, 2789 | "funding": { 2790 | "url": "https://github.com/sponsors/sindresorhus" 2791 | } 2792 | }, 2793 | "node_modules/flat-cache": { 2794 | "version": "3.2.0", 2795 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", 2796 | "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", 2797 | "dev": true, 2798 | "dependencies": { 2799 | "flatted": "^3.2.9", 2800 | "keyv": "^4.5.3", 2801 | "rimraf": "^3.0.2" 2802 | }, 2803 | "engines": { 2804 | "node": "^10.12.0 || >=12.0.0" 2805 | } 2806 | }, 2807 | "node_modules/flatted": { 2808 | "version": "3.3.1", 2809 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", 2810 | "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", 2811 | "dev": true 2812 | }, 2813 | "node_modules/for-each": { 2814 | "version": "0.3.3", 2815 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 2816 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 2817 | "dev": true, 2818 | "peer": true, 2819 | "dependencies": { 2820 | "is-callable": "^1.1.3" 2821 | } 2822 | }, 2823 | "node_modules/fs.realpath": { 2824 | "version": "1.0.0", 2825 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2826 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2827 | "dev": true 2828 | }, 2829 | "node_modules/fsevents": { 2830 | "version": "2.3.3", 2831 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2832 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2833 | "dev": true, 2834 | "hasInstallScript": true, 2835 | "optional": true, 2836 | "os": [ 2837 | "darwin" 2838 | ], 2839 | "engines": { 2840 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2841 | } 2842 | }, 2843 | "node_modules/function-bind": { 2844 | "version": "1.1.2", 2845 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2846 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2847 | "dev": true, 2848 | "funding": { 2849 | "url": "https://github.com/sponsors/ljharb" 2850 | } 2851 | }, 2852 | "node_modules/function.prototype.name": { 2853 | "version": "1.1.6", 2854 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", 2855 | "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", 2856 | "dev": true, 2857 | "peer": true, 2858 | "dependencies": { 2859 | "call-bind": "^1.0.2", 2860 | "define-properties": "^1.2.0", 2861 | "es-abstract": "^1.22.1", 2862 | "functions-have-names": "^1.2.3" 2863 | }, 2864 | "engines": { 2865 | "node": ">= 0.4" 2866 | }, 2867 | "funding": { 2868 | "url": "https://github.com/sponsors/ljharb" 2869 | } 2870 | }, 2871 | "node_modules/functions-have-names": { 2872 | "version": "1.2.3", 2873 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 2874 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 2875 | "dev": true, 2876 | "peer": true, 2877 | "funding": { 2878 | "url": "https://github.com/sponsors/ljharb" 2879 | } 2880 | }, 2881 | "node_modules/get-func-name": { 2882 | "version": "2.0.2", 2883 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", 2884 | "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", 2885 | "dev": true, 2886 | "engines": { 2887 | "node": "*" 2888 | } 2889 | }, 2890 | "node_modules/get-intrinsic": { 2891 | "version": "1.2.4", 2892 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", 2893 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", 2894 | "dev": true, 2895 | "peer": true, 2896 | "dependencies": { 2897 | "es-errors": "^1.3.0", 2898 | "function-bind": "^1.1.2", 2899 | "has-proto": "^1.0.1", 2900 | "has-symbols": "^1.0.3", 2901 | "hasown": "^2.0.0" 2902 | }, 2903 | "engines": { 2904 | "node": ">= 0.4" 2905 | }, 2906 | "funding": { 2907 | "url": "https://github.com/sponsors/ljharb" 2908 | } 2909 | }, 2910 | "node_modules/get-set-props": { 2911 | "version": "0.1.0", 2912 | "resolved": "https://registry.npmjs.org/get-set-props/-/get-set-props-0.1.0.tgz", 2913 | "integrity": "sha512-7oKuKzAGKj0ag+eWZwcGw2fjiZ78tXnXQoBgY0aU7ZOxTu4bB7hSuQSDgtKy978EDH062P5FmD2EWiDpQS9K9Q==", 2914 | "dev": true, 2915 | "engines": { 2916 | "node": ">=0.10.0" 2917 | } 2918 | }, 2919 | "node_modules/get-stream": { 2920 | "version": "8.0.1", 2921 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", 2922 | "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", 2923 | "dev": true, 2924 | "engines": { 2925 | "node": ">=16" 2926 | }, 2927 | "funding": { 2928 | "url": "https://github.com/sponsors/sindresorhus" 2929 | } 2930 | }, 2931 | "node_modules/get-symbol-description": { 2932 | "version": "1.0.2", 2933 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", 2934 | "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", 2935 | "dev": true, 2936 | "peer": true, 2937 | "dependencies": { 2938 | "call-bind": "^1.0.5", 2939 | "es-errors": "^1.3.0", 2940 | "get-intrinsic": "^1.2.4" 2941 | }, 2942 | "engines": { 2943 | "node": ">= 0.4" 2944 | }, 2945 | "funding": { 2946 | "url": "https://github.com/sponsors/ljharb" 2947 | } 2948 | }, 2949 | "node_modules/get-tsconfig": { 2950 | "version": "4.7.5", 2951 | "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz", 2952 | "integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==", 2953 | "dev": true, 2954 | "dependencies": { 2955 | "resolve-pkg-maps": "^1.0.0" 2956 | }, 2957 | "funding": { 2958 | "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" 2959 | } 2960 | }, 2961 | "node_modules/glob": { 2962 | "version": "7.2.3", 2963 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2964 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2965 | "dev": true, 2966 | "dependencies": { 2967 | "fs.realpath": "^1.0.0", 2968 | "inflight": "^1.0.4", 2969 | "inherits": "2", 2970 | "minimatch": "^3.1.1", 2971 | "once": "^1.3.0", 2972 | "path-is-absolute": "^1.0.0" 2973 | }, 2974 | "engines": { 2975 | "node": "*" 2976 | }, 2977 | "funding": { 2978 | "url": "https://github.com/sponsors/isaacs" 2979 | } 2980 | }, 2981 | "node_modules/glob-parent": { 2982 | "version": "6.0.2", 2983 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2984 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2985 | "dev": true, 2986 | "dependencies": { 2987 | "is-glob": "^4.0.3" 2988 | }, 2989 | "engines": { 2990 | "node": ">=10.13.0" 2991 | } 2992 | }, 2993 | "node_modules/globals": { 2994 | "version": "13.24.0", 2995 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", 2996 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", 2997 | "dev": true, 2998 | "dependencies": { 2999 | "type-fest": "^0.20.2" 3000 | }, 3001 | "engines": { 3002 | "node": ">=8" 3003 | }, 3004 | "funding": { 3005 | "url": "https://github.com/sponsors/sindresorhus" 3006 | } 3007 | }, 3008 | "node_modules/globalthis": { 3009 | "version": "1.0.4", 3010 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", 3011 | "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", 3012 | "dev": true, 3013 | "peer": true, 3014 | "dependencies": { 3015 | "define-properties": "^1.2.1", 3016 | "gopd": "^1.0.1" 3017 | }, 3018 | "engines": { 3019 | "node": ">= 0.4" 3020 | }, 3021 | "funding": { 3022 | "url": "https://github.com/sponsors/ljharb" 3023 | } 3024 | }, 3025 | "node_modules/globby": { 3026 | "version": "11.1.0", 3027 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 3028 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 3029 | "dev": true, 3030 | "dependencies": { 3031 | "array-union": "^2.1.0", 3032 | "dir-glob": "^3.0.1", 3033 | "fast-glob": "^3.2.9", 3034 | "ignore": "^5.2.0", 3035 | "merge2": "^1.4.1", 3036 | "slash": "^3.0.0" 3037 | }, 3038 | "engines": { 3039 | "node": ">=10" 3040 | }, 3041 | "funding": { 3042 | "url": "https://github.com/sponsors/sindresorhus" 3043 | } 3044 | }, 3045 | "node_modules/gopd": { 3046 | "version": "1.0.1", 3047 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", 3048 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", 3049 | "dev": true, 3050 | "peer": true, 3051 | "dependencies": { 3052 | "get-intrinsic": "^1.1.3" 3053 | }, 3054 | "funding": { 3055 | "url": "https://github.com/sponsors/ljharb" 3056 | } 3057 | }, 3058 | "node_modules/graceful-fs": { 3059 | "version": "4.2.11", 3060 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3061 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 3062 | "dev": true 3063 | }, 3064 | "node_modules/graphemer": { 3065 | "version": "1.4.0", 3066 | "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", 3067 | "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", 3068 | "dev": true 3069 | }, 3070 | "node_modules/has-bigints": { 3071 | "version": "1.0.2", 3072 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 3073 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 3074 | "dev": true, 3075 | "peer": true, 3076 | "funding": { 3077 | "url": "https://github.com/sponsors/ljharb" 3078 | } 3079 | }, 3080 | "node_modules/has-flag": { 3081 | "version": "4.0.0", 3082 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3083 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3084 | "dev": true, 3085 | "engines": { 3086 | "node": ">=8" 3087 | } 3088 | }, 3089 | "node_modules/has-property-descriptors": { 3090 | "version": "1.0.2", 3091 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 3092 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 3093 | "dev": true, 3094 | "peer": true, 3095 | "dependencies": { 3096 | "es-define-property": "^1.0.0" 3097 | }, 3098 | "funding": { 3099 | "url": "https://github.com/sponsors/ljharb" 3100 | } 3101 | }, 3102 | "node_modules/has-proto": { 3103 | "version": "1.0.3", 3104 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", 3105 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", 3106 | "dev": true, 3107 | "peer": true, 3108 | "engines": { 3109 | "node": ">= 0.4" 3110 | }, 3111 | "funding": { 3112 | "url": "https://github.com/sponsors/ljharb" 3113 | } 3114 | }, 3115 | "node_modules/has-symbols": { 3116 | "version": "1.0.3", 3117 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 3118 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 3119 | "dev": true, 3120 | "peer": true, 3121 | "engines": { 3122 | "node": ">= 0.4" 3123 | }, 3124 | "funding": { 3125 | "url": "https://github.com/sponsors/ljharb" 3126 | } 3127 | }, 3128 | "node_modules/has-tostringtag": { 3129 | "version": "1.0.2", 3130 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 3131 | "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 3132 | "dev": true, 3133 | "peer": true, 3134 | "dependencies": { 3135 | "has-symbols": "^1.0.3" 3136 | }, 3137 | "engines": { 3138 | "node": ">= 0.4" 3139 | }, 3140 | "funding": { 3141 | "url": "https://github.com/sponsors/ljharb" 3142 | } 3143 | }, 3144 | "node_modules/hasown": { 3145 | "version": "2.0.2", 3146 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 3147 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 3148 | "dev": true, 3149 | "dependencies": { 3150 | "function-bind": "^1.1.2" 3151 | }, 3152 | "engines": { 3153 | "node": ">= 0.4" 3154 | } 3155 | }, 3156 | "node_modules/hosted-git-info": { 3157 | "version": "2.8.9", 3158 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", 3159 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", 3160 | "dev": true 3161 | }, 3162 | "node_modules/human-signals": { 3163 | "version": "5.0.0", 3164 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", 3165 | "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", 3166 | "dev": true, 3167 | "engines": { 3168 | "node": ">=16.17.0" 3169 | } 3170 | }, 3171 | "node_modules/iconv-lite": { 3172 | "version": "0.6.3", 3173 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 3174 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 3175 | "dev": true, 3176 | "dependencies": { 3177 | "safer-buffer": ">= 2.1.2 < 3.0.0" 3178 | }, 3179 | "engines": { 3180 | "node": ">=0.10.0" 3181 | } 3182 | }, 3183 | "node_modules/ignore": { 3184 | "version": "5.3.1", 3185 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 3186 | "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 3187 | "dev": true, 3188 | "engines": { 3189 | "node": ">= 4" 3190 | } 3191 | }, 3192 | "node_modules/import-fresh": { 3193 | "version": "3.3.0", 3194 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 3195 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 3196 | "dev": true, 3197 | "dependencies": { 3198 | "parent-module": "^1.0.0", 3199 | "resolve-from": "^4.0.0" 3200 | }, 3201 | "engines": { 3202 | "node": ">=6" 3203 | }, 3204 | "funding": { 3205 | "url": "https://github.com/sponsors/sindresorhus" 3206 | } 3207 | }, 3208 | "node_modules/imurmurhash": { 3209 | "version": "0.1.4", 3210 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 3211 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 3212 | "dev": true, 3213 | "engines": { 3214 | "node": ">=0.8.19" 3215 | } 3216 | }, 3217 | "node_modules/indent-string": { 3218 | "version": "4.0.0", 3219 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 3220 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 3221 | "dev": true, 3222 | "engines": { 3223 | "node": ">=8" 3224 | } 3225 | }, 3226 | "node_modules/inflight": { 3227 | "version": "1.0.6", 3228 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3229 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 3230 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 3231 | "dev": true, 3232 | "dependencies": { 3233 | "once": "^1.3.0", 3234 | "wrappy": "1" 3235 | } 3236 | }, 3237 | "node_modules/inherits": { 3238 | "version": "2.0.4", 3239 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3240 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3241 | "dev": true 3242 | }, 3243 | "node_modules/internal-slot": { 3244 | "version": "1.0.7", 3245 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", 3246 | "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", 3247 | "dev": true, 3248 | "peer": true, 3249 | "dependencies": { 3250 | "es-errors": "^1.3.0", 3251 | "hasown": "^2.0.0", 3252 | "side-channel": "^1.0.4" 3253 | }, 3254 | "engines": { 3255 | "node": ">= 0.4" 3256 | } 3257 | }, 3258 | "node_modules/is-array-buffer": { 3259 | "version": "3.0.4", 3260 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", 3261 | "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", 3262 | "dev": true, 3263 | "peer": true, 3264 | "dependencies": { 3265 | "call-bind": "^1.0.2", 3266 | "get-intrinsic": "^1.2.1" 3267 | }, 3268 | "engines": { 3269 | "node": ">= 0.4" 3270 | }, 3271 | "funding": { 3272 | "url": "https://github.com/sponsors/ljharb" 3273 | } 3274 | }, 3275 | "node_modules/is-arrayish": { 3276 | "version": "0.2.1", 3277 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 3278 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", 3279 | "dev": true 3280 | }, 3281 | "node_modules/is-bigint": { 3282 | "version": "1.0.4", 3283 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 3284 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 3285 | "dev": true, 3286 | "peer": true, 3287 | "dependencies": { 3288 | "has-bigints": "^1.0.1" 3289 | }, 3290 | "funding": { 3291 | "url": "https://github.com/sponsors/ljharb" 3292 | } 3293 | }, 3294 | "node_modules/is-boolean-object": { 3295 | "version": "1.1.2", 3296 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 3297 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 3298 | "dev": true, 3299 | "peer": true, 3300 | "dependencies": { 3301 | "call-bind": "^1.0.2", 3302 | "has-tostringtag": "^1.0.0" 3303 | }, 3304 | "engines": { 3305 | "node": ">= 0.4" 3306 | }, 3307 | "funding": { 3308 | "url": "https://github.com/sponsors/ljharb" 3309 | } 3310 | }, 3311 | "node_modules/is-builtin-module": { 3312 | "version": "3.2.1", 3313 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", 3314 | "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", 3315 | "dev": true, 3316 | "dependencies": { 3317 | "builtin-modules": "^3.3.0" 3318 | }, 3319 | "engines": { 3320 | "node": ">=6" 3321 | }, 3322 | "funding": { 3323 | "url": "https://github.com/sponsors/sindresorhus" 3324 | } 3325 | }, 3326 | "node_modules/is-callable": { 3327 | "version": "1.2.7", 3328 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 3329 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 3330 | "dev": true, 3331 | "peer": true, 3332 | "engines": { 3333 | "node": ">= 0.4" 3334 | }, 3335 | "funding": { 3336 | "url": "https://github.com/sponsors/ljharb" 3337 | } 3338 | }, 3339 | "node_modules/is-core-module": { 3340 | "version": "2.13.1", 3341 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 3342 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 3343 | "dev": true, 3344 | "dependencies": { 3345 | "hasown": "^2.0.0" 3346 | }, 3347 | "funding": { 3348 | "url": "https://github.com/sponsors/ljharb" 3349 | } 3350 | }, 3351 | "node_modules/is-data-view": { 3352 | "version": "1.0.1", 3353 | "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", 3354 | "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", 3355 | "dev": true, 3356 | "peer": true, 3357 | "dependencies": { 3358 | "is-typed-array": "^1.1.13" 3359 | }, 3360 | "engines": { 3361 | "node": ">= 0.4" 3362 | }, 3363 | "funding": { 3364 | "url": "https://github.com/sponsors/ljharb" 3365 | } 3366 | }, 3367 | "node_modules/is-date-object": { 3368 | "version": "1.0.5", 3369 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 3370 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 3371 | "dev": true, 3372 | "peer": true, 3373 | "dependencies": { 3374 | "has-tostringtag": "^1.0.0" 3375 | }, 3376 | "engines": { 3377 | "node": ">= 0.4" 3378 | }, 3379 | "funding": { 3380 | "url": "https://github.com/sponsors/ljharb" 3381 | } 3382 | }, 3383 | "node_modules/is-extglob": { 3384 | "version": "2.1.1", 3385 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 3386 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 3387 | "dev": true, 3388 | "engines": { 3389 | "node": ">=0.10.0" 3390 | } 3391 | }, 3392 | "node_modules/is-get-set-prop": { 3393 | "version": "1.0.0", 3394 | "resolved": "https://registry.npmjs.org/is-get-set-prop/-/is-get-set-prop-1.0.0.tgz", 3395 | "integrity": "sha512-DvAYZ1ZgGUz4lzxKMPYlt08qAUqyG9ckSg2pIjfvcQ7+pkVNUHk8yVLXOnCLe5WKXhLop8oorWFBJHpwWQpszQ==", 3396 | "dev": true, 3397 | "dependencies": { 3398 | "get-set-props": "^0.1.0", 3399 | "lowercase-keys": "^1.0.0" 3400 | } 3401 | }, 3402 | "node_modules/is-glob": { 3403 | "version": "4.0.3", 3404 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3405 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3406 | "dev": true, 3407 | "dependencies": { 3408 | "is-extglob": "^2.1.1" 3409 | }, 3410 | "engines": { 3411 | "node": ">=0.10.0" 3412 | } 3413 | }, 3414 | "node_modules/is-js-type": { 3415 | "version": "2.0.0", 3416 | "resolved": "https://registry.npmjs.org/is-js-type/-/is-js-type-2.0.0.tgz", 3417 | "integrity": "sha512-Aj13l47+uyTjlQNHtXBV8Cji3jb037vxwMWCgopRR8h6xocgBGW3qG8qGlIOEmbXQtkKShKuBM9e8AA1OeQ+xw==", 3418 | "dev": true, 3419 | "dependencies": { 3420 | "js-types": "^1.0.0" 3421 | } 3422 | }, 3423 | "node_modules/is-negative-zero": { 3424 | "version": "2.0.3", 3425 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", 3426 | "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", 3427 | "dev": true, 3428 | "peer": true, 3429 | "engines": { 3430 | "node": ">= 0.4" 3431 | }, 3432 | "funding": { 3433 | "url": "https://github.com/sponsors/ljharb" 3434 | } 3435 | }, 3436 | "node_modules/is-number": { 3437 | "version": "7.0.0", 3438 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3439 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3440 | "dev": true, 3441 | "engines": { 3442 | "node": ">=0.12.0" 3443 | } 3444 | }, 3445 | "node_modules/is-number-object": { 3446 | "version": "1.0.7", 3447 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 3448 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 3449 | "dev": true, 3450 | "peer": true, 3451 | "dependencies": { 3452 | "has-tostringtag": "^1.0.0" 3453 | }, 3454 | "engines": { 3455 | "node": ">= 0.4" 3456 | }, 3457 | "funding": { 3458 | "url": "https://github.com/sponsors/ljharb" 3459 | } 3460 | }, 3461 | "node_modules/is-obj-prop": { 3462 | "version": "1.0.0", 3463 | "resolved": "https://registry.npmjs.org/is-obj-prop/-/is-obj-prop-1.0.0.tgz", 3464 | "integrity": "sha512-5Idb61slRlJlsAzi0Wsfwbp+zZY+9LXKUAZpvT/1ySw+NxKLRWfa0Bzj+wXI3fX5O9hiddm5c3DAaRSNP/yl2w==", 3465 | "dev": true, 3466 | "dependencies": { 3467 | "lowercase-keys": "^1.0.0", 3468 | "obj-props": "^1.0.0" 3469 | } 3470 | }, 3471 | "node_modules/is-path-inside": { 3472 | "version": "3.0.3", 3473 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 3474 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 3475 | "dev": true, 3476 | "engines": { 3477 | "node": ">=8" 3478 | } 3479 | }, 3480 | "node_modules/is-proto-prop": { 3481 | "version": "2.0.0", 3482 | "resolved": "https://registry.npmjs.org/is-proto-prop/-/is-proto-prop-2.0.0.tgz", 3483 | "integrity": "sha512-jl3NbQ/fGLv5Jhan4uX+Ge9ohnemqyblWVVCpAvtTQzNFvV2xhJq+esnkIbYQ9F1nITXoLfDDQLp7LBw/zzncg==", 3484 | "dev": true, 3485 | "dependencies": { 3486 | "lowercase-keys": "^1.0.0", 3487 | "proto-props": "^2.0.0" 3488 | } 3489 | }, 3490 | "node_modules/is-regex": { 3491 | "version": "1.1.4", 3492 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 3493 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 3494 | "dev": true, 3495 | "peer": true, 3496 | "dependencies": { 3497 | "call-bind": "^1.0.2", 3498 | "has-tostringtag": "^1.0.0" 3499 | }, 3500 | "engines": { 3501 | "node": ">= 0.4" 3502 | }, 3503 | "funding": { 3504 | "url": "https://github.com/sponsors/ljharb" 3505 | } 3506 | }, 3507 | "node_modules/is-shared-array-buffer": { 3508 | "version": "1.0.3", 3509 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", 3510 | "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", 3511 | "dev": true, 3512 | "peer": true, 3513 | "dependencies": { 3514 | "call-bind": "^1.0.7" 3515 | }, 3516 | "engines": { 3517 | "node": ">= 0.4" 3518 | }, 3519 | "funding": { 3520 | "url": "https://github.com/sponsors/ljharb" 3521 | } 3522 | }, 3523 | "node_modules/is-stream": { 3524 | "version": "3.0.0", 3525 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 3526 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 3527 | "dev": true, 3528 | "engines": { 3529 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3530 | }, 3531 | "funding": { 3532 | "url": "https://github.com/sponsors/sindresorhus" 3533 | } 3534 | }, 3535 | "node_modules/is-string": { 3536 | "version": "1.0.7", 3537 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 3538 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 3539 | "dev": true, 3540 | "peer": true, 3541 | "dependencies": { 3542 | "has-tostringtag": "^1.0.0" 3543 | }, 3544 | "engines": { 3545 | "node": ">= 0.4" 3546 | }, 3547 | "funding": { 3548 | "url": "https://github.com/sponsors/ljharb" 3549 | } 3550 | }, 3551 | "node_modules/is-symbol": { 3552 | "version": "1.0.4", 3553 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 3554 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 3555 | "dev": true, 3556 | "peer": true, 3557 | "dependencies": { 3558 | "has-symbols": "^1.0.2" 3559 | }, 3560 | "engines": { 3561 | "node": ">= 0.4" 3562 | }, 3563 | "funding": { 3564 | "url": "https://github.com/sponsors/ljharb" 3565 | } 3566 | }, 3567 | "node_modules/is-typed-array": { 3568 | "version": "1.1.13", 3569 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", 3570 | "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", 3571 | "dev": true, 3572 | "peer": true, 3573 | "dependencies": { 3574 | "which-typed-array": "^1.1.14" 3575 | }, 3576 | "engines": { 3577 | "node": ">= 0.4" 3578 | }, 3579 | "funding": { 3580 | "url": "https://github.com/sponsors/ljharb" 3581 | } 3582 | }, 3583 | "node_modules/is-weakref": { 3584 | "version": "1.0.2", 3585 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 3586 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 3587 | "dev": true, 3588 | "peer": true, 3589 | "dependencies": { 3590 | "call-bind": "^1.0.2" 3591 | }, 3592 | "funding": { 3593 | "url": "https://github.com/sponsors/ljharb" 3594 | } 3595 | }, 3596 | "node_modules/isarray": { 3597 | "version": "2.0.5", 3598 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 3599 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 3600 | "dev": true, 3601 | "peer": true 3602 | }, 3603 | "node_modules/isexe": { 3604 | "version": "2.0.0", 3605 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3606 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3607 | "dev": true 3608 | }, 3609 | "node_modules/jest-diff": { 3610 | "version": "29.7.0", 3611 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", 3612 | "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", 3613 | "dev": true, 3614 | "dependencies": { 3615 | "chalk": "^4.0.0", 3616 | "diff-sequences": "^29.6.3", 3617 | "jest-get-type": "^29.6.3", 3618 | "pretty-format": "^29.7.0" 3619 | }, 3620 | "engines": { 3621 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3622 | } 3623 | }, 3624 | "node_modules/jest-extended": { 3625 | "version": "4.0.2", 3626 | "resolved": "https://registry.npmjs.org/jest-extended/-/jest-extended-4.0.2.tgz", 3627 | "integrity": "sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==", 3628 | "dev": true, 3629 | "dependencies": { 3630 | "jest-diff": "^29.0.0", 3631 | "jest-get-type": "^29.0.0" 3632 | }, 3633 | "engines": { 3634 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3635 | }, 3636 | "peerDependencies": { 3637 | "jest": ">=27.2.5" 3638 | }, 3639 | "peerDependenciesMeta": { 3640 | "jest": { 3641 | "optional": true 3642 | } 3643 | } 3644 | }, 3645 | "node_modules/jest-get-type": { 3646 | "version": "29.6.3", 3647 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", 3648 | "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", 3649 | "dev": true, 3650 | "engines": { 3651 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 3652 | } 3653 | }, 3654 | "node_modules/js-tokens": { 3655 | "version": "4.0.0", 3656 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3657 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3658 | "dev": true 3659 | }, 3660 | "node_modules/js-types": { 3661 | "version": "1.0.0", 3662 | "resolved": "https://registry.npmjs.org/js-types/-/js-types-1.0.0.tgz", 3663 | "integrity": "sha512-bfwqBW9cC/Lp7xcRpug7YrXm0IVw+T9e3g4mCYnv0Pjr3zIzU9PCQElYU9oSGAWzXlbdl9X5SAMPejO9sxkeUw==", 3664 | "dev": true, 3665 | "engines": { 3666 | "node": ">=0.10.0" 3667 | } 3668 | }, 3669 | "node_modules/js-yaml": { 3670 | "version": "4.1.0", 3671 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3672 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3673 | "dev": true, 3674 | "dependencies": { 3675 | "argparse": "^2.0.1" 3676 | }, 3677 | "bin": { 3678 | "js-yaml": "bin/js-yaml.js" 3679 | } 3680 | }, 3681 | "node_modules/jsdoc-type-pratt-parser": { 3682 | "version": "4.0.0", 3683 | "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", 3684 | "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", 3685 | "dev": true, 3686 | "engines": { 3687 | "node": ">=12.0.0" 3688 | } 3689 | }, 3690 | "node_modules/jsesc": { 3691 | "version": "3.0.2", 3692 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", 3693 | "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", 3694 | "dev": true, 3695 | "bin": { 3696 | "jsesc": "bin/jsesc" 3697 | }, 3698 | "engines": { 3699 | "node": ">=6" 3700 | } 3701 | }, 3702 | "node_modules/json-buffer": { 3703 | "version": "3.0.1", 3704 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3705 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 3706 | "dev": true 3707 | }, 3708 | "node_modules/json-parse-even-better-errors": { 3709 | "version": "2.3.1", 3710 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", 3711 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", 3712 | "dev": true 3713 | }, 3714 | "node_modules/json-schema-traverse": { 3715 | "version": "0.4.1", 3716 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 3717 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 3718 | "dev": true 3719 | }, 3720 | "node_modules/json-stable-stringify-without-jsonify": { 3721 | "version": "1.0.1", 3722 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 3723 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 3724 | "dev": true 3725 | }, 3726 | "node_modules/json5": { 3727 | "version": "1.0.2", 3728 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", 3729 | "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", 3730 | "dev": true, 3731 | "peer": true, 3732 | "dependencies": { 3733 | "minimist": "^1.2.0" 3734 | }, 3735 | "bin": { 3736 | "json5": "lib/cli.js" 3737 | } 3738 | }, 3739 | "node_modules/keyv": { 3740 | "version": "4.5.4", 3741 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 3742 | "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 3743 | "dev": true, 3744 | "dependencies": { 3745 | "json-buffer": "3.0.1" 3746 | } 3747 | }, 3748 | "node_modules/levn": { 3749 | "version": "0.4.1", 3750 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 3751 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 3752 | "dev": true, 3753 | "dependencies": { 3754 | "prelude-ls": "^1.2.1", 3755 | "type-check": "~0.4.0" 3756 | }, 3757 | "engines": { 3758 | "node": ">= 0.8.0" 3759 | } 3760 | }, 3761 | "node_modules/lines-and-columns": { 3762 | "version": "1.2.4", 3763 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 3764 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 3765 | "dev": true 3766 | }, 3767 | "node_modules/local-pkg": { 3768 | "version": "0.5.0", 3769 | "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", 3770 | "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", 3771 | "dev": true, 3772 | "dependencies": { 3773 | "mlly": "^1.4.2", 3774 | "pkg-types": "^1.0.3" 3775 | }, 3776 | "engines": { 3777 | "node": ">=14" 3778 | }, 3779 | "funding": { 3780 | "url": "https://github.com/sponsors/antfu" 3781 | } 3782 | }, 3783 | "node_modules/locate-path": { 3784 | "version": "6.0.0", 3785 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 3786 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 3787 | "dev": true, 3788 | "dependencies": { 3789 | "p-locate": "^5.0.0" 3790 | }, 3791 | "engines": { 3792 | "node": ">=10" 3793 | }, 3794 | "funding": { 3795 | "url": "https://github.com/sponsors/sindresorhus" 3796 | } 3797 | }, 3798 | "node_modules/lodash.merge": { 3799 | "version": "4.6.2", 3800 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 3801 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 3802 | "dev": true 3803 | }, 3804 | "node_modules/loupe": { 3805 | "version": "2.3.7", 3806 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", 3807 | "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", 3808 | "dev": true, 3809 | "dependencies": { 3810 | "get-func-name": "^2.0.1" 3811 | } 3812 | }, 3813 | "node_modules/lowercase-keys": { 3814 | "version": "1.0.1", 3815 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 3816 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", 3817 | "dev": true, 3818 | "engines": { 3819 | "node": ">=0.10.0" 3820 | } 3821 | }, 3822 | "node_modules/magic-string": { 3823 | "version": "0.30.10", 3824 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", 3825 | "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", 3826 | "dev": true, 3827 | "dependencies": { 3828 | "@jridgewell/sourcemap-codec": "^1.4.15" 3829 | } 3830 | }, 3831 | "node_modules/merge-stream": { 3832 | "version": "2.0.0", 3833 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 3834 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 3835 | "dev": true 3836 | }, 3837 | "node_modules/merge2": { 3838 | "version": "1.4.1", 3839 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 3840 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 3841 | "dev": true, 3842 | "engines": { 3843 | "node": ">= 8" 3844 | } 3845 | }, 3846 | "node_modules/micromatch": { 3847 | "version": "4.0.7", 3848 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", 3849 | "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", 3850 | "dev": true, 3851 | "dependencies": { 3852 | "braces": "^3.0.3", 3853 | "picomatch": "^2.3.1" 3854 | }, 3855 | "engines": { 3856 | "node": ">=8.6" 3857 | } 3858 | }, 3859 | "node_modules/mimic-fn": { 3860 | "version": "4.0.0", 3861 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 3862 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 3863 | "dev": true, 3864 | "engines": { 3865 | "node": ">=12" 3866 | }, 3867 | "funding": { 3868 | "url": "https://github.com/sponsors/sindresorhus" 3869 | } 3870 | }, 3871 | "node_modules/min-indent": { 3872 | "version": "1.0.1", 3873 | "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", 3874 | "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", 3875 | "dev": true, 3876 | "engines": { 3877 | "node": ">=4" 3878 | } 3879 | }, 3880 | "node_modules/minimatch": { 3881 | "version": "3.1.2", 3882 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3883 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3884 | "dev": true, 3885 | "dependencies": { 3886 | "brace-expansion": "^1.1.7" 3887 | }, 3888 | "engines": { 3889 | "node": "*" 3890 | } 3891 | }, 3892 | "node_modules/minimist": { 3893 | "version": "1.2.8", 3894 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3895 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3896 | "dev": true, 3897 | "peer": true, 3898 | "funding": { 3899 | "url": "https://github.com/sponsors/ljharb" 3900 | } 3901 | }, 3902 | "node_modules/mlly": { 3903 | "version": "1.7.0", 3904 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz", 3905 | "integrity": "sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==", 3906 | "dev": true, 3907 | "dependencies": { 3908 | "acorn": "^8.11.3", 3909 | "pathe": "^1.1.2", 3910 | "pkg-types": "^1.1.0", 3911 | "ufo": "^1.5.3" 3912 | } 3913 | }, 3914 | "node_modules/ms": { 3915 | "version": "2.1.2", 3916 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3917 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3918 | "dev": true 3919 | }, 3920 | "node_modules/nanoid": { 3921 | "version": "3.3.7", 3922 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 3923 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 3924 | "dev": true, 3925 | "funding": [ 3926 | { 3927 | "type": "github", 3928 | "url": "https://github.com/sponsors/ai" 3929 | } 3930 | ], 3931 | "bin": { 3932 | "nanoid": "bin/nanoid.cjs" 3933 | }, 3934 | "engines": { 3935 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 3936 | } 3937 | }, 3938 | "node_modules/natural-compare": { 3939 | "version": "1.4.0", 3940 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 3941 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3942 | "dev": true 3943 | }, 3944 | "node_modules/node-releases": { 3945 | "version": "2.0.14", 3946 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 3947 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 3948 | "dev": true 3949 | }, 3950 | "node_modules/normalize-package-data": { 3951 | "version": "2.5.0", 3952 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 3953 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 3954 | "dev": true, 3955 | "dependencies": { 3956 | "hosted-git-info": "^2.1.4", 3957 | "resolve": "^1.10.0", 3958 | "semver": "2 || 3 || 4 || 5", 3959 | "validate-npm-package-license": "^3.0.1" 3960 | } 3961 | }, 3962 | "node_modules/normalize-package-data/node_modules/semver": { 3963 | "version": "5.7.2", 3964 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", 3965 | "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", 3966 | "dev": true, 3967 | "bin": { 3968 | "semver": "bin/semver" 3969 | } 3970 | }, 3971 | "node_modules/npm-run-path": { 3972 | "version": "5.3.0", 3973 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", 3974 | "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", 3975 | "dev": true, 3976 | "dependencies": { 3977 | "path-key": "^4.0.0" 3978 | }, 3979 | "engines": { 3980 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3981 | }, 3982 | "funding": { 3983 | "url": "https://github.com/sponsors/sindresorhus" 3984 | } 3985 | }, 3986 | "node_modules/npm-run-path/node_modules/path-key": { 3987 | "version": "4.0.0", 3988 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 3989 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 3990 | "dev": true, 3991 | "engines": { 3992 | "node": ">=12" 3993 | }, 3994 | "funding": { 3995 | "url": "https://github.com/sponsors/sindresorhus" 3996 | } 3997 | }, 3998 | "node_modules/obj-props": { 3999 | "version": "1.4.0", 4000 | "resolved": "https://registry.npmjs.org/obj-props/-/obj-props-1.4.0.tgz", 4001 | "integrity": "sha512-p7p/7ltzPDiBs6DqxOrIbtRdwxxVRBj5ROukeNb9RgA+fawhrz5n2hpNz8DDmYR//tviJSj7nUnlppGmONkjiQ==", 4002 | "dev": true, 4003 | "engines": { 4004 | "node": ">=0.10.0" 4005 | } 4006 | }, 4007 | "node_modules/object-inspect": { 4008 | "version": "1.13.1", 4009 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 4010 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 4011 | "dev": true, 4012 | "peer": true, 4013 | "funding": { 4014 | "url": "https://github.com/sponsors/ljharb" 4015 | } 4016 | }, 4017 | "node_modules/object-keys": { 4018 | "version": "1.1.1", 4019 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 4020 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 4021 | "dev": true, 4022 | "peer": true, 4023 | "engines": { 4024 | "node": ">= 0.4" 4025 | } 4026 | }, 4027 | "node_modules/object.assign": { 4028 | "version": "4.1.5", 4029 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", 4030 | "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", 4031 | "dev": true, 4032 | "peer": true, 4033 | "dependencies": { 4034 | "call-bind": "^1.0.5", 4035 | "define-properties": "^1.2.1", 4036 | "has-symbols": "^1.0.3", 4037 | "object-keys": "^1.1.1" 4038 | }, 4039 | "engines": { 4040 | "node": ">= 0.4" 4041 | }, 4042 | "funding": { 4043 | "url": "https://github.com/sponsors/ljharb" 4044 | } 4045 | }, 4046 | "node_modules/object.fromentries": { 4047 | "version": "2.0.8", 4048 | "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", 4049 | "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", 4050 | "dev": true, 4051 | "peer": true, 4052 | "dependencies": { 4053 | "call-bind": "^1.0.7", 4054 | "define-properties": "^1.2.1", 4055 | "es-abstract": "^1.23.2", 4056 | "es-object-atoms": "^1.0.0" 4057 | }, 4058 | "engines": { 4059 | "node": ">= 0.4" 4060 | }, 4061 | "funding": { 4062 | "url": "https://github.com/sponsors/ljharb" 4063 | } 4064 | }, 4065 | "node_modules/object.groupby": { 4066 | "version": "1.0.3", 4067 | "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", 4068 | "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", 4069 | "dev": true, 4070 | "peer": true, 4071 | "dependencies": { 4072 | "call-bind": "^1.0.7", 4073 | "define-properties": "^1.2.1", 4074 | "es-abstract": "^1.23.2" 4075 | }, 4076 | "engines": { 4077 | "node": ">= 0.4" 4078 | } 4079 | }, 4080 | "node_modules/object.values": { 4081 | "version": "1.2.0", 4082 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", 4083 | "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", 4084 | "dev": true, 4085 | "peer": true, 4086 | "dependencies": { 4087 | "call-bind": "^1.0.7", 4088 | "define-properties": "^1.2.1", 4089 | "es-object-atoms": "^1.0.0" 4090 | }, 4091 | "engines": { 4092 | "node": ">= 0.4" 4093 | }, 4094 | "funding": { 4095 | "url": "https://github.com/sponsors/ljharb" 4096 | } 4097 | }, 4098 | "node_modules/once": { 4099 | "version": "1.4.0", 4100 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 4101 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 4102 | "dev": true, 4103 | "dependencies": { 4104 | "wrappy": "1" 4105 | } 4106 | }, 4107 | "node_modules/onetime": { 4108 | "version": "6.0.0", 4109 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 4110 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 4111 | "dev": true, 4112 | "dependencies": { 4113 | "mimic-fn": "^4.0.0" 4114 | }, 4115 | "engines": { 4116 | "node": ">=12" 4117 | }, 4118 | "funding": { 4119 | "url": "https://github.com/sponsors/sindresorhus" 4120 | } 4121 | }, 4122 | "node_modules/optionator": { 4123 | "version": "0.9.4", 4124 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", 4125 | "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", 4126 | "dev": true, 4127 | "dependencies": { 4128 | "deep-is": "^0.1.3", 4129 | "fast-levenshtein": "^2.0.6", 4130 | "levn": "^0.4.1", 4131 | "prelude-ls": "^1.2.1", 4132 | "type-check": "^0.4.0", 4133 | "word-wrap": "^1.2.5" 4134 | }, 4135 | "engines": { 4136 | "node": ">= 0.8.0" 4137 | } 4138 | }, 4139 | "node_modules/p-limit": { 4140 | "version": "3.1.0", 4141 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 4142 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 4143 | "dev": true, 4144 | "dependencies": { 4145 | "yocto-queue": "^0.1.0" 4146 | }, 4147 | "engines": { 4148 | "node": ">=10" 4149 | }, 4150 | "funding": { 4151 | "url": "https://github.com/sponsors/sindresorhus" 4152 | } 4153 | }, 4154 | "node_modules/p-locate": { 4155 | "version": "5.0.0", 4156 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 4157 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 4158 | "dev": true, 4159 | "dependencies": { 4160 | "p-limit": "^3.0.2" 4161 | }, 4162 | "engines": { 4163 | "node": ">=10" 4164 | }, 4165 | "funding": { 4166 | "url": "https://github.com/sponsors/sindresorhus" 4167 | } 4168 | }, 4169 | "node_modules/p-try": { 4170 | "version": "2.2.0", 4171 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", 4172 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", 4173 | "dev": true, 4174 | "engines": { 4175 | "node": ">=6" 4176 | } 4177 | }, 4178 | "node_modules/parent-module": { 4179 | "version": "1.0.1", 4180 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 4181 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 4182 | "dev": true, 4183 | "dependencies": { 4184 | "callsites": "^3.0.0" 4185 | }, 4186 | "engines": { 4187 | "node": ">=6" 4188 | } 4189 | }, 4190 | "node_modules/parse-json": { 4191 | "version": "5.2.0", 4192 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", 4193 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", 4194 | "dev": true, 4195 | "dependencies": { 4196 | "@babel/code-frame": "^7.0.0", 4197 | "error-ex": "^1.3.1", 4198 | "json-parse-even-better-errors": "^2.3.0", 4199 | "lines-and-columns": "^1.1.6" 4200 | }, 4201 | "engines": { 4202 | "node": ">=8" 4203 | }, 4204 | "funding": { 4205 | "url": "https://github.com/sponsors/sindresorhus" 4206 | } 4207 | }, 4208 | "node_modules/path-exists": { 4209 | "version": "4.0.0", 4210 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 4211 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 4212 | "dev": true, 4213 | "engines": { 4214 | "node": ">=8" 4215 | } 4216 | }, 4217 | "node_modules/path-is-absolute": { 4218 | "version": "1.0.1", 4219 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 4220 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 4221 | "dev": true, 4222 | "engines": { 4223 | "node": ">=0.10.0" 4224 | } 4225 | }, 4226 | "node_modules/path-key": { 4227 | "version": "3.1.1", 4228 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 4229 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 4230 | "dev": true, 4231 | "engines": { 4232 | "node": ">=8" 4233 | } 4234 | }, 4235 | "node_modules/path-parse": { 4236 | "version": "1.0.7", 4237 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 4238 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 4239 | "dev": true 4240 | }, 4241 | "node_modules/path-type": { 4242 | "version": "4.0.0", 4243 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 4244 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 4245 | "dev": true, 4246 | "engines": { 4247 | "node": ">=8" 4248 | } 4249 | }, 4250 | "node_modules/pathe": { 4251 | "version": "1.1.2", 4252 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", 4253 | "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", 4254 | "dev": true 4255 | }, 4256 | "node_modules/pathval": { 4257 | "version": "1.1.1", 4258 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", 4259 | "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", 4260 | "dev": true, 4261 | "engines": { 4262 | "node": "*" 4263 | } 4264 | }, 4265 | "node_modules/picocolors": { 4266 | "version": "1.0.1", 4267 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", 4268 | "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", 4269 | "dev": true 4270 | }, 4271 | "node_modules/picomatch": { 4272 | "version": "2.3.1", 4273 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 4274 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 4275 | "dev": true, 4276 | "engines": { 4277 | "node": ">=8.6" 4278 | }, 4279 | "funding": { 4280 | "url": "https://github.com/sponsors/jonschlinkert" 4281 | } 4282 | }, 4283 | "node_modules/pkg-types": { 4284 | "version": "1.1.1", 4285 | "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz", 4286 | "integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==", 4287 | "dev": true, 4288 | "dependencies": { 4289 | "confbox": "^0.1.7", 4290 | "mlly": "^1.7.0", 4291 | "pathe": "^1.1.2" 4292 | } 4293 | }, 4294 | "node_modules/pluralize": { 4295 | "version": "8.0.0", 4296 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", 4297 | "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", 4298 | "dev": true, 4299 | "engines": { 4300 | "node": ">=4" 4301 | } 4302 | }, 4303 | "node_modules/possible-typed-array-names": { 4304 | "version": "1.0.0", 4305 | "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", 4306 | "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", 4307 | "dev": true, 4308 | "peer": true, 4309 | "engines": { 4310 | "node": ">= 0.4" 4311 | } 4312 | }, 4313 | "node_modules/postcss": { 4314 | "version": "8.4.38", 4315 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", 4316 | "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", 4317 | "dev": true, 4318 | "funding": [ 4319 | { 4320 | "type": "opencollective", 4321 | "url": "https://opencollective.com/postcss/" 4322 | }, 4323 | { 4324 | "type": "tidelift", 4325 | "url": "https://tidelift.com/funding/github/npm/postcss" 4326 | }, 4327 | { 4328 | "type": "github", 4329 | "url": "https://github.com/sponsors/ai" 4330 | } 4331 | ], 4332 | "dependencies": { 4333 | "nanoid": "^3.3.7", 4334 | "picocolors": "^1.0.0", 4335 | "source-map-js": "^1.2.0" 4336 | }, 4337 | "engines": { 4338 | "node": "^10 || ^12 || >=14" 4339 | } 4340 | }, 4341 | "node_modules/prelude-ls": { 4342 | "version": "1.2.1", 4343 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 4344 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 4345 | "dev": true, 4346 | "engines": { 4347 | "node": ">= 0.8.0" 4348 | } 4349 | }, 4350 | "node_modules/pretty-format": { 4351 | "version": "29.7.0", 4352 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", 4353 | "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", 4354 | "dev": true, 4355 | "dependencies": { 4356 | "@jest/schemas": "^29.6.3", 4357 | "ansi-styles": "^5.0.0", 4358 | "react-is": "^18.0.0" 4359 | }, 4360 | "engines": { 4361 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" 4362 | } 4363 | }, 4364 | "node_modules/pretty-format/node_modules/ansi-styles": { 4365 | "version": "5.2.0", 4366 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", 4367 | "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", 4368 | "dev": true, 4369 | "engines": { 4370 | "node": ">=10" 4371 | }, 4372 | "funding": { 4373 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 4374 | } 4375 | }, 4376 | "node_modules/proto-props": { 4377 | "version": "2.0.0", 4378 | "resolved": "https://registry.npmjs.org/proto-props/-/proto-props-2.0.0.tgz", 4379 | "integrity": "sha512-2yma2tog9VaRZY2mn3Wq51uiSW4NcPYT1cQdBagwyrznrilKSZwIZ0UG3ZPL/mx+axEns0hE35T5ufOYZXEnBQ==", 4380 | "dev": true, 4381 | "engines": { 4382 | "node": ">=4" 4383 | } 4384 | }, 4385 | "node_modules/punycode": { 4386 | "version": "2.3.1", 4387 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4388 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4389 | "dev": true, 4390 | "engines": { 4391 | "node": ">=6" 4392 | } 4393 | }, 4394 | "node_modules/queue-microtask": { 4395 | "version": "1.2.3", 4396 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 4397 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 4398 | "dev": true, 4399 | "funding": [ 4400 | { 4401 | "type": "github", 4402 | "url": "https://github.com/sponsors/feross" 4403 | }, 4404 | { 4405 | "type": "patreon", 4406 | "url": "https://www.patreon.com/feross" 4407 | }, 4408 | { 4409 | "type": "consulting", 4410 | "url": "https://feross.org/support" 4411 | } 4412 | ] 4413 | }, 4414 | "node_modules/react-is": { 4415 | "version": "18.3.1", 4416 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", 4417 | "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", 4418 | "dev": true 4419 | }, 4420 | "node_modules/read-pkg": { 4421 | "version": "5.2.0", 4422 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", 4423 | "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", 4424 | "dev": true, 4425 | "dependencies": { 4426 | "@types/normalize-package-data": "^2.4.0", 4427 | "normalize-package-data": "^2.5.0", 4428 | "parse-json": "^5.0.0", 4429 | "type-fest": "^0.6.0" 4430 | }, 4431 | "engines": { 4432 | "node": ">=8" 4433 | } 4434 | }, 4435 | "node_modules/read-pkg-up": { 4436 | "version": "7.0.1", 4437 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", 4438 | "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", 4439 | "dev": true, 4440 | "dependencies": { 4441 | "find-up": "^4.1.0", 4442 | "read-pkg": "^5.2.0", 4443 | "type-fest": "^0.8.1" 4444 | }, 4445 | "engines": { 4446 | "node": ">=8" 4447 | }, 4448 | "funding": { 4449 | "url": "https://github.com/sponsors/sindresorhus" 4450 | } 4451 | }, 4452 | "node_modules/read-pkg-up/node_modules/find-up": { 4453 | "version": "4.1.0", 4454 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 4455 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 4456 | "dev": true, 4457 | "dependencies": { 4458 | "locate-path": "^5.0.0", 4459 | "path-exists": "^4.0.0" 4460 | }, 4461 | "engines": { 4462 | "node": ">=8" 4463 | } 4464 | }, 4465 | "node_modules/read-pkg-up/node_modules/locate-path": { 4466 | "version": "5.0.0", 4467 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 4468 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 4469 | "dev": true, 4470 | "dependencies": { 4471 | "p-locate": "^4.1.0" 4472 | }, 4473 | "engines": { 4474 | "node": ">=8" 4475 | } 4476 | }, 4477 | "node_modules/read-pkg-up/node_modules/p-limit": { 4478 | "version": "2.3.0", 4479 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 4480 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 4481 | "dev": true, 4482 | "dependencies": { 4483 | "p-try": "^2.0.0" 4484 | }, 4485 | "engines": { 4486 | "node": ">=6" 4487 | }, 4488 | "funding": { 4489 | "url": "https://github.com/sponsors/sindresorhus" 4490 | } 4491 | }, 4492 | "node_modules/read-pkg-up/node_modules/p-locate": { 4493 | "version": "4.1.0", 4494 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 4495 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 4496 | "dev": true, 4497 | "dependencies": { 4498 | "p-limit": "^2.2.0" 4499 | }, 4500 | "engines": { 4501 | "node": ">=8" 4502 | } 4503 | }, 4504 | "node_modules/read-pkg-up/node_modules/type-fest": { 4505 | "version": "0.8.1", 4506 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", 4507 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", 4508 | "dev": true, 4509 | "engines": { 4510 | "node": ">=8" 4511 | } 4512 | }, 4513 | "node_modules/read-pkg/node_modules/type-fest": { 4514 | "version": "0.6.0", 4515 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", 4516 | "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", 4517 | "dev": true, 4518 | "engines": { 4519 | "node": ">=8" 4520 | } 4521 | }, 4522 | "node_modules/refa": { 4523 | "version": "0.12.1", 4524 | "resolved": "https://registry.npmjs.org/refa/-/refa-0.12.1.tgz", 4525 | "integrity": "sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==", 4526 | "dev": true, 4527 | "dependencies": { 4528 | "@eslint-community/regexpp": "^4.8.0" 4529 | }, 4530 | "engines": { 4531 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 4532 | } 4533 | }, 4534 | "node_modules/regexp-ast-analysis": { 4535 | "version": "0.7.1", 4536 | "resolved": "https://registry.npmjs.org/regexp-ast-analysis/-/regexp-ast-analysis-0.7.1.tgz", 4537 | "integrity": "sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==", 4538 | "dev": true, 4539 | "dependencies": { 4540 | "@eslint-community/regexpp": "^4.8.0", 4541 | "refa": "^0.12.1" 4542 | }, 4543 | "engines": { 4544 | "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 4545 | } 4546 | }, 4547 | "node_modules/regexp-tree": { 4548 | "version": "0.1.27", 4549 | "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz", 4550 | "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==", 4551 | "dev": true, 4552 | "bin": { 4553 | "regexp-tree": "bin/regexp-tree" 4554 | } 4555 | }, 4556 | "node_modules/regexp.prototype.flags": { 4557 | "version": "1.5.2", 4558 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", 4559 | "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", 4560 | "dev": true, 4561 | "peer": true, 4562 | "dependencies": { 4563 | "call-bind": "^1.0.6", 4564 | "define-properties": "^1.2.1", 4565 | "es-errors": "^1.3.0", 4566 | "set-function-name": "^2.0.1" 4567 | }, 4568 | "engines": { 4569 | "node": ">= 0.4" 4570 | }, 4571 | "funding": { 4572 | "url": "https://github.com/sponsors/ljharb" 4573 | } 4574 | }, 4575 | "node_modules/regjsparser": { 4576 | "version": "0.10.0", 4577 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.10.0.tgz", 4578 | "integrity": "sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==", 4579 | "dev": true, 4580 | "dependencies": { 4581 | "jsesc": "~0.5.0" 4582 | }, 4583 | "bin": { 4584 | "regjsparser": "bin/parser" 4585 | } 4586 | }, 4587 | "node_modules/regjsparser/node_modules/jsesc": { 4588 | "version": "0.5.0", 4589 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", 4590 | "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", 4591 | "dev": true, 4592 | "bin": { 4593 | "jsesc": "bin/jsesc" 4594 | } 4595 | }, 4596 | "node_modules/resolve": { 4597 | "version": "1.22.8", 4598 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 4599 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 4600 | "dev": true, 4601 | "dependencies": { 4602 | "is-core-module": "^2.13.0", 4603 | "path-parse": "^1.0.7", 4604 | "supports-preserve-symlinks-flag": "^1.0.0" 4605 | }, 4606 | "bin": { 4607 | "resolve": "bin/resolve" 4608 | }, 4609 | "funding": { 4610 | "url": "https://github.com/sponsors/ljharb" 4611 | } 4612 | }, 4613 | "node_modules/resolve-from": { 4614 | "version": "4.0.0", 4615 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 4616 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 4617 | "dev": true, 4618 | "engines": { 4619 | "node": ">=4" 4620 | } 4621 | }, 4622 | "node_modules/resolve-pkg-maps": { 4623 | "version": "1.0.0", 4624 | "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", 4625 | "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", 4626 | "dev": true, 4627 | "funding": { 4628 | "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" 4629 | } 4630 | }, 4631 | "node_modules/reusify": { 4632 | "version": "1.0.4", 4633 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 4634 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 4635 | "dev": true, 4636 | "engines": { 4637 | "iojs": ">=1.0.0", 4638 | "node": ">=0.10.0" 4639 | } 4640 | }, 4641 | "node_modules/rimraf": { 4642 | "version": "3.0.2", 4643 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 4644 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 4645 | "dev": true, 4646 | "dependencies": { 4647 | "glob": "^7.1.3" 4648 | }, 4649 | "bin": { 4650 | "rimraf": "bin.js" 4651 | }, 4652 | "funding": { 4653 | "url": "https://github.com/sponsors/isaacs" 4654 | } 4655 | }, 4656 | "node_modules/rollup": { 4657 | "version": "4.18.0", 4658 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", 4659 | "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", 4660 | "dev": true, 4661 | "dependencies": { 4662 | "@types/estree": "1.0.5" 4663 | }, 4664 | "bin": { 4665 | "rollup": "dist/bin/rollup" 4666 | }, 4667 | "engines": { 4668 | "node": ">=18.0.0", 4669 | "npm": ">=8.0.0" 4670 | }, 4671 | "optionalDependencies": { 4672 | "@rollup/rollup-android-arm-eabi": "4.18.0", 4673 | "@rollup/rollup-android-arm64": "4.18.0", 4674 | "@rollup/rollup-darwin-arm64": "4.18.0", 4675 | "@rollup/rollup-darwin-x64": "4.18.0", 4676 | "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", 4677 | "@rollup/rollup-linux-arm-musleabihf": "4.18.0", 4678 | "@rollup/rollup-linux-arm64-gnu": "4.18.0", 4679 | "@rollup/rollup-linux-arm64-musl": "4.18.0", 4680 | "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", 4681 | "@rollup/rollup-linux-riscv64-gnu": "4.18.0", 4682 | "@rollup/rollup-linux-s390x-gnu": "4.18.0", 4683 | "@rollup/rollup-linux-x64-gnu": "4.18.0", 4684 | "@rollup/rollup-linux-x64-musl": "4.18.0", 4685 | "@rollup/rollup-win32-arm64-msvc": "4.18.0", 4686 | "@rollup/rollup-win32-ia32-msvc": "4.18.0", 4687 | "@rollup/rollup-win32-x64-msvc": "4.18.0", 4688 | "fsevents": "~2.3.2" 4689 | } 4690 | }, 4691 | "node_modules/run-parallel": { 4692 | "version": "1.2.0", 4693 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4694 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4695 | "dev": true, 4696 | "funding": [ 4697 | { 4698 | "type": "github", 4699 | "url": "https://github.com/sponsors/feross" 4700 | }, 4701 | { 4702 | "type": "patreon", 4703 | "url": "https://www.patreon.com/feross" 4704 | }, 4705 | { 4706 | "type": "consulting", 4707 | "url": "https://feross.org/support" 4708 | } 4709 | ], 4710 | "dependencies": { 4711 | "queue-microtask": "^1.2.2" 4712 | } 4713 | }, 4714 | "node_modules/rw": { 4715 | "version": "1.3.3", 4716 | "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", 4717 | "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", 4718 | "dev": true 4719 | }, 4720 | "node_modules/safe-array-concat": { 4721 | "version": "1.1.2", 4722 | "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", 4723 | "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", 4724 | "dev": true, 4725 | "peer": true, 4726 | "dependencies": { 4727 | "call-bind": "^1.0.7", 4728 | "get-intrinsic": "^1.2.4", 4729 | "has-symbols": "^1.0.3", 4730 | "isarray": "^2.0.5" 4731 | }, 4732 | "engines": { 4733 | "node": ">=0.4" 4734 | }, 4735 | "funding": { 4736 | "url": "https://github.com/sponsors/ljharb" 4737 | } 4738 | }, 4739 | "node_modules/safe-regex-test": { 4740 | "version": "1.0.3", 4741 | "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", 4742 | "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", 4743 | "dev": true, 4744 | "peer": true, 4745 | "dependencies": { 4746 | "call-bind": "^1.0.6", 4747 | "es-errors": "^1.3.0", 4748 | "is-regex": "^1.1.4" 4749 | }, 4750 | "engines": { 4751 | "node": ">= 0.4" 4752 | }, 4753 | "funding": { 4754 | "url": "https://github.com/sponsors/ljharb" 4755 | } 4756 | }, 4757 | "node_modules/safer-buffer": { 4758 | "version": "2.1.2", 4759 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 4760 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 4761 | "dev": true 4762 | }, 4763 | "node_modules/scslre": { 4764 | "version": "0.3.0", 4765 | "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", 4766 | "integrity": "sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==", 4767 | "dev": true, 4768 | "dependencies": { 4769 | "@eslint-community/regexpp": "^4.8.0", 4770 | "refa": "^0.12.0", 4771 | "regexp-ast-analysis": "^0.7.0" 4772 | }, 4773 | "engines": { 4774 | "node": "^14.0.0 || >=16.0.0" 4775 | } 4776 | }, 4777 | "node_modules/semver": { 4778 | "version": "7.6.2", 4779 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", 4780 | "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", 4781 | "dev": true, 4782 | "bin": { 4783 | "semver": "bin/semver.js" 4784 | }, 4785 | "engines": { 4786 | "node": ">=10" 4787 | } 4788 | }, 4789 | "node_modules/set-function-length": { 4790 | "version": "1.2.2", 4791 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 4792 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 4793 | "dev": true, 4794 | "peer": true, 4795 | "dependencies": { 4796 | "define-data-property": "^1.1.4", 4797 | "es-errors": "^1.3.0", 4798 | "function-bind": "^1.1.2", 4799 | "get-intrinsic": "^1.2.4", 4800 | "gopd": "^1.0.1", 4801 | "has-property-descriptors": "^1.0.2" 4802 | }, 4803 | "engines": { 4804 | "node": ">= 0.4" 4805 | } 4806 | }, 4807 | "node_modules/set-function-name": { 4808 | "version": "2.0.2", 4809 | "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", 4810 | "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", 4811 | "dev": true, 4812 | "peer": true, 4813 | "dependencies": { 4814 | "define-data-property": "^1.1.4", 4815 | "es-errors": "^1.3.0", 4816 | "functions-have-names": "^1.2.3", 4817 | "has-property-descriptors": "^1.0.2" 4818 | }, 4819 | "engines": { 4820 | "node": ">= 0.4" 4821 | } 4822 | }, 4823 | "node_modules/shebang-command": { 4824 | "version": "2.0.0", 4825 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 4826 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 4827 | "dev": true, 4828 | "dependencies": { 4829 | "shebang-regex": "^3.0.0" 4830 | }, 4831 | "engines": { 4832 | "node": ">=8" 4833 | } 4834 | }, 4835 | "node_modules/shebang-regex": { 4836 | "version": "3.0.0", 4837 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 4838 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 4839 | "dev": true, 4840 | "engines": { 4841 | "node": ">=8" 4842 | } 4843 | }, 4844 | "node_modules/side-channel": { 4845 | "version": "1.0.6", 4846 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", 4847 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", 4848 | "dev": true, 4849 | "peer": true, 4850 | "dependencies": { 4851 | "call-bind": "^1.0.7", 4852 | "es-errors": "^1.3.0", 4853 | "get-intrinsic": "^1.2.4", 4854 | "object-inspect": "^1.13.1" 4855 | }, 4856 | "engines": { 4857 | "node": ">= 0.4" 4858 | }, 4859 | "funding": { 4860 | "url": "https://github.com/sponsors/ljharb" 4861 | } 4862 | }, 4863 | "node_modules/siginfo": { 4864 | "version": "2.0.0", 4865 | "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 4866 | "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 4867 | "dev": true 4868 | }, 4869 | "node_modules/signal-exit": { 4870 | "version": "4.1.0", 4871 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 4872 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 4873 | "dev": true, 4874 | "engines": { 4875 | "node": ">=14" 4876 | }, 4877 | "funding": { 4878 | "url": "https://github.com/sponsors/isaacs" 4879 | } 4880 | }, 4881 | "node_modules/slash": { 4882 | "version": "3.0.0", 4883 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 4884 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 4885 | "dev": true, 4886 | "engines": { 4887 | "node": ">=8" 4888 | } 4889 | }, 4890 | "node_modules/source-map-js": { 4891 | "version": "1.2.0", 4892 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 4893 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 4894 | "dev": true, 4895 | "engines": { 4896 | "node": ">=0.10.0" 4897 | } 4898 | }, 4899 | "node_modules/spdx-correct": { 4900 | "version": "3.2.0", 4901 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", 4902 | "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", 4903 | "dev": true, 4904 | "dependencies": { 4905 | "spdx-expression-parse": "^3.0.0", 4906 | "spdx-license-ids": "^3.0.0" 4907 | } 4908 | }, 4909 | "node_modules/spdx-exceptions": { 4910 | "version": "2.5.0", 4911 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", 4912 | "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", 4913 | "dev": true 4914 | }, 4915 | "node_modules/spdx-expression-parse": { 4916 | "version": "3.0.1", 4917 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", 4918 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", 4919 | "dev": true, 4920 | "dependencies": { 4921 | "spdx-exceptions": "^2.1.0", 4922 | "spdx-license-ids": "^3.0.0" 4923 | } 4924 | }, 4925 | "node_modules/spdx-license-ids": { 4926 | "version": "3.0.17", 4927 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", 4928 | "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", 4929 | "dev": true 4930 | }, 4931 | "node_modules/stackback": { 4932 | "version": "0.0.2", 4933 | "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 4934 | "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 4935 | "dev": true 4936 | }, 4937 | "node_modules/std-env": { 4938 | "version": "3.7.0", 4939 | "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", 4940 | "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", 4941 | "dev": true 4942 | }, 4943 | "node_modules/string.prototype.trim": { 4944 | "version": "1.2.9", 4945 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", 4946 | "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", 4947 | "dev": true, 4948 | "peer": true, 4949 | "dependencies": { 4950 | "call-bind": "^1.0.7", 4951 | "define-properties": "^1.2.1", 4952 | "es-abstract": "^1.23.0", 4953 | "es-object-atoms": "^1.0.0" 4954 | }, 4955 | "engines": { 4956 | "node": ">= 0.4" 4957 | }, 4958 | "funding": { 4959 | "url": "https://github.com/sponsors/ljharb" 4960 | } 4961 | }, 4962 | "node_modules/string.prototype.trimend": { 4963 | "version": "1.0.8", 4964 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", 4965 | "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", 4966 | "dev": true, 4967 | "peer": true, 4968 | "dependencies": { 4969 | "call-bind": "^1.0.7", 4970 | "define-properties": "^1.2.1", 4971 | "es-object-atoms": "^1.0.0" 4972 | }, 4973 | "funding": { 4974 | "url": "https://github.com/sponsors/ljharb" 4975 | } 4976 | }, 4977 | "node_modules/string.prototype.trimstart": { 4978 | "version": "1.0.8", 4979 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", 4980 | "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", 4981 | "dev": true, 4982 | "peer": true, 4983 | "dependencies": { 4984 | "call-bind": "^1.0.7", 4985 | "define-properties": "^1.2.1", 4986 | "es-object-atoms": "^1.0.0" 4987 | }, 4988 | "engines": { 4989 | "node": ">= 0.4" 4990 | }, 4991 | "funding": { 4992 | "url": "https://github.com/sponsors/ljharb" 4993 | } 4994 | }, 4995 | "node_modules/strip-ansi": { 4996 | "version": "6.0.1", 4997 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4998 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4999 | "dev": true, 5000 | "dependencies": { 5001 | "ansi-regex": "^5.0.1" 5002 | }, 5003 | "engines": { 5004 | "node": ">=8" 5005 | } 5006 | }, 5007 | "node_modules/strip-bom": { 5008 | "version": "3.0.0", 5009 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 5010 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 5011 | "dev": true, 5012 | "peer": true, 5013 | "engines": { 5014 | "node": ">=4" 5015 | } 5016 | }, 5017 | "node_modules/strip-final-newline": { 5018 | "version": "3.0.0", 5019 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 5020 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 5021 | "dev": true, 5022 | "engines": { 5023 | "node": ">=12" 5024 | }, 5025 | "funding": { 5026 | "url": "https://github.com/sponsors/sindresorhus" 5027 | } 5028 | }, 5029 | "node_modules/strip-indent": { 5030 | "version": "3.0.0", 5031 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", 5032 | "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", 5033 | "dev": true, 5034 | "dependencies": { 5035 | "min-indent": "^1.0.0" 5036 | }, 5037 | "engines": { 5038 | "node": ">=8" 5039 | } 5040 | }, 5041 | "node_modules/strip-json-comments": { 5042 | "version": "3.1.1", 5043 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 5044 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 5045 | "dev": true, 5046 | "engines": { 5047 | "node": ">=8" 5048 | }, 5049 | "funding": { 5050 | "url": "https://github.com/sponsors/sindresorhus" 5051 | } 5052 | }, 5053 | "node_modules/strip-literal": { 5054 | "version": "2.1.0", 5055 | "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", 5056 | "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==", 5057 | "dev": true, 5058 | "dependencies": { 5059 | "js-tokens": "^9.0.0" 5060 | }, 5061 | "funding": { 5062 | "url": "https://github.com/sponsors/antfu" 5063 | } 5064 | }, 5065 | "node_modules/strip-literal/node_modules/js-tokens": { 5066 | "version": "9.0.0", 5067 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz", 5068 | "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", 5069 | "dev": true 5070 | }, 5071 | "node_modules/supports-color": { 5072 | "version": "7.2.0", 5073 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 5074 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 5075 | "dev": true, 5076 | "dependencies": { 5077 | "has-flag": "^4.0.0" 5078 | }, 5079 | "engines": { 5080 | "node": ">=8" 5081 | } 5082 | }, 5083 | "node_modules/supports-preserve-symlinks-flag": { 5084 | "version": "1.0.0", 5085 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 5086 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 5087 | "dev": true, 5088 | "engines": { 5089 | "node": ">= 0.4" 5090 | }, 5091 | "funding": { 5092 | "url": "https://github.com/sponsors/ljharb" 5093 | } 5094 | }, 5095 | "node_modules/tapable": { 5096 | "version": "2.2.1", 5097 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", 5098 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", 5099 | "dev": true, 5100 | "engines": { 5101 | "node": ">=6" 5102 | } 5103 | }, 5104 | "node_modules/text-table": { 5105 | "version": "0.2.0", 5106 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 5107 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 5108 | "dev": true 5109 | }, 5110 | "node_modules/tinybench": { 5111 | "version": "2.8.0", 5112 | "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", 5113 | "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", 5114 | "dev": true 5115 | }, 5116 | "node_modules/tinypool": { 5117 | "version": "0.8.4", 5118 | "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz", 5119 | "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==", 5120 | "dev": true, 5121 | "engines": { 5122 | "node": ">=14.0.0" 5123 | } 5124 | }, 5125 | "node_modules/tinyspy": { 5126 | "version": "2.2.1", 5127 | "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", 5128 | "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", 5129 | "dev": true, 5130 | "engines": { 5131 | "node": ">=14.0.0" 5132 | } 5133 | }, 5134 | "node_modules/to-regex-range": { 5135 | "version": "5.0.1", 5136 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 5137 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 5138 | "dev": true, 5139 | "dependencies": { 5140 | "is-number": "^7.0.0" 5141 | }, 5142 | "engines": { 5143 | "node": ">=8.0" 5144 | } 5145 | }, 5146 | "node_modules/ts-api-utils": { 5147 | "version": "1.3.0", 5148 | "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", 5149 | "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", 5150 | "dev": true, 5151 | "engines": { 5152 | "node": ">=16" 5153 | }, 5154 | "peerDependencies": { 5155 | "typescript": ">=4.2.0" 5156 | } 5157 | }, 5158 | "node_modules/tsconfig-paths": { 5159 | "version": "3.15.0", 5160 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", 5161 | "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", 5162 | "dev": true, 5163 | "peer": true, 5164 | "dependencies": { 5165 | "@types/json5": "^0.0.29", 5166 | "json5": "^1.0.2", 5167 | "minimist": "^1.2.6", 5168 | "strip-bom": "^3.0.0" 5169 | } 5170 | }, 5171 | "node_modules/type-check": { 5172 | "version": "0.4.0", 5173 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 5174 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 5175 | "dev": true, 5176 | "dependencies": { 5177 | "prelude-ls": "^1.2.1" 5178 | }, 5179 | "engines": { 5180 | "node": ">= 0.8.0" 5181 | } 5182 | }, 5183 | "node_modules/type-detect": { 5184 | "version": "4.0.8", 5185 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", 5186 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", 5187 | "dev": true, 5188 | "engines": { 5189 | "node": ">=4" 5190 | } 5191 | }, 5192 | "node_modules/type-fest": { 5193 | "version": "0.20.2", 5194 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 5195 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 5196 | "dev": true, 5197 | "engines": { 5198 | "node": ">=10" 5199 | }, 5200 | "funding": { 5201 | "url": "https://github.com/sponsors/sindresorhus" 5202 | } 5203 | }, 5204 | "node_modules/typed-array-buffer": { 5205 | "version": "1.0.2", 5206 | "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", 5207 | "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", 5208 | "dev": true, 5209 | "peer": true, 5210 | "dependencies": { 5211 | "call-bind": "^1.0.7", 5212 | "es-errors": "^1.3.0", 5213 | "is-typed-array": "^1.1.13" 5214 | }, 5215 | "engines": { 5216 | "node": ">= 0.4" 5217 | } 5218 | }, 5219 | "node_modules/typed-array-byte-length": { 5220 | "version": "1.0.1", 5221 | "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", 5222 | "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", 5223 | "dev": true, 5224 | "peer": true, 5225 | "dependencies": { 5226 | "call-bind": "^1.0.7", 5227 | "for-each": "^0.3.3", 5228 | "gopd": "^1.0.1", 5229 | "has-proto": "^1.0.3", 5230 | "is-typed-array": "^1.1.13" 5231 | }, 5232 | "engines": { 5233 | "node": ">= 0.4" 5234 | }, 5235 | "funding": { 5236 | "url": "https://github.com/sponsors/ljharb" 5237 | } 5238 | }, 5239 | "node_modules/typed-array-byte-offset": { 5240 | "version": "1.0.2", 5241 | "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", 5242 | "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", 5243 | "dev": true, 5244 | "peer": true, 5245 | "dependencies": { 5246 | "available-typed-arrays": "^1.0.7", 5247 | "call-bind": "^1.0.7", 5248 | "for-each": "^0.3.3", 5249 | "gopd": "^1.0.1", 5250 | "has-proto": "^1.0.3", 5251 | "is-typed-array": "^1.1.13" 5252 | }, 5253 | "engines": { 5254 | "node": ">= 0.4" 5255 | }, 5256 | "funding": { 5257 | "url": "https://github.com/sponsors/ljharb" 5258 | } 5259 | }, 5260 | "node_modules/typed-array-length": { 5261 | "version": "1.0.6", 5262 | "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", 5263 | "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", 5264 | "dev": true, 5265 | "peer": true, 5266 | "dependencies": { 5267 | "call-bind": "^1.0.7", 5268 | "for-each": "^0.3.3", 5269 | "gopd": "^1.0.1", 5270 | "has-proto": "^1.0.3", 5271 | "is-typed-array": "^1.1.13", 5272 | "possible-typed-array-names": "^1.0.0" 5273 | }, 5274 | "engines": { 5275 | "node": ">= 0.4" 5276 | }, 5277 | "funding": { 5278 | "url": "https://github.com/sponsors/ljharb" 5279 | } 5280 | }, 5281 | "node_modules/typescript": { 5282 | "version": "5.4.5", 5283 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", 5284 | "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", 5285 | "dev": true, 5286 | "peer": true, 5287 | "bin": { 5288 | "tsc": "bin/tsc", 5289 | "tsserver": "bin/tsserver" 5290 | }, 5291 | "engines": { 5292 | "node": ">=14.17" 5293 | } 5294 | }, 5295 | "node_modules/ufo": { 5296 | "version": "1.5.3", 5297 | "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", 5298 | "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", 5299 | "dev": true 5300 | }, 5301 | "node_modules/unbox-primitive": { 5302 | "version": "1.0.2", 5303 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 5304 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 5305 | "dev": true, 5306 | "peer": true, 5307 | "dependencies": { 5308 | "call-bind": "^1.0.2", 5309 | "has-bigints": "^1.0.2", 5310 | "has-symbols": "^1.0.3", 5311 | "which-boxed-primitive": "^1.0.2" 5312 | }, 5313 | "funding": { 5314 | "url": "https://github.com/sponsors/ljharb" 5315 | } 5316 | }, 5317 | "node_modules/update-browserslist-db": { 5318 | "version": "1.0.16", 5319 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", 5320 | "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", 5321 | "dev": true, 5322 | "funding": [ 5323 | { 5324 | "type": "opencollective", 5325 | "url": "https://opencollective.com/browserslist" 5326 | }, 5327 | { 5328 | "type": "tidelift", 5329 | "url": "https://tidelift.com/funding/github/npm/browserslist" 5330 | }, 5331 | { 5332 | "type": "github", 5333 | "url": "https://github.com/sponsors/ai" 5334 | } 5335 | ], 5336 | "dependencies": { 5337 | "escalade": "^3.1.2", 5338 | "picocolors": "^1.0.1" 5339 | }, 5340 | "bin": { 5341 | "update-browserslist-db": "cli.js" 5342 | }, 5343 | "peerDependencies": { 5344 | "browserslist": ">= 4.21.0" 5345 | } 5346 | }, 5347 | "node_modules/updates": { 5348 | "version": "16.1.1", 5349 | "resolved": "https://registry.npmjs.org/updates/-/updates-16.1.1.tgz", 5350 | "integrity": "sha512-h0Qtbmd9RCi6+99D5o7ACq4h7GxdYjeHFlxd4s0iO3lUOUDo1VnOsbNNIyjHpieVEctaEm/zoEjVggCgAcO/vg==", 5351 | "dev": true, 5352 | "bin": { 5353 | "updates": "dist/updates.js" 5354 | }, 5355 | "engines": { 5356 | "node": ">=18" 5357 | } 5358 | }, 5359 | "node_modules/uri-js": { 5360 | "version": "4.4.1", 5361 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 5362 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 5363 | "dev": true, 5364 | "dependencies": { 5365 | "punycode": "^2.1.0" 5366 | } 5367 | }, 5368 | "node_modules/validate-npm-package-license": { 5369 | "version": "3.0.4", 5370 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 5371 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 5372 | "dev": true, 5373 | "dependencies": { 5374 | "spdx-correct": "^3.0.0", 5375 | "spdx-expression-parse": "^3.0.0" 5376 | } 5377 | }, 5378 | "node_modules/versions": { 5379 | "version": "12.0.2", 5380 | "resolved": "https://registry.npmjs.org/versions/-/versions-12.0.2.tgz", 5381 | "integrity": "sha512-oPSZH3v6NYd1z0dhKzU84jIylVsW8vj9HV9fs5nPhO1JgNvt59iFnXLJLQmR6HRx97quuO9+DQJHGRNkMBaTEw==", 5382 | "dev": true, 5383 | "bin": { 5384 | "versions": "dist/versions.js" 5385 | }, 5386 | "engines": { 5387 | "node": ">=18" 5388 | } 5389 | }, 5390 | "node_modules/vite": { 5391 | "version": "5.2.11", 5392 | "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz", 5393 | "integrity": "sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==", 5394 | "dev": true, 5395 | "dependencies": { 5396 | "esbuild": "^0.20.1", 5397 | "postcss": "^8.4.38", 5398 | "rollup": "^4.13.0" 5399 | }, 5400 | "bin": { 5401 | "vite": "bin/vite.js" 5402 | }, 5403 | "engines": { 5404 | "node": "^18.0.0 || >=20.0.0" 5405 | }, 5406 | "funding": { 5407 | "url": "https://github.com/vitejs/vite?sponsor=1" 5408 | }, 5409 | "optionalDependencies": { 5410 | "fsevents": "~2.3.3" 5411 | }, 5412 | "peerDependencies": { 5413 | "@types/node": "^18.0.0 || >=20.0.0", 5414 | "less": "*", 5415 | "lightningcss": "^1.21.0", 5416 | "sass": "*", 5417 | "stylus": "*", 5418 | "sugarss": "*", 5419 | "terser": "^5.4.0" 5420 | }, 5421 | "peerDependenciesMeta": { 5422 | "@types/node": { 5423 | "optional": true 5424 | }, 5425 | "less": { 5426 | "optional": true 5427 | }, 5428 | "lightningcss": { 5429 | "optional": true 5430 | }, 5431 | "sass": { 5432 | "optional": true 5433 | }, 5434 | "stylus": { 5435 | "optional": true 5436 | }, 5437 | "sugarss": { 5438 | "optional": true 5439 | }, 5440 | "terser": { 5441 | "optional": true 5442 | } 5443 | } 5444 | }, 5445 | "node_modules/vite-node": { 5446 | "version": "1.6.0", 5447 | "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", 5448 | "integrity": "sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==", 5449 | "dev": true, 5450 | "dependencies": { 5451 | "cac": "^6.7.14", 5452 | "debug": "^4.3.4", 5453 | "pathe": "^1.1.1", 5454 | "picocolors": "^1.0.0", 5455 | "vite": "^5.0.0" 5456 | }, 5457 | "bin": { 5458 | "vite-node": "vite-node.mjs" 5459 | }, 5460 | "engines": { 5461 | "node": "^18.0.0 || >=20.0.0" 5462 | }, 5463 | "funding": { 5464 | "url": "https://opencollective.com/vitest" 5465 | } 5466 | }, 5467 | "node_modules/vite-string-plugin": { 5468 | "version": "1.3.1", 5469 | "resolved": "https://registry.npmjs.org/vite-string-plugin/-/vite-string-plugin-1.3.1.tgz", 5470 | "integrity": "sha512-0Wu9yNw4QlSVM4SlwozzxR0geMoKFrAIpMldgPuzDvV8lWT1v+0pFXYt+t48qocYXBaxiuVRE3qcsEwFDHBAmA==", 5471 | "dev": true 5472 | }, 5473 | "node_modules/vitest": { 5474 | "version": "1.6.0", 5475 | "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.0.tgz", 5476 | "integrity": "sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==", 5477 | "dev": true, 5478 | "dependencies": { 5479 | "@vitest/expect": "1.6.0", 5480 | "@vitest/runner": "1.6.0", 5481 | "@vitest/snapshot": "1.6.0", 5482 | "@vitest/spy": "1.6.0", 5483 | "@vitest/utils": "1.6.0", 5484 | "acorn-walk": "^8.3.2", 5485 | "chai": "^4.3.10", 5486 | "debug": "^4.3.4", 5487 | "execa": "^8.0.1", 5488 | "local-pkg": "^0.5.0", 5489 | "magic-string": "^0.30.5", 5490 | "pathe": "^1.1.1", 5491 | "picocolors": "^1.0.0", 5492 | "std-env": "^3.5.0", 5493 | "strip-literal": "^2.0.0", 5494 | "tinybench": "^2.5.1", 5495 | "tinypool": "^0.8.3", 5496 | "vite": "^5.0.0", 5497 | "vite-node": "1.6.0", 5498 | "why-is-node-running": "^2.2.2" 5499 | }, 5500 | "bin": { 5501 | "vitest": "vitest.mjs" 5502 | }, 5503 | "engines": { 5504 | "node": "^18.0.0 || >=20.0.0" 5505 | }, 5506 | "funding": { 5507 | "url": "https://opencollective.com/vitest" 5508 | }, 5509 | "peerDependencies": { 5510 | "@edge-runtime/vm": "*", 5511 | "@types/node": "^18.0.0 || >=20.0.0", 5512 | "@vitest/browser": "1.6.0", 5513 | "@vitest/ui": "1.6.0", 5514 | "happy-dom": "*", 5515 | "jsdom": "*" 5516 | }, 5517 | "peerDependenciesMeta": { 5518 | "@edge-runtime/vm": { 5519 | "optional": true 5520 | }, 5521 | "@types/node": { 5522 | "optional": true 5523 | }, 5524 | "@vitest/browser": { 5525 | "optional": true 5526 | }, 5527 | "@vitest/ui": { 5528 | "optional": true 5529 | }, 5530 | "happy-dom": { 5531 | "optional": true 5532 | }, 5533 | "jsdom": { 5534 | "optional": true 5535 | } 5536 | } 5537 | }, 5538 | "node_modules/vitest-config-silverwind": { 5539 | "version": "9.0.6", 5540 | "resolved": "https://registry.npmjs.org/vitest-config-silverwind/-/vitest-config-silverwind-9.0.6.tgz", 5541 | "integrity": "sha512-gdXgNUSi7Aul72nfD99OYgl/qfhdfxhx1Ak4023L6WyiO5ukmka2BXMd8MdpITJBoyoBTMkHVLFFxi188AhGiA==", 5542 | "dev": true, 5543 | "dependencies": { 5544 | "jest-extended": "4.0.2", 5545 | "vite-string-plugin": "^1.3.1" 5546 | }, 5547 | "engines": { 5548 | "node": ">=18" 5549 | }, 5550 | "peerDependencies": { 5551 | "happy-dom": "*" 5552 | }, 5553 | "peerDependenciesMeta": { 5554 | "happy-dom": { 5555 | "optional": true 5556 | } 5557 | } 5558 | }, 5559 | "node_modules/which": { 5560 | "version": "2.0.2", 5561 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 5562 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 5563 | "dev": true, 5564 | "dependencies": { 5565 | "isexe": "^2.0.0" 5566 | }, 5567 | "bin": { 5568 | "node-which": "bin/node-which" 5569 | }, 5570 | "engines": { 5571 | "node": ">= 8" 5572 | } 5573 | }, 5574 | "node_modules/which-boxed-primitive": { 5575 | "version": "1.0.2", 5576 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 5577 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 5578 | "dev": true, 5579 | "peer": true, 5580 | "dependencies": { 5581 | "is-bigint": "^1.0.1", 5582 | "is-boolean-object": "^1.1.0", 5583 | "is-number-object": "^1.0.4", 5584 | "is-string": "^1.0.5", 5585 | "is-symbol": "^1.0.3" 5586 | }, 5587 | "funding": { 5588 | "url": "https://github.com/sponsors/ljharb" 5589 | } 5590 | }, 5591 | "node_modules/which-typed-array": { 5592 | "version": "1.1.15", 5593 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", 5594 | "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", 5595 | "dev": true, 5596 | "peer": true, 5597 | "dependencies": { 5598 | "available-typed-arrays": "^1.0.7", 5599 | "call-bind": "^1.0.7", 5600 | "for-each": "^0.3.3", 5601 | "gopd": "^1.0.1", 5602 | "has-tostringtag": "^1.0.2" 5603 | }, 5604 | "engines": { 5605 | "node": ">= 0.4" 5606 | }, 5607 | "funding": { 5608 | "url": "https://github.com/sponsors/ljharb" 5609 | } 5610 | }, 5611 | "node_modules/why-is-node-running": { 5612 | "version": "2.2.2", 5613 | "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", 5614 | "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", 5615 | "dev": true, 5616 | "dependencies": { 5617 | "siginfo": "^2.0.0", 5618 | "stackback": "0.0.2" 5619 | }, 5620 | "bin": { 5621 | "why-is-node-running": "cli.js" 5622 | }, 5623 | "engines": { 5624 | "node": ">=8" 5625 | } 5626 | }, 5627 | "node_modules/word-wrap": { 5628 | "version": "1.2.5", 5629 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", 5630 | "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", 5631 | "dev": true, 5632 | "engines": { 5633 | "node": ">=0.10.0" 5634 | } 5635 | }, 5636 | "node_modules/wrappy": { 5637 | "version": "1.0.2", 5638 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 5639 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 5640 | "dev": true 5641 | }, 5642 | "node_modules/yocto-queue": { 5643 | "version": "0.1.0", 5644 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 5645 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 5646 | "dev": true, 5647 | "engines": { 5648 | "node": ">=10" 5649 | }, 5650 | "funding": { 5651 | "url": "https://github.com/sponsors/sindresorhus" 5652 | } 5653 | } 5654 | } 5655 | } 5656 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "port-numbers", 3 | "version": "8.0.26", 4 | "description": "Holds information on network port numbers, based on IANA's data", 5 | "author": "silverwind", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/silverwind/port-numbers.git" 9 | }, 10 | "license": "BSD-2-Clause", 11 | "type": "module", 12 | "sideEffects": false, 13 | "main": "./index.json", 14 | "exports": "./index.json", 15 | "files": [ 16 | "./index.json" 17 | ], 18 | "devDependencies": { 19 | "d3-dsv": "3.0.1", 20 | "eslint": "8.57.0", 21 | "eslint-config-silverwind": "85.1.4", 22 | "updates": "16.1.1", 23 | "versions": "12.0.2", 24 | "vitest": "1.6.0", 25 | "vitest-config-silverwind": "9.0.6" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /snapshots/index.test.js.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`ports 1`] = ` 4 | [ 5 | "", 6 | "Reserved", 7 | ] 8 | `; 9 | 10 | exports[`ports 2`] = ` 11 | [ 12 | "mysql", 13 | "MySQL", 14 | ] 15 | `; 16 | 17 | exports[`ports 3`] = ` 18 | [ 19 | "domain", 20 | "Domain Name Server", 21 | ] 22 | `; 23 | 24 | exports[`ports 4`] = `undefined`; 25 | 26 | exports[`ports 5`] = ` 27 | [ 28 | "www-http", 29 | "World Wide Web HTTP", 30 | ] 31 | `; 32 | -------------------------------------------------------------------------------- /update-data.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import {csvParse} from "d3-dsv"; 3 | import {writeFileSync} from "node:fs"; 4 | 5 | function cleanupDescription(str) { 6 | return (str || "") 7 | .replace(/\nIANA assigned this.*/g, "") // remove historical descriptions 8 | .replace(/\s+/g, " ") // force description to be single-line 9 | .trim(); 10 | } 11 | 12 | function exit(err) { 13 | if (err) console.error(err); 14 | process.exit(err ? 1 : 0); 15 | } 16 | 17 | async function main() { 18 | const res = await fetch("https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.csv"); 19 | const text = await res.text(); 20 | 21 | const output = {}; 22 | for (const { 23 | "Service Name": name, 24 | "Port Number": port, 25 | "Transport Protocol": proto, 26 | "Description": descr, 27 | } of csvParse(text)) { 28 | if (port && proto && !Number.isNaN(Number(port))) { 29 | output[`${port}/${proto}`] = [name, cleanupDescription(descr)]; 30 | } 31 | } 32 | writeFileSync(new URL("index.json", import.meta.url), JSON.stringify(output, null, 1)); 33 | } 34 | 35 | main().then(exit).catch(exit); 36 | -------------------------------------------------------------------------------- /updates.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | exclude: [ 3 | "eslint", // migrate to flat config first 4 | ], 5 | }; 6 | -------------------------------------------------------------------------------- /vitest.config.js: -------------------------------------------------------------------------------- 1 | import {defineConfig} from "vitest/config"; 2 | import {backend} from "vitest-config-silverwind"; 3 | 4 | export default defineConfig(backend({ 5 | url: import.meta.url, 6 | })); 7 | --------------------------------------------------------------------------------