├── .nvmrc ├── pnpm-workspace.yaml ├── src ├── jasmine-types.d.ts ├── index.spec.ts ├── index.ts ├── jasmine-suite-nodes.ts └── framework.ts ├── tsconfig.lib.json ├── esbuild.mjs ├── .github └── workflows │ └── build.yml ├── tsconfig.json ├── web-test-runner.config.mjs ├── LICENSE ├── CHANGELOG.md ├── package.json ├── .gitignore ├── README.md └── pnpm-lock.yaml /.nvmrc: -------------------------------------------------------------------------------- 1 | 22.15.1 -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | onlyBuiltDependencies: 2 | - esbuild 3 | -------------------------------------------------------------------------------- /src/jasmine-types.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace jasmine { 2 | interface SpecResult { 3 | parentSuiteId: string; 4 | } 5 | 6 | interface SuiteResult { 7 | parentSuiteId: string; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /tsconfig.lib.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "noEmit": false, 5 | "outDir": "./dist/build", 6 | }, 7 | "include": ["src/**/*.ts", "src/**/*.d.ts"], 8 | "exclude": ["dist", "node_modules", "src/**/*.spec.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /esbuild.mjs: -------------------------------------------------------------------------------- 1 | import { build } from 'esbuild'; 2 | import { env, nodeless } from 'unenv'; 3 | 4 | const { alias, external } = env(nodeless, {}) 5 | 6 | await build({ 7 | entryPoints: ['dist/build/framework.js'], 8 | bundle: true, 9 | outfile: 'dist/lib/framework.mjs', 10 | external: ['@web/test-runner-core'].concat(external), 11 | legalComments: 'linked', 12 | format: 'esm', 13 | platform: 'browser', 14 | alias, 15 | }); 16 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build and Preview 2 | on: pull_request 3 | 4 | jobs: 5 | build: 6 | name: 'Build' 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v4 10 | - uses: pnpm/action-setup@v4 11 | with: 12 | run_install: false 13 | - uses: actions/setup-node@v4 14 | with: 15 | node-version-file: './.nvmrc' 16 | cache: 'pnpm' 17 | - run: pnpm run setup 18 | - run: pnpm run ci -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2019", 4 | "module": "esnext", 5 | "moduleResolution": "node", 6 | "lib": ["es2020", "dom"], 7 | "declaration": true, 8 | "alwaysStrict": true, 9 | "noImplicitAny": true, 10 | "noImplicitReturns": true, 11 | "noImplicitThis": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": true, 14 | "strictFunctionTypes": true, 15 | "skipLibCheck": true, 16 | "allowSyntheticDefaultImports": true, 17 | "noFallthroughCasesInSwitch": true, 18 | "strictNullChecks": true, 19 | "inlineSourceMap": false, 20 | "importHelpers": true, 21 | "outDir": "./dist/lib", 22 | "sourceMap": true, 23 | "inlineSources": true, 24 | "rootDir": "./src" 25 | }, 26 | "include": ["src/**/*.ts", "src/**/*.d.ts"], 27 | "exclude": ["src/**/*.spec.ts"] 28 | } 29 | -------------------------------------------------------------------------------- /web-test-runner.config.mjs: -------------------------------------------------------------------------------- 1 | import { playwrightLauncher } from '@web/test-runner-playwright'; 2 | import { esbuildPlugin } from '@web/dev-server-esbuild'; 3 | import { defaultReporter, summaryReporter } from "@web/test-runner"; 4 | import { jasmineTestRunnerConfig } from './dist/lib/index.js'; // web-test-runner-jasmine 5 | 6 | export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({ 7 | ...jasmineTestRunnerConfig(), 8 | testFramework: { 9 | config: { 10 | defaultTimeoutInterval: 10000 11 | }, 12 | }, 13 | nodeResolve: true, 14 | files: ['./src/*.spec.ts'], 15 | browsers: [playwrightLauncher({ product: 'chromium' })], 16 | plugins: [esbuildPlugin({ ts: true, json: true, target: 'auto', sourceMap: true })], 17 | coverageConfig: { 18 | require: ['ts-node/register'], 19 | extension: ['.ts'], 20 | report: true, 21 | reportDir: 'dist/coverage', 22 | threshold: { 23 | statements: 10, 24 | branches: 10, 25 | functions: 10, 26 | lines: 10, 27 | }, 28 | }, 29 | reporters: [ 30 | defaultReporter(), 31 | summaryReporter(), 32 | ], 33 | }); 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Cory Rylan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ### 0.1.4 4 | - fix minimum nodejs version 5 | 6 | ## 0.1.3 7 | - upgrade peer deps for jasmine 8 | - improve jasmine config type definitions 9 | - pass test framework config to jasmine env config 10 | 11 | ## 0.1.2 12 | - fix: reporting of confusing failed expectations [@devversion](https://github.com/devversion) 13 | 14 | ## 0.1.1 15 | - fix: do not log errors twice, and improve suite logging [@devversion](https://github.com/devversion) 16 | 17 | ## 0.1.0 18 | 19 | Thanks to [@devversion](https://github.com/devversion) and [@rhashimoto 20 | ](https://github.com/rhashimoto) for the contributions! 21 | - feat: support debugging with --manual inside browser 22 | - fix: add doctype to avoid running in browser quirk mode 23 | - fix: report incomplete jasmine error 24 | 25 | ## 0.0.7 26 | - fix: add support for nested suites 27 | - fix: TestResultError(s) information 28 | - fix: TestSuiteResult(s) information 29 | - fix TestResult(s) information 30 | 31 | ## 0.0.6 32 | - fix: update dependencies 33 | 34 | ## 0.0.5 35 | - fix: `defaultTimeoutInterval` default and docs 36 | 37 | ## 0.0.4 38 | - update dependencies 39 | - fix: CSS inline format 40 | 41 | ## 0.0.3 42 | - fix: inline runtime CSS for easier style resolution 43 | 44 | ## 0.0.2 45 | - fix: auto resolve jasmine runtime 46 | 47 | ## 0.0.1 48 | - init -------------------------------------------------------------------------------- /src/index.spec.ts: -------------------------------------------------------------------------------- 1 | describe('a test suite', () => { 2 | let element: HTMLElement; 3 | 4 | beforeEach(() => { 5 | element = document.createElement('p'); 6 | element.innerHTML = 'hello there'; 7 | }); 8 | 9 | afterEach(() => { 10 | element.remove(); 11 | }); 12 | 13 | it('should create element', () => { 14 | expect(element.innerHTML).toBe('hello there'); 15 | }); 16 | 17 | xdescribe('should fail', () => { 18 | it('should properly handle elements in expectations', () => { 19 | expect('test' as any).toBe(document.body); 20 | }); 21 | 22 | 23 | it('should properly diff objects', () => { 24 | expect({a: 1, b: undefined} as {a: number, b?: number}).toEqual({a: 1, b: 1}); 25 | }); 26 | 27 | it('should not be marked as pending and should fail', (done) => {}); 28 | }); 29 | 30 | describe('an inner test suite', () => { 31 | it("should always be true: Level 2", () => { 32 | expect(true).toBeTrue(); 33 | expect(undefined).toBeUndefined(); 34 | expect(null).toBeNull(); 35 | expect(["foo", "bar"]).toHaveSize(2); 36 | expect({ "foo": "bar" }).toEqual({ "foo": "bar" }); 37 | }); 38 | describe('another inner test suite', () => { 39 | it("should always be true: level 3", () => { 40 | expect(true).toBeTrue(); 41 | expect(undefined).toBeUndefined(); 42 | expect(null).toBeNull(); 43 | expect(["foo", "bar"]).toHaveSize(2); 44 | expect({ "foo": "bar" }).toEqual({ "foo": "bar" }); 45 | }); 46 | }); 47 | }); 48 | }); 49 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { defaultReporter } from '@web/test-runner'; 2 | import fs from 'fs'; 3 | import path from 'path'; 4 | 5 | export interface JasmineConfig extends jasmine.Configuration { 6 | /** https://jasmine.github.io/api/edge/jasmine.html#.DEFAULT_TIMEOUT_INTERVAL */ 7 | defaultTimeoutInterval?: number; 8 | } 9 | 10 | export const jasmineTestRunnerConfig = () => { 11 | return { 12 | reporters: [ 13 | defaultReporter({ reportTestResults: true, reportTestProgress: true }) 14 | ], 15 | testRunnerHtml: (_path: any, config: { testFramework: { config?: JasmineConfig } }) => { 16 | const testFramework = { 17 | path: './node_modules/jasmine-core/lib/jasmine-core/jasmine.js', 18 | config: { 19 | defaultTimeoutInterval: 5000, 20 | styles: [], 21 | ...config.testFramework?.config 22 | } 23 | }; 24 | return /* html */` 25 | 26 | 27 | 28 | ${testFramework.config.styles.map(style => ``).join('\n')} 29 | 30 | 33 | 36 | 37 | 38 | 39 | `; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "web-test-runner-jasmine", 3 | "version": "0.1.4", 4 | "description": "Plugin for Jasmine and Web Test Runner", 5 | "main": "./index.js", 6 | "module": "./index.js", 7 | "typings": "./index.d.ts", 8 | "type": "module", 9 | "files": [ 10 | "*" 11 | ], 12 | "packageManager": "pnpm@10.11.0", 13 | "engines": { 14 | "node": "^22.15.1" 15 | }, 16 | "scripts": { 17 | "ci": "pnpm run clean && pnpm run build && pnpm run test", 18 | "setup": "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash && unset npm_config_prefix && . ~/.nvm/nvm.sh && nvm install && nvm use && npm install -g pnpm && pnpm run clean && pnpm i --frozen-lockfile && pnpm dlx playwright install chromium --with-deps chromium && pnpm exec playwright install", 19 | "clean": "rm -rf ./dist", 20 | "test": "web-test-runner --coverage", 21 | "build": "bash build.sh", 22 | "release": "cd ./dist/lib && pnpm publish --access public" 23 | }, 24 | "repository": { 25 | "type": "git", 26 | "url": "git+https://github.com/blueprintui/web-test-runner-jasmine.git" 27 | }, 28 | "author": "Crylan Software", 29 | "license": "MIT", 30 | "bugs": { 31 | "url": "https://github.com/blueprintui/web-test-runner-jasmine/issues" 32 | }, 33 | "homepage": "https://github.com/blueprintui/web-test-runner-jasmine", 34 | "dependencies": { 35 | "@web/test-runner": "^0.20.2", 36 | "@web/test-runner-core": "^0.13.4", 37 | "ansi-colors": "4.1.3" 38 | }, 39 | "peerDependencies": { 40 | "jasmine": "^5.8.0", 41 | "jasmine-core": "^5.8.0" 42 | }, 43 | "devDependencies": { 44 | "@types/jasmine": "^5.1.8", 45 | "@web/dev-server-esbuild": "1.0.4", 46 | "@web/test-runner-playwright": "0.11.1", 47 | "cpy-cli": "5.0.0", 48 | "esbuild": "^0.25.6", 49 | "jasmine": "^5.8.0", 50 | "jasmine-core": "^5.8.0", 51 | "playwright": "1.53.2", 52 | "typescript": "5.7.3", 53 | "unenv": "^1.10.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/jasmine-suite-nodes.ts: -------------------------------------------------------------------------------- 1 | import { TestResultError } from '@web/test-runner-core'; 2 | 3 | export interface SuiteNode { 4 | id: string|null; 5 | name: string; 6 | suites: SuiteNode[]; 7 | passed: boolean; 8 | tests: SpecNode[] 9 | } 10 | 11 | export interface SpecNode { 12 | id: string; 13 | name: string; 14 | passed: boolean; 15 | skipped: boolean; 16 | duration: number|null; 17 | errors?: TestResultError[], 18 | } 19 | 20 | export function isSuiteNode(n: SuiteNode|SpecNode): n is SuiteNode { 21 | return (n as Partial).suites !== undefined; 22 | } 23 | 24 | export const findParentNode = (treeNode: SpecNode|SuiteNode, result: jasmine.SpecResult|jasmine.SuiteResult): SuiteNode|null => { 25 | if (treeNode.id === result.parentSuiteId && isSuiteNode(treeNode)) { 26 | return treeNode; 27 | } else if (isSuiteNode(treeNode)) { 28 | for (let i = 0; i < treeNode.suites.length; i++) { 29 | const childSuite = treeNode.suites[i]; 30 | const elementFound = findParentNode(childSuite, result); 31 | if (elementFound) { 32 | return elementFound; 33 | } 34 | } 35 | } 36 | return null; 37 | }; 38 | 39 | export const findResultNode = (treeNode: SpecNode|SuiteNode, result: jasmine.SpecResult|jasmine.SuiteResult): SpecNode|SuiteNode|null => { 40 | if (treeNode.id === result.id) { 41 | return treeNode; 42 | } 43 | if (isSuiteNode(treeNode)) { 44 | for (let i = 0; i < treeNode.tests.length; i++) { 45 | const childTest = treeNode.tests[i]; 46 | const elementFound = findResultNode(childTest, result); 47 | if (elementFound) { 48 | return elementFound; 49 | } 50 | } 51 | } 52 | if (isSuiteNode(treeNode)) { 53 | for (let i = 0; i < treeNode.suites.length; i++) { 54 | const childSuite = treeNode.suites[i]; 55 | const elementFound = findResultNode(childSuite, result); 56 | if (elementFound) { 57 | return elementFound; 58 | } 59 | } 60 | } 61 | return null; 62 | }; 63 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # web-test-runner-jasmine 2 | 3 | [![npm version](https://badge.fury.io/js/web-test-runner-jasmine.svg)](https://badge.fury.io/js/web-test-runner-jasmine) ![CI Build](https://github.com/coryrylan/web-test-runner-jasmine/actions/workflows/build.yml/badge.svg) 4 | 5 | A [Web Test Runner](https://modern-web.dev/docs/test-runner/overview/) plugin for running Jasmine. 6 | 7 | ## Setup 8 | 9 | Import `jasmineTestRunnerConfig` and add too your `web-test-runner.config.mjs`. 10 | If using TypeScript you can add `esbuildPlugin`. 11 | 12 | ```javascript 13 | import { playwrightLauncher } from '@web/test-runner-playwright'; 14 | import { esbuildPlugin } from '@web/dev-server-esbuild'; 15 | import { jasmineTestRunnerConfig } from 'web-test-runner-jasmine'; 16 | 17 | export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({ 18 | ...jasmineTestRunnerConfig(), 19 | testFramework: { 20 | config: { 21 | defaultTimeoutInterval: 5000 22 | }, 23 | }, 24 | nodeResolve: true, 25 | files: ['./src/*.spec.js'], 26 | browsers: [playwrightLauncher({ product: 'chromium' })], 27 | plugins: [esbuildPlugin({ target: 'auto', sourceMap: true })] 28 | }); 29 | ``` 30 | 31 | Once added you can use Jasmine within your tests. 32 | 33 | ```javascript 34 | describe('a test suite', () => { 35 | let element: HTMLElement; 36 | 37 | beforeEach(() => { 38 | element = document.createElement('p'); 39 | element.innerHTML = 'hello there'; 40 | }); 41 | 42 | afterEach(() => { 43 | element.remove(); 44 | }); 45 | 46 | it('should create element', () => { 47 | expect(element.innerHTML).toBe('hello there'); 48 | }); 49 | }); 50 | ``` 51 | 52 | To run your tests run `web-test-runner` in the terminal. 53 | 54 | ```bash 55 | web-test-runner 56 | ``` 57 | 58 | ## TypeScript 59 | 60 | If you use TypeScript you will need to add some additional configuiration. Update your 61 | config to read `.ts` extentions and add the `ts: true` flag to the `esBuildPlugin`. 62 | 63 | ```javascript 64 | import { playwrightLauncher } from '@web/test-runner-playwright'; 65 | import { esbuildPlugin } from '@web/dev-server-esbuild'; 66 | import { jasmineTestRunnerConfig } from 'web-test-runner-jasmine'; 67 | 68 | export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({ 69 | ... 70 | files: ['./src/*.spec.ts'], 71 | plugins: [esbuildPlugin({ ts: true, json: true, target: 'auto', sourceMap: true })] 72 | ... 73 | }); 74 | ``` 75 | 76 | Ensure you have the `@types/jasmine` package installed and add `jasmine` to the `types` 77 | in your `tsconfig.json`. 78 | 79 | ```json 80 | { 81 | "compilerOptions": { 82 | ... 83 | "types": ["jasmine"], 84 | ... 85 | } 86 | } 87 | ``` 88 | 89 | Learn more about [Web Test Runner](https://modern-web.dev/docs/test-runner/overview/). -------------------------------------------------------------------------------- /src/framework.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import assert from 'assert'; 4 | import { getConfig, sessionFailed, sessionFinished, sessionStarted, TestResultError, TestSuiteResult } from '@web/test-runner-core/browser/session.js'; 5 | import Jasmine from 'jasmine'; 6 | import { yellow } from 'ansi-colors'; 7 | 8 | import type { JasmineConfig } from './index'; 9 | import { findParentNode, findResultNode, isSuiteNode, SpecNode, SuiteNode } from './jasmine-suite-nodes'; 10 | 11 | // Needed for Jasmine to pick up Windows as `jasmineGlobal`. 12 | window.global = window; 13 | 14 | // @ts-ignore 15 | const jasmineRequire = await import('jasmine-core/lib/jasmine-core/jasmine.js'); 16 | const jasmine = jasmineRequire.core(jasmineRequire); 17 | const global = jasmine.getGlobal(); 18 | global.jasmine = jasmine; 19 | const env: jasmine.Env = jasmine.getEnv(); 20 | 21 | Object.assign(window, jasmineRequire.interface(jasmine, env)); 22 | window.onload = function () { }; 23 | 24 | const buildTestResults = (jasmineTreeNode: SpecNode|SuiteNode): TestSuiteResult => { 25 | const treeNode: TestSuiteResult = { 26 | name: jasmineTreeNode.name, 27 | suites: [], 28 | tests: [], 29 | }; 30 | if (isSuiteNode(jasmineTreeNode)) { 31 | for (let i = 0; i < jasmineTreeNode.tests.length; i++) { 32 | const jasmineTestNode = jasmineTreeNode.tests[i]; 33 | treeNode.tests.push({ 34 | name: jasmineTestNode.name, 35 | passed: jasmineTestNode.passed, 36 | skipped: jasmineTestNode.skipped, 37 | duration: jasmineTestNode.duration ?? undefined, 38 | error: jasmineTestNode.errors?.[0] 39 | }); 40 | } 41 | } 42 | 43 | if (isSuiteNode(jasmineTreeNode)) { 44 | for (let i = 0; i < jasmineTreeNode.suites.length; i++) { 45 | const jasmineSuiteNode = jasmineTreeNode.suites[i]; 46 | treeNode.suites.push(buildTestResults(jasmineSuiteNode)); 47 | } 48 | } 49 | return treeNode; 50 | }; 51 | 52 | const failedImports: TestResultError[] = []; 53 | 54 | const jasmineRootTreeNode: SuiteNode= { 55 | id: null, 56 | name: "", 57 | suites: [], 58 | tests: [], 59 | passed: true, 60 | }; 61 | 62 | env.addReporter({ 63 | jasmineStarted: _suiteInfo => { }, 64 | suiteStarted: result => { 65 | const newNode: SuiteNode = { 66 | id: result.id, 67 | name: result.description, 68 | passed: true, 69 | tests: [], 70 | suites: [], 71 | }; 72 | 73 | if (!result.parentSuiteId) { 74 | jasmineRootTreeNode.suites.push(newNode); 75 | } else { 76 | const nodeFound = findParentNode(jasmineRootTreeNode, result); 77 | assert(nodeFound, 'Expected parent suite to be found.'); 78 | nodeFound.suites.push(newNode); 79 | } 80 | }, 81 | specStarted: result => { 82 | if (!result.parentSuiteId) { 83 | jasmineRootTreeNode.id = result.id; 84 | jasmineRootTreeNode.name = result.description; 85 | } else { 86 | const nodeFound = findParentNode(jasmineRootTreeNode, result); 87 | if (nodeFound) { 88 | nodeFound.tests.push({ 89 | id: result.id, 90 | name: result.description, 91 | passed: true, 92 | duration: null, 93 | skipped: false, 94 | }); 95 | } 96 | } 97 | }, 98 | specDone: result => { 99 | const nodeFound = findResultNode(jasmineRootTreeNode, result); 100 | 101 | if (nodeFound === null) { 102 | throw new Error(`Could not find result node for spec: ${result.id}`); 103 | } 104 | if (isSuiteNode(nodeFound)) { 105 | throw new Error(`Unexpectedly found suite node, while spec node was expected: ${result.id}`); 106 | } 107 | 108 | nodeFound.passed = result.status === "passed" || result.status === 'pending'; 109 | // Pending is synonymous for "skipped" in Jasmine. Pending tests that never complete 110 | // should end up as "failing" if the Jasmine individual test timeout is exceeded. 111 | nodeFound.skipped = result.status === 'pending'; 112 | nodeFound.duration = result.duration; 113 | 114 | if (result.failedExpectations && result.failedExpectations.length > 0) { 115 | nodeFound.errors = []; 116 | for (let i = 0; i < result.failedExpectations.length; i++) { 117 | const e = result.failedExpectations[i]; 118 | const testResultError: TestResultError = { 119 | message: yellow(`\n\n${e.message}\n`), 120 | name: result.description, 121 | stack: e.stack, 122 | }; 123 | 124 | nodeFound.errors.push(testResultError); 125 | }; 126 | } 127 | }, 128 | suiteDone: result => { 129 | const nodeFound = findResultNode(jasmineRootTreeNode, result); 130 | if (nodeFound === null) { 131 | throw new Error(`Could not find result node for suite: ${result.id}`); 132 | } 133 | nodeFound.passed = result.status === "passed"; 134 | } 135 | }); 136 | 137 | (async () => { 138 | sessionStarted(); 139 | const { testFile, debug, testFrameworkConfig } = await getConfig(); 140 | const config = { defaultTimeoutInterval: 5000, ...(testFrameworkConfig ?? {}) } as JasmineConfig; 141 | 142 | jasmine.DEFAULT_TIMEOUT_INTERVAL = config.defaultTimeoutInterval; 143 | 144 | if (debug) { 145 | const consoleReporter = Jasmine.ConsoleReporter(); 146 | let stdout = ''; 147 | consoleReporter.setOptions({ 148 | print: (t: string) => stdout += t, 149 | showColors: true 150 | }); 151 | env.addReporter(consoleReporter); 152 | env.addReporter({jasmineDone: () => { 153 | console.log(stdout); 154 | }}) 155 | } 156 | 157 | try { 158 | env.configure(config); 159 | await import(new URL(testFile, document.baseURI).href); 160 | 161 | // Run jasmine. 162 | const result = await env.execute(); 163 | 164 | const errors: TestResultError[] = [...failedImports]; 165 | if (result.incompleteReason) { 166 | errors.push({message: result.incompleteReason}); 167 | } 168 | if (result.order.random) { 169 | console.log(`Jasmine randomize seed: ${result.order.seed}`); 170 | } 171 | 172 | sessionFinished({ 173 | passed: result.overallStatus === 'passed', 174 | testResults: buildTestResults(jasmineRootTreeNode), 175 | errors, 176 | }); 177 | } catch (error) { 178 | console.log(error); 179 | sessionFailed(error); 180 | return; 181 | } 182 | })(); 183 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@web/test-runner': 12 | specifier: ^0.20.2 13 | version: 0.20.2 14 | '@web/test-runner-core': 15 | specifier: ^0.13.4 16 | version: 0.13.4 17 | ansi-colors: 18 | specifier: 4.1.3 19 | version: 4.1.3 20 | devDependencies: 21 | '@types/jasmine': 22 | specifier: ^5.1.8 23 | version: 5.1.8 24 | '@web/dev-server-esbuild': 25 | specifier: 1.0.4 26 | version: 1.0.4 27 | '@web/test-runner-playwright': 28 | specifier: 0.11.1 29 | version: 0.11.1 30 | cpy-cli: 31 | specifier: 5.0.0 32 | version: 5.0.0 33 | esbuild: 34 | specifier: ^0.25.6 35 | version: 0.25.6 36 | jasmine: 37 | specifier: ^5.8.0 38 | version: 5.8.0 39 | jasmine-core: 40 | specifier: ^5.8.0 41 | version: 5.8.0 42 | playwright: 43 | specifier: 1.53.2 44 | version: 1.53.2 45 | typescript: 46 | specifier: 5.7.3 47 | version: 5.7.3 48 | unenv: 49 | specifier: ^1.10.0 50 | version: 1.10.0 51 | 52 | packages: 53 | 54 | '@babel/code-frame@7.27.1': 55 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 56 | engines: {node: '>=6.9.0'} 57 | 58 | '@babel/helper-validator-identifier@7.27.1': 59 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 60 | engines: {node: '>=6.9.0'} 61 | 62 | '@esbuild/aix-ppc64@0.25.6': 63 | resolution: {integrity: sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==} 64 | engines: {node: '>=18'} 65 | cpu: [ppc64] 66 | os: [aix] 67 | 68 | '@esbuild/android-arm64@0.25.6': 69 | resolution: {integrity: sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==} 70 | engines: {node: '>=18'} 71 | cpu: [arm64] 72 | os: [android] 73 | 74 | '@esbuild/android-arm@0.25.6': 75 | resolution: {integrity: sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==} 76 | engines: {node: '>=18'} 77 | cpu: [arm] 78 | os: [android] 79 | 80 | '@esbuild/android-x64@0.25.6': 81 | resolution: {integrity: sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==} 82 | engines: {node: '>=18'} 83 | cpu: [x64] 84 | os: [android] 85 | 86 | '@esbuild/darwin-arm64@0.25.6': 87 | resolution: {integrity: sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==} 88 | engines: {node: '>=18'} 89 | cpu: [arm64] 90 | os: [darwin] 91 | 92 | '@esbuild/darwin-x64@0.25.6': 93 | resolution: {integrity: sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==} 94 | engines: {node: '>=18'} 95 | cpu: [x64] 96 | os: [darwin] 97 | 98 | '@esbuild/freebsd-arm64@0.25.6': 99 | resolution: {integrity: sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==} 100 | engines: {node: '>=18'} 101 | cpu: [arm64] 102 | os: [freebsd] 103 | 104 | '@esbuild/freebsd-x64@0.25.6': 105 | resolution: {integrity: sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==} 106 | engines: {node: '>=18'} 107 | cpu: [x64] 108 | os: [freebsd] 109 | 110 | '@esbuild/linux-arm64@0.25.6': 111 | resolution: {integrity: sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==} 112 | engines: {node: '>=18'} 113 | cpu: [arm64] 114 | os: [linux] 115 | 116 | '@esbuild/linux-arm@0.25.6': 117 | resolution: {integrity: sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==} 118 | engines: {node: '>=18'} 119 | cpu: [arm] 120 | os: [linux] 121 | 122 | '@esbuild/linux-ia32@0.25.6': 123 | resolution: {integrity: sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==} 124 | engines: {node: '>=18'} 125 | cpu: [ia32] 126 | os: [linux] 127 | 128 | '@esbuild/linux-loong64@0.25.6': 129 | resolution: {integrity: sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==} 130 | engines: {node: '>=18'} 131 | cpu: [loong64] 132 | os: [linux] 133 | 134 | '@esbuild/linux-mips64el@0.25.6': 135 | resolution: {integrity: sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==} 136 | engines: {node: '>=18'} 137 | cpu: [mips64el] 138 | os: [linux] 139 | 140 | '@esbuild/linux-ppc64@0.25.6': 141 | resolution: {integrity: sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==} 142 | engines: {node: '>=18'} 143 | cpu: [ppc64] 144 | os: [linux] 145 | 146 | '@esbuild/linux-riscv64@0.25.6': 147 | resolution: {integrity: sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==} 148 | engines: {node: '>=18'} 149 | cpu: [riscv64] 150 | os: [linux] 151 | 152 | '@esbuild/linux-s390x@0.25.6': 153 | resolution: {integrity: sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==} 154 | engines: {node: '>=18'} 155 | cpu: [s390x] 156 | os: [linux] 157 | 158 | '@esbuild/linux-x64@0.25.6': 159 | resolution: {integrity: sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==} 160 | engines: {node: '>=18'} 161 | cpu: [x64] 162 | os: [linux] 163 | 164 | '@esbuild/netbsd-arm64@0.25.6': 165 | resolution: {integrity: sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==} 166 | engines: {node: '>=18'} 167 | cpu: [arm64] 168 | os: [netbsd] 169 | 170 | '@esbuild/netbsd-x64@0.25.6': 171 | resolution: {integrity: sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==} 172 | engines: {node: '>=18'} 173 | cpu: [x64] 174 | os: [netbsd] 175 | 176 | '@esbuild/openbsd-arm64@0.25.6': 177 | resolution: {integrity: sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==} 178 | engines: {node: '>=18'} 179 | cpu: [arm64] 180 | os: [openbsd] 181 | 182 | '@esbuild/openbsd-x64@0.25.6': 183 | resolution: {integrity: sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==} 184 | engines: {node: '>=18'} 185 | cpu: [x64] 186 | os: [openbsd] 187 | 188 | '@esbuild/openharmony-arm64@0.25.6': 189 | resolution: {integrity: sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==} 190 | engines: {node: '>=18'} 191 | cpu: [arm64] 192 | os: [openharmony] 193 | 194 | '@esbuild/sunos-x64@0.25.6': 195 | resolution: {integrity: sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==} 196 | engines: {node: '>=18'} 197 | cpu: [x64] 198 | os: [sunos] 199 | 200 | '@esbuild/win32-arm64@0.25.6': 201 | resolution: {integrity: sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==} 202 | engines: {node: '>=18'} 203 | cpu: [arm64] 204 | os: [win32] 205 | 206 | '@esbuild/win32-ia32@0.25.6': 207 | resolution: {integrity: sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==} 208 | engines: {node: '>=18'} 209 | cpu: [ia32] 210 | os: [win32] 211 | 212 | '@esbuild/win32-x64@0.25.6': 213 | resolution: {integrity: sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==} 214 | engines: {node: '>=18'} 215 | cpu: [x64] 216 | os: [win32] 217 | 218 | '@hapi/bourne@3.0.0': 219 | resolution: {integrity: sha512-Waj1cwPXJDucOib4a3bAISsKJVb15MKi9IvmTI/7ssVEm6sywXGjVJDhl6/umt1pK1ZS7PacXU3A1PmFKHEZ2w==} 220 | 221 | '@isaacs/cliui@8.0.2': 222 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 223 | engines: {node: '>=12'} 224 | 225 | '@jridgewell/resolve-uri@3.1.2': 226 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 227 | engines: {node: '>=6.0.0'} 228 | 229 | '@jridgewell/sourcemap-codec@1.5.4': 230 | resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} 231 | 232 | '@jridgewell/trace-mapping@0.3.29': 233 | resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} 234 | 235 | '@mdn/browser-compat-data@4.2.1': 236 | resolution: {integrity: sha512-EWUguj2kd7ldmrF9F+vI5hUOralPd+sdsUnYbRy33vZTuZkduC1shE9TtEMEjAQwyfyMb4ole5KtjF8MsnQOlA==} 237 | 238 | '@nodelib/fs.scandir@2.1.5': 239 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 240 | engines: {node: '>= 8'} 241 | 242 | '@nodelib/fs.stat@2.0.5': 243 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 244 | engines: {node: '>= 8'} 245 | 246 | '@nodelib/fs.walk@1.2.8': 247 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 248 | engines: {node: '>= 8'} 249 | 250 | '@pkgjs/parseargs@0.11.0': 251 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 252 | engines: {node: '>=14'} 253 | 254 | '@puppeteer/browsers@2.10.5': 255 | resolution: {integrity: sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==} 256 | engines: {node: '>=18'} 257 | hasBin: true 258 | 259 | '@rollup/plugin-node-resolve@15.3.1': 260 | resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} 261 | engines: {node: '>=14.0.0'} 262 | peerDependencies: 263 | rollup: ^2.78.0||^3.0.0||^4.0.0 264 | peerDependenciesMeta: 265 | rollup: 266 | optional: true 267 | 268 | '@rollup/pluginutils@5.2.0': 269 | resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} 270 | engines: {node: '>=14.0.0'} 271 | peerDependencies: 272 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 273 | peerDependenciesMeta: 274 | rollup: 275 | optional: true 276 | 277 | '@rollup/rollup-android-arm-eabi@4.44.2': 278 | resolution: {integrity: sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==} 279 | cpu: [arm] 280 | os: [android] 281 | 282 | '@rollup/rollup-android-arm64@4.44.2': 283 | resolution: {integrity: sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==} 284 | cpu: [arm64] 285 | os: [android] 286 | 287 | '@rollup/rollup-darwin-arm64@4.44.2': 288 | resolution: {integrity: sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==} 289 | cpu: [arm64] 290 | os: [darwin] 291 | 292 | '@rollup/rollup-darwin-x64@4.44.2': 293 | resolution: {integrity: sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==} 294 | cpu: [x64] 295 | os: [darwin] 296 | 297 | '@rollup/rollup-freebsd-arm64@4.44.2': 298 | resolution: {integrity: sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==} 299 | cpu: [arm64] 300 | os: [freebsd] 301 | 302 | '@rollup/rollup-freebsd-x64@4.44.2': 303 | resolution: {integrity: sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==} 304 | cpu: [x64] 305 | os: [freebsd] 306 | 307 | '@rollup/rollup-linux-arm-gnueabihf@4.44.2': 308 | resolution: {integrity: sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==} 309 | cpu: [arm] 310 | os: [linux] 311 | 312 | '@rollup/rollup-linux-arm-musleabihf@4.44.2': 313 | resolution: {integrity: sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==} 314 | cpu: [arm] 315 | os: [linux] 316 | 317 | '@rollup/rollup-linux-arm64-gnu@4.44.2': 318 | resolution: {integrity: sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==} 319 | cpu: [arm64] 320 | os: [linux] 321 | 322 | '@rollup/rollup-linux-arm64-musl@4.44.2': 323 | resolution: {integrity: sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==} 324 | cpu: [arm64] 325 | os: [linux] 326 | 327 | '@rollup/rollup-linux-loongarch64-gnu@4.44.2': 328 | resolution: {integrity: sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==} 329 | cpu: [loong64] 330 | os: [linux] 331 | 332 | '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': 333 | resolution: {integrity: sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==} 334 | cpu: [ppc64] 335 | os: [linux] 336 | 337 | '@rollup/rollup-linux-riscv64-gnu@4.44.2': 338 | resolution: {integrity: sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==} 339 | cpu: [riscv64] 340 | os: [linux] 341 | 342 | '@rollup/rollup-linux-riscv64-musl@4.44.2': 343 | resolution: {integrity: sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==} 344 | cpu: [riscv64] 345 | os: [linux] 346 | 347 | '@rollup/rollup-linux-s390x-gnu@4.44.2': 348 | resolution: {integrity: sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==} 349 | cpu: [s390x] 350 | os: [linux] 351 | 352 | '@rollup/rollup-linux-x64-gnu@4.44.2': 353 | resolution: {integrity: sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==} 354 | cpu: [x64] 355 | os: [linux] 356 | 357 | '@rollup/rollup-linux-x64-musl@4.44.2': 358 | resolution: {integrity: sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==} 359 | cpu: [x64] 360 | os: [linux] 361 | 362 | '@rollup/rollup-win32-arm64-msvc@4.44.2': 363 | resolution: {integrity: sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==} 364 | cpu: [arm64] 365 | os: [win32] 366 | 367 | '@rollup/rollup-win32-ia32-msvc@4.44.2': 368 | resolution: {integrity: sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==} 369 | cpu: [ia32] 370 | os: [win32] 371 | 372 | '@rollup/rollup-win32-x64-msvc@4.44.2': 373 | resolution: {integrity: sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==} 374 | cpu: [x64] 375 | os: [win32] 376 | 377 | '@tootallnate/quickjs-emscripten@0.23.0': 378 | resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} 379 | 380 | '@types/accepts@1.3.7': 381 | resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} 382 | 383 | '@types/babel__code-frame@7.0.6': 384 | resolution: {integrity: sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==} 385 | 386 | '@types/body-parser@1.19.6': 387 | resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} 388 | 389 | '@types/co-body@6.1.3': 390 | resolution: {integrity: sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==} 391 | 392 | '@types/command-line-args@5.2.3': 393 | resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==} 394 | 395 | '@types/connect@3.4.38': 396 | resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} 397 | 398 | '@types/content-disposition@0.5.9': 399 | resolution: {integrity: sha512-8uYXI3Gw35MhiVYhG3s295oihrxRyytcRHjSjqnqZVDDy/xcGBRny7+Xj1Wgfhv5QzRtN2hB2dVRBUX9XW3UcQ==} 400 | 401 | '@types/convert-source-map@2.0.3': 402 | resolution: {integrity: sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==} 403 | 404 | '@types/cookies@0.9.1': 405 | resolution: {integrity: sha512-E/DPgzifH4sM1UMadJMWd6mO2jOd4g1Ejwzx8/uRCDpJis1IrlyQEcGAYEomtAqRYmD5ORbNXMeI9U0RiVGZbg==} 406 | 407 | '@types/debounce@1.2.4': 408 | resolution: {integrity: sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==} 409 | 410 | '@types/estree@1.0.8': 411 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 412 | 413 | '@types/express-serve-static-core@5.0.7': 414 | resolution: {integrity: sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==} 415 | 416 | '@types/express@5.0.3': 417 | resolution: {integrity: sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==} 418 | 419 | '@types/http-assert@1.5.6': 420 | resolution: {integrity: sha512-TTEwmtjgVbYAzZYWyeHPrrtWnfVkm8tQkP8P21uQifPgMRgjrow3XDEYqucuC8SKZJT7pUnhU/JymvjggxO9vw==} 421 | 422 | '@types/http-errors@2.0.5': 423 | resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==} 424 | 425 | '@types/istanbul-lib-coverage@2.0.6': 426 | resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} 427 | 428 | '@types/istanbul-lib-report@3.0.3': 429 | resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} 430 | 431 | '@types/istanbul-reports@3.0.4': 432 | resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} 433 | 434 | '@types/jasmine@5.1.8': 435 | resolution: {integrity: sha512-u7/CnvRdh6AaaIzYjCgUuVbREFgulhX05Qtf6ZtW+aOcjCKKVvKgpkPYJBFTZSHtFBYimzU4zP0V2vrEsq9Wcg==} 436 | 437 | '@types/keygrip@1.0.6': 438 | resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} 439 | 440 | '@types/koa-compose@3.2.8': 441 | resolution: {integrity: sha512-4Olc63RY+MKvxMwVknCUDhRQX1pFQoBZ/lXcRLP69PQkEpze/0cr8LNqJQe5NFb/b19DWi2a5bTi2VAlQzhJuA==} 442 | 443 | '@types/koa@2.15.0': 444 | resolution: {integrity: sha512-7QFsywoE5URbuVnG3loe03QXuGajrnotr3gQkXcEBShORai23MePfFYdhz90FEtBBpkyIYQbVD+evKtloCgX3g==} 445 | 446 | '@types/mime@1.3.5': 447 | resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} 448 | 449 | '@types/node@24.0.11': 450 | resolution: {integrity: sha512-CJV8eqrYnwQJGMrvcRhQmZfpyniDavB+7nAZYJc6w99hFYJyFN3INV1/2W3QfQrqM36WTLrijJ1fxxvGBmCSxA==} 451 | 452 | '@types/parse5@6.0.3': 453 | resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} 454 | 455 | '@types/qs@6.14.0': 456 | resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} 457 | 458 | '@types/range-parser@1.2.7': 459 | resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} 460 | 461 | '@types/resolve@1.20.2': 462 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 463 | 464 | '@types/send@0.17.5': 465 | resolution: {integrity: sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==} 466 | 467 | '@types/serve-static@1.15.8': 468 | resolution: {integrity: sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==} 469 | 470 | '@types/ws@7.4.7': 471 | resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} 472 | 473 | '@types/yauzl@2.10.3': 474 | resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} 475 | 476 | '@web/browser-logs@0.4.1': 477 | resolution: {integrity: sha512-ypmMG+72ERm+LvP+loj9A64MTXvWMXHUOu773cPO4L1SV/VWg6xA9Pv7vkvkXQX+ItJtCJt+KQ+U6ui2HhSFUw==} 478 | engines: {node: '>=18.0.0'} 479 | 480 | '@web/config-loader@0.3.3': 481 | resolution: {integrity: sha512-ilzeQzrPpPLWZhzFCV+4doxKDGm7oKVfdKpW9wiUNVgive34NSzCw+WzXTvjE4Jgr5CkyTDIObEmMrqQEjhT0g==} 482 | engines: {node: '>=18.0.0'} 483 | 484 | '@web/dev-server-core@0.7.5': 485 | resolution: {integrity: sha512-Da65zsiN6iZPMRuj4Oa6YPwvsmZmo5gtPWhW2lx3GTUf5CAEapjVpZVlUXnKPL7M7zRuk72jSsIl8lo+XpTCtw==} 486 | engines: {node: '>=18.0.0'} 487 | 488 | '@web/dev-server-esbuild@1.0.4': 489 | resolution: {integrity: sha512-ia1LxBwwRiQBYhJ7/RtLenHyPjzle3SvTw3jOZaeGv8UGXVPOkQV8fR05caOtW/DPPZaZovNAybzRKVnNiYIZg==} 490 | engines: {node: '>=18.0.0'} 491 | 492 | '@web/dev-server-rollup@0.6.4': 493 | resolution: {integrity: sha512-sJZfTGCCrdku5xYnQQG51odGI092hKY9YFM0X3Z0tRY3iXKXcYRaLZrErw5KfCxr6g0JRuhe4BBhqXTA5Q2I3Q==} 494 | engines: {node: '>=18.0.0'} 495 | 496 | '@web/dev-server@0.4.6': 497 | resolution: {integrity: sha512-jj/1bcElAy5EZet8m2CcUdzxT+CRvUjIXGh8Lt7vxtthkN9PzY9wlhWx/9WOs5iwlnG1oj0VGo6f/zvbPO0s9w==} 498 | engines: {node: '>=18.0.0'} 499 | hasBin: true 500 | 501 | '@web/parse5-utils@2.1.0': 502 | resolution: {integrity: sha512-GzfK5disEJ6wEjoPwx8AVNwUe9gYIiwc+x//QYxYDAFKUp4Xb1OJAGLc2l2gVrSQmtPGLKrTRcW90Hv4pEq1qA==} 503 | engines: {node: '>=18.0.0'} 504 | 505 | '@web/test-runner-chrome@0.18.1': 506 | resolution: {integrity: sha512-eO6ctCaqSguGM6G3cFobGHnrEs9wlv9Juj/Akyr4XLjeEMTheNULdvOXw9Bygi+QC/ir/0snMmt+/YKnfy8rYA==} 507 | engines: {node: '>=18.0.0'} 508 | 509 | '@web/test-runner-commands@0.9.0': 510 | resolution: {integrity: sha512-zeLI6QdH0jzzJMDV5O42Pd8WLJtYqovgdt0JdytgHc0d1EpzXDsc7NTCJSImboc2NcayIsWAvvGGeRF69SMMYg==} 511 | engines: {node: '>=18.0.0'} 512 | 513 | '@web/test-runner-core@0.13.4': 514 | resolution: {integrity: sha512-84E1025aUSjvZU1j17eCTwV7m5Zg3cZHErV3+CaJM9JPCesZwLraIa0ONIQ9w4KLgcDgJFw9UnJ0LbFf42h6tg==} 515 | engines: {node: '>=18.0.0'} 516 | 517 | '@web/test-runner-coverage-v8@0.8.0': 518 | resolution: {integrity: sha512-PskiucYpjUtgNfR2zF2AWqWwjXL7H3WW/SnCAYmzUrtob7X9o/+BjdyZ4wKbOxWWSbJO4lEdGIDLu+8X2Xw+lA==} 519 | engines: {node: '>=18.0.0'} 520 | 521 | '@web/test-runner-mocha@0.9.0': 522 | resolution: {integrity: sha512-ZL9F6FXd0DBQvo/h/+mSfzFTSRVxzV9st/AHhpgABtUtV/AIpVE9to6+xdkpu6827kwjezdpuadPfg+PlrBWqQ==} 523 | engines: {node: '>=18.0.0'} 524 | 525 | '@web/test-runner-playwright@0.11.1': 526 | resolution: {integrity: sha512-l9tmX0LtBqMaKAApS4WshpB87A/M8sOHZyfCobSGuYqnREgz5rqQpX314yx+4fwHXLLTa5N64mTrawsYkLjliw==} 527 | engines: {node: '>=18.0.0'} 528 | 529 | '@web/test-runner@0.20.2': 530 | resolution: {integrity: sha512-zfEGYEDnS0EI8qgoWFjmtkIXhqP15W40NW3dCaKtbxj5eU0a7E53f3GV/tZGD0GlZKF8d4Fyw+AFrwOJU9Z4GA==} 531 | engines: {node: '>=18.0.0'} 532 | hasBin: true 533 | 534 | accepts@1.3.8: 535 | resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} 536 | engines: {node: '>= 0.6'} 537 | 538 | agent-base@7.1.4: 539 | resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} 540 | engines: {node: '>= 14'} 541 | 542 | aggregate-error@4.0.1: 543 | resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} 544 | engines: {node: '>=12'} 545 | 546 | ansi-colors@4.1.3: 547 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 548 | engines: {node: '>=6'} 549 | 550 | ansi-escapes@4.3.2: 551 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 552 | engines: {node: '>=8'} 553 | 554 | ansi-regex@5.0.1: 555 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 556 | engines: {node: '>=8'} 557 | 558 | ansi-regex@6.1.0: 559 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 560 | engines: {node: '>=12'} 561 | 562 | ansi-styles@4.3.0: 563 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 564 | engines: {node: '>=8'} 565 | 566 | ansi-styles@6.2.1: 567 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 568 | engines: {node: '>=12'} 569 | 570 | array-back@3.1.0: 571 | resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} 572 | engines: {node: '>=6'} 573 | 574 | array-back@6.2.2: 575 | resolution: {integrity: sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==} 576 | engines: {node: '>=12.17'} 577 | 578 | array-union@2.1.0: 579 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 580 | engines: {node: '>=8'} 581 | 582 | arrify@3.0.0: 583 | resolution: {integrity: sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==} 584 | engines: {node: '>=12'} 585 | 586 | ast-types@0.13.4: 587 | resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} 588 | engines: {node: '>=4'} 589 | 590 | astral-regex@2.0.0: 591 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 592 | engines: {node: '>=8'} 593 | 594 | async@3.2.6: 595 | resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} 596 | 597 | b4a@1.6.7: 598 | resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} 599 | 600 | balanced-match@1.0.2: 601 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 602 | 603 | bare-events@2.5.4: 604 | resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} 605 | 606 | bare-fs@4.1.6: 607 | resolution: {integrity: sha512-25RsLF33BqooOEFNdMcEhMpJy8EoR88zSMrnOQOaM3USnOK2VmaJ1uaQEwPA6AQjrv1lXChScosN6CzbwbO9OQ==} 608 | engines: {bare: '>=1.16.0'} 609 | peerDependencies: 610 | bare-buffer: '*' 611 | peerDependenciesMeta: 612 | bare-buffer: 613 | optional: true 614 | 615 | bare-os@3.6.1: 616 | resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} 617 | engines: {bare: '>=1.14.0'} 618 | 619 | bare-path@3.0.0: 620 | resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} 621 | 622 | bare-stream@2.6.5: 623 | resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} 624 | peerDependencies: 625 | bare-buffer: '*' 626 | bare-events: '*' 627 | peerDependenciesMeta: 628 | bare-buffer: 629 | optional: true 630 | bare-events: 631 | optional: true 632 | 633 | basic-ftp@5.0.5: 634 | resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} 635 | engines: {node: '>=10.0.0'} 636 | 637 | brace-expansion@2.0.2: 638 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 639 | 640 | braces@3.0.3: 641 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 642 | engines: {node: '>=8'} 643 | 644 | buffer-crc32@0.2.13: 645 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 646 | 647 | bytes@3.1.2: 648 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 649 | engines: {node: '>= 0.8'} 650 | 651 | cache-content-type@1.0.1: 652 | resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==} 653 | engines: {node: '>= 6.0.0'} 654 | 655 | call-bind-apply-helpers@1.0.2: 656 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 657 | engines: {node: '>= 0.4'} 658 | 659 | call-bound@1.0.4: 660 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 661 | engines: {node: '>= 0.4'} 662 | 663 | camelcase@6.3.0: 664 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 665 | engines: {node: '>=10'} 666 | 667 | chalk-template@0.4.0: 668 | resolution: {integrity: sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==} 669 | engines: {node: '>=12'} 670 | 671 | chalk@4.1.2: 672 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 673 | engines: {node: '>=10'} 674 | 675 | chokidar@4.0.3: 676 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 677 | engines: {node: '>= 14.16.0'} 678 | 679 | chrome-launcher@0.15.2: 680 | resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} 681 | engines: {node: '>=12.13.0'} 682 | hasBin: true 683 | 684 | chromium-bidi@5.1.0: 685 | resolution: {integrity: sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==} 686 | peerDependencies: 687 | devtools-protocol: '*' 688 | 689 | clean-stack@4.2.0: 690 | resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} 691 | engines: {node: '>=12'} 692 | 693 | cli-cursor@3.1.0: 694 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 695 | engines: {node: '>=8'} 696 | 697 | cliui@8.0.1: 698 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 699 | engines: {node: '>=12'} 700 | 701 | clone@2.1.2: 702 | resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} 703 | engines: {node: '>=0.8'} 704 | 705 | co-body@6.2.0: 706 | resolution: {integrity: sha512-Kbpv2Yd1NdL1V/V4cwLVxraHDV6K8ayohr2rmH0J87Er8+zJjcTa6dAn9QMPC9CRgU8+aNajKbSf1TzDB1yKPA==} 707 | engines: {node: '>=8.0.0'} 708 | 709 | co@4.6.0: 710 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} 711 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 712 | 713 | color-convert@2.0.1: 714 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 715 | engines: {node: '>=7.0.0'} 716 | 717 | color-name@1.1.4: 718 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 719 | 720 | command-line-args@5.2.1: 721 | resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} 722 | engines: {node: '>=4.0.0'} 723 | 724 | command-line-usage@7.0.3: 725 | resolution: {integrity: sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==} 726 | engines: {node: '>=12.20.0'} 727 | 728 | consola@3.4.2: 729 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 730 | engines: {node: ^14.18.0 || >=16.10.0} 731 | 732 | content-disposition@0.5.4: 733 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 734 | engines: {node: '>= 0.6'} 735 | 736 | content-type@1.0.5: 737 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 738 | engines: {node: '>= 0.6'} 739 | 740 | convert-source-map@2.0.0: 741 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 742 | 743 | cookies@0.9.1: 744 | resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} 745 | engines: {node: '>= 0.8'} 746 | 747 | cp-file@10.0.0: 748 | resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} 749 | engines: {node: '>=14.16'} 750 | 751 | cpy-cli@5.0.0: 752 | resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} 753 | engines: {node: '>=16'} 754 | hasBin: true 755 | 756 | cpy@10.1.0: 757 | resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} 758 | engines: {node: '>=16'} 759 | 760 | cross-spawn@7.0.6: 761 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 762 | engines: {node: '>= 8'} 763 | 764 | data-uri-to-buffer@6.0.2: 765 | resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} 766 | engines: {node: '>= 14'} 767 | 768 | debounce@1.2.1: 769 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} 770 | 771 | debug@2.6.9: 772 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} 773 | peerDependencies: 774 | supports-color: '*' 775 | peerDependenciesMeta: 776 | supports-color: 777 | optional: true 778 | 779 | debug@3.2.7: 780 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 781 | peerDependencies: 782 | supports-color: '*' 783 | peerDependenciesMeta: 784 | supports-color: 785 | optional: true 786 | 787 | debug@4.4.1: 788 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 789 | engines: {node: '>=6.0'} 790 | peerDependencies: 791 | supports-color: '*' 792 | peerDependenciesMeta: 793 | supports-color: 794 | optional: true 795 | 796 | deep-equal@1.0.1: 797 | resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==} 798 | 799 | deepmerge@4.3.1: 800 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 801 | engines: {node: '>=0.10.0'} 802 | 803 | default-gateway@6.0.3: 804 | resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} 805 | engines: {node: '>= 10'} 806 | 807 | define-lazy-prop@2.0.0: 808 | resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} 809 | engines: {node: '>=8'} 810 | 811 | defu@6.1.4: 812 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 813 | 814 | degenerator@5.0.1: 815 | resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} 816 | engines: {node: '>= 14'} 817 | 818 | delegates@1.0.0: 819 | resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 820 | 821 | depd@1.1.2: 822 | resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} 823 | engines: {node: '>= 0.6'} 824 | 825 | depd@2.0.0: 826 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 827 | engines: {node: '>= 0.8'} 828 | 829 | dependency-graph@0.11.0: 830 | resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} 831 | engines: {node: '>= 0.6.0'} 832 | 833 | destroy@1.2.0: 834 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 835 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 836 | 837 | devtools-protocol@0.0.1464554: 838 | resolution: {integrity: sha512-CAoP3lYfwAGQTaAXYvA6JZR0fjGUb7qec1qf4mToyoH2TZgUFeIqYcjh6f9jNuhHfuZiEdH+PONHYrLhRQX6aw==} 839 | 840 | diff@5.2.0: 841 | resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 842 | engines: {node: '>=0.3.1'} 843 | 844 | dir-glob@3.0.1: 845 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 846 | engines: {node: '>=8'} 847 | 848 | dunder-proto@1.0.1: 849 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 850 | engines: {node: '>= 0.4'} 851 | 852 | eastasianwidth@0.2.0: 853 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 854 | 855 | ee-first@1.1.1: 856 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 857 | 858 | emoji-regex@8.0.0: 859 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 860 | 861 | emoji-regex@9.2.2: 862 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 863 | 864 | encodeurl@1.0.2: 865 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 866 | engines: {node: '>= 0.8'} 867 | 868 | end-of-stream@1.4.5: 869 | resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} 870 | 871 | errorstacks@2.4.1: 872 | resolution: {integrity: sha512-jE4i0SMYevwu/xxAuzhly/KTwtj0xDhbzB6m1xPImxTkw8wcCbgarOQPfCVMi5JKVyW7in29pNJCCJrry3Ynnw==} 873 | 874 | es-define-property@1.0.1: 875 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 876 | engines: {node: '>= 0.4'} 877 | 878 | es-errors@1.3.0: 879 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 880 | engines: {node: '>= 0.4'} 881 | 882 | es-module-lexer@1.7.0: 883 | resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 884 | 885 | es-object-atoms@1.1.1: 886 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 887 | engines: {node: '>= 0.4'} 888 | 889 | esbuild@0.25.6: 890 | resolution: {integrity: sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==} 891 | engines: {node: '>=18'} 892 | hasBin: true 893 | 894 | escalade@3.2.0: 895 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 896 | engines: {node: '>=6'} 897 | 898 | escape-html@1.0.3: 899 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 900 | 901 | escape-string-regexp@4.0.0: 902 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 903 | engines: {node: '>=10'} 904 | 905 | escape-string-regexp@5.0.0: 906 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 907 | engines: {node: '>=12'} 908 | 909 | escodegen@2.1.0: 910 | resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} 911 | engines: {node: '>=6.0'} 912 | hasBin: true 913 | 914 | esprima@4.0.1: 915 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 916 | engines: {node: '>=4'} 917 | hasBin: true 918 | 919 | estraverse@5.3.0: 920 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 921 | engines: {node: '>=4.0'} 922 | 923 | estree-walker@2.0.2: 924 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 925 | 926 | esutils@2.0.3: 927 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 928 | engines: {node: '>=0.10.0'} 929 | 930 | etag@1.8.1: 931 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 932 | engines: {node: '>= 0.6'} 933 | 934 | execa@5.1.1: 935 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 936 | engines: {node: '>=10'} 937 | 938 | extract-zip@2.0.1: 939 | resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} 940 | engines: {node: '>= 10.17.0'} 941 | hasBin: true 942 | 943 | fast-fifo@1.3.2: 944 | resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} 945 | 946 | fast-glob@3.3.3: 947 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 948 | engines: {node: '>=8.6.0'} 949 | 950 | fastq@1.19.1: 951 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 952 | 953 | fd-slicer@1.1.0: 954 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 955 | 956 | fill-range@7.1.1: 957 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 958 | engines: {node: '>=8'} 959 | 960 | find-replace@3.0.0: 961 | resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} 962 | engines: {node: '>=4.0.0'} 963 | 964 | foreground-child@3.3.1: 965 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 966 | engines: {node: '>=14'} 967 | 968 | fresh@0.5.2: 969 | resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 970 | engines: {node: '>= 0.6'} 971 | 972 | fsevents@2.3.2: 973 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 974 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 975 | os: [darwin] 976 | 977 | fsevents@2.3.3: 978 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 979 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 980 | os: [darwin] 981 | 982 | function-bind@1.1.2: 983 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 984 | 985 | get-caller-file@2.0.5: 986 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 987 | engines: {node: 6.* || 8.* || >= 10.*} 988 | 989 | get-intrinsic@1.3.0: 990 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 991 | engines: {node: '>= 0.4'} 992 | 993 | get-proto@1.0.1: 994 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 995 | engines: {node: '>= 0.4'} 996 | 997 | get-stream@5.2.0: 998 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 999 | engines: {node: '>=8'} 1000 | 1001 | get-stream@6.0.1: 1002 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1003 | engines: {node: '>=10'} 1004 | 1005 | get-uri@6.0.5: 1006 | resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} 1007 | engines: {node: '>= 14'} 1008 | 1009 | glob-parent@5.1.2: 1010 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1011 | engines: {node: '>= 6'} 1012 | 1013 | glob@10.4.5: 1014 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1015 | hasBin: true 1016 | 1017 | globby@11.1.0: 1018 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1019 | engines: {node: '>=10'} 1020 | 1021 | globby@13.2.2: 1022 | resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} 1023 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1024 | 1025 | gopd@1.2.0: 1026 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1027 | engines: {node: '>= 0.4'} 1028 | 1029 | graceful-fs@4.2.11: 1030 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1031 | 1032 | has-flag@4.0.0: 1033 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1034 | engines: {node: '>=8'} 1035 | 1036 | has-symbols@1.1.0: 1037 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1038 | engines: {node: '>= 0.4'} 1039 | 1040 | has-tostringtag@1.0.2: 1041 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1042 | engines: {node: '>= 0.4'} 1043 | 1044 | hasown@2.0.2: 1045 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1046 | engines: {node: '>= 0.4'} 1047 | 1048 | html-escaper@2.0.2: 1049 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1050 | 1051 | http-assert@1.5.0: 1052 | resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==} 1053 | engines: {node: '>= 0.8'} 1054 | 1055 | http-errors@1.6.3: 1056 | resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} 1057 | engines: {node: '>= 0.6'} 1058 | 1059 | http-errors@1.8.1: 1060 | resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} 1061 | engines: {node: '>= 0.6'} 1062 | 1063 | http-errors@2.0.0: 1064 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1065 | engines: {node: '>= 0.8'} 1066 | 1067 | http-proxy-agent@7.0.2: 1068 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 1069 | engines: {node: '>= 14'} 1070 | 1071 | https-proxy-agent@7.0.6: 1072 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 1073 | engines: {node: '>= 14'} 1074 | 1075 | human-signals@2.1.0: 1076 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1077 | engines: {node: '>=10.17.0'} 1078 | 1079 | iconv-lite@0.4.24: 1080 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1081 | engines: {node: '>=0.10.0'} 1082 | 1083 | ignore@5.3.2: 1084 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1085 | engines: {node: '>= 4'} 1086 | 1087 | indent-string@5.0.0: 1088 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 1089 | engines: {node: '>=12'} 1090 | 1091 | inflation@2.1.0: 1092 | resolution: {integrity: sha512-t54PPJHG1Pp7VQvxyVCJ9mBbjG3Hqryges9bXoOO6GExCPa+//i/d5GSuFtpx3ALLd7lgIAur6zrIlBQyJuMlQ==} 1093 | engines: {node: '>= 0.8.0'} 1094 | 1095 | inherits@2.0.3: 1096 | resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} 1097 | 1098 | inherits@2.0.4: 1099 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1100 | 1101 | internal-ip@6.2.0: 1102 | resolution: {integrity: sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==} 1103 | engines: {node: '>=10'} 1104 | 1105 | ip-address@9.0.5: 1106 | resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} 1107 | engines: {node: '>= 12'} 1108 | 1109 | ip-regex@4.3.0: 1110 | resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} 1111 | engines: {node: '>=8'} 1112 | 1113 | ipaddr.js@1.9.1: 1114 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1115 | engines: {node: '>= 0.10'} 1116 | 1117 | is-core-module@2.16.1: 1118 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1119 | engines: {node: '>= 0.4'} 1120 | 1121 | is-docker@2.2.1: 1122 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1123 | engines: {node: '>=8'} 1124 | hasBin: true 1125 | 1126 | is-extglob@2.1.1: 1127 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1128 | engines: {node: '>=0.10.0'} 1129 | 1130 | is-fullwidth-code-point@3.0.0: 1131 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1132 | engines: {node: '>=8'} 1133 | 1134 | is-generator-function@1.1.0: 1135 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} 1136 | engines: {node: '>= 0.4'} 1137 | 1138 | is-glob@4.0.3: 1139 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1140 | engines: {node: '>=0.10.0'} 1141 | 1142 | is-ip@3.1.0: 1143 | resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} 1144 | engines: {node: '>=8'} 1145 | 1146 | is-module@1.0.0: 1147 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1148 | 1149 | is-number@7.0.0: 1150 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1151 | engines: {node: '>=0.12.0'} 1152 | 1153 | is-regex@1.2.1: 1154 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1155 | engines: {node: '>= 0.4'} 1156 | 1157 | is-stream@2.0.1: 1158 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1159 | engines: {node: '>=8'} 1160 | 1161 | is-wsl@2.2.0: 1162 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 1163 | engines: {node: '>=8'} 1164 | 1165 | isbinaryfile@5.0.4: 1166 | resolution: {integrity: sha512-YKBKVkKhty7s8rxddb40oOkuP0NbaeXrQvLin6QMHL7Ypiy2RW9LwOVrVgZRyOrhQlayMd9t+D8yDy8MKFTSDQ==} 1167 | engines: {node: '>= 18.0.0'} 1168 | 1169 | isexe@2.0.0: 1170 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1171 | 1172 | istanbul-lib-coverage@3.2.2: 1173 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1174 | engines: {node: '>=8'} 1175 | 1176 | istanbul-lib-report@3.0.1: 1177 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1178 | engines: {node: '>=10'} 1179 | 1180 | istanbul-reports@3.1.7: 1181 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1182 | engines: {node: '>=8'} 1183 | 1184 | jackspeak@3.4.3: 1185 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1186 | 1187 | jasmine-core@5.8.0: 1188 | resolution: {integrity: sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==} 1189 | 1190 | jasmine@5.8.0: 1191 | resolution: {integrity: sha512-1V6HGa0+TMoMY20+/vp++RqLlL1noupV8awzV6CiPuICC0g7iKZ9z87zV2KyelRyoig0G1lHn7ueElXVMGVagg==} 1192 | hasBin: true 1193 | 1194 | js-tokens@4.0.0: 1195 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1196 | 1197 | jsbn@1.1.0: 1198 | resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} 1199 | 1200 | junk@4.0.1: 1201 | resolution: {integrity: sha512-Qush0uP+G8ZScpGMZvHUiRfI0YBWuB3gVBYlI0v0vvOJt5FLicco+IkP0a50LqTTQhmts/m6tP5SWE+USyIvcQ==} 1202 | engines: {node: '>=12.20'} 1203 | 1204 | keygrip@1.1.0: 1205 | resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} 1206 | engines: {node: '>= 0.6'} 1207 | 1208 | koa-compose@4.1.0: 1209 | resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==} 1210 | 1211 | koa-convert@2.0.0: 1212 | resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==} 1213 | engines: {node: '>= 10'} 1214 | 1215 | koa-etag@4.0.0: 1216 | resolution: {integrity: sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==} 1217 | 1218 | koa-send@5.0.1: 1219 | resolution: {integrity: sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==} 1220 | engines: {node: '>= 8'} 1221 | 1222 | koa-static@5.0.0: 1223 | resolution: {integrity: sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==} 1224 | engines: {node: '>= 7.6.0'} 1225 | 1226 | koa@2.16.1: 1227 | resolution: {integrity: sha512-umfX9d3iuSxTQP4pnzLOz0HKnPg0FaUUIKcye2lOiz3KPu1Y3M3xlz76dISdFPQs37P9eJz1wUpcTS6KDPn9fA==} 1228 | engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4} 1229 | 1230 | lighthouse-logger@1.4.2: 1231 | resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} 1232 | 1233 | lodash.camelcase@4.3.0: 1234 | resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} 1235 | 1236 | log-update@4.0.0: 1237 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 1238 | engines: {node: '>=10'} 1239 | 1240 | lru-cache@10.4.3: 1241 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1242 | 1243 | lru-cache@7.18.3: 1244 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 1245 | engines: {node: '>=12'} 1246 | 1247 | lru-cache@8.0.5: 1248 | resolution: {integrity: sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==} 1249 | engines: {node: '>=16.14'} 1250 | 1251 | make-dir@4.0.0: 1252 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1253 | engines: {node: '>=10'} 1254 | 1255 | marky@1.3.0: 1256 | resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} 1257 | 1258 | math-intrinsics@1.1.0: 1259 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1260 | engines: {node: '>= 0.4'} 1261 | 1262 | media-typer@0.3.0: 1263 | resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} 1264 | engines: {node: '>= 0.6'} 1265 | 1266 | meow@12.1.1: 1267 | resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} 1268 | engines: {node: '>=16.10'} 1269 | 1270 | merge-stream@2.0.0: 1271 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1272 | 1273 | merge2@1.4.1: 1274 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1275 | engines: {node: '>= 8'} 1276 | 1277 | micromatch@4.0.8: 1278 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1279 | engines: {node: '>=8.6'} 1280 | 1281 | mime-db@1.52.0: 1282 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1283 | engines: {node: '>= 0.6'} 1284 | 1285 | mime-types@2.1.35: 1286 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1287 | engines: {node: '>= 0.6'} 1288 | 1289 | mime@3.0.0: 1290 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1291 | engines: {node: '>=10.0.0'} 1292 | hasBin: true 1293 | 1294 | mimic-fn@2.1.0: 1295 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1296 | engines: {node: '>=6'} 1297 | 1298 | minimatch@9.0.5: 1299 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1300 | engines: {node: '>=16 || 14 >=14.17'} 1301 | 1302 | minipass@7.1.2: 1303 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1304 | engines: {node: '>=16 || 14 >=14.17'} 1305 | 1306 | mitt@3.0.1: 1307 | resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} 1308 | 1309 | mkdirp@1.0.4: 1310 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1311 | engines: {node: '>=10'} 1312 | hasBin: true 1313 | 1314 | ms@2.0.0: 1315 | resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} 1316 | 1317 | ms@2.1.3: 1318 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1319 | 1320 | nanocolors@0.2.13: 1321 | resolution: {integrity: sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==} 1322 | 1323 | nanoid@3.3.11: 1324 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1325 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1326 | hasBin: true 1327 | 1328 | negotiator@0.6.3: 1329 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 1330 | engines: {node: '>= 0.6'} 1331 | 1332 | nested-error-stacks@2.1.1: 1333 | resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} 1334 | 1335 | netmask@2.0.2: 1336 | resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} 1337 | engines: {node: '>= 0.4.0'} 1338 | 1339 | node-fetch-native@1.6.6: 1340 | resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} 1341 | 1342 | npm-run-path@4.0.1: 1343 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1344 | engines: {node: '>=8'} 1345 | 1346 | object-inspect@1.13.4: 1347 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1348 | engines: {node: '>= 0.4'} 1349 | 1350 | on-finished@2.4.1: 1351 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1352 | engines: {node: '>= 0.8'} 1353 | 1354 | once@1.4.0: 1355 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1356 | 1357 | onetime@5.1.2: 1358 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1359 | engines: {node: '>=6'} 1360 | 1361 | only@0.0.2: 1362 | resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==} 1363 | 1364 | open@8.4.2: 1365 | resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} 1366 | engines: {node: '>=12'} 1367 | 1368 | p-event@4.2.0: 1369 | resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} 1370 | engines: {node: '>=8'} 1371 | 1372 | p-event@5.0.1: 1373 | resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} 1374 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1375 | 1376 | p-filter@3.0.0: 1377 | resolution: {integrity: sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg==} 1378 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1379 | 1380 | p-finally@1.0.0: 1381 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 1382 | engines: {node: '>=4'} 1383 | 1384 | p-map@5.5.0: 1385 | resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} 1386 | engines: {node: '>=12'} 1387 | 1388 | p-map@6.0.0: 1389 | resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} 1390 | engines: {node: '>=16'} 1391 | 1392 | p-timeout@3.2.0: 1393 | resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} 1394 | engines: {node: '>=8'} 1395 | 1396 | p-timeout@5.1.0: 1397 | resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==} 1398 | engines: {node: '>=12'} 1399 | 1400 | pac-proxy-agent@7.2.0: 1401 | resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} 1402 | engines: {node: '>= 14'} 1403 | 1404 | pac-resolver@7.0.1: 1405 | resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} 1406 | engines: {node: '>= 14'} 1407 | 1408 | package-json-from-dist@1.0.1: 1409 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1410 | 1411 | parse5@6.0.1: 1412 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 1413 | 1414 | parseurl@1.3.3: 1415 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1416 | engines: {node: '>= 0.8'} 1417 | 1418 | path-is-absolute@1.0.1: 1419 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1420 | engines: {node: '>=0.10.0'} 1421 | 1422 | path-key@3.1.1: 1423 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1424 | engines: {node: '>=8'} 1425 | 1426 | path-parse@1.0.7: 1427 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1428 | 1429 | path-scurry@1.11.1: 1430 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1431 | engines: {node: '>=16 || 14 >=14.18'} 1432 | 1433 | path-type@4.0.0: 1434 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1435 | engines: {node: '>=8'} 1436 | 1437 | pathe@1.1.2: 1438 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1439 | 1440 | pend@1.2.0: 1441 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 1442 | 1443 | picocolors@1.1.1: 1444 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1445 | 1446 | picomatch@2.3.1: 1447 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1448 | engines: {node: '>=8.6'} 1449 | 1450 | picomatch@4.0.2: 1451 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1452 | engines: {node: '>=12'} 1453 | 1454 | playwright-core@1.53.2: 1455 | resolution: {integrity: sha512-ox/OytMy+2w1jcYEYlOo1Hhp8hZkLCximMTUTMBXjGUA1KoFfiSZ+DU+3a739jsPY0yoKH2TFy9S2fsJas8yAw==} 1456 | engines: {node: '>=18'} 1457 | hasBin: true 1458 | 1459 | playwright@1.53.2: 1460 | resolution: {integrity: sha512-6K/qQxVFuVQhRQhFsVZ9fGeatxirtrpPgxzBYWyZLEXJzqYwuL4fuNmfOfD5et1tJE4GScKyPNeLhZeRwuTU3A==} 1461 | engines: {node: '>=18'} 1462 | hasBin: true 1463 | 1464 | portfinder@1.0.37: 1465 | resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==} 1466 | engines: {node: '>= 10.12'} 1467 | 1468 | progress@2.0.3: 1469 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 1470 | engines: {node: '>=0.4.0'} 1471 | 1472 | proxy-agent@6.5.0: 1473 | resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} 1474 | engines: {node: '>= 14'} 1475 | 1476 | proxy-from-env@1.1.0: 1477 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1478 | 1479 | pump@3.0.3: 1480 | resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} 1481 | 1482 | punycode@2.3.1: 1483 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1484 | engines: {node: '>=6'} 1485 | 1486 | puppeteer-core@24.12.0: 1487 | resolution: {integrity: sha512-VrPXPho5Q90Ao86FwJVb+JeAF2Tf41wOTGg8k2SyQJePiJ6hJ5iujYpmP+bmhlb6o+J26bQYRDPOYXP7ALWcxQ==} 1488 | engines: {node: '>=18'} 1489 | 1490 | qs@6.14.0: 1491 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1492 | engines: {node: '>=0.6'} 1493 | 1494 | queue-microtask@1.2.3: 1495 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1496 | 1497 | raw-body@2.5.2: 1498 | resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} 1499 | engines: {node: '>= 0.8'} 1500 | 1501 | readdirp@4.1.2: 1502 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1503 | engines: {node: '>= 14.18.0'} 1504 | 1505 | require-directory@2.1.1: 1506 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1507 | engines: {node: '>=0.10.0'} 1508 | 1509 | resolve-path@1.4.0: 1510 | resolution: {integrity: sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==} 1511 | engines: {node: '>= 0.8'} 1512 | 1513 | resolve@1.22.10: 1514 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1515 | engines: {node: '>= 0.4'} 1516 | hasBin: true 1517 | 1518 | restore-cursor@3.1.0: 1519 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 1520 | engines: {node: '>=8'} 1521 | 1522 | reusify@1.1.0: 1523 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1524 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1525 | 1526 | rollup@4.44.2: 1527 | resolution: {integrity: sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==} 1528 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1529 | hasBin: true 1530 | 1531 | run-parallel@1.2.0: 1532 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1533 | 1534 | safe-buffer@5.2.1: 1535 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1536 | 1537 | safe-regex-test@1.1.0: 1538 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1539 | engines: {node: '>= 0.4'} 1540 | 1541 | safer-buffer@2.1.2: 1542 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1543 | 1544 | semver@7.7.2: 1545 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 1546 | engines: {node: '>=10'} 1547 | hasBin: true 1548 | 1549 | setprototypeof@1.1.0: 1550 | resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} 1551 | 1552 | setprototypeof@1.2.0: 1553 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1554 | 1555 | shebang-command@2.0.0: 1556 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1557 | engines: {node: '>=8'} 1558 | 1559 | shebang-regex@3.0.0: 1560 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1561 | engines: {node: '>=8'} 1562 | 1563 | side-channel-list@1.0.0: 1564 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1565 | engines: {node: '>= 0.4'} 1566 | 1567 | side-channel-map@1.0.1: 1568 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1569 | engines: {node: '>= 0.4'} 1570 | 1571 | side-channel-weakmap@1.0.2: 1572 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1573 | engines: {node: '>= 0.4'} 1574 | 1575 | side-channel@1.1.0: 1576 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1577 | engines: {node: '>= 0.4'} 1578 | 1579 | signal-exit@3.0.7: 1580 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1581 | 1582 | signal-exit@4.1.0: 1583 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1584 | engines: {node: '>=14'} 1585 | 1586 | slash@3.0.0: 1587 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1588 | engines: {node: '>=8'} 1589 | 1590 | slash@4.0.0: 1591 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 1592 | engines: {node: '>=12'} 1593 | 1594 | slice-ansi@4.0.0: 1595 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 1596 | engines: {node: '>=10'} 1597 | 1598 | smart-buffer@4.2.0: 1599 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 1600 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 1601 | 1602 | socks-proxy-agent@8.0.5: 1603 | resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} 1604 | engines: {node: '>= 14'} 1605 | 1606 | socks@2.8.5: 1607 | resolution: {integrity: sha512-iF+tNDQla22geJdTyJB1wM/qrX9DMRwWrciEPwWLPRWAUEM8sQiyxgckLxWT1f7+9VabJS0jTGGr4QgBuvi6Ww==} 1608 | engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} 1609 | 1610 | source-map@0.6.1: 1611 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1612 | engines: {node: '>=0.10.0'} 1613 | 1614 | source-map@0.7.4: 1615 | resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 1616 | engines: {node: '>= 8'} 1617 | 1618 | sprintf-js@1.1.3: 1619 | resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} 1620 | 1621 | statuses@1.5.0: 1622 | resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} 1623 | engines: {node: '>= 0.6'} 1624 | 1625 | statuses@2.0.1: 1626 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1627 | engines: {node: '>= 0.8'} 1628 | 1629 | streamx@2.22.1: 1630 | resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} 1631 | 1632 | string-width@4.2.3: 1633 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1634 | engines: {node: '>=8'} 1635 | 1636 | string-width@5.1.2: 1637 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1638 | engines: {node: '>=12'} 1639 | 1640 | strip-ansi@6.0.1: 1641 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1642 | engines: {node: '>=8'} 1643 | 1644 | strip-ansi@7.1.0: 1645 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1646 | engines: {node: '>=12'} 1647 | 1648 | strip-final-newline@2.0.0: 1649 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1650 | engines: {node: '>=6'} 1651 | 1652 | supports-color@7.2.0: 1653 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1654 | engines: {node: '>=8'} 1655 | 1656 | supports-preserve-symlinks-flag@1.0.0: 1657 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1658 | engines: {node: '>= 0.4'} 1659 | 1660 | table-layout@4.1.1: 1661 | resolution: {integrity: sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==} 1662 | engines: {node: '>=12.17'} 1663 | 1664 | tar-fs@3.1.0: 1665 | resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} 1666 | 1667 | tar-stream@3.1.7: 1668 | resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} 1669 | 1670 | text-decoder@1.2.3: 1671 | resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} 1672 | 1673 | to-regex-range@5.0.1: 1674 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1675 | engines: {node: '>=8.0'} 1676 | 1677 | toidentifier@1.0.1: 1678 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1679 | engines: {node: '>=0.6'} 1680 | 1681 | tr46@5.1.1: 1682 | resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} 1683 | engines: {node: '>=18'} 1684 | 1685 | tslib@2.8.1: 1686 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1687 | 1688 | tsscmp@1.0.6: 1689 | resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} 1690 | engines: {node: '>=0.6.x'} 1691 | 1692 | type-fest@0.21.3: 1693 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1694 | engines: {node: '>=10'} 1695 | 1696 | type-is@1.6.18: 1697 | resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} 1698 | engines: {node: '>= 0.6'} 1699 | 1700 | typed-query-selector@2.12.0: 1701 | resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} 1702 | 1703 | typescript@5.7.3: 1704 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} 1705 | engines: {node: '>=14.17'} 1706 | hasBin: true 1707 | 1708 | typical@4.0.0: 1709 | resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} 1710 | engines: {node: '>=8'} 1711 | 1712 | typical@7.3.0: 1713 | resolution: {integrity: sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==} 1714 | engines: {node: '>=12.17'} 1715 | 1716 | ua-parser-js@1.0.40: 1717 | resolution: {integrity: sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==} 1718 | hasBin: true 1719 | 1720 | undici-types@7.8.0: 1721 | resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} 1722 | 1723 | unenv@1.10.0: 1724 | resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} 1725 | 1726 | unpipe@1.0.0: 1727 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1728 | engines: {node: '>= 0.8'} 1729 | 1730 | v8-to-istanbul@9.3.0: 1731 | resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} 1732 | engines: {node: '>=10.12.0'} 1733 | 1734 | vary@1.1.2: 1735 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 1736 | engines: {node: '>= 0.8'} 1737 | 1738 | webidl-conversions@7.0.0: 1739 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 1740 | engines: {node: '>=12'} 1741 | 1742 | whatwg-url@14.2.0: 1743 | resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} 1744 | engines: {node: '>=18'} 1745 | 1746 | which@2.0.2: 1747 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1748 | engines: {node: '>= 8'} 1749 | hasBin: true 1750 | 1751 | wordwrapjs@5.1.0: 1752 | resolution: {integrity: sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==} 1753 | engines: {node: '>=12.17'} 1754 | 1755 | wrap-ansi@6.2.0: 1756 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 1757 | engines: {node: '>=8'} 1758 | 1759 | wrap-ansi@7.0.0: 1760 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1761 | engines: {node: '>=10'} 1762 | 1763 | wrap-ansi@8.1.0: 1764 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1765 | engines: {node: '>=12'} 1766 | 1767 | wrappy@1.0.2: 1768 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1769 | 1770 | ws@7.5.10: 1771 | resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} 1772 | engines: {node: '>=8.3.0'} 1773 | peerDependencies: 1774 | bufferutil: ^4.0.1 1775 | utf-8-validate: ^5.0.2 1776 | peerDependenciesMeta: 1777 | bufferutil: 1778 | optional: true 1779 | utf-8-validate: 1780 | optional: true 1781 | 1782 | ws@8.18.3: 1783 | resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} 1784 | engines: {node: '>=10.0.0'} 1785 | peerDependencies: 1786 | bufferutil: ^4.0.1 1787 | utf-8-validate: '>=5.0.2' 1788 | peerDependenciesMeta: 1789 | bufferutil: 1790 | optional: true 1791 | utf-8-validate: 1792 | optional: true 1793 | 1794 | y18n@5.0.8: 1795 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1796 | engines: {node: '>=10'} 1797 | 1798 | yargs-parser@21.1.1: 1799 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1800 | engines: {node: '>=12'} 1801 | 1802 | yargs@17.7.2: 1803 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1804 | engines: {node: '>=12'} 1805 | 1806 | yauzl@2.10.0: 1807 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 1808 | 1809 | ylru@1.4.0: 1810 | resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==} 1811 | engines: {node: '>= 4.0.0'} 1812 | 1813 | zod@3.25.76: 1814 | resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} 1815 | 1816 | snapshots: 1817 | 1818 | '@babel/code-frame@7.27.1': 1819 | dependencies: 1820 | '@babel/helper-validator-identifier': 7.27.1 1821 | js-tokens: 4.0.0 1822 | picocolors: 1.1.1 1823 | 1824 | '@babel/helper-validator-identifier@7.27.1': {} 1825 | 1826 | '@esbuild/aix-ppc64@0.25.6': 1827 | optional: true 1828 | 1829 | '@esbuild/android-arm64@0.25.6': 1830 | optional: true 1831 | 1832 | '@esbuild/android-arm@0.25.6': 1833 | optional: true 1834 | 1835 | '@esbuild/android-x64@0.25.6': 1836 | optional: true 1837 | 1838 | '@esbuild/darwin-arm64@0.25.6': 1839 | optional: true 1840 | 1841 | '@esbuild/darwin-x64@0.25.6': 1842 | optional: true 1843 | 1844 | '@esbuild/freebsd-arm64@0.25.6': 1845 | optional: true 1846 | 1847 | '@esbuild/freebsd-x64@0.25.6': 1848 | optional: true 1849 | 1850 | '@esbuild/linux-arm64@0.25.6': 1851 | optional: true 1852 | 1853 | '@esbuild/linux-arm@0.25.6': 1854 | optional: true 1855 | 1856 | '@esbuild/linux-ia32@0.25.6': 1857 | optional: true 1858 | 1859 | '@esbuild/linux-loong64@0.25.6': 1860 | optional: true 1861 | 1862 | '@esbuild/linux-mips64el@0.25.6': 1863 | optional: true 1864 | 1865 | '@esbuild/linux-ppc64@0.25.6': 1866 | optional: true 1867 | 1868 | '@esbuild/linux-riscv64@0.25.6': 1869 | optional: true 1870 | 1871 | '@esbuild/linux-s390x@0.25.6': 1872 | optional: true 1873 | 1874 | '@esbuild/linux-x64@0.25.6': 1875 | optional: true 1876 | 1877 | '@esbuild/netbsd-arm64@0.25.6': 1878 | optional: true 1879 | 1880 | '@esbuild/netbsd-x64@0.25.6': 1881 | optional: true 1882 | 1883 | '@esbuild/openbsd-arm64@0.25.6': 1884 | optional: true 1885 | 1886 | '@esbuild/openbsd-x64@0.25.6': 1887 | optional: true 1888 | 1889 | '@esbuild/openharmony-arm64@0.25.6': 1890 | optional: true 1891 | 1892 | '@esbuild/sunos-x64@0.25.6': 1893 | optional: true 1894 | 1895 | '@esbuild/win32-arm64@0.25.6': 1896 | optional: true 1897 | 1898 | '@esbuild/win32-ia32@0.25.6': 1899 | optional: true 1900 | 1901 | '@esbuild/win32-x64@0.25.6': 1902 | optional: true 1903 | 1904 | '@hapi/bourne@3.0.0': {} 1905 | 1906 | '@isaacs/cliui@8.0.2': 1907 | dependencies: 1908 | string-width: 5.1.2 1909 | string-width-cjs: string-width@4.2.3 1910 | strip-ansi: 7.1.0 1911 | strip-ansi-cjs: strip-ansi@6.0.1 1912 | wrap-ansi: 8.1.0 1913 | wrap-ansi-cjs: wrap-ansi@7.0.0 1914 | 1915 | '@jridgewell/resolve-uri@3.1.2': {} 1916 | 1917 | '@jridgewell/sourcemap-codec@1.5.4': {} 1918 | 1919 | '@jridgewell/trace-mapping@0.3.29': 1920 | dependencies: 1921 | '@jridgewell/resolve-uri': 3.1.2 1922 | '@jridgewell/sourcemap-codec': 1.5.4 1923 | 1924 | '@mdn/browser-compat-data@4.2.1': {} 1925 | 1926 | '@nodelib/fs.scandir@2.1.5': 1927 | dependencies: 1928 | '@nodelib/fs.stat': 2.0.5 1929 | run-parallel: 1.2.0 1930 | 1931 | '@nodelib/fs.stat@2.0.5': {} 1932 | 1933 | '@nodelib/fs.walk@1.2.8': 1934 | dependencies: 1935 | '@nodelib/fs.scandir': 2.1.5 1936 | fastq: 1.19.1 1937 | 1938 | '@pkgjs/parseargs@0.11.0': 1939 | optional: true 1940 | 1941 | '@puppeteer/browsers@2.10.5': 1942 | dependencies: 1943 | debug: 4.4.1 1944 | extract-zip: 2.0.1 1945 | progress: 2.0.3 1946 | proxy-agent: 6.5.0 1947 | semver: 7.7.2 1948 | tar-fs: 3.1.0 1949 | yargs: 17.7.2 1950 | transitivePeerDependencies: 1951 | - bare-buffer 1952 | - supports-color 1953 | 1954 | '@rollup/plugin-node-resolve@15.3.1(rollup@4.44.2)': 1955 | dependencies: 1956 | '@rollup/pluginutils': 5.2.0(rollup@4.44.2) 1957 | '@types/resolve': 1.20.2 1958 | deepmerge: 4.3.1 1959 | is-module: 1.0.0 1960 | resolve: 1.22.10 1961 | optionalDependencies: 1962 | rollup: 4.44.2 1963 | 1964 | '@rollup/pluginutils@5.2.0(rollup@4.44.2)': 1965 | dependencies: 1966 | '@types/estree': 1.0.8 1967 | estree-walker: 2.0.2 1968 | picomatch: 4.0.2 1969 | optionalDependencies: 1970 | rollup: 4.44.2 1971 | 1972 | '@rollup/rollup-android-arm-eabi@4.44.2': 1973 | optional: true 1974 | 1975 | '@rollup/rollup-android-arm64@4.44.2': 1976 | optional: true 1977 | 1978 | '@rollup/rollup-darwin-arm64@4.44.2': 1979 | optional: true 1980 | 1981 | '@rollup/rollup-darwin-x64@4.44.2': 1982 | optional: true 1983 | 1984 | '@rollup/rollup-freebsd-arm64@4.44.2': 1985 | optional: true 1986 | 1987 | '@rollup/rollup-freebsd-x64@4.44.2': 1988 | optional: true 1989 | 1990 | '@rollup/rollup-linux-arm-gnueabihf@4.44.2': 1991 | optional: true 1992 | 1993 | '@rollup/rollup-linux-arm-musleabihf@4.44.2': 1994 | optional: true 1995 | 1996 | '@rollup/rollup-linux-arm64-gnu@4.44.2': 1997 | optional: true 1998 | 1999 | '@rollup/rollup-linux-arm64-musl@4.44.2': 2000 | optional: true 2001 | 2002 | '@rollup/rollup-linux-loongarch64-gnu@4.44.2': 2003 | optional: true 2004 | 2005 | '@rollup/rollup-linux-powerpc64le-gnu@4.44.2': 2006 | optional: true 2007 | 2008 | '@rollup/rollup-linux-riscv64-gnu@4.44.2': 2009 | optional: true 2010 | 2011 | '@rollup/rollup-linux-riscv64-musl@4.44.2': 2012 | optional: true 2013 | 2014 | '@rollup/rollup-linux-s390x-gnu@4.44.2': 2015 | optional: true 2016 | 2017 | '@rollup/rollup-linux-x64-gnu@4.44.2': 2018 | optional: true 2019 | 2020 | '@rollup/rollup-linux-x64-musl@4.44.2': 2021 | optional: true 2022 | 2023 | '@rollup/rollup-win32-arm64-msvc@4.44.2': 2024 | optional: true 2025 | 2026 | '@rollup/rollup-win32-ia32-msvc@4.44.2': 2027 | optional: true 2028 | 2029 | '@rollup/rollup-win32-x64-msvc@4.44.2': 2030 | optional: true 2031 | 2032 | '@tootallnate/quickjs-emscripten@0.23.0': {} 2033 | 2034 | '@types/accepts@1.3.7': 2035 | dependencies: 2036 | '@types/node': 24.0.11 2037 | 2038 | '@types/babel__code-frame@7.0.6': {} 2039 | 2040 | '@types/body-parser@1.19.6': 2041 | dependencies: 2042 | '@types/connect': 3.4.38 2043 | '@types/node': 24.0.11 2044 | 2045 | '@types/co-body@6.1.3': 2046 | dependencies: 2047 | '@types/node': 24.0.11 2048 | '@types/qs': 6.14.0 2049 | 2050 | '@types/command-line-args@5.2.3': {} 2051 | 2052 | '@types/connect@3.4.38': 2053 | dependencies: 2054 | '@types/node': 24.0.11 2055 | 2056 | '@types/content-disposition@0.5.9': {} 2057 | 2058 | '@types/convert-source-map@2.0.3': {} 2059 | 2060 | '@types/cookies@0.9.1': 2061 | dependencies: 2062 | '@types/connect': 3.4.38 2063 | '@types/express': 5.0.3 2064 | '@types/keygrip': 1.0.6 2065 | '@types/node': 24.0.11 2066 | 2067 | '@types/debounce@1.2.4': {} 2068 | 2069 | '@types/estree@1.0.8': {} 2070 | 2071 | '@types/express-serve-static-core@5.0.7': 2072 | dependencies: 2073 | '@types/node': 24.0.11 2074 | '@types/qs': 6.14.0 2075 | '@types/range-parser': 1.2.7 2076 | '@types/send': 0.17.5 2077 | 2078 | '@types/express@5.0.3': 2079 | dependencies: 2080 | '@types/body-parser': 1.19.6 2081 | '@types/express-serve-static-core': 5.0.7 2082 | '@types/serve-static': 1.15.8 2083 | 2084 | '@types/http-assert@1.5.6': {} 2085 | 2086 | '@types/http-errors@2.0.5': {} 2087 | 2088 | '@types/istanbul-lib-coverage@2.0.6': {} 2089 | 2090 | '@types/istanbul-lib-report@3.0.3': 2091 | dependencies: 2092 | '@types/istanbul-lib-coverage': 2.0.6 2093 | 2094 | '@types/istanbul-reports@3.0.4': 2095 | dependencies: 2096 | '@types/istanbul-lib-report': 3.0.3 2097 | 2098 | '@types/jasmine@5.1.8': {} 2099 | 2100 | '@types/keygrip@1.0.6': {} 2101 | 2102 | '@types/koa-compose@3.2.8': 2103 | dependencies: 2104 | '@types/koa': 2.15.0 2105 | 2106 | '@types/koa@2.15.0': 2107 | dependencies: 2108 | '@types/accepts': 1.3.7 2109 | '@types/content-disposition': 0.5.9 2110 | '@types/cookies': 0.9.1 2111 | '@types/http-assert': 1.5.6 2112 | '@types/http-errors': 2.0.5 2113 | '@types/keygrip': 1.0.6 2114 | '@types/koa-compose': 3.2.8 2115 | '@types/node': 24.0.11 2116 | 2117 | '@types/mime@1.3.5': {} 2118 | 2119 | '@types/node@24.0.11': 2120 | dependencies: 2121 | undici-types: 7.8.0 2122 | 2123 | '@types/parse5@6.0.3': {} 2124 | 2125 | '@types/qs@6.14.0': {} 2126 | 2127 | '@types/range-parser@1.2.7': {} 2128 | 2129 | '@types/resolve@1.20.2': {} 2130 | 2131 | '@types/send@0.17.5': 2132 | dependencies: 2133 | '@types/mime': 1.3.5 2134 | '@types/node': 24.0.11 2135 | 2136 | '@types/serve-static@1.15.8': 2137 | dependencies: 2138 | '@types/http-errors': 2.0.5 2139 | '@types/node': 24.0.11 2140 | '@types/send': 0.17.5 2141 | 2142 | '@types/ws@7.4.7': 2143 | dependencies: 2144 | '@types/node': 24.0.11 2145 | 2146 | '@types/yauzl@2.10.3': 2147 | dependencies: 2148 | '@types/node': 24.0.11 2149 | optional: true 2150 | 2151 | '@web/browser-logs@0.4.1': 2152 | dependencies: 2153 | errorstacks: 2.4.1 2154 | 2155 | '@web/config-loader@0.3.3': {} 2156 | 2157 | '@web/dev-server-core@0.7.5': 2158 | dependencies: 2159 | '@types/koa': 2.15.0 2160 | '@types/ws': 7.4.7 2161 | '@web/parse5-utils': 2.1.0 2162 | chokidar: 4.0.3 2163 | clone: 2.1.2 2164 | es-module-lexer: 1.7.0 2165 | get-stream: 6.0.1 2166 | is-stream: 2.0.1 2167 | isbinaryfile: 5.0.4 2168 | koa: 2.16.1 2169 | koa-etag: 4.0.0 2170 | koa-send: 5.0.1 2171 | koa-static: 5.0.0 2172 | lru-cache: 8.0.5 2173 | mime-types: 2.1.35 2174 | parse5: 6.0.1 2175 | picomatch: 2.3.1 2176 | ws: 7.5.10 2177 | transitivePeerDependencies: 2178 | - bufferutil 2179 | - supports-color 2180 | - utf-8-validate 2181 | 2182 | '@web/dev-server-esbuild@1.0.4': 2183 | dependencies: 2184 | '@mdn/browser-compat-data': 4.2.1 2185 | '@web/dev-server-core': 0.7.5 2186 | esbuild: 0.25.6 2187 | parse5: 6.0.1 2188 | ua-parser-js: 1.0.40 2189 | transitivePeerDependencies: 2190 | - bufferutil 2191 | - supports-color 2192 | - utf-8-validate 2193 | 2194 | '@web/dev-server-rollup@0.6.4': 2195 | dependencies: 2196 | '@rollup/plugin-node-resolve': 15.3.1(rollup@4.44.2) 2197 | '@web/dev-server-core': 0.7.5 2198 | nanocolors: 0.2.13 2199 | parse5: 6.0.1 2200 | rollup: 4.44.2 2201 | whatwg-url: 14.2.0 2202 | transitivePeerDependencies: 2203 | - bufferutil 2204 | - supports-color 2205 | - utf-8-validate 2206 | 2207 | '@web/dev-server@0.4.6': 2208 | dependencies: 2209 | '@babel/code-frame': 7.27.1 2210 | '@types/command-line-args': 5.2.3 2211 | '@web/config-loader': 0.3.3 2212 | '@web/dev-server-core': 0.7.5 2213 | '@web/dev-server-rollup': 0.6.4 2214 | camelcase: 6.3.0 2215 | command-line-args: 5.2.1 2216 | command-line-usage: 7.0.3 2217 | debounce: 1.2.1 2218 | deepmerge: 4.3.1 2219 | internal-ip: 6.2.0 2220 | nanocolors: 0.2.13 2221 | open: 8.4.2 2222 | portfinder: 1.0.37 2223 | transitivePeerDependencies: 2224 | - bufferutil 2225 | - supports-color 2226 | - utf-8-validate 2227 | 2228 | '@web/parse5-utils@2.1.0': 2229 | dependencies: 2230 | '@types/parse5': 6.0.3 2231 | parse5: 6.0.1 2232 | 2233 | '@web/test-runner-chrome@0.18.1': 2234 | dependencies: 2235 | '@web/test-runner-core': 0.13.4 2236 | '@web/test-runner-coverage-v8': 0.8.0 2237 | chrome-launcher: 0.15.2 2238 | puppeteer-core: 24.12.0 2239 | transitivePeerDependencies: 2240 | - bare-buffer 2241 | - bufferutil 2242 | - supports-color 2243 | - utf-8-validate 2244 | 2245 | '@web/test-runner-commands@0.9.0': 2246 | dependencies: 2247 | '@web/test-runner-core': 0.13.4 2248 | mkdirp: 1.0.4 2249 | transitivePeerDependencies: 2250 | - bufferutil 2251 | - supports-color 2252 | - utf-8-validate 2253 | 2254 | '@web/test-runner-core@0.13.4': 2255 | dependencies: 2256 | '@babel/code-frame': 7.27.1 2257 | '@types/babel__code-frame': 7.0.6 2258 | '@types/co-body': 6.1.3 2259 | '@types/convert-source-map': 2.0.3 2260 | '@types/debounce': 1.2.4 2261 | '@types/istanbul-lib-coverage': 2.0.6 2262 | '@types/istanbul-reports': 3.0.4 2263 | '@web/browser-logs': 0.4.1 2264 | '@web/dev-server-core': 0.7.5 2265 | chokidar: 4.0.3 2266 | cli-cursor: 3.1.0 2267 | co-body: 6.2.0 2268 | convert-source-map: 2.0.0 2269 | debounce: 1.2.1 2270 | dependency-graph: 0.11.0 2271 | globby: 11.1.0 2272 | internal-ip: 6.2.0 2273 | istanbul-lib-coverage: 3.2.2 2274 | istanbul-lib-report: 3.0.1 2275 | istanbul-reports: 3.1.7 2276 | log-update: 4.0.0 2277 | nanocolors: 0.2.13 2278 | nanoid: 3.3.11 2279 | open: 8.4.2 2280 | picomatch: 2.3.1 2281 | source-map: 0.7.4 2282 | transitivePeerDependencies: 2283 | - bufferutil 2284 | - supports-color 2285 | - utf-8-validate 2286 | 2287 | '@web/test-runner-coverage-v8@0.8.0': 2288 | dependencies: 2289 | '@web/test-runner-core': 0.13.4 2290 | istanbul-lib-coverage: 3.2.2 2291 | lru-cache: 8.0.5 2292 | picomatch: 2.3.1 2293 | v8-to-istanbul: 9.3.0 2294 | transitivePeerDependencies: 2295 | - bufferutil 2296 | - supports-color 2297 | - utf-8-validate 2298 | 2299 | '@web/test-runner-mocha@0.9.0': 2300 | dependencies: 2301 | '@web/test-runner-core': 0.13.4 2302 | transitivePeerDependencies: 2303 | - bufferutil 2304 | - supports-color 2305 | - utf-8-validate 2306 | 2307 | '@web/test-runner-playwright@0.11.1': 2308 | dependencies: 2309 | '@web/test-runner-core': 0.13.4 2310 | '@web/test-runner-coverage-v8': 0.8.0 2311 | playwright: 1.53.2 2312 | transitivePeerDependencies: 2313 | - bufferutil 2314 | - supports-color 2315 | - utf-8-validate 2316 | 2317 | '@web/test-runner@0.20.2': 2318 | dependencies: 2319 | '@web/browser-logs': 0.4.1 2320 | '@web/config-loader': 0.3.3 2321 | '@web/dev-server': 0.4.6 2322 | '@web/test-runner-chrome': 0.18.1 2323 | '@web/test-runner-commands': 0.9.0 2324 | '@web/test-runner-core': 0.13.4 2325 | '@web/test-runner-mocha': 0.9.0 2326 | camelcase: 6.3.0 2327 | command-line-args: 5.2.1 2328 | command-line-usage: 7.0.3 2329 | convert-source-map: 2.0.0 2330 | diff: 5.2.0 2331 | globby: 11.1.0 2332 | nanocolors: 0.2.13 2333 | portfinder: 1.0.37 2334 | source-map: 0.7.4 2335 | transitivePeerDependencies: 2336 | - bare-buffer 2337 | - bufferutil 2338 | - supports-color 2339 | - utf-8-validate 2340 | 2341 | accepts@1.3.8: 2342 | dependencies: 2343 | mime-types: 2.1.35 2344 | negotiator: 0.6.3 2345 | 2346 | agent-base@7.1.4: {} 2347 | 2348 | aggregate-error@4.0.1: 2349 | dependencies: 2350 | clean-stack: 4.2.0 2351 | indent-string: 5.0.0 2352 | 2353 | ansi-colors@4.1.3: {} 2354 | 2355 | ansi-escapes@4.3.2: 2356 | dependencies: 2357 | type-fest: 0.21.3 2358 | 2359 | ansi-regex@5.0.1: {} 2360 | 2361 | ansi-regex@6.1.0: {} 2362 | 2363 | ansi-styles@4.3.0: 2364 | dependencies: 2365 | color-convert: 2.0.1 2366 | 2367 | ansi-styles@6.2.1: {} 2368 | 2369 | array-back@3.1.0: {} 2370 | 2371 | array-back@6.2.2: {} 2372 | 2373 | array-union@2.1.0: {} 2374 | 2375 | arrify@3.0.0: {} 2376 | 2377 | ast-types@0.13.4: 2378 | dependencies: 2379 | tslib: 2.8.1 2380 | 2381 | astral-regex@2.0.0: {} 2382 | 2383 | async@3.2.6: {} 2384 | 2385 | b4a@1.6.7: {} 2386 | 2387 | balanced-match@1.0.2: {} 2388 | 2389 | bare-events@2.5.4: 2390 | optional: true 2391 | 2392 | bare-fs@4.1.6: 2393 | dependencies: 2394 | bare-events: 2.5.4 2395 | bare-path: 3.0.0 2396 | bare-stream: 2.6.5(bare-events@2.5.4) 2397 | optional: true 2398 | 2399 | bare-os@3.6.1: 2400 | optional: true 2401 | 2402 | bare-path@3.0.0: 2403 | dependencies: 2404 | bare-os: 3.6.1 2405 | optional: true 2406 | 2407 | bare-stream@2.6.5(bare-events@2.5.4): 2408 | dependencies: 2409 | streamx: 2.22.1 2410 | optionalDependencies: 2411 | bare-events: 2.5.4 2412 | optional: true 2413 | 2414 | basic-ftp@5.0.5: {} 2415 | 2416 | brace-expansion@2.0.2: 2417 | dependencies: 2418 | balanced-match: 1.0.2 2419 | 2420 | braces@3.0.3: 2421 | dependencies: 2422 | fill-range: 7.1.1 2423 | 2424 | buffer-crc32@0.2.13: {} 2425 | 2426 | bytes@3.1.2: {} 2427 | 2428 | cache-content-type@1.0.1: 2429 | dependencies: 2430 | mime-types: 2.1.35 2431 | ylru: 1.4.0 2432 | 2433 | call-bind-apply-helpers@1.0.2: 2434 | dependencies: 2435 | es-errors: 1.3.0 2436 | function-bind: 1.1.2 2437 | 2438 | call-bound@1.0.4: 2439 | dependencies: 2440 | call-bind-apply-helpers: 1.0.2 2441 | get-intrinsic: 1.3.0 2442 | 2443 | camelcase@6.3.0: {} 2444 | 2445 | chalk-template@0.4.0: 2446 | dependencies: 2447 | chalk: 4.1.2 2448 | 2449 | chalk@4.1.2: 2450 | dependencies: 2451 | ansi-styles: 4.3.0 2452 | supports-color: 7.2.0 2453 | 2454 | chokidar@4.0.3: 2455 | dependencies: 2456 | readdirp: 4.1.2 2457 | 2458 | chrome-launcher@0.15.2: 2459 | dependencies: 2460 | '@types/node': 24.0.11 2461 | escape-string-regexp: 4.0.0 2462 | is-wsl: 2.2.0 2463 | lighthouse-logger: 1.4.2 2464 | transitivePeerDependencies: 2465 | - supports-color 2466 | 2467 | chromium-bidi@5.1.0(devtools-protocol@0.0.1464554): 2468 | dependencies: 2469 | devtools-protocol: 0.0.1464554 2470 | mitt: 3.0.1 2471 | zod: 3.25.76 2472 | 2473 | clean-stack@4.2.0: 2474 | dependencies: 2475 | escape-string-regexp: 5.0.0 2476 | 2477 | cli-cursor@3.1.0: 2478 | dependencies: 2479 | restore-cursor: 3.1.0 2480 | 2481 | cliui@8.0.1: 2482 | dependencies: 2483 | string-width: 4.2.3 2484 | strip-ansi: 6.0.1 2485 | wrap-ansi: 7.0.0 2486 | 2487 | clone@2.1.2: {} 2488 | 2489 | co-body@6.2.0: 2490 | dependencies: 2491 | '@hapi/bourne': 3.0.0 2492 | inflation: 2.1.0 2493 | qs: 6.14.0 2494 | raw-body: 2.5.2 2495 | type-is: 1.6.18 2496 | 2497 | co@4.6.0: {} 2498 | 2499 | color-convert@2.0.1: 2500 | dependencies: 2501 | color-name: 1.1.4 2502 | 2503 | color-name@1.1.4: {} 2504 | 2505 | command-line-args@5.2.1: 2506 | dependencies: 2507 | array-back: 3.1.0 2508 | find-replace: 3.0.0 2509 | lodash.camelcase: 4.3.0 2510 | typical: 4.0.0 2511 | 2512 | command-line-usage@7.0.3: 2513 | dependencies: 2514 | array-back: 6.2.2 2515 | chalk-template: 0.4.0 2516 | table-layout: 4.1.1 2517 | typical: 7.3.0 2518 | 2519 | consola@3.4.2: {} 2520 | 2521 | content-disposition@0.5.4: 2522 | dependencies: 2523 | safe-buffer: 5.2.1 2524 | 2525 | content-type@1.0.5: {} 2526 | 2527 | convert-source-map@2.0.0: {} 2528 | 2529 | cookies@0.9.1: 2530 | dependencies: 2531 | depd: 2.0.0 2532 | keygrip: 1.1.0 2533 | 2534 | cp-file@10.0.0: 2535 | dependencies: 2536 | graceful-fs: 4.2.11 2537 | nested-error-stacks: 2.1.1 2538 | p-event: 5.0.1 2539 | 2540 | cpy-cli@5.0.0: 2541 | dependencies: 2542 | cpy: 10.1.0 2543 | meow: 12.1.1 2544 | 2545 | cpy@10.1.0: 2546 | dependencies: 2547 | arrify: 3.0.0 2548 | cp-file: 10.0.0 2549 | globby: 13.2.2 2550 | junk: 4.0.1 2551 | micromatch: 4.0.8 2552 | nested-error-stacks: 2.1.1 2553 | p-filter: 3.0.0 2554 | p-map: 6.0.0 2555 | 2556 | cross-spawn@7.0.6: 2557 | dependencies: 2558 | path-key: 3.1.1 2559 | shebang-command: 2.0.0 2560 | which: 2.0.2 2561 | 2562 | data-uri-to-buffer@6.0.2: {} 2563 | 2564 | debounce@1.2.1: {} 2565 | 2566 | debug@2.6.9: 2567 | dependencies: 2568 | ms: 2.0.0 2569 | 2570 | debug@3.2.7: 2571 | dependencies: 2572 | ms: 2.1.3 2573 | 2574 | debug@4.4.1: 2575 | dependencies: 2576 | ms: 2.1.3 2577 | 2578 | deep-equal@1.0.1: {} 2579 | 2580 | deepmerge@4.3.1: {} 2581 | 2582 | default-gateway@6.0.3: 2583 | dependencies: 2584 | execa: 5.1.1 2585 | 2586 | define-lazy-prop@2.0.0: {} 2587 | 2588 | defu@6.1.4: {} 2589 | 2590 | degenerator@5.0.1: 2591 | dependencies: 2592 | ast-types: 0.13.4 2593 | escodegen: 2.1.0 2594 | esprima: 4.0.1 2595 | 2596 | delegates@1.0.0: {} 2597 | 2598 | depd@1.1.2: {} 2599 | 2600 | depd@2.0.0: {} 2601 | 2602 | dependency-graph@0.11.0: {} 2603 | 2604 | destroy@1.2.0: {} 2605 | 2606 | devtools-protocol@0.0.1464554: {} 2607 | 2608 | diff@5.2.0: {} 2609 | 2610 | dir-glob@3.0.1: 2611 | dependencies: 2612 | path-type: 4.0.0 2613 | 2614 | dunder-proto@1.0.1: 2615 | dependencies: 2616 | call-bind-apply-helpers: 1.0.2 2617 | es-errors: 1.3.0 2618 | gopd: 1.2.0 2619 | 2620 | eastasianwidth@0.2.0: {} 2621 | 2622 | ee-first@1.1.1: {} 2623 | 2624 | emoji-regex@8.0.0: {} 2625 | 2626 | emoji-regex@9.2.2: {} 2627 | 2628 | encodeurl@1.0.2: {} 2629 | 2630 | end-of-stream@1.4.5: 2631 | dependencies: 2632 | once: 1.4.0 2633 | 2634 | errorstacks@2.4.1: {} 2635 | 2636 | es-define-property@1.0.1: {} 2637 | 2638 | es-errors@1.3.0: {} 2639 | 2640 | es-module-lexer@1.7.0: {} 2641 | 2642 | es-object-atoms@1.1.1: 2643 | dependencies: 2644 | es-errors: 1.3.0 2645 | 2646 | esbuild@0.25.6: 2647 | optionalDependencies: 2648 | '@esbuild/aix-ppc64': 0.25.6 2649 | '@esbuild/android-arm': 0.25.6 2650 | '@esbuild/android-arm64': 0.25.6 2651 | '@esbuild/android-x64': 0.25.6 2652 | '@esbuild/darwin-arm64': 0.25.6 2653 | '@esbuild/darwin-x64': 0.25.6 2654 | '@esbuild/freebsd-arm64': 0.25.6 2655 | '@esbuild/freebsd-x64': 0.25.6 2656 | '@esbuild/linux-arm': 0.25.6 2657 | '@esbuild/linux-arm64': 0.25.6 2658 | '@esbuild/linux-ia32': 0.25.6 2659 | '@esbuild/linux-loong64': 0.25.6 2660 | '@esbuild/linux-mips64el': 0.25.6 2661 | '@esbuild/linux-ppc64': 0.25.6 2662 | '@esbuild/linux-riscv64': 0.25.6 2663 | '@esbuild/linux-s390x': 0.25.6 2664 | '@esbuild/linux-x64': 0.25.6 2665 | '@esbuild/netbsd-arm64': 0.25.6 2666 | '@esbuild/netbsd-x64': 0.25.6 2667 | '@esbuild/openbsd-arm64': 0.25.6 2668 | '@esbuild/openbsd-x64': 0.25.6 2669 | '@esbuild/openharmony-arm64': 0.25.6 2670 | '@esbuild/sunos-x64': 0.25.6 2671 | '@esbuild/win32-arm64': 0.25.6 2672 | '@esbuild/win32-ia32': 0.25.6 2673 | '@esbuild/win32-x64': 0.25.6 2674 | 2675 | escalade@3.2.0: {} 2676 | 2677 | escape-html@1.0.3: {} 2678 | 2679 | escape-string-regexp@4.0.0: {} 2680 | 2681 | escape-string-regexp@5.0.0: {} 2682 | 2683 | escodegen@2.1.0: 2684 | dependencies: 2685 | esprima: 4.0.1 2686 | estraverse: 5.3.0 2687 | esutils: 2.0.3 2688 | optionalDependencies: 2689 | source-map: 0.6.1 2690 | 2691 | esprima@4.0.1: {} 2692 | 2693 | estraverse@5.3.0: {} 2694 | 2695 | estree-walker@2.0.2: {} 2696 | 2697 | esutils@2.0.3: {} 2698 | 2699 | etag@1.8.1: {} 2700 | 2701 | execa@5.1.1: 2702 | dependencies: 2703 | cross-spawn: 7.0.6 2704 | get-stream: 6.0.1 2705 | human-signals: 2.1.0 2706 | is-stream: 2.0.1 2707 | merge-stream: 2.0.0 2708 | npm-run-path: 4.0.1 2709 | onetime: 5.1.2 2710 | signal-exit: 3.0.7 2711 | strip-final-newline: 2.0.0 2712 | 2713 | extract-zip@2.0.1: 2714 | dependencies: 2715 | debug: 4.4.1 2716 | get-stream: 5.2.0 2717 | yauzl: 2.10.0 2718 | optionalDependencies: 2719 | '@types/yauzl': 2.10.3 2720 | transitivePeerDependencies: 2721 | - supports-color 2722 | 2723 | fast-fifo@1.3.2: {} 2724 | 2725 | fast-glob@3.3.3: 2726 | dependencies: 2727 | '@nodelib/fs.stat': 2.0.5 2728 | '@nodelib/fs.walk': 1.2.8 2729 | glob-parent: 5.1.2 2730 | merge2: 1.4.1 2731 | micromatch: 4.0.8 2732 | 2733 | fastq@1.19.1: 2734 | dependencies: 2735 | reusify: 1.1.0 2736 | 2737 | fd-slicer@1.1.0: 2738 | dependencies: 2739 | pend: 1.2.0 2740 | 2741 | fill-range@7.1.1: 2742 | dependencies: 2743 | to-regex-range: 5.0.1 2744 | 2745 | find-replace@3.0.0: 2746 | dependencies: 2747 | array-back: 3.1.0 2748 | 2749 | foreground-child@3.3.1: 2750 | dependencies: 2751 | cross-spawn: 7.0.6 2752 | signal-exit: 4.1.0 2753 | 2754 | fresh@0.5.2: {} 2755 | 2756 | fsevents@2.3.2: 2757 | optional: true 2758 | 2759 | fsevents@2.3.3: 2760 | optional: true 2761 | 2762 | function-bind@1.1.2: {} 2763 | 2764 | get-caller-file@2.0.5: {} 2765 | 2766 | get-intrinsic@1.3.0: 2767 | dependencies: 2768 | call-bind-apply-helpers: 1.0.2 2769 | es-define-property: 1.0.1 2770 | es-errors: 1.3.0 2771 | es-object-atoms: 1.1.1 2772 | function-bind: 1.1.2 2773 | get-proto: 1.0.1 2774 | gopd: 1.2.0 2775 | has-symbols: 1.1.0 2776 | hasown: 2.0.2 2777 | math-intrinsics: 1.1.0 2778 | 2779 | get-proto@1.0.1: 2780 | dependencies: 2781 | dunder-proto: 1.0.1 2782 | es-object-atoms: 1.1.1 2783 | 2784 | get-stream@5.2.0: 2785 | dependencies: 2786 | pump: 3.0.3 2787 | 2788 | get-stream@6.0.1: {} 2789 | 2790 | get-uri@6.0.5: 2791 | dependencies: 2792 | basic-ftp: 5.0.5 2793 | data-uri-to-buffer: 6.0.2 2794 | debug: 4.4.1 2795 | transitivePeerDependencies: 2796 | - supports-color 2797 | 2798 | glob-parent@5.1.2: 2799 | dependencies: 2800 | is-glob: 4.0.3 2801 | 2802 | glob@10.4.5: 2803 | dependencies: 2804 | foreground-child: 3.3.1 2805 | jackspeak: 3.4.3 2806 | minimatch: 9.0.5 2807 | minipass: 7.1.2 2808 | package-json-from-dist: 1.0.1 2809 | path-scurry: 1.11.1 2810 | 2811 | globby@11.1.0: 2812 | dependencies: 2813 | array-union: 2.1.0 2814 | dir-glob: 3.0.1 2815 | fast-glob: 3.3.3 2816 | ignore: 5.3.2 2817 | merge2: 1.4.1 2818 | slash: 3.0.0 2819 | 2820 | globby@13.2.2: 2821 | dependencies: 2822 | dir-glob: 3.0.1 2823 | fast-glob: 3.3.3 2824 | ignore: 5.3.2 2825 | merge2: 1.4.1 2826 | slash: 4.0.0 2827 | 2828 | gopd@1.2.0: {} 2829 | 2830 | graceful-fs@4.2.11: {} 2831 | 2832 | has-flag@4.0.0: {} 2833 | 2834 | has-symbols@1.1.0: {} 2835 | 2836 | has-tostringtag@1.0.2: 2837 | dependencies: 2838 | has-symbols: 1.1.0 2839 | 2840 | hasown@2.0.2: 2841 | dependencies: 2842 | function-bind: 1.1.2 2843 | 2844 | html-escaper@2.0.2: {} 2845 | 2846 | http-assert@1.5.0: 2847 | dependencies: 2848 | deep-equal: 1.0.1 2849 | http-errors: 1.8.1 2850 | 2851 | http-errors@1.6.3: 2852 | dependencies: 2853 | depd: 1.1.2 2854 | inherits: 2.0.3 2855 | setprototypeof: 1.1.0 2856 | statuses: 1.5.0 2857 | 2858 | http-errors@1.8.1: 2859 | dependencies: 2860 | depd: 1.1.2 2861 | inherits: 2.0.4 2862 | setprototypeof: 1.2.0 2863 | statuses: 1.5.0 2864 | toidentifier: 1.0.1 2865 | 2866 | http-errors@2.0.0: 2867 | dependencies: 2868 | depd: 2.0.0 2869 | inherits: 2.0.4 2870 | setprototypeof: 1.2.0 2871 | statuses: 2.0.1 2872 | toidentifier: 1.0.1 2873 | 2874 | http-proxy-agent@7.0.2: 2875 | dependencies: 2876 | agent-base: 7.1.4 2877 | debug: 4.4.1 2878 | transitivePeerDependencies: 2879 | - supports-color 2880 | 2881 | https-proxy-agent@7.0.6: 2882 | dependencies: 2883 | agent-base: 7.1.4 2884 | debug: 4.4.1 2885 | transitivePeerDependencies: 2886 | - supports-color 2887 | 2888 | human-signals@2.1.0: {} 2889 | 2890 | iconv-lite@0.4.24: 2891 | dependencies: 2892 | safer-buffer: 2.1.2 2893 | 2894 | ignore@5.3.2: {} 2895 | 2896 | indent-string@5.0.0: {} 2897 | 2898 | inflation@2.1.0: {} 2899 | 2900 | inherits@2.0.3: {} 2901 | 2902 | inherits@2.0.4: {} 2903 | 2904 | internal-ip@6.2.0: 2905 | dependencies: 2906 | default-gateway: 6.0.3 2907 | ipaddr.js: 1.9.1 2908 | is-ip: 3.1.0 2909 | p-event: 4.2.0 2910 | 2911 | ip-address@9.0.5: 2912 | dependencies: 2913 | jsbn: 1.1.0 2914 | sprintf-js: 1.1.3 2915 | 2916 | ip-regex@4.3.0: {} 2917 | 2918 | ipaddr.js@1.9.1: {} 2919 | 2920 | is-core-module@2.16.1: 2921 | dependencies: 2922 | hasown: 2.0.2 2923 | 2924 | is-docker@2.2.1: {} 2925 | 2926 | is-extglob@2.1.1: {} 2927 | 2928 | is-fullwidth-code-point@3.0.0: {} 2929 | 2930 | is-generator-function@1.1.0: 2931 | dependencies: 2932 | call-bound: 1.0.4 2933 | get-proto: 1.0.1 2934 | has-tostringtag: 1.0.2 2935 | safe-regex-test: 1.1.0 2936 | 2937 | is-glob@4.0.3: 2938 | dependencies: 2939 | is-extglob: 2.1.1 2940 | 2941 | is-ip@3.1.0: 2942 | dependencies: 2943 | ip-regex: 4.3.0 2944 | 2945 | is-module@1.0.0: {} 2946 | 2947 | is-number@7.0.0: {} 2948 | 2949 | is-regex@1.2.1: 2950 | dependencies: 2951 | call-bound: 1.0.4 2952 | gopd: 1.2.0 2953 | has-tostringtag: 1.0.2 2954 | hasown: 2.0.2 2955 | 2956 | is-stream@2.0.1: {} 2957 | 2958 | is-wsl@2.2.0: 2959 | dependencies: 2960 | is-docker: 2.2.1 2961 | 2962 | isbinaryfile@5.0.4: {} 2963 | 2964 | isexe@2.0.0: {} 2965 | 2966 | istanbul-lib-coverage@3.2.2: {} 2967 | 2968 | istanbul-lib-report@3.0.1: 2969 | dependencies: 2970 | istanbul-lib-coverage: 3.2.2 2971 | make-dir: 4.0.0 2972 | supports-color: 7.2.0 2973 | 2974 | istanbul-reports@3.1.7: 2975 | dependencies: 2976 | html-escaper: 2.0.2 2977 | istanbul-lib-report: 3.0.1 2978 | 2979 | jackspeak@3.4.3: 2980 | dependencies: 2981 | '@isaacs/cliui': 8.0.2 2982 | optionalDependencies: 2983 | '@pkgjs/parseargs': 0.11.0 2984 | 2985 | jasmine-core@5.8.0: {} 2986 | 2987 | jasmine@5.8.0: 2988 | dependencies: 2989 | glob: 10.4.5 2990 | jasmine-core: 5.8.0 2991 | 2992 | js-tokens@4.0.0: {} 2993 | 2994 | jsbn@1.1.0: {} 2995 | 2996 | junk@4.0.1: {} 2997 | 2998 | keygrip@1.1.0: 2999 | dependencies: 3000 | tsscmp: 1.0.6 3001 | 3002 | koa-compose@4.1.0: {} 3003 | 3004 | koa-convert@2.0.0: 3005 | dependencies: 3006 | co: 4.6.0 3007 | koa-compose: 4.1.0 3008 | 3009 | koa-etag@4.0.0: 3010 | dependencies: 3011 | etag: 1.8.1 3012 | 3013 | koa-send@5.0.1: 3014 | dependencies: 3015 | debug: 4.4.1 3016 | http-errors: 1.8.1 3017 | resolve-path: 1.4.0 3018 | transitivePeerDependencies: 3019 | - supports-color 3020 | 3021 | koa-static@5.0.0: 3022 | dependencies: 3023 | debug: 3.2.7 3024 | koa-send: 5.0.1 3025 | transitivePeerDependencies: 3026 | - supports-color 3027 | 3028 | koa@2.16.1: 3029 | dependencies: 3030 | accepts: 1.3.8 3031 | cache-content-type: 1.0.1 3032 | content-disposition: 0.5.4 3033 | content-type: 1.0.5 3034 | cookies: 0.9.1 3035 | debug: 4.4.1 3036 | delegates: 1.0.0 3037 | depd: 2.0.0 3038 | destroy: 1.2.0 3039 | encodeurl: 1.0.2 3040 | escape-html: 1.0.3 3041 | fresh: 0.5.2 3042 | http-assert: 1.5.0 3043 | http-errors: 1.8.1 3044 | is-generator-function: 1.1.0 3045 | koa-compose: 4.1.0 3046 | koa-convert: 2.0.0 3047 | on-finished: 2.4.1 3048 | only: 0.0.2 3049 | parseurl: 1.3.3 3050 | statuses: 1.5.0 3051 | type-is: 1.6.18 3052 | vary: 1.1.2 3053 | transitivePeerDependencies: 3054 | - supports-color 3055 | 3056 | lighthouse-logger@1.4.2: 3057 | dependencies: 3058 | debug: 2.6.9 3059 | marky: 1.3.0 3060 | transitivePeerDependencies: 3061 | - supports-color 3062 | 3063 | lodash.camelcase@4.3.0: {} 3064 | 3065 | log-update@4.0.0: 3066 | dependencies: 3067 | ansi-escapes: 4.3.2 3068 | cli-cursor: 3.1.0 3069 | slice-ansi: 4.0.0 3070 | wrap-ansi: 6.2.0 3071 | 3072 | lru-cache@10.4.3: {} 3073 | 3074 | lru-cache@7.18.3: {} 3075 | 3076 | lru-cache@8.0.5: {} 3077 | 3078 | make-dir@4.0.0: 3079 | dependencies: 3080 | semver: 7.7.2 3081 | 3082 | marky@1.3.0: {} 3083 | 3084 | math-intrinsics@1.1.0: {} 3085 | 3086 | media-typer@0.3.0: {} 3087 | 3088 | meow@12.1.1: {} 3089 | 3090 | merge-stream@2.0.0: {} 3091 | 3092 | merge2@1.4.1: {} 3093 | 3094 | micromatch@4.0.8: 3095 | dependencies: 3096 | braces: 3.0.3 3097 | picomatch: 2.3.1 3098 | 3099 | mime-db@1.52.0: {} 3100 | 3101 | mime-types@2.1.35: 3102 | dependencies: 3103 | mime-db: 1.52.0 3104 | 3105 | mime@3.0.0: {} 3106 | 3107 | mimic-fn@2.1.0: {} 3108 | 3109 | minimatch@9.0.5: 3110 | dependencies: 3111 | brace-expansion: 2.0.2 3112 | 3113 | minipass@7.1.2: {} 3114 | 3115 | mitt@3.0.1: {} 3116 | 3117 | mkdirp@1.0.4: {} 3118 | 3119 | ms@2.0.0: {} 3120 | 3121 | ms@2.1.3: {} 3122 | 3123 | nanocolors@0.2.13: {} 3124 | 3125 | nanoid@3.3.11: {} 3126 | 3127 | negotiator@0.6.3: {} 3128 | 3129 | nested-error-stacks@2.1.1: {} 3130 | 3131 | netmask@2.0.2: {} 3132 | 3133 | node-fetch-native@1.6.6: {} 3134 | 3135 | npm-run-path@4.0.1: 3136 | dependencies: 3137 | path-key: 3.1.1 3138 | 3139 | object-inspect@1.13.4: {} 3140 | 3141 | on-finished@2.4.1: 3142 | dependencies: 3143 | ee-first: 1.1.1 3144 | 3145 | once@1.4.0: 3146 | dependencies: 3147 | wrappy: 1.0.2 3148 | 3149 | onetime@5.1.2: 3150 | dependencies: 3151 | mimic-fn: 2.1.0 3152 | 3153 | only@0.0.2: {} 3154 | 3155 | open@8.4.2: 3156 | dependencies: 3157 | define-lazy-prop: 2.0.0 3158 | is-docker: 2.2.1 3159 | is-wsl: 2.2.0 3160 | 3161 | p-event@4.2.0: 3162 | dependencies: 3163 | p-timeout: 3.2.0 3164 | 3165 | p-event@5.0.1: 3166 | dependencies: 3167 | p-timeout: 5.1.0 3168 | 3169 | p-filter@3.0.0: 3170 | dependencies: 3171 | p-map: 5.5.0 3172 | 3173 | p-finally@1.0.0: {} 3174 | 3175 | p-map@5.5.0: 3176 | dependencies: 3177 | aggregate-error: 4.0.1 3178 | 3179 | p-map@6.0.0: {} 3180 | 3181 | p-timeout@3.2.0: 3182 | dependencies: 3183 | p-finally: 1.0.0 3184 | 3185 | p-timeout@5.1.0: {} 3186 | 3187 | pac-proxy-agent@7.2.0: 3188 | dependencies: 3189 | '@tootallnate/quickjs-emscripten': 0.23.0 3190 | agent-base: 7.1.4 3191 | debug: 4.4.1 3192 | get-uri: 6.0.5 3193 | http-proxy-agent: 7.0.2 3194 | https-proxy-agent: 7.0.6 3195 | pac-resolver: 7.0.1 3196 | socks-proxy-agent: 8.0.5 3197 | transitivePeerDependencies: 3198 | - supports-color 3199 | 3200 | pac-resolver@7.0.1: 3201 | dependencies: 3202 | degenerator: 5.0.1 3203 | netmask: 2.0.2 3204 | 3205 | package-json-from-dist@1.0.1: {} 3206 | 3207 | parse5@6.0.1: {} 3208 | 3209 | parseurl@1.3.3: {} 3210 | 3211 | path-is-absolute@1.0.1: {} 3212 | 3213 | path-key@3.1.1: {} 3214 | 3215 | path-parse@1.0.7: {} 3216 | 3217 | path-scurry@1.11.1: 3218 | dependencies: 3219 | lru-cache: 10.4.3 3220 | minipass: 7.1.2 3221 | 3222 | path-type@4.0.0: {} 3223 | 3224 | pathe@1.1.2: {} 3225 | 3226 | pend@1.2.0: {} 3227 | 3228 | picocolors@1.1.1: {} 3229 | 3230 | picomatch@2.3.1: {} 3231 | 3232 | picomatch@4.0.2: {} 3233 | 3234 | playwright-core@1.53.2: {} 3235 | 3236 | playwright@1.53.2: 3237 | dependencies: 3238 | playwright-core: 1.53.2 3239 | optionalDependencies: 3240 | fsevents: 2.3.2 3241 | 3242 | portfinder@1.0.37: 3243 | dependencies: 3244 | async: 3.2.6 3245 | debug: 4.4.1 3246 | transitivePeerDependencies: 3247 | - supports-color 3248 | 3249 | progress@2.0.3: {} 3250 | 3251 | proxy-agent@6.5.0: 3252 | dependencies: 3253 | agent-base: 7.1.4 3254 | debug: 4.4.1 3255 | http-proxy-agent: 7.0.2 3256 | https-proxy-agent: 7.0.6 3257 | lru-cache: 7.18.3 3258 | pac-proxy-agent: 7.2.0 3259 | proxy-from-env: 1.1.0 3260 | socks-proxy-agent: 8.0.5 3261 | transitivePeerDependencies: 3262 | - supports-color 3263 | 3264 | proxy-from-env@1.1.0: {} 3265 | 3266 | pump@3.0.3: 3267 | dependencies: 3268 | end-of-stream: 1.4.5 3269 | once: 1.4.0 3270 | 3271 | punycode@2.3.1: {} 3272 | 3273 | puppeteer-core@24.12.0: 3274 | dependencies: 3275 | '@puppeteer/browsers': 2.10.5 3276 | chromium-bidi: 5.1.0(devtools-protocol@0.0.1464554) 3277 | debug: 4.4.1 3278 | devtools-protocol: 0.0.1464554 3279 | typed-query-selector: 2.12.0 3280 | ws: 8.18.3 3281 | transitivePeerDependencies: 3282 | - bare-buffer 3283 | - bufferutil 3284 | - supports-color 3285 | - utf-8-validate 3286 | 3287 | qs@6.14.0: 3288 | dependencies: 3289 | side-channel: 1.1.0 3290 | 3291 | queue-microtask@1.2.3: {} 3292 | 3293 | raw-body@2.5.2: 3294 | dependencies: 3295 | bytes: 3.1.2 3296 | http-errors: 2.0.0 3297 | iconv-lite: 0.4.24 3298 | unpipe: 1.0.0 3299 | 3300 | readdirp@4.1.2: {} 3301 | 3302 | require-directory@2.1.1: {} 3303 | 3304 | resolve-path@1.4.0: 3305 | dependencies: 3306 | http-errors: 1.6.3 3307 | path-is-absolute: 1.0.1 3308 | 3309 | resolve@1.22.10: 3310 | dependencies: 3311 | is-core-module: 2.16.1 3312 | path-parse: 1.0.7 3313 | supports-preserve-symlinks-flag: 1.0.0 3314 | 3315 | restore-cursor@3.1.0: 3316 | dependencies: 3317 | onetime: 5.1.2 3318 | signal-exit: 3.0.7 3319 | 3320 | reusify@1.1.0: {} 3321 | 3322 | rollup@4.44.2: 3323 | dependencies: 3324 | '@types/estree': 1.0.8 3325 | optionalDependencies: 3326 | '@rollup/rollup-android-arm-eabi': 4.44.2 3327 | '@rollup/rollup-android-arm64': 4.44.2 3328 | '@rollup/rollup-darwin-arm64': 4.44.2 3329 | '@rollup/rollup-darwin-x64': 4.44.2 3330 | '@rollup/rollup-freebsd-arm64': 4.44.2 3331 | '@rollup/rollup-freebsd-x64': 4.44.2 3332 | '@rollup/rollup-linux-arm-gnueabihf': 4.44.2 3333 | '@rollup/rollup-linux-arm-musleabihf': 4.44.2 3334 | '@rollup/rollup-linux-arm64-gnu': 4.44.2 3335 | '@rollup/rollup-linux-arm64-musl': 4.44.2 3336 | '@rollup/rollup-linux-loongarch64-gnu': 4.44.2 3337 | '@rollup/rollup-linux-powerpc64le-gnu': 4.44.2 3338 | '@rollup/rollup-linux-riscv64-gnu': 4.44.2 3339 | '@rollup/rollup-linux-riscv64-musl': 4.44.2 3340 | '@rollup/rollup-linux-s390x-gnu': 4.44.2 3341 | '@rollup/rollup-linux-x64-gnu': 4.44.2 3342 | '@rollup/rollup-linux-x64-musl': 4.44.2 3343 | '@rollup/rollup-win32-arm64-msvc': 4.44.2 3344 | '@rollup/rollup-win32-ia32-msvc': 4.44.2 3345 | '@rollup/rollup-win32-x64-msvc': 4.44.2 3346 | fsevents: 2.3.3 3347 | 3348 | run-parallel@1.2.0: 3349 | dependencies: 3350 | queue-microtask: 1.2.3 3351 | 3352 | safe-buffer@5.2.1: {} 3353 | 3354 | safe-regex-test@1.1.0: 3355 | dependencies: 3356 | call-bound: 1.0.4 3357 | es-errors: 1.3.0 3358 | is-regex: 1.2.1 3359 | 3360 | safer-buffer@2.1.2: {} 3361 | 3362 | semver@7.7.2: {} 3363 | 3364 | setprototypeof@1.1.0: {} 3365 | 3366 | setprototypeof@1.2.0: {} 3367 | 3368 | shebang-command@2.0.0: 3369 | dependencies: 3370 | shebang-regex: 3.0.0 3371 | 3372 | shebang-regex@3.0.0: {} 3373 | 3374 | side-channel-list@1.0.0: 3375 | dependencies: 3376 | es-errors: 1.3.0 3377 | object-inspect: 1.13.4 3378 | 3379 | side-channel-map@1.0.1: 3380 | dependencies: 3381 | call-bound: 1.0.4 3382 | es-errors: 1.3.0 3383 | get-intrinsic: 1.3.0 3384 | object-inspect: 1.13.4 3385 | 3386 | side-channel-weakmap@1.0.2: 3387 | dependencies: 3388 | call-bound: 1.0.4 3389 | es-errors: 1.3.0 3390 | get-intrinsic: 1.3.0 3391 | object-inspect: 1.13.4 3392 | side-channel-map: 1.0.1 3393 | 3394 | side-channel@1.1.0: 3395 | dependencies: 3396 | es-errors: 1.3.0 3397 | object-inspect: 1.13.4 3398 | side-channel-list: 1.0.0 3399 | side-channel-map: 1.0.1 3400 | side-channel-weakmap: 1.0.2 3401 | 3402 | signal-exit@3.0.7: {} 3403 | 3404 | signal-exit@4.1.0: {} 3405 | 3406 | slash@3.0.0: {} 3407 | 3408 | slash@4.0.0: {} 3409 | 3410 | slice-ansi@4.0.0: 3411 | dependencies: 3412 | ansi-styles: 4.3.0 3413 | astral-regex: 2.0.0 3414 | is-fullwidth-code-point: 3.0.0 3415 | 3416 | smart-buffer@4.2.0: {} 3417 | 3418 | socks-proxy-agent@8.0.5: 3419 | dependencies: 3420 | agent-base: 7.1.4 3421 | debug: 4.4.1 3422 | socks: 2.8.5 3423 | transitivePeerDependencies: 3424 | - supports-color 3425 | 3426 | socks@2.8.5: 3427 | dependencies: 3428 | ip-address: 9.0.5 3429 | smart-buffer: 4.2.0 3430 | 3431 | source-map@0.6.1: 3432 | optional: true 3433 | 3434 | source-map@0.7.4: {} 3435 | 3436 | sprintf-js@1.1.3: {} 3437 | 3438 | statuses@1.5.0: {} 3439 | 3440 | statuses@2.0.1: {} 3441 | 3442 | streamx@2.22.1: 3443 | dependencies: 3444 | fast-fifo: 1.3.2 3445 | text-decoder: 1.2.3 3446 | optionalDependencies: 3447 | bare-events: 2.5.4 3448 | 3449 | string-width@4.2.3: 3450 | dependencies: 3451 | emoji-regex: 8.0.0 3452 | is-fullwidth-code-point: 3.0.0 3453 | strip-ansi: 6.0.1 3454 | 3455 | string-width@5.1.2: 3456 | dependencies: 3457 | eastasianwidth: 0.2.0 3458 | emoji-regex: 9.2.2 3459 | strip-ansi: 7.1.0 3460 | 3461 | strip-ansi@6.0.1: 3462 | dependencies: 3463 | ansi-regex: 5.0.1 3464 | 3465 | strip-ansi@7.1.0: 3466 | dependencies: 3467 | ansi-regex: 6.1.0 3468 | 3469 | strip-final-newline@2.0.0: {} 3470 | 3471 | supports-color@7.2.0: 3472 | dependencies: 3473 | has-flag: 4.0.0 3474 | 3475 | supports-preserve-symlinks-flag@1.0.0: {} 3476 | 3477 | table-layout@4.1.1: 3478 | dependencies: 3479 | array-back: 6.2.2 3480 | wordwrapjs: 5.1.0 3481 | 3482 | tar-fs@3.1.0: 3483 | dependencies: 3484 | pump: 3.0.3 3485 | tar-stream: 3.1.7 3486 | optionalDependencies: 3487 | bare-fs: 4.1.6 3488 | bare-path: 3.0.0 3489 | transitivePeerDependencies: 3490 | - bare-buffer 3491 | 3492 | tar-stream@3.1.7: 3493 | dependencies: 3494 | b4a: 1.6.7 3495 | fast-fifo: 1.3.2 3496 | streamx: 2.22.1 3497 | 3498 | text-decoder@1.2.3: 3499 | dependencies: 3500 | b4a: 1.6.7 3501 | 3502 | to-regex-range@5.0.1: 3503 | dependencies: 3504 | is-number: 7.0.0 3505 | 3506 | toidentifier@1.0.1: {} 3507 | 3508 | tr46@5.1.1: 3509 | dependencies: 3510 | punycode: 2.3.1 3511 | 3512 | tslib@2.8.1: {} 3513 | 3514 | tsscmp@1.0.6: {} 3515 | 3516 | type-fest@0.21.3: {} 3517 | 3518 | type-is@1.6.18: 3519 | dependencies: 3520 | media-typer: 0.3.0 3521 | mime-types: 2.1.35 3522 | 3523 | typed-query-selector@2.12.0: {} 3524 | 3525 | typescript@5.7.3: {} 3526 | 3527 | typical@4.0.0: {} 3528 | 3529 | typical@7.3.0: {} 3530 | 3531 | ua-parser-js@1.0.40: {} 3532 | 3533 | undici-types@7.8.0: {} 3534 | 3535 | unenv@1.10.0: 3536 | dependencies: 3537 | consola: 3.4.2 3538 | defu: 6.1.4 3539 | mime: 3.0.0 3540 | node-fetch-native: 1.6.6 3541 | pathe: 1.1.2 3542 | 3543 | unpipe@1.0.0: {} 3544 | 3545 | v8-to-istanbul@9.3.0: 3546 | dependencies: 3547 | '@jridgewell/trace-mapping': 0.3.29 3548 | '@types/istanbul-lib-coverage': 2.0.6 3549 | convert-source-map: 2.0.0 3550 | 3551 | vary@1.1.2: {} 3552 | 3553 | webidl-conversions@7.0.0: {} 3554 | 3555 | whatwg-url@14.2.0: 3556 | dependencies: 3557 | tr46: 5.1.1 3558 | webidl-conversions: 7.0.0 3559 | 3560 | which@2.0.2: 3561 | dependencies: 3562 | isexe: 2.0.0 3563 | 3564 | wordwrapjs@5.1.0: {} 3565 | 3566 | wrap-ansi@6.2.0: 3567 | dependencies: 3568 | ansi-styles: 4.3.0 3569 | string-width: 4.2.3 3570 | strip-ansi: 6.0.1 3571 | 3572 | wrap-ansi@7.0.0: 3573 | dependencies: 3574 | ansi-styles: 4.3.0 3575 | string-width: 4.2.3 3576 | strip-ansi: 6.0.1 3577 | 3578 | wrap-ansi@8.1.0: 3579 | dependencies: 3580 | ansi-styles: 6.2.1 3581 | string-width: 5.1.2 3582 | strip-ansi: 7.1.0 3583 | 3584 | wrappy@1.0.2: {} 3585 | 3586 | ws@7.5.10: {} 3587 | 3588 | ws@8.18.3: {} 3589 | 3590 | y18n@5.0.8: {} 3591 | 3592 | yargs-parser@21.1.1: {} 3593 | 3594 | yargs@17.7.2: 3595 | dependencies: 3596 | cliui: 8.0.1 3597 | escalade: 3.2.0 3598 | get-caller-file: 2.0.5 3599 | require-directory: 2.1.1 3600 | string-width: 4.2.3 3601 | y18n: 5.0.8 3602 | yargs-parser: 21.1.1 3603 | 3604 | yauzl@2.10.0: 3605 | dependencies: 3606 | buffer-crc32: 0.2.13 3607 | fd-slicer: 1.1.0 3608 | 3609 | ylru@1.4.0: {} 3610 | 3611 | zod@3.25.76: {} 3612 | --------------------------------------------------------------------------------